我在一个角度应用程序中使用oidc-client-js,并希望使用acr_values将IDP值传递给Identity Server 4。(Identity Server是我们的主要令牌服务,但我们已经将其配置为使用Okta作为应用程序的一个租户的外部提供程序。)
将这样的值设置为角:
this.userManager = new UserManager({
authority: environment.stsAuthority,
client_id: window.location.hostname,
acr_values: 'ipd:oktatest',
...生成的URL包含%26acr_values%3Dipd%253Aoktatest,如果您的URL编码idp: if最多两次,您就会得到它。
如果我手动将URL更改为%26acr_values%3Didp%3Aoktatest,它就会像预期的那样工作。(很难了解差异,但ipd和okta之间的%3A中的%符号在双重编码时变为%25。)
我做错了什么吗?这是个虫子吗?是否有更好的方法在角码中指定acr_values的值?
发布于 2020-09-07 11:40:00
您可以通过在acr_values级别定义signinRedirect来尝试这一解决方法。
this.options.acr_values = 'ipd:oktatest';
this.userManager.signinRedirect(this.options);
this.userManager = new UserManager({
authority: environment.stsAuthority,
client_id: window.location.hostname,
...});https://stackoverflow.com/questions/63769476
复制相似问题