问题标签 [angular-auth-oidc-client]
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.
identityserver4 - 使用身份服务器的静默身份验证
我正在构建一个 SPA 应用程序,并使用 IdentityServer4 进行身份验证。我正在使用 .net core 3.0 中的新 api 授权模板进行 angular。
模板首先尝试使用 iFrame 进行身份验证,如果失败则尝试使用弹出窗口,如果失败则尝试使用重定向。我的问题是,我能否仅依靠使用 iframe 的静默身份验证,而无需备份方法。我的意思是所有浏览器都支持 iframe,并且应该适用于所有设备,我为什么要实现弹出窗口或重定向流?
typescript - angular-auth-oidc-client sso 单次注销不起作用
我正在使用 angular-auth-oidc-client 通过 Auth0 对用户进行身份验证。该服务有一个注销方法,它清除浏览器 cookie 和本地存储,但实际上并未从 Auth0 注销用户。当我刷新页面时,应用程序不会重定向到 Auth0 登录页面。我正在使用以下注销 URL。请让我知道这里有什么问题。
angular - 如果刷新令牌已过期,为什么我仍然可以请求访问令牌?
我有一个与刷新令牌有关的问题。我在 Identity Server 中配置了我的 Angular 客户端,如下所示:
此外,我的 Angular 客户端使用“静默更新”机制(使用 angular-auth-oidc-client)。
如果 Angular 客户端启动,20 秒后“静默更新”启动并请求新的访问令牌,这是有道理的,因为这大约是 30 秒访问令牌生命周期的 75%)。它获得了一个新的访问令牌,并且一切都在继续工作。
在给定的时刻,我停止了无声的更新。这意味着它不再刷新访问令牌,实际上,一段时间后我对 Web api 的调用失败,因为访问令牌已过期。
现在,几分钟后我重新启动“静默更新”。
奇怪的是它成功获得了一个新的访问令牌,但我的理解是这应该不再起作用,因为刷新令牌应该在 60 秒后过期?
我可能误解了这种滑动刷新令牌机制的工作原理。有人可以解释为什么我仍然可以使用已过期的刷新令牌请求新的访问令牌吗?
angular - 如果在 Angular 网站和 Identity Server 4 中使用哈希,则登录不起作用
下面的错误我使用哈希
没有哈希,一切正常
登录后它尝试读取 id_token 但它没有得到它,因为现在 url 类似于
- website.com/#/auth-callback/id_token=something.......
没有哈希重定向 url 是
- website.com/auth-callback/#id_token=something.......
我该如何解决这个问题?
angular - 在 AppModule 内部的工厂函数中使用 Angular 值提供程序值
我正在尝试访问 AppModule(下面的 OidcConfigService)内的工厂函数中的一些值提供程序。通常,在组件内部,我可以只使用@Inject('PROVIDER_NAME') 通过构造函数注入来获取我试图获取的值。在这种情况下,它只是一个工厂函数,所以我没有构造函数来获取我的值。您可以看到我尝试在 OidcConfigService 提供程序中获取值,但这些只是失败的尝试。
AppModule(底部的功能 configureAuth 是我试图发送值的地方)
main.ts (这些是我试图访问的值)
提前致谢!
angular - Ionic Android 应用程序中的 angular-auth-oidc-client
我正在尝试angular-auth-oidc-client
在针对 MS Identity 服务器进行身份验证的 Android Ionic-Angular 应用程序中使用。
版本:
angular-auth-oidc-client
11.1.4
@angular
10.0.2
@ionic/angular
5.2.3
电容平台:安卓
我在哪里:
- 运行普通 Web 应用程序时身份验证成功(从桌面浏览器)
- 在 android manifest 中声明了一个意图过滤器,当授权服务器重定向到 my-app://login-callback (真正的 Android 设备)时,应用程序正确打开。
- 使用 Deeplinks 插件,我可以拦截对登录回调的调用,并可以读取包含代码、范围、状态和 session_state 参数的查询字符串。
接下来做什么?身份验证仍然是错误的。我应该用回调查询字符串调用什么?
我发现这CallBackService
似乎符合我的需要,但不幸的是它不是 lib 公共 API 的一部分:/
oauth-2.0 - 在密码流和隐式中获取声明
我有一个通过toAngular 9
连接的 Web 应用程序和一个使用流的 API。当我获得经过身份验证的用户时,我可以看到我想要的网站的几个声明,例如电子邮件地址、用户名或角色。
oidc-client
Identity Server 4
Implicit
我现在正在尝试使用密码流做同样的事情,我只得到了sub
索赔 - 请注意这是我第一次使用它,因此它可能不正确,但从本质上讲,下面将是我正在执行的呼叫(这次angular-oauth2-oidc
通过我的ionic
应用程序使用) - 为简单起见和测试目的,我使用邮递员来说明这一点:
我已经修改了我的客户端以允许配置文件范围没有任何运气,并且我正在使用 IS4 上的相同配置获得针对同一用户的不同类型的响应和声明处理:
我的问题是,当我使用密码流来取回索赔时,我需要在客户端中设置什么特别的东西,还是我需要修改配置文件服务以始终包含它们?我会想象当您可以访问不同的范围并且他们已经发出声明时,您应该将它们取回,但我不确定我是否在这里遗漏了一些基本的东西。
我的客户的配置:
任何提示都受到高度赞赏。非常感谢!
更新:由于 oauth 2.1( https://fusionauth.io/blog/2020/04/15/whats-new-in-oauth-2-1 )中不推荐使用 ROPC 流,我决定将所有内容移至代码流 + PKCE 机制。
identityserver4 - IdentityServer4 Windows 身份验证缺少回调实现
设置 Windows 身份验证的文档在这里: https ://docs.identityserver.io/en/latest/topics/windows.html
但是我不知道如何配置该Callback()
行中提到的方法,RedirectUri = Url.Action("Callback"),
或者我什至不应该使用它。
我尝试手动重定向回https://<client:port>/auth-callback
我的角度应用程序的路线,但出现错误:
有人有建议的Callback
方法,我可以使用 code + pkce 与 SPA 一起使用吗?我试过搜索谷歌,但目前没有使用 Windows 身份验证的示例应用程序,而且确实存在的应用程序很旧。
internet-explorer-11 - angular-auth-oidc-client v10.0.2 在 IE 中不起作用
我在我的 Angular 9 项目中使用 angular-auth-oidc-client 版本 10.0.2。然而,在 chrome 上一切正常,如果我关闭静默更新使用silent_renew:false
并删除silent_renew_url
,应用程序在 IE 上工作正常但是如果我打开静默更新使用silent_renew:true
并指定silent_renew_url: this.originUrl+'/silent-renew.html'
,应用程序在 IE 上加载一个空白页面,并出现以下错误在控制台中:ERROR TypeError: Object doesn't support this action
任何帮助,将不胜感激