我正在尝试使用adal登录保护react.js spa应用,并使用.net核心wepApi进行身份验证。
我能够通过react SPA(使用react-adal模块)从azure获取JWT并检索基本用户信息。
现在欢乐开始 由于大多数MSFT示例都基于他们的mvc方法,因此他们有一个密码来签署webconfig文件中的令牌,这是前端应用程序无法访问的。
然后我如何使用密码签署JWT令牌而不将其推送到SPA应用程序,因为可以在Web控制台中读取?
我的一个想法是在SPA中启动登录,然后使用webapi端点作为重定向链接(并在状态字段中提供连接ID),然后通过ajax我可以在SPA上重定向,但仍然存在JWT上没有签名。
答案 0 :(得分:0)
我目前的部分解决方案是:
react-adal
用于验证用户是否已登录react-adal
进行身份验证,但是当我获取令牌并将其存储在数据库中时,重定向位于特殊页面上。这里的窍门是:需要将hash
更改为query-string
来获取令牌服务器端(因为#之后的所有内容都没有转发到Web服务器),因此,一个简单的javascrip可以替换{{1 }}与#
并重定向到另一个端点。由于该URL仅用于重定向(在adal登录之后)-这是典型的?
场景,但具有生成自己的令牌的功能。