问题标签 [angular-oauth2-oidc]
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.
angular - 依赖注入角度 4:我的服务不是单例
我很难在这个配置中使用 openId auth 包......
我有 3 个模块:
模块 1:mainApplication 模块 2:核心模块 3:门户
我在核心模块中有一个服务(AuthService),从 angular-oauth2-oidc 扩展 OAuthService。
这只是一种将依赖项与 angular-oauth2-oidc 隔离的方法。
mainApplication 模块正在加载门户和核心服务。
我的门户模块:
我的核心模块:
我的配置服务:
似乎 AuthService 不止一次被实例化......
而且我在配置服务和使用它的那一刻之间丢失了配置。
angular - angular-oauth2-oidc 库无法加载 jsrsasign 模块
我正在尝试为来自以下项目的项目升级 Angular 中的依赖项:https ://github.com/mgechev/angular-seed
依赖项是:https ://github.com/manfredsteyer/angular-oauth2-oidc但是我不太确定我的 System.JS 文件需要如何正确加载 oauth2-oidc 依赖的 jsrsasign 依赖项。目前,我有一个 project.config.ts 看起来像:
加载我的项目会导致如下错误:
我从高处和低处搜索了网络,似乎无法理解如何强制加载它。
似乎暗示了答案,但我已经尝试将其添加到 seed.config.ts 中,但没有任何喜悦。
谁能解释如何专门为 System.JS / 角种子正确配置这个库?
angular - 预期发现文档中的颁发者无效:带有 Azure B2C 的 angular-oauth2-oidc
目前我正在开发一个 Angular2 应用程序并希望使用 B2C 租户进行身份验证。它不起作用,因为我收到一个错误:
预期发现文档中的无效发行者:
设置和配置与https://github.com/manfredsteyer/angular-oauth2-oidc中描述的完全相同。
在给定的示例中,使用了以下函数:
不幸的是,loadDiscoveryDocumentAndTryLogin对我不起作用,因为对于 Azure B2C,我需要添加另一个带有附加参数(策略)的 URI。所以我尝试了“旧”功能loadDiscoveryDocument
新代码如下所示:
这是函数的第一部分:
这是来自 github 示例的函数:
loadDiscoveryDocument 验证文档:
问题在于validateDiscoveryDocument和B2C
原因是函数的第一部分:
B2C 发行人是:
提示:myportalb2c不是真正的门户。如果我调用标准 URI 或使用我的策略 (fullUrl),则响应文档中的颁发者与 URI 中的不同。似乎 URI 的一部分被 GUID 替换
“发行者”:“ https://login.microsoftonline.com/GUID/v2.0/ ”,“授权端点”:“ https://login.microsoftonline.com/myportalb2c.onmicrosoft.com/oauth2/v2.0/授权?p=b2c_1_signin_signup ”,“token_endpoint”:“ https://login.microsoftonline.com/myportalb2c.onmicrosoft.com/oauth2/v2.0/token?p=b2c_1_signin_signup ”
有人有同样的情况并找到了解决方法吗?文件中的发行人不同的原因是什么?
我还尝试了以下软件包:
我一般工作,但有时我需要在最终登录的应用程序中登录几次。
提前感谢您的支持!
angular - Angular、Keycloak 和 SSO 使用 angular-oauth2-oidc 自动登录
我们正在尝试在我们的环境中创建以下设置... Angular 4.4+ 应用程序使用 Keycloak 作为具有 AD 联合和 Kerberos 支持的身份验证服务器。这是为了为我们的 Intranet 用户提供我们内部 Web 应用程序的真正 SSO 体验。
流动:
- 用户导航到应用程序
- 应用程序检查本地存储中的有效令牌
- 如果没有有效令牌,则启动 initImplicitFlow
- 服务器和客户端浏览器进行 Kerberos 协商,而不是显示登录屏幕
- 协商成功后重定向回应用程序,就像用户输入了正确的凭据一样。
- 应用程序在响应中检查有效令牌(这是模糊的部分),将令牌和用户角色保存到 localStorage,并且路由守卫现在允许在应用程序中导航。
我试图让以下示例进行自动登录启动,但似乎无法让它工作。任何人都可以查看此示例并查看将 initImplicitFlow 调用放在何处以使其工作吗?我尝试了很多不同的东西,以至于我什至无法保持直截了当。
参考项目 - https://github.com/manfredsteyer/angular-oauth2-oidc/tree/master/sample/src
感谢您对此提供任何帮助或指导。
angular - angular-oauth2-oidc 注销无效+令牌错误
我有一个 Angular 5 应用程序,我在其中使用 okta 实现了 angular2-oauth-oidc。
我在尝试注销时收到 400 Bad Request 错误提示 Invalid_token。会话似乎已过期。
单击注销按钮时,用于注销的代码如下:
我的 app.component.ts 文件:
一旦会话过期,请帮助处理注销。提前致谢。
angular - angular-oauth2-oidc 未设置 access_token
我正在关注 angular-oauth2-oidc 库的入门指南,但它唯一存储的是nonce
值,access_token
它不会出现在任何地方。
这是我的配置AuthConfig
。
我app.component.ts
的有以下几点:
在我的login.component.ts
我有:
用户被重定向到这里后,我可以在 url 中看到 access_token 等的参数。
但是当我去 localStorage 时,我唯一能看到的是nonce
它的价值,而不是access_token
. 我已经尝试在控制台中打印它并收到null
.
这是我回来的网址:http://localhost:4200/#access_token=thetoken&etcparams
。
javascript - Angular 5 + OAuth2:未使用库设置令牌 [angular-oauth2-oidc]
我正在尝试将我的 Angular 应用程序配置为使用 OAuth2 库(angular-oauth2-oidc)。
在 auth.service.ts 文件中配置了我的 OAuthService:
在我的主页组件中,我添加了一个按钮来触发隐式流程并获取访问令牌。
初始化隐式流程后,应用程序重定向到我登录的提供商的正确登录页面,并重定向到我的 OAuth 配置的 redirectUri。
但
如果我试图获得一个状态,例如我调用 isLoggedIn 方法,我总是得到错误的。此外,在 hasValidAccessToken() 处有错误返回。
谁能展示如何正确配置 angular 5 和 oauth2?我还需要一种可能性来存储我给定的访问令牌,以便在我的休息方法中使用它们来获取数据。
angular - 我收到一条失败消息:Unprotect ticket failed using core and Identity Server
我有一个使用 .net 核心和 Identity Server 4 进行身份验证的 Angular 应用程序。我将这个角度服务用于 openid https://github.com/manfredsteyer/angular-oauth2-oidc
登录后,我会使用令牌重定向回我的 Web 应用程序,但我的输出日志中不断出现这种情况?我怎样才能纠正这个问题或我在哪里可以看?
angular - 角度应用程序中的 OAuth 令牌刷新
我正在使用 angular-oauth2-oidc 包和 IdentityServer3。我在我的网络应用程序中使用 angular-oauth2-oidc 包中的自动刷新选项。当刷新发生时,我被重定向到我的起始页(即 IdentityServer 中的 redirectUri)。当我现在在我的详细信息页面上编辑数据时,当刷新发生时,我会突然转移回主视图。由于我使用基于散列的路由样式,因此在我的详细视图中得到类似“ http://myApp/#/detailView/id123456 ”的内容。我该如何处理?至少,我希望在刷新发生并优化时留在 detailView 上,将所有更改的数据保留在表单上。我错过了处理这种情况的“如何”方法。
在此先感谢...马可...
angular - IdentityServer4 endsession 重定向到帐户/注销给出 404
我在 Azure 中通过 https url 运行 IdentityServer4,并且我正在使用带有angular-oauth2-oidc 库的 Angular CLI 项目来处理隐式流。我正在尝试设置单点注销,但它无法正常工作。
我正在调用logOut
自动OAuthService
配置(通过发现文档)在身份验证服务器上使用注销 url,即https://my-id4-server.example.com/connect/endsession
使用包含 atoken_hint
和 a 的查询字符串参数postLogoutUri
。
出于某种原因,实际行为是 IdentityServer4 将浏览器重定向(302)到 url https://my-id4-server.example.com/account/logout?logoutid=...
,浏览器为此获得404。此外,如果我在单独的选项卡中打开 IdentityServer 页面,我可以看到我的会话仍然存在。
预期的行为是我的会话结束,并且我被重定向回我的 SPA。
在 ID4Server 端,我配置了:
RedirectUris
以及PostLogoutRedirectUris
(http://localhost:4200
我的 SPA 当前运行的地方)等;AllowedGrantTypes
设定为Implicit
AllowedCorsOrigins
还允许我的本地主机 SPA
此外,我可以在配置端点中看到endsession
正确配置的.well-known
端点。
在 SPA 方面,我配置了issuer
、redirectUri
、clientId
和scope
. 使用重定向返回登录就可以了。
底线:如果endsession
端点重定向到account/logout
哪个又给出 404,有什么问题?