这是我的工作流程 .
-
用户按下登录按钮 .
-
用户被重定向到API,该API重定向到第三方站点(ADFS SAML)上的登录页面 .
-
用户在那里进行身份验证,返回到解码响应的API,创建用户和JWT令牌(都存储在数据存储中),然后使用
?token=
查询参数将用户重定向到Ember .
我想做的是将其用于自定义 ember-simple-auth
authenticator
(和 authorizer
?),以便利用其中的会话和授权标头的优点 .
目前我已经攻击了一个身份验证器,只是重定向到身份提供者 . API工作流程的其余部分正在运行 . 我正在返回途中捕获令牌并通过调用数据库填充用户资源 . 但是我觉得我正走向错误(和漫长)的道路 .
有什么想法吗?这是 ember-simple-auth-token
的设计用途吗?
1 回答
我在上个月解决了这个问题 . 我做的是
点击登录
重定向到adfs
adfs登录成功 - >重定向到我的后端
后端生成一个带有访问令牌详细信息的sso临时令牌,该令牌已经存在且仅在2分钟内有效 .
后端使用带有sso临时令牌的参数的GET重定向Web
前端获取sso临时令牌的参数并向后端发出另一个发布ajax请求
Api将验证sso临时令牌并向用户提供详细信息(访问令牌和刷新令牌)
在6中读取发布请求的响应数据,并使用 authenticate 接口更新ember简单的auth服务(您可以使用自定义授权器自定义)