繁体   English   中英

用户和应用程序的REST API身份验证

[英]REST API Authentication both User and Applicatoin

我正在开发一个BaaS解决方案,该解决方案为开发人员的应用程序提供了一些REST API。 除了SSL,我想保护REST API,以同时验证应用程序(令牌?)和客户端(用户名和密码)。

我当时在考虑客户端的基本身份验证和应用程序身份验证的令牌,但是我无法考虑在注册阶段提供给应用程序开发人员的简单UUID令牌如何保护REST API并验证应用程序。

我还阅读了有关OAuth的信息,但是我认为它不适合作为身份验证机制的解决方案。

我怎样才能正确地做到这一点?

谢谢!

将“基本身份验证”用于用户身份验证,然后将“令牌身份验证”用于访问资源(全部通过SSL)似乎确实是一种好方法(并且很常见)。 基本上要为此提供支持,您可以通过SSL使用“基本身份验证”(用户名/密码)进行用户身份验证,并根据肯定的“身份验证”为用户分配一个“承载者令牌”(或身份验证令牌)。 用户凭据通常与身份验证令牌一样存储(散列和加盐)在DB中。 基于检索到的令牌,用户可以访问API资源(也可以通过SSL来授予最大的通道安全性)。 您可以不时(或按设备)更改令牌。

不知道您正在使用哪种技术来开发RESTful Web服务。 在Java中,我一直在使用Apache Shiro( http://shiro.apache.org/ ),它可以支持所有这些活动(基本身份验证,基于令牌的身份验证,数据加密(哈希+盐化)以存储在数据库中,等-看看我写的另一篇关于如何在shiro中设置这种方法的文章: https : //stackoverflow.com/a/17950339/1029673 )。

HTH。

最后,我想出了适合我的安全模式的OAuth 2.0资源所有者密码流。

谢谢!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM