问题标签 [microsoft-adal-angular6]

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.

0 投票
3 回答
3674 浏览

angular - 为什么 microsoft-adal-angular6 不附加不记名令牌?

我正在尝试使用 microsoft-adal-angular6 获取 AAD 令牌并访问我的 web api。

一切似乎都在登录并获取令牌,但令牌并未作为 Auth 标头添加到 http 请求中。

基本上我遵循了这里的步骤:

https://www.npmjs.com/package/microsoft-adal-angular6

我认为这可能与我的端点错误有关,这似乎是说这指定了何时将令牌添加到请求中。

将这一点添加到的示例除了登录并使用 adal 服务获取一些信息之外没有做任何其他事情。它没有显示如何向附加了令牌的端点发出 HTTP 请求。

0 投票
1 回答
1768 浏览

javascript - 如何在运行时配置 MsAdalAngular6Module?

我正在使用这个 microsoft adal 包装器来管理角度单页应用程序中的身份验证:https ://github.com/manishrasrani/ms-adal-angular6

根据那里的文档,我在编译时配置了所有各种选项,就像这样,它按预期工作。

但正如我所拥有的和需要独特设置的多个环境(开发、测试、产品等)的自动化部署管道一样 - 我想改为执行此运行时。也就是说,我不想为我部署到的每个环境重新编译。

我按照本指南了解如何在 rutime 从 json 文件加载设置:https ://juristr.com/blog/2018/01/ng-app-runtime-config/效果很好,但是如何以这种方式加载值在运行时进入 MsAdalAngular6Module?

0 投票
1 回答
505 浏览

angular - 检测是否可以在 adaljs-angular4 中进行静默登录

我在 angular 6 项目中使用库 adal-angular4@3.0.13。我尝试执行以下操作:

  1. 如果可以使用 office365 进行静默登录(无需提示用户输入凭据即可登录),则执行静默登录(使用_adalService.login()

  2. 如果无法进行静默登录,则在欢迎屏幕中显示“登录”按钮。

当我通过 azure-ad / o365 身份验证并且 cookie 仍然有效时,可以进行静默登录。

为了找出是否可以进行静默登录,我尝试了以下操作:

但它总是返回:

需要用户登录

但是当调用_adalService.login()它时会进行静默登录。

我的问题: 如果 adaljs 可以在不提示输入凭据的情况下登录(应该可以,比如从 o365-cookie 中读取),我怎么知道?

0 投票
1 回答
95 浏览

angularjs - 使用 adaljs 的 Angularjs 页面一直在寻找令牌

我有一个非常简单的 HTML、AngularJS 应用程序,我想使用 adal-js 和 adal-angular-js。该应用程序是这样的:

主页 HTML,只是一个简单的 hello world。

当我进入该页面时,它会将我重定向到登录页面,但只要我输入我的用户名和密码,它就会不断刷新,而且永远不会停止。

知道为什么会这样吗?

谢谢!

0 投票
0 回答
342 浏览

angular - 需要将字符串转换为对象 [Angular 6]

我正在尝试在具有函数值的对象中转换字符串。像这样

所以我尝试的是

所以请帮助如何处理其中的错误。

提前致谢!

0 投票
1 回答
1185 浏览

angular - AcquireToken 在 adal-angular4 中再次重定向到登录页面

我一直在登录页面中使用handleWindowCallback()方法,因为当我登录登录页面时会检查身份验证并重定向到仪表板页面。它工作正常,没有任何缺陷。

但是当我再次尝试使用 acquireToken 检索数据时,应用程序正在重定向到登录页面,这只是第一次发生。这会导致内容呈现延迟。

登录组件.ts

仪表板组件.ts

网络服务.ts

我需要在 ngOnInit() getdata() 期间检索数据,它应该加载一次,它将呈现内容而无需再次重定向到 loginComponent。

请帮助解决这个问题。它已经吃了我的 2 天。

0 投票
1 回答
240 浏览

jwt - 令人惊讶的是,我得到了相同的 access_token 和 id_token 代码

我有 Angular 应用程序版本 6,我正在尝试集成 Azure AD 身份验证,并且微服务位于 AWS 中。

令人惊讶的是,我得到了 access_token 和 id_token 的相同代码。他们应该是不同的吗?我的架构师这么认为,并要求我调整库以将 responseType 发送为“id_token+token”。

我做错了什么,有什么办法可以让 access_token 作为 api 调用的标头发送?我还附上了 api c microsoftadal-api failed alls 的控制台错误截图。

下面是我试图读取访问令牌以验证 api 调用的代码。

0 投票
0 回答
57 浏览

javascript - 了解回复 url,并回复完成登录和注销的特定路由

我正在调用 login() ,我需要将一个值初始化为一个 adalService 函数 init(configOptions: adal.Config): void; 这将设置默认 url 值因此,在 login() 或 logout() 之后,它可以重定向到 init() 中存储的重定向值

第二个函数也是 adalService login(): void; 这将执行 Azure AD 登录并重定向到由 init() 设置的值。

所以,当我在调用 init() 之前运行外部函数() 时,只有 login() 正在工作,它在 90% 的时间里重定向到我以前存储的值(以前的路由)

所以,我希望第一个函数 init() 完成,然后执行第二个函数 login()。两者都是 void() 否则我会使用 Observable 并写在响应正文中

我可以将我的正常功能转换为 Observable 什么的。如果是,请也写语法

0 投票
1 回答
2663 浏览

angular - 如何通过 Microsoft-adal-angular6 库获取正确的不记名令牌?

我正在尝试从 Azure 资源 API 获取数据:https ://management.azure.com/subscriptions/%7BsubscriptionId%7D/tagNames?api-version=2018-05-01

但是我收到了这个错误: error="invalid_token", error_description="The access token is from wrong audience or resource.

在 AppComponent 中,我可以登录并通过身份验证并接收令牌

但是当我将它作为请求标头中的不记名令牌应用时,它无效。

这是我的 App 模块配置:

此外,当我转到https://docs.microsoft.com/en-us/rest/api/resources/tags/list并按“试试看”时,我可以在这里登录到我们的 azure 帐户并获得一个工作承载令牌,我们反过来可以在代码中使用它来访问我们想要的资源。

0 投票
1 回答
64 浏览

active-directory - MS Adal 数据适用于个人 live.com 帐户,但前端 + 护照应用程序 + 注册应用程序仅配置 B2B

我在前端使用adal-angular4进行登录,这很有效,它是成功的,并且在整个过程中它不会问我是要使用我的企业帐户还是我的个人帐户,并且 afaik 没有“角色”帐户电子邮件我正在尝试登录。

该应用程序本身配置为仅允许 B2B,并且我将端点配置为“通用”;

现在,我将该令牌发送到拥有 passport-azure-ad 的后端,并且我再次将所有内容配置为 B2B,并且我已经尝试了两个常见端点。每次,令牌的形状都没有@types 中提供的类型列出的属性;

在令牌详细信息中,我可以看到:idp: 'live.com'这看起来好像我实际上已经使用我的个人帐户登录了?

我也尝试过使用不同的 B 帐户,似乎令牌的形状是正确的并且没有 'idp: 'live.com'属性。

所以在我看来:

  • FE中的应用程序不应该让我使用个人帐户登录(???)
  • 登录屏幕仍应让我在个人/企业帐户之间进行选择
  • 如果是个人帐户,护照插件不应该返回“令牌验证”吗?而我将其配置为无处不在的b2b?

如何强制执行 B2B 帐户?我在 Azure 门户中的配置屏幕截图。