问题标签 [microsoft-account]
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-ad-b2c - 使用 MSA 提供程序的 Azure B2C 的 MSAL 执行 POST 并且无法以静默方式获取令牌
将 MSAL js 库与 Azure B2C 和 Microsoft 帐户提供程序一起使用似乎无法使用 MSAL 项目中包含的示例。
MSA 似乎将最终的 HTTP POST 作为 authresp,因为带有 MSA 的 B2C 使用响应模式 = 表单发布,而 Google、Facebook 和 LinkedIn 的所有 authresp 都返回 GET 请求。这反过来会导致 MSAL 无法正确处理从 B2C/MSA 返回的不记名令牌。
这是 B2C 向 MSA 提出的请求,注意 response_mode=form_post https://login.live.com/oauth20_authorize.srf?client_id= ********-1b08-4d7c-b56d-9076584c3b71&redirect_uri=https: %2f%2flogin.microsoftonline.com%2fte%********-ab1c-4f9d-83b5-899025a2c3ca%2foauth2%2fauthresp&response_type=code&scope=openid+profile+email&response_mode=form_post&nonce=vkQ0vSBHFfYPydMhYl02ZA%3d%3d&state=eyJTSUQiOiJ4LW1zLWNwaW0tcmM6YTk0ZWYyMzktMDAwZi00YzIxLWE1MTAtOGNkMzk1YTU5NjI5IiwiVElEIjoiMDA4NjFiOTAtMzBhMy00NmZjLWJmMTgtOWE2MWY4Yjk3NTgyIn0
使用谷歌请求:
使用 Microsoft 帐户的请求:
登录后使用 MSA 运行 clientApplication.acquireTokenSilent(applicationConfig.b2cScopes) 会导致 - 未处理的拒绝 user_login_error: 需要用户登录
而对于 Google,它会返回一个正确的不记名令牌。
在 Microsoft 帐户配置上启用了隐式授权流,因此不确定是否缺少配置或者这是 B2C/MSA 或 MSAL 库的问题。
azure - 无法使用新门户在 Azure AD 中添加 Microsoft 帐户
我们的一些客户正在使用外部 Microsoft 帐户访问 AAD 服务。由于我们没有与他们的域相关联,而且他们中的一些人使用 Gmail 帐户,因此几乎不可能将他们的整个域添加到我们的 AAD。
旧门户 (manage.windowsazure.com) 具有以下屏幕:
新门户有一个几乎无法工作的访客系统(添加外部访客会导致B2BError: Unable to invite user
没有其他详细信息的通用 - 即使旧门户仍然有效),并且“新用户”只能创建具有注册域的用户。
有没有办法在新门户 (portal.azure.com) 中添加 Microsoft 帐户?
我现在问这个问题,因为这在技术上与如何将 Microsoft 帐户添加到 Azure Active Directory?,因为旧门户将于 2017 年 11 月 30 日停用,届时将无法再像这样工作。
c# - 无法使用带有 IdentityServer4 的外部身份提供程序读取用户的电子邮件地址
我正在尝试使用 Microsoft 帐户作为 IdentityServer4 的外部登录,我根据需要在 Microsoft 应用程序门户下配置了我的应用程序,我添加了一个 Web 平台并在 Delegated Permissions 下添加了“电子邮件”以便能够阅读它,这是我的代码访问 Microsoft 帐户:
当我运行应用程序时,一切正常,并且在用户输入他的用户名和密码后,会出现一条确认消息,授予我的应用程序访问电子邮件地址的权限,但是当我检查自定义ProfileService
使用中检索到的声明时context.Subject.Claims
,我没有找到任何索赔包含电子邮件地址,所以任何帮助我怎样才能得到它。
这是一个代码示例,显示了我如何访问 GetProfileDataAsync 方法中的声明:
基于@serpent5 的建议,我编写了一个示例代码来显示问题并将其上传到githug,
示例代码包含 3 个项目
- Fiver.Security.AuthServer(身份服务器)
- Fiver.Security.AuthServer.Client(客户端)
- Fiver.Security.AuthServer.Api(客户端想要访问的安全 API)
我从这篇文章中获取了原始代码
https://www.codeproject.com/Articles/1205745/Identity-Server-with-ASP-NET-Core
正如我上面所说,问题是我将电子邮件添加为范围,但登录后它没有作为 Microsoft 帐户的声明返回..
passport.js - 获取 Microsoft 用户的电子邮件地址
我想在login with Microsoft
我的平均堆栈应用程序中添加一个按钮。所以我正在使用passport-microsoft。
通过使用passport.authenticate('microsoft', { scope: ['User.Read'] })
,我可以获得这些信息:@odata.context
, givenName
, surname
, displayName
id
, userPrincipalName
, businessPhones
, jobTitle
, mail
, mobilePhone
, officeLocation
, preferredLanguage
. 对我来说, myuserPrincipalName
是一个电子邮件地址,而 mymail
是null
.
我已经按如下方式设置了应用程序,但是如果我写passport.authenticate('microsoft', { scope: ['User.Read', 'email'] })
,身份验证给了我一个“无效范围”错误。
有谁知道如何设置我的应用程序并请求获取用户的电子邮件地址?
c# - 使用 Microsoft 帐户与本地帐户备份 Bitlocker 恢复密钥
我正在尝试使用 Bitlocker 在 Windows 10 Pro 机器上加密我的硬盘驱动器。我到了需要通过 Microsoft 帐户、USB 驱动器备份我的恢复密钥或将其打印出来的地步。当我尝试使用 Microsoft 帐户路由时,它会要求我提供本地脱机帐户的凭据。我不愿意提供我的凭据,因为我听说本地帐户将在未经我同意的情况下转换为在线帐户,这是我不想要的。
所以我的问题是,我可以将我的 Bitlocker 恢复密钥备份到 Microsoft 帐户上,而不会将我的本地帐户偷偷转换为在线帐户吗?如果确实发生了这种情况,我可以将其转换回离线状态,同时仍将我的 Bitlocker 恢复密钥保留在我的 Microsoft 帐户中吗?
azure - 为融合应用设置刷新令牌的生命周期?
我正在开发一个融合应用程序(请参阅此处),我在其中使用 OAuth2 流程,获取访问 + 刷新令牌。我查看了可配置的令牌生命周期,但这看起来仅适用于自定义 AAD 应用程序(未融合)。
我想了解一些事情:
- Web 身份验证场景的刷新令牌(默认情况下)的生命周期是多少,我们可以安全地将令牌存储在服务器上?
- 有没有办法改变默认的生命周期?
visual-studio - Visual Studio 2017.5:我们无法刷新帐户的凭据。未找到家庭租户
安装 Visual Studio 2017 的 .5-Update 后,我无法登录我的工作或学校帐户。我得到的是以下内容 。
我已经尝试修复“无法刷新访问令牌”-错误,但这并没有修复它......
microsoft-account - 如何将 Microsoft 帐户从 PUID 迁移/映射到 OIDC/OAuth
我有一个运行 RPS 的站点,以使用个人 Microsoft Live ID 帐户对用户进行身份验证。我现在正在使用 PUID 识别它们。
我现在正在修改此站点的身份验证以使用 OIDC/OAuth,这意味着我将不再获得用户的 PUID,而只是 nameidentifier 声明。
我如何将用户从 RPS (PUID) 迁移到 OIDC (nameidentifier)?就像使用 nameidentifier 查询 PUID 一样?
我再也找不到关于 PUID 或 RPS 的任何相关信息。
azure - Azure B2C 错误:在 MSAL 门户中创建新应用后应用程序出现故障
我试图找出在使用 v2 MSAL 端点创建 Azure B2C 应用程序时应该使用哪个管理员帐户。我观察到,当我使用时,过程和结果都不同:
- 默认的 Office365 + AAD 管理员帐户
- 一个长寿的 LiveID 帐户
- 在 B2C 目录本身中创建的管理员
这些帐户中的每一个都用于在MSAL(融合?)门户中创建应用程序。
Azure AD 帐户
我有一个具有@[tenant].onmicrosoft.com 地址的 Office 365/AAD 管理员用户。
创建应用程序时,我看到一条警报,说此应用程序将在我的 AD 租户中创建(可能是 Office 365 管理员帐户,而不是连接的 b2c)
此应用程序将在用于管理您的 *.onmicrosoft.com 帐户的 Azure Active Directory 实例中注册
[截屏)
我想让学校或工作用户对 B2C 实例进行身份验证。但是模拟器给了我一个错误。
由于错误是基于用户无权访问该目录,我决定尝试使用新的管理员帐户重新创建应用程序,该帐户专门在该 b2c 租户目录中创建:
我创建了一个新的 @[tenant].onmicrosoft.com
b2c 管理员用户,并尝试重新创建一个新的 appID/ClientID。我的想法的基础是,当我从我的 Azure+Office365 帐户中使用 Global Admin 时,在 B2C 租户中造成了混乱。
当我在 Azure 门户(与 MSAL 门户相反)中检查应用程序时,我收到此错误
这让我问:
- 创建 MSAL v2 应用程序时应该使用哪个门户?
- 我应该以谁的身份登录(Office365 AAD 管理员、启用 Dirsync 的 AAD 管理员、B2C 管理员、LiveID)
- 我不应该以谁的身份登录?
我的意图是使用 MSAL 库对学校和工作用户进行身份验证。除了 Facebook 和 Google,这取决于登录策略。
MSALv2 应用门户上的 LiveID
为了完成我的组合测试,这是我在使用 LiveID 用户时获得的 MSALv2 门户。(之前的截图来自 AAD 或 B2C 用户)。请注意,部分标题是不同的,可能也暗示了功能上的差异。我想在前面的屏幕截图中确认Converged applications
等于。My Applications