我正在尝试使用OIDC和OAuth2实现刷新令牌,但是在理解工作流程时遇到了麻烦。据我了解,使用授权代码流,从/token
端点获得响应的刷新令牌是offline_access
请求中存在/authorize
范围。
我的问题是,如果offline_access
范围仅发送到/authorize
端点,或者发送给令牌端点的请求如何知道应该为该用户登录返回刷新令牌?范围也出现在令牌请求中?还是在返回代码之前在/authorize
工作流程中生成并存储刷新令牌的情况,然后在/token
工作流程中查找并返回刷新令牌?
具体遵循以下工作流程:
答案 0 :(得分:1)
范围是在授权请求期间发送的,并且从授权服务器的角度来看,将执行以下操作:
接下来,客户端发出“授权代码授予”请求以将代码交换为令牌,然后授权服务器执行以下操作:
如上所述,作为应用程序开发人员,了解AS行为的关键点很有用,尽管我希望我遗漏一两个要点。我的主要重点是将流程集成到UI和API中。
当然,对于授权服务器,我们应该始终使用经过认证的第三方实现,例如低成本云或免费开源解决方案。