在没有oidc-client-js的情况下实现OpenID Connect

时间:2017-06-05 14:47:19

标签: .net openid-connect identityserver4

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

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

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

  1. 是433 KB
  2. 它不支持我们的流程类型
  3. 目前,我可以使用token_endpoint获取发现文档并登录。登录后的返回包含:access_token,expires_in和token_type,但不包含session_state。

    我正在尝试复制CheckSessionIFrame,如oidc-client-js存储库中所示。
    它由回调,client_id,url&构建。间隔,并通过传递session_state开始。

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

    1. 我希望对整个情况有任何建议。
    2. 你能告诉我如何获得session_state吗?
    3. 非常感谢 查尔斯

1 个答案:

答案 0 :(得分:1)

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

oidc-js可能不支持密码授予,因为它是一个简单的休息呼叫,没有太复杂。

如果你想要训练,你将需要使用基于人类交互的流程,如隐式流程。