问题标签 [microsoft-identity-platform]

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 投票
1 回答
78 浏览

msal.js - 如何在不要求访问资源的情况下仅登录用户?

我正在尝试使用 MSAL.js 库登录 Azure AD 和 Microsoft 帐户用户。现在,我使用acquireTokenPopup()它要求我传递 API 的范围。我想登录用户而不获取访问令牌。

有谁知道我该怎么做?

0 投票
2 回答
7158 浏览

microsoft-identity-platform - CompactToken 验证失败 80049228

一些用户在尝试使用 Microsoft 登录以通过 MS Graph 访问邮件时收到此错误。我已经让企业用户和个人 (Hotmail.com) 用户都显示了这个错误号,但它对大多数用户来说都很好。

这是电话:

这是返回的错误:

任何指针?在哪里可以找到此错误号的参考?

0 投票
1 回答
170 浏览

azure-active-directory - 带有 MIM 和 ADFS 的 IdentityServer4

我们正在尝试实施一个身份和访问管理平台,该平台将涵盖我们所有的应用程序和服务。我们已经有 MIM、ADFS 和 Azure AD(同步内部用户)

用户数量可能在 900 000 左右(在 AD 内部,其中大部分在用户注册表中),应用程序数量在 30 左右,包括 Office 365、SharePoint 2010、基于 Asp.NET 的应用程序、Java Spring Boot 微服务。

IdentityServer4 能否成为结合 MIM 和 ADFS 来覆盖所有用户和应用程序的好选择?

谢谢你,感谢所有的建议。

0 投票
1 回答
1007 浏览

oauth-2.0 - Azure Active Directory - 如何将后端 API 应用注册限制为特定客户端应用注册

我可能完全不了解它的工作原理,但这是我想要实现的目标。

在 AAD 我有

  • backend-api一个代表 HTTP API的应用注册调用
  • 一个代表某个客户端的应用程序注册frontend-app(比如说一个控制台应用程序)
  • 一个名为 App Registration 的应用程序another-app与我的解决方案无关

我有一个控制台应用程序,我在其中输入了我的客户端 ID 和客户端密码,我frontend-app可以请求一个access_token带有aud. backend-api这很棒,正是我想要的。another-app但是,如果我有该应用程序的客户端 ID 和客户端密码 ,我几乎可以做同样的事情。我想要完成的是只frontend-app允许获得一个access_tokenfor backend-api

我不太确定如何配置该特定要求。我想也许我需要为on添加一个appRoles条目,然后授予该角色,但这并没有对. 同样,我认为可能需要在企业应用程序下检查“需要用户登录”选项,但我找不到添加为“用户”的方法——无论如何可能是错误的方向。allowedMemberTypes Applicationbackend-apifrontend-appanother-appbackend-apifrontend-app

如果仅通过请求 AAD 仅分发(索赔),有access_tokens什么backend-api方法可以告诉他们?audfrontend-app 也许这是一个愚蠢的问题,它只是不这样工作?

0 投票
1 回答
400 浏览

azure-active-directory - 企业应用程序中基于组角色的授权

我已使用 Azure 应用注册来注册我的应用。在 Manifest 中,我添加了 appRoles。然后,我使用 Azure Enterprise 应用程序将用户和组添加到我创建的 appRoles。我是否需要在清单中更新“groupMembershipClaims”:“SecurityGroup”,因为我在企业应用程序中添加了组?我可以对企业应用程序中的组使用基于角色的声明吗?

0 投票
0 回答
102 浏览

authentication - 使用 Microsoft 身份平台的 MVC 控制器和 WebAPI (Cookies+Bearer) 的不同身份验证方法

我有一个实现 MVC 控制器和 webapi 控制器的 Web 应用程序。此 Web 应用程序使用基于外部 cookie 的 Microsoft 帐户身份验证。

现在,我想使用 MSAL 从本机(桌面)应用程序查询 webapi,以针对 Microsoft 标识平台对用户进行身份验证。

我尝试添加以下代码以使用不记名身份验证来执行此操作:app.UseWindowsAzureActiveDirectoryBearerAuthentication( new WindowsAzureActiveDirectoryBearerAuthenticationOptions { Tenant = ConfigurationManager.AppSettings["ida:Tenant"], TokenValidationParameters = new TokenValidationParameters { ValidAudience = ConfigurationManager.AppSettings["ida:Audience"] } });

我可以通过 PublicClientApp.AcquireTokenInteractive 方法对客户端进行身份验证,并使用生成的 AccessToken 来复合 Authorization 标头,但 webapp 会以 401 错误代码响应。

总之,目标不是同时使用 cookie 和承载身份验证,而是使用 MVC 拥有一个独特的 Web 应用程序:

  • 可以提供带有授权机制的网页
  • 可以使用相同的授权机制发布基于 REST 的 API(通过 WebAPI),即:
    1. 针对 Microsoft Azure AD 帐户进行身份验证
    2. 可由桌面客户端使用
    3. 可以被以前的 web 应用程序页面用于显示动态内容。
0 投票
1 回答
279 浏览

azure - Microsoft Identity Platform V2 不适用于个人帐户

我在 Azure 上设置了一个新的应用程序注册,以执行我的应用程序的 OpenId 身份验证。我已允许个人帐户连接到我的应用程序:

应用程序设置

我可以使用我的 Azure Work 帐户登录我的应用程序。

但是,当我使用真实账户时,我收到以下错误 (AADSTS50020):

错误

我真的需要将所有想要对租户进行身份验证的用户添加到租户吗?如果我有公开申请怎么办?

0 投票
2 回答
9220 浏览

azure - MS Identity Azure 应用程序已注册但在隐式流中发送未授权客户端

我已经在 Azure 中为 Microsoft Identity 平台注册了一个应用程序。我将其配置为允许 MS 帐户(例如 outlook.com),并且基本上在此处此处的一些在线快速入门中完成了所有操作的一些在线快速入门中完成了所有操作(“向您的 Web 应用程序添加凭据”除外)。我还选中了启用隐式流的框。

我将我的 React 应用程序重定向到要登录的 URL(使用隐式流程),我输入了我的用户名,但随后我看到了

未授权客户端:客户端不存在或未为消费者启用。如果您是应用程序开发人员,请通过 Azure 门户中的应用程序注册配置新应用程序,网址为https://go.microsoft.com/fwlink/?linkid=2083908

就像我上面提到的那样,我已经经历了几个快速入门并在这里阅读了有关隐式流程的信息,并按照他们的示例编写了我的代码。

我还尝试删除应用程序注册并重新开始。没运气。

尝试实现隐式流的 JS 代码

将浏览器重定向到类似于 Microsoft 在其隐式流页面上的第一个示例的 URL 的 JS 代码

Azure 中的应用程序配置:

Azure -> 身份 -> 应用注册 -> MyApp -> 身份验证

  • 重定向 Uri:http://localhost:3000/signin(React 应用程序在 3000 上运行,我为 /signin 配置了路由)
  • 不使用任何建议的重定向。
  • 已选中 ID 令牌和访问令牌的隐式复选框
  • 启用实时 SDK 支持
  • 支持的帐户类型设置为“任何组织目录中的帐户和个人 Microsoft 帐户(例如 Skype、Xbox、Outlook.com)”

Azure -> 身份 -> 应用注册 -> MyApp -> API 权限

  • 质谱图
    • 用户读
    • 电子邮件
    • 轮廓
    • 打开ID

从我阅读的文档中,我认为我已经对 id 令牌做了足够的工作。我不确定必须进行哪些调整才能使其正常工作。

0 投票
2 回答
1356 浏览

microsoft-teams - 无法在 iFrame/MS Teams 自定义选项卡中使用身份平台

我正在尝试使用身份平台将用户验证到我的自定义应用程序中,该应用程序将在 MS Teams 中使用。

我知道 Teams 使用 iFrame 加载自定义应用程序。所以我按照常见问题解答中提到的方法- Q5。我在 MSALConfig 中使用了 redirectUri 属性。我正在使用 MS 提供的索引文件进行测试,方法是在 iFrame 标记中调用它。

在acquireTokenSilent 和acquireTokenPopup 两种情况下,它都会卡在加载重定向页面的弹出窗口中。身份验证未完成,弹出窗口也未关闭。

0 投票
3 回答
2434 浏览

powerbi - 使用 MSAL 获取访问令牌并将其缓存在 SQL DB 中,而无需使用 MSAL 登录

我想使用应用程序 ID 和机密对 AAD 用户进行身份验证,以通过 MSAL 访问 powerBi 资源。所以我想获取访问令牌并将其缓存在 SQL Db 中。

浏览了文档,但它解释了使用 MSAL 登录的场景。还通过了教程 ,我能够进行必要的实现来获取令牌。

在这种情况下,如何获取访问令牌并将其缓存?