【问题标题】:Passing an access and refresh token in the header with IdentityServer4使用 IdentityServer4 在标头中传递访问和刷新令牌
【发布时间】:2018-05-19 01:21:18
【问题描述】:

似乎 IdentityServer4 只会在标头中将访问令牌作为 cookie 传递,除非我执行将传递访问令牌但没有刷新令牌的 resourceownerpassword。我需要像这样直接在标头中传递的访问和刷新令牌

HTTP/1.1 200 OK Content-Type: application/json 
{  "access_token": "eyJz93a...k4laUWw",
   "token_type": "bearer"
   "refresh_token": "sd4rR68..."
   "expires_in":86400
}

我已经阅读了整个文档并搜索了互联网,但一无所获。 IdentityServer4 可以做到这一点吗?

编辑: 所以我误解了令牌发生了什么。现在我看到它在正文中,我需要在标题中。

有了这个特殊需求,我改用nodejs oauth2会更好吗?

【问题讨论】:

    标签: node.js asp.net-core identityserver4


    【解决方案1】:

    IdentityServer4 不会在标头中将访问令牌作为 cookie 传递。

    如果您使用授权代码、混合或客户端凭据流,则访问令牌将从令牌端点作为响应正文中的 JSON 返回。

    仅授权代码、混合和 ROPC 流支持刷新令牌。请求一个包含offline_access 范围。

    【讨论】:

    • 我现在明白了。有没有办法传入标题?还是在标题中包含 Authorization: Bearer?
    • 这不是 OAuth 的工作方式。令牌有效负载只能在正文中返回(或者如果您使用隐式流,则作为查询参数返回)。
    • 再次感谢您的洞察力。我可以将自定义键值对添加到返回正文吗?像组织 ID 一样?
    猜你喜欢
    • 2020-12-09
    • 2020-09-12
    • 2019-12-23
    • 2017-05-01
    • 2022-01-19
    • 2018-07-07
    • 2017-12-07
    • 2019-06-29
    • 2020-06-12
    相关资源
    最近更新 更多