Ios 弹簧靴OAuth2+;移动客户端(密码和FB登录)

Ios 弹簧靴OAuth2+;移动客户端(密码和FB登录),ios,spring-boot,spring-security,oauth-2.0,facebook-login,Ios,Spring Boot,Spring Security,Oauth 2.0,Facebook Login,我正在用Spring Boot开发一个RESTAPI。我已经实现了OAuth2授权服务器,因此我能够调用我的rest API来获取令牌: localhost:8080/oauth/token -d "grant_type=password&scope=write&username=myuser&password=mypassword" -u myclient:mysecret 现在我想实现“使用FB注册”功能,因此我考虑以下流程: 用户点击“使用FB注册”按钮 移动应用

我正在用Spring Boot开发一个RESTAPI。我已经实现了OAuth2授权服务器,因此我能够调用我的rest API来获取令牌:

localhost:8080/oauth/token -d "grant_type=password&scope=write&username=myuser&password=mypassword" -u myclient:mysecret
现在我想实现“使用FB注册”功能,因此我考虑以下流程:

  • 用户点击“使用FB注册”按钮
  • 移动应用程序打电话给FB并从FB获得访问令牌
  • 移动应用程序将此访问令牌发送到后端
  • 后端创建一个新的用户实体,并发回授权服务器发出的新访问令牌(连同刷新令牌)
  • 但我不知道如何实施步骤4。我试图在网上找到一个例子,但没有任何运气。有人知道如何实施吗

    下面是我的OAuth2实现:


    非常感谢

    我知道你需要使用fb注册。但是不建议使用凭证流,而可以使用隐式流

  • 当用户单击使用FB按钮注册时,移动应用程序应打开嵌入式浏览器(SFSafariViewController),并将打开授权端点。
  • 当用户单击“批准”或“确定”时,浏览器将重定向回(隐式流)并关闭浏览器视图。在这里,您将在URI中获得accesstoken
  • 将该AccessToken发布到后端,并从该AccessToken从Facebook获取用户信息
  • 然后将该数据插入UrDB(在后端),并将响应返回到ur客户端应用程序。

  • 谢谢你的回答,但它并没有真正回答我关于步骤4的问题。您是否有任何代码示例来了解如何使用Spring boot实现此功能?这意味着您一旦获得客户端的访问令牌,将其发送到服务器端,然后在服务器端代码中获取该令牌,并使用userinfo端点(fb)获取令牌的用户详细信息,然后将该用户详细信息插入数据库中,然后执行业务逻辑,然后将json响应返回到客户端。您可以使用rest之类的库来简化工作。请在这里找到示例