当前结构:我有角度应用程序作为客户端,API作为数据源,身份服务器作为身份源 . 在角度I中,我针对身份服务器验证用户身份,并使用返回的令牌来针对API授权用户 . 我应该使用哪种格式类型来验证我的角度应用用户对身份服务器?根据http://docs.identityserver.io/en/release/topics/grant_types.html,我应该使用隐式授权类型 .
问题是,使用隐式授权类型时,没有刷新令牌 . 所以我的问题是,我应该如何在角度应用程序中保持用户会话活动(访问令牌有效)? - 每次访问令牌过期后都不要求用户验证自己 .
我的目标是让会话处于活动状态(令牌有效),直到被用户杀死(已注销)
1 回答
是的,Implicit流程是我会使用的 . 如果您的身份验证提供程序支持会话,则可以使用OpenID Connect获取新令牌而无需用户交互 . 在令牌到期之前,使用
prompt=none
URL参数在隐藏的iframe中创建身份验证请求(/auth
endpoint)(id_token_hint=...
参数也应根据OpenID Connect RFC存在) . 如果用户会话已打开,您将获得新令牌,否则将返回错误(需要用户交互) .有OpenID Connect Session Management RFC描述了这个过程以及更多(单点登录) .