问题标签 [oidc-client-js]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
typescript - 使用构造函数时找不到名称,但在转换时可以
我已经导入了两种类型。
从源码看,这两个都是带有构造函数的类。我可以使用第一个的所有构造函数,并且可以使用第二个进行转换,但我不能调用第二个的构造函数。
这两个都有效。
TypeScript 抱怨这个。“找不到名称‘WebStorageStateStore’”。
为什么 TypeScript 在能够转换为类型时找不到构造函数?
token - 问:基于令牌的身份验证 API 和 Javascript,你能保护其他客户端文件不被访问吗?
问题
如果您将使用与以下示例类似的设置:
- 简单的 WebAPI
- Javascript OIDCClient 和用户管理器
是否可以保护其他客户端文件不被访问?例如,我有一个包含某些文件的目录,您需要某个角色才能访问它们。
是否可以在登录之前保护我的 SPA 不被访问?
或者是否有更好的解决方案让您最终获得受保护的 api、服务器上的文件夹/文件、SPA 和像 OIDCClient 中那样的静默更新机制?
identityserver3 - Identityserver3 - 选择客户端应该使用的 Identityprovider
我现在有 identityserver3 设置,我配置了 3 个身份提供者: - 本地 - 谷歌 - ADFS
我有多个使用 Oidc-Client-JS 的客户端(https://github.com/IdentityModel/oidc-client-js)。
现在我想指定客户端应该使用哪个身份提供者登录。所以让我们说:
- 客户端 A 让用户选择使用哪个提供者
- 客户端 B 使用本地登录
- 客户 C 用 google 登录
- 客户端 D 使用 ADFS 登录
客户端 A 的情况是默认行为,我可以正常工作。我的问题是如何设置客户端 B、C 和 D?
angular - 带有IdentityServer3的Oidc-client - Angular2,如何正确注销和登录
这是一些背景,我使用的是隐式流,我的令牌是 JWT。要注销,我使用的是方法调用signoutRedirectCallback。
我希望能够正确注销。这样我就可以以其他用户身份登录。这样做时,我仍然拥有最后一个用户的令牌吗?有没有办法完全注销用户,使其没有最后一个用户的令牌?由于某种原因,令牌仍然存在。似乎真正注销的唯一方法是关闭浏览器页面并且 identityserver3 上的 cookie 被删除/删除?
这也可以回答我的另一个问题。如果用户单击主网格页面上的超链接并打开一个新选项卡(例如详细信息页面),如果用户在新选项卡(详细信息页面)上注销,则仍记录主网格页面(旧选项卡)在?同样,我没有完全退出也是同样的问题。
谁能给我一些关于如何正确注销以删除 identityserver3 上的 cookie 的指导?所以它是一个干净的石板。令牌仍然存在。谢谢你。
this._oidcService.logOut() 调用实际的 oidc-client 方法 signoutRedirectCallback()。这有效并且它重定向。但是除非我关闭页面,否则令牌仍然存在。
更新:我的测试团队告诉我这个问题专门针对 Chrome。
c# - 什么是 ProfileService/ProfileService 何时执行?
我一直在玩 IdentityServer4。绝对喜欢它。
我一直在浏览您网站上的教程,特别是https://identityserver4.readthedocs.io/en/release/quickstarts/7_javascript_client.html
我创建了一个 Profile Service,它执行以下操作:
这很好用,我的自定义声明在我的 JS 客户端的日志窗口中可见。
我在它上面放了一个断点,只是为了检查上下文中的内容,我注意到它被击中了两次。调用者属性分别是ClaimsProviderAccessToken
和UserInfoEndpoint
。为什么是这样?
在我的天真中,我profile
从我的 js 客户端中删除了范围,并且在 oidc-js 配置中也删除了配置文件范围,并设置loadUserInfo: false
了我的ProfileService
它仍然被调用了两次。
如果我的最终目标是根据数据库中的参数设置声明,我真的不想做这个操作两次,是吗?(真正的问题——我不知道)。一个“解决方案”是只将它们设置在“ClaimsProviderAccessToken”上,但是有一些东西告诉我,ProfileServices 会被调用两次是有原因的,并且在两次运行中设置声明有一定的重要性。
angularjs - 身份服务器 3 用户会话生命周期
我正在使用身份服务器 3 保护 Web 应用程序。我的应用程序分为 2 个 oidc 客户端、一个 ASP.Net MVC 客户端和一个使用 oidc-client javascript 库的 javascript(angular) 客户端。
当用户第一次访问 Web 应用程序时,我们会重定向登录到身份服务器,该身份服务器会登录 mvc 客户端。然后使用 oidc-library 中的静默登录功能登录 javascript 客户端。
我想控制用户必须访问登录页面以再次登录的频率,并且我想设置此设置,以便用户必须每天或每 8 小时访问一次登录页面。
身份服务器中是否有一个设置可以控制用户会话的活动时间,而无需再次登录。
我搜索了文档并找到了许多 Lifetime 设置,但不清楚我应该使用哪些设置,到目前为止,反复试验还没有产生任何结果。
identityserver4 - OIDC 隐式流 - 重定向 uri 长度
我正在使用带有响应类型“id_token token”的隐式代码流的 OIDC。一切正常,但注意到带有访问令牌、id_token、范围和 session_state + 域名的回调 url 已经包含 2033 个字符。我正在处理的项目需要支持 IE 10,据我所知,URL 有 2048 个字符的限制。我有点担心回调 url 的长度会危险地接近这个限制。对这种情况有什么建议的方法?我可以将响应类型更改为“令牌”,然后从用户信息端点请求用户信息吗?或者我应该做些什么来减少回调 url 的大小,尝试减少 access_token 和 id_token 中的信息?第三个选项似乎是参考令牌,但我不担心额外调用 STS 的开销。
在项目中,我使用 oidc-client-js 和 IdentityServer4。
谢谢
identityserver4 - 从现有 cookie 隐式流静默登录
我正在使用身份服务器 4 保护 Web 应用程序。我的应用程序分为 2 个 oidc 客户端,一个客户ASP.Net Core MVC
端和一个javascript(angularjs)
使用 oidc-client javascript 库的客户端。
当用户第一次访问 Web 应用程序时,我们会重定向登录到身份服务器,该身份服务器会登录 mvc 客户端。然后我想使用 oidc-library 中的静默登录功能登录 javascript 客户端。可能吗?这是一个可接受的解决方案吗?任何积分将不胜感激。
access-token - 身份服务器 4 中的静默令牌更新,js 客户端应用程序未按预期工作
我正在使用身份服务器 4 为企业架构中的不同应用程序提供身份服务。
使用带有 oidc-client.js 的身份服务器 4 应用程序使用隐式流注册了一个 SPA 应用程序,并且正在运行。
但是问题在于令牌更新,需要长时间保留用户登录而不要求用户再次登录。
为了实现这一点,使用以下配置实现了静默令牌更新。
var mgr = new Oidc.UserManager(config);
通过上述配置,自动更新正在发生,但它不是如预期的那样静默更新,正在发生完整的页面重定向到重定向 uri 以处理来自身份服务器的响应。
例如: index.html 是我的实际页面,其中发生静默更新, callback.html 是重定向 uri , index.html 被重定向到 callback.html 然后更新,然后重定向回 index.html,附加实际网络日志以下,
任何人都可以帮我解决这个问题,让无声更新发生。
asp.net-identity - logoutid 在身份 server4 的隐式流中不可用
您好我正在使用身份服务器 4 隐式流,
我能够使用 oidc-client.js 库执行登录和注销,
但是当在身份服务器上注销时 --> 帐户控制器 --> 注销操作参数“logoutid”正在接收 null,因此我无法获取有关客户端的信息。
身份团队提供的示例有一个可用的 logoutid 示例。与示例的唯一区别是我使用的是 ASP.Net 身份,这应该不是问题。
谁能帮我解决这个问题?
此问题仅适用于隐式流 JavaScript 应用程序,我在使用 MVC 应用程序时收到 logoutid。