问题标签 [msal]
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.
azure - 如何使用 MS Graph 列出给定 LiveID 帐户的 Azure AD 实例?
我有一个客户正在使用 liveID 帐户来管理 20 多个不同的 Azure AD 目录。
如何获取与此帐户关联的所有 Azure AD 实例的列表?
我尝试使用此图形浏览器来确定哪个查询是正确的,但是每次我尝试同意目录读取同意时,该工具都不接受它。(它会运行,但检查时复选框会被清除)
我的目标是在运行时确定哪些实例已获得“管理许可”来访问存储在我的租户中的应用程序。然后我会提示管理员同意这些应用程序。
我标记为 MSAL 和 ADAL,我无法使用作为 Azure AD 管理员的 MSFT 帐户
测试
我正在使用这个MSFT 示例,并将这个调试代码发布到当前正在使用的任何控制器上ActiveDirectoryClient
。此代码适用于任何 AzureAD 帐户。
MSFT 帐户的结果如下:
azure-ad-b2c - 扩展 MSAL 以支持多个 Web API
嗨,我从这里的示例开始
https://github.com/Azure-Samples/active-directory-b2c-dotnet-webapp-and-webapi
并设法让 TaskWebApp 与 TaskService 对话。
我现在想扩展解决方案以提供第 3 项服务
我不确定问题是否在 ConfidentialClientApplication 中,因为当它无法获取我的令牌时,我也没有例外。
我认为问题是我的 TaskWebApp 中的 CConfigureApp 方法只期望管理来自单个 TokenService 的令牌。
这是我的 web App Starttup.Auth ConfigureAuth 方法,这与示例应用程序没有变化
这是我的 OnAuthorizationCodeReceived 方法,再次保持不变
问题似乎是我的读写范围直接引用了TaskService,当我尝试从其他应用程序请求适当的范围时它会抱怨。
在我的控制器中
使用了此方法,但我的 AuthorisationResult 失败,消息无法静默获取令牌,没有内部异常。
到目前为止,我已尝试将 NaiveSessionCache 作为其可选内容删除,但仍然失败
为了克服这个问题,我注册了第 4 个服务,然后让我的 webapis 使用该单个客户端 ID 和密码来控制对其资源的访问,但这感觉这不是正确的前进方式。
任何帮助都会非常感谢
javascript - 使用 MSAL.js 进行单点登录?
已通过 AzureAD 身份验证后,是否可以为我的应用程序获得单点登录?
可能的流量:
- 以 AzureAD 用户身份登录
- 转到我的应用
- 重定向到 https://login.microsoftonline.com/tenantid/oauth2/authorize?client_id=clientid (ish) -> 它返回一个令牌并重定向回我的应用程序
下次我使用我的应用程序时,如果我有一个有效的 cookie,我不会重定向到 microsoftonline.com,并且可以直接开始使用我的应用程序。
简而言之,我想在不为最终用户显示弹出窗口的情况下进行回调:
angular - 角度实现
我刚刚偶然发现了这个SPA 示例,我想知道是否有人已经在带有 TypeScript 服务/组件的 Angular 应用程序中做过类似的事情。
msal - 使用 MSAL 1.1.0-preview 获取“客户端信息为空”
我有一些在 MSAL 1.1.0-alpha307 上工作的代码,但在 1.1.0-preview 上它会抛出异常“客户端信息为空”,该异常会在 HTTP 响应中返回。该应用程序在 AAD V2 端点中注册并获取 MS Graph 数据。从下面的堆栈跟踪来看,它似乎能够获取 Graph 的令牌但无法缓存它。
任何人都可以建议诊断/修复/解决方法吗?
这是代码:
这是堆栈跟踪:
authentication - 是否可以使用 MSAL.js 获取刷新令牌?
我想与 Microsoft Outlook 集成。我能够使用 MSAL.js 登录并获得访问令牌,但我无法获得刷新令牌。有没有办法做到这一点?
msal - MSAL UserAgentApplication:本地存储不工作
UserAgentApplication.localCache = "localStorage" 不工作。
重现步骤:
结果: MSAL 令牌存储在会话存储中。(Chrome 开发者工具)
预期: 令牌应该在本地存储中。
我正在通过https://secure.aadcdn.microsoftonline-p.com/lib/0.1.1/js/msal.min.js使用 msal 0.1.1 javascript 库
ios - iOS ADAL-使用刷新令牌进行静默呼叫
我正在使用 iOS ADAL 库版本 2.2.6 并在成功登录后接收刷新令牌。现在我想使用这个刷新令牌进行静默呼叫。我尝试使用以下方法,但无法返回访问令牌。
但它总是抛出一个错误说"The user credentials are needed to obtain access token. Please call the non-silent acquireTokenWithResource methods."
有没有办法使用刷新令牌进行静默呼叫?请帮助我。提前致谢。
redirect - Xamarin 机器人的 MSAL 登录重定向的新预览失败
我在 Visual Studio 2015 中使用 Xamarin Forms 和新的 MSAL 预览 v.1.1.0。该应用程序调用 PublicClientApplication.AcquireTokenAsync,它会在移动设备上的 Chrome 中提取登录表单。登录成功,但是当它重定向时,我收到错误消息“无法访问此站点。位于 msal[my app id]://auth/?code=[auth code]... 的网页可能是暂时的或它可能已永久移动到新的网址。
单步执行应用程序时,我看到 PublicClientApplication 的重定向 uri 属性设置为 msal[my app id]://auth。这与我在 Azure B2C 租户应用程序中输入的自定义重定向 uri 相同。
有人对我应该检查的错误有什么建议吗?谢谢。
xamarin.forms - Xamarin Forms AD B2C MSAL 示例使用错误的租户?
Microsoft 为新的 MSAL 预览链接到的示例(由 Xamarin Forms 用于连接到 AD B2C)在我看来,它没有连接到正确的权限(租户)。这是真的?其他人试过这个吗?
这是示例:active-directory-b2c-xamarin-native
当运行他们的示例而不更改他们的连接信息(即连接到他们的 fabrikamb2c 租户)时,它将在 Chrome 浏览器中拉出一个登录页面。如果我告诉它连接到不同的帐户,它会提取我现有的 Microsoft 帐户——因此查看 Microsoft AD 租户。此外,如果我创建自己的 AD B2C 租户并将该连接信息放入示例中,它仍会尝试针对 Microsoft 租户而不是我的新 AD B2C 租户对我进行身份验证。
其他人是否在使用新的 MSAL 预览库和移动客户端登录时遇到问题?
--下一个信息将在 5/29 添加
我参与过三个不同的项目。首先,我直接使用 Microsoft 示例项目 (active-directory-b2c-xamarin-native),连接到 fabrikamb2c.onmicrosoft.com 并使用提供的配置数据。其次,我接受了那个项目,并为我自己新创建的广告 b2c 租户更新了配置。第三,我有自己的项目,该项目正在使用以前版本的 MSAL,我对其进行了更新以使用新版本。
我在周五使用配置运行示例项目时遇到了问题。但它现在正在运行并为我创建一个本地帐户。由于某种原因,我无法做到这一点。反正现在看起来不错。
运行示例项目,但更新配置信息以针对我新创建的广告 b2c 租户进行身份验证,我遇到了一些麻烦。目前,当我尝试创建一个新帐户时,它会给我以下消息:
但是在消除异常后,它已经登录并给了我登录信息。
最后,在我自己的项目中,我收到一条错误消息,听起来好像我是正在针对不同租户进行身份验证的用户。我尝试登录的用户确实存在于租户中。我已经使用以前版本的 MSAL 与该用户登录,当我进入 Azure AD B2C 中的租户时,我可以看到该用户。这是错误消息-查看详细信息。
编辑:本节于 2017 年 6 月 1 日添加
这是具有我的配置的 App.cs 部分。还有其他几个地方我必须进行配置更改,但其余代码来自上面提到的 Microsoft 示例: