【问题标题】:Implement OpenID Connect without oidc-client-js在没有 oidc-client-js 的情况下实现 OpenID Connect
【发布时间】:2017-06-06 13:21:39
【问题描述】:

我正忙于使用 Identity Server 4 将新的 React 前端与 .net Core API 集成。

我们使用的流类型是资源所有者密码凭据。

我不想使用 oidc-client-js 有两个原因:

  1. 433 KB
  2. 不支持我们的流类型

目前我能够获取发现文档并使用 token_endpoint 登录。我登录后的返回包含:access_token、expires_in 和 token_type 但不包含 session_state。

我目前正在尝试复制 CheckSessionIFrame,如 oidc-client-js 存储库中所示。
它由 callback、client_id、url 和 interval 构造,并通过传入 session_state 来启动。

我的问题是我无法弄清楚如何从 Identity Server 4 获取 session_state。

  1. 如果能就整体情况提供任何建议,我将不胜感激。
  2. 您能解释一下如何获取 session_state 吗?

非常感谢
查尔斯

【问题讨论】:

    标签: .net openid-connect identityserver4


    【解决方案1】:

    资源所有者流程不允许会话,因为它是一个无浏览器流程,很像客户端凭据流程。换句话说,IdentityServer4 无法为您的会话发出 cookie。

    oidc-js 可能不支持密码授予,因为它是一个简单的 restful 调用,没什么太复杂的。

    如果您想要检查会话,则需要使用基于人工交互的流程,例如隐式流程。

    【讨论】:

    • 感谢 Lutando,这很有意义。我们打算轮询以检查令牌是否仍然有效,因此将调查是否有任何其他端点允许这样做。
    猜你喜欢
    • 2018-07-25
    • 2018-02-08
    • 2016-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-30
    • 2013-10-15
    相关资源
    最近更新 更多