我的用户流程如下......
这很好用,并且遵循IdentityServer示例中的MVC示例应用程序,我可以看到我的用户的声明列表。
因此,我的应用程序的主页面使用MVC视图呈现,我有其他资源通过资源授权授权,这非常有效。
我的应用程序的下一部分是API。让我们说出api.domain.com/stockquote
这应仅供我的应用程序的授权用户使用,而不是公开可用。
我已成功使用Identity Server创建了一个Angular JS应用程序,并了解当返回令牌时,我能够从URI获取/id_token
的值,将其存储在localstorage中,然后使用它来形成API的授权标头,例如Authorization=Bearer {token}
。再次运作良好。
但是,现在我在我的MVC应用程序中进行了身份验证,如何获取此令牌并将其放入本地存储中,以便为API调用创建标头?
我能以某种方式从cookie中提取它吗?
在HTML流中输出它是一个好主意,这样JS就可以把它拿起并放入localstorage(现在猜)。
我可以使用令牌端点以某种方式获取此令牌吗?
答案 0 :(得分:0)
处理此问题的一种方法可能是更改身份验证方式。而不是在服务器端处理MVC中的回调,而是在JavaScript中处理它。然后令牌可供您存储在本地存储中。如果您在使用令牌的服务器端发出请求,则可能无法执行此操作。