繁体   English   中英

OAuth身份验证和消费者机密

[英]OAuth authentication and consumer secrets

我有一个网络服务,可充当智能手机应用程序的后端。

我希望能够尽可能轻松地对用户进行身份验证,但是即使我认为我了解OAuth,我也必须承认到处都有一些遗漏的内容。

认证方式:

假设用户有一部Android手机。 他可能已经通过了Google身份验证,如果我可以将此身份验证扩展到我的Web服务,那将非常好。 Android具有OAuth支持,因此用户可以打开他的应用程序,授予使用他的google帐户的权限,并且该应用程序可以向网络服务验证他的身份。

网络服务

由于该服务应接受来自各种设备的用户,因此它不应特定于Google。 应该可以从任何设备注册帐户并登录。 我不确定是否可以单独使用OAuth注册新帐户,或者您是否需要首先进行其他身份验证-例如OpenID。

通用Web服务的流程如何? 用于注册用户并授予他访问API权限的通用API?

此外-我不想控制连接到该服务的设备。 我可以看到OAuth要求有一个consumer_key和一个consumer_secret。 如果我通过SSL运行所有内容,那么消费者机密是否仍然是机密,还是可以只使用一些虚拟值? 从而避免创建人们可以获取consumer_secret的设备注册系统?

对于您的情况,如果您想使用Google / Facebook等作为身份验证提供程序,则需要使用Oauth2的“身份验证代码”流程。 在这种情况下,您向Google / FB注册为开发人员,并获得使用其API的客户端ID和密码。

然后,您将获得“使用Google / Facebook登录”按钮和代码,用于触发“网络视图”或嵌入式浏览器,在该浏览器中,用户将被带到google / facebook,并被要求提供其登录凭据。

成功后,授权代码将发送到您在Google / Facebook注册为开发人员时提供的重定向URL。 您将需要捕获此授权代码,然后再次调用相关的API以获取访问令牌,然后您可以使用该令牌获取用户的详细信息以在第一次登录时对其进行注册,或者如果已经通过此方法进行了早期注册,则对该用户进行身份验证。

暂无
暂无

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

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