不使用 oidc-client-js 实现 OpenID Connect
Implement OpenID Connect without oidc-client-js
我正忙于使用 Identity Server 4 将新的 React 前端与 .net Core API 集成。
我们使用的流类型是资源所有者密码凭据。
我不想使用 oidc-client-js 有两个原因:
- 它是 433 KB
- 不支持我们的流量类型
目前我可以获取发现文档并使用 token_endpoint 登录。我登录后的return包含:access_token、expires_in和token_type,但没有session_state。
我目前正在尝试复制 CheckSessionIFrame,如 oidc-client-js 存储库中所示。
它由回调、client_id、url & 间隔构造,并通过传入 session_state.
开始
我的问题是我不知道如何从 Identity Server 4 获取 session_state。
- 对于整体情况的任何建议,我将不胜感激。
- 你能告诉我如何获得 session_state 吗?
非常感谢
查尔斯
资源所有者流程不允许会话,因为它是一个无浏览器流程,很像客户端凭据流程。换句话说,IdentityServer4 无法为您的会话发出 cookie。
oidc-js 可能不支持密码授予,因为它是一个简单的 restful 调用,没有什么太复杂的。
如果您想要检查会话,您将需要使用基于人机交互的流程,例如隐式流程。
我正忙于使用 Identity Server 4 将新的 React 前端与 .net Core API 集成。
我们使用的流类型是资源所有者密码凭据。
我不想使用 oidc-client-js 有两个原因:
- 它是 433 KB
- 不支持我们的流量类型
目前我可以获取发现文档并使用 token_endpoint 登录。我登录后的return包含:access_token、expires_in和token_type,但没有session_state。
我目前正在尝试复制 CheckSessionIFrame,如 oidc-client-js 存储库中所示。
它由回调、client_id、url & 间隔构造,并通过传入 session_state.
我的问题是我不知道如何从 Identity Server 4 获取 session_state。
- 对于整体情况的任何建议,我将不胜感激。
- 你能告诉我如何获得 session_state 吗?
非常感谢
查尔斯
资源所有者流程不允许会话,因为它是一个无浏览器流程,很像客户端凭据流程。换句话说,IdentityServer4 无法为您的会话发出 cookie。
oidc-js 可能不支持密码授予,因为它是一个简单的 restful 调用,没有什么太复杂的。
如果您想要检查会话,您将需要使用基于人机交互的流程,例如隐式流程。