Ios 从Google/Facebook帐户重新验证用户
所以我需要创建一个RESTAPI来为IOS应用程序提供功能。我们允许用户只需一个普通帐户或通过Facebook/Google登录注册 我最近一直在阅读OAuth,我想我了解在我的情况下(当用户使用Facebook/Google登录时)如何使用OAuth在我的应用程序上注册帐户的过程:Ios 从Google/Facebook帐户重新验证用户,ios,facebook,authentication,oauth,Ios,Facebook,Authentication,Oauth,所以我需要创建一个RESTAPI来为IOS应用程序提供功能。我们允许用户只需一个普通帐户或通过Facebook/Google登录注册 我最近一直在阅读OAuth,我想我了解在我的情况下(当用户使用Facebook/Google登录时)如何使用OAuth在我的应用程序上注册帐户的过程: 我向各种社交网站(如FB/Google)注册我的IOS应用程序。最后,我将客户端ID/客户端密钥安全地存储在后端 现在,用户单击应用程序上的社交登录按钮,然后将用户重定向到社交网站进行登录,并授予我的应用程序使用其
- 上述过程是一种良好的实践吗
- 假设用户从应用程序注销(而不是从他们的社交帐户!)。我仍然拥有他们的社交访问令牌,但我销毁了为使用REST api而发给他们的另一个令牌。现在,用户再次使用社交登录(如Fb/Google)登录我的应用程序。我将如何重新验证这些用户?我知道我不需要用户再次提供权限,但我如何知道他们是Fb/Google的合法用户,并且在我的服务器端拥有帐户?成功登录后,Fb/Google会向应用程序提供什么,以便我可以发送回我的服务器,并说:“是的,该用户是Fb/Google的合法社交用户。”。在上述注册过程中,社交oauth提供商将提供授权代码。在这种情况下,我会得到什么(后续登录)
基本上,我需要找到一种方法,向成功重新登录FB/Google的应用程序用户重新颁发REST API的访问令牌。要回答您的问题
希望这能回答你的问题 因此,如果我在注销我的应用程序时撤销了他们的访问令牌,那么当他们登录以检索新的访问令牌时,我需要再次重复整个oauth过程?如果是这种情况(这很好),是否会提示用户重新授权我的应用程序以使用他们的社交帐户?好的,oauth过程通常是,应用程序重定向到社交提供商,提供商检查用户是否已登录如果未提示登录,然后检查您请求的范围是否已由用户授权,如果未提示授权(但我发现有时他们会提示已经授权的内容,可能是出于安全原因)然后返回授权码或返回错误,因此您所要做的就是处理这两个返回值,中间过程将由社交提供商处理。因此,当用户再次尝试登录时(即使他们已经授权了我的应用程序),我还会收到另一个授权码吗?是的,授权代码是为您而非用户提供的,因此每次重定向时,您都会获得新的授权代码,这是oauth规范。有关更多详细信息,请查看Google oauth流程,这是一个很好的文档-您的应用程序是否仅通过Google和Facebook认证就获得了苹果的批准?