如何使用Implicit Flow保护Open Id令牌

时间:2016-08-11 13:35:50

标签: openid-connect identityserver3

我有一个Angular JS应用程序,并使用Identity Server 3作为我的身份提供者。

用户通过javascript重定向到Identity Server以获取令牌,例如

https://accounts.domain.eu/connect/authorize?client_id=MyApplicationId&redirect_uri=https://www.domain.eu&response_type=id_token%20token...

成功进行身份验证后,IdentityService会重定向回提供的redirect_uri,其中302将重定向浏览器,并且location标头包含例如。

https://www.domain.eu/#id_token=eyJ0eXAiOiJKV1QiLCJhbGc...

假设这是安全的,我是否正确,因为location标头值将使用HTTPS加密,并且对于查看HTTP请求的人不可用?

2 个答案:

答案 0 :(得分:1)

传输渠道应该受到HTTPS的保护 - 是的。

答案 1 :(得分:0)

虽然通过使用HTTPS保护了从身份服务器到浏览器的HTTP 302响应,但ID令牌不会被发送到目标应用程序,因为它是Fragment Identifier,它将/必须在客户端(浏览器)端处理。

这也符合Implicit Flow的目的,主要针对Javascript客户端。