0Auth2.0-在回调URL收到时如何持久保存基于用户的访问令牌(多用户系统)

时间:2018-10-17 08:51:16

标签: authentication oauth-2.0 spring-security-oauth2 google-oauth2

这个问题困扰着我很多天,当我们收到对回调URL的访问令牌时,如何才能将授权服务器上的访问令牌持久化。

考虑一个供多个用户使用的XYZ应用程序,该应用程序支持通过Facebook登录oAuth。

  • 已完成的基本工作:
    1. XYZ App已在Facebook中注册,并且已注册了自己的客户端ID,客户端密钥和回调URL。
    2. XYZ应用程序公开了一个回调URL,该URL可以接受GET(用于授权码)和POST(用于访问令牌)请求。
  • oAuth2.0授权码流程:
    1. XYZ应用程序向Facebook服务器请求具有客户端ID,response_type = code,grant,state和callback URL的授权。
    2. Facebook将请求用户许可以授予访问权限。
    3. 一旦用户批准许可,facebook将向XYZ应用发送授权码。
    4. 然后XYZ应用程序使用来自Facebook的授权代码以及客户端机密,回调URL和它将请求访问令牌的其他参数。
    5. Facebook现在将访问令牌发送到XYZ应用程序。

我的问题:

  1. 当Facebook将授权代码发送到回调URL时,我们如何知道与哪个用户相关的授权代码。

  2. 一旦获得访问令牌以回调URL,我们如何在数据库中保留相同的用户详细信息。

由于只有一个回调URL,该URL接受来自Facebook的所有请求,因此我们如何区分哪个请求是针对哪个用户的?

0 个答案:

没有答案