问题标签 [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.
windows-8 - 通过注册表或 COM 以编程方式断开 Microsoft 帐户与本地用户帐户的连接?
由于 Windows 8 (?) 设置新用户帐户的默认方法是将 Microsoft 帐户附加到本地帐户。
我想以编程方式将该 Microsoft 帐户与本地用户帐户断开连接(不会丢失设置/数据),最终得到一个传统的干净本地帐户。
我无法访问 WinAPI 函数或 DLL,但我可以使用 COM API 访问注册表。
所以我基本上只是在寻找一个我必须删除的注册表项列表,或者可能是一个允许我这样做的 COM 对象方法。
知道我怎么能做到这一点吗?
我将为此使用的编程语言无关紧要,但因为无论如何你都会要求它......它是 JScript。
windows - 获取 NetWkstaUserEnum API 在 Windows 8 及更高版本上返回的给定 Microsoft 帐户的本地登录名
我NetWkstaUserEnum()
用来获取本地用户名及其域详细信息。
在 Windows 7 之前,它曾经只返回登录名并且工作正常。从 Windows 8 开始,添加了 Microsoft 帐户,对于这种类型的帐户,API 开始返回 Microsoft 帐户名称,而不是本地登录名。
例如,它返回username@outlook.com
而不是usern_0000
实际的 Windows 本地登录名。
我不能使用NetUserEnum()
,因为它不返回用户的域名。
因此,我需要获取NetWkstaUserEnum()
API 返回的给定 Microsoft 帐户的本地登录名。
任何帮助将不胜感激。
c++ - Windows Universal - 如何检查用户是否已登录 Microsoft 帐户?
是否有一种公认的方式来判断用户是否使用 Microsoft 帐户而不是本地帐户登录到 Windows 通用应用程序?
我正在尝试实现应用内购买,如果从本地帐户调用CurrentApp::GetUnfulfilledConsumables(),我遇到了障碍。引发异常并显示消息“特定帐户不存在”。
网络上的一些人正在使用 Live SDK 尝试初始化用户的凭据,这对于非 Microsoft 帐户将失败。通过这种方式,他们有一种迂回的方式来确定用户是否已登录。(https://social.msdn.microsoft.com/Forums/en-US/f6946851-b495-45f6-95a4-eb3c2a004c0e/live- sdk-v53-how-to-tell-the-difference-between-a-user-logged-in-with-a-microsoft-account-and?forum=messengerconnect )
但我想知道是否有一种更好、更简洁的方法来检测用户是登录到 Microsoft 帐户还是本地帐户,而无需仅为一个函数调用集成整个 SDK。
谢谢你的帮助。
c# - 如何确定电子邮件地址是 Microsoft“工作或学校”帐户还是 Microsoft 帐户
我想在 Azure 多租户环境中对 Microsoft 帐户和“工作或学校”帐户进行身份验证。每种身份验证类型需要不同的请求。如果我尝试针对“工作或学校”请求以 Microsoft 帐户登录,则登录将在 Microsoft 登录时失败,并且不会返回到我的应用程序。
有没有办法查询给定的电子邮件地址是否是针对 Microsoft 图形 API 的“工作或学校”帐户?
windows-store-apps - WebTokenRequestResult 中的用户名为空
在 Windows 10 UWP 中,我尝试使用 WebAuthenticationCoreManager.RequestTokenAsync 从使用 Microsoft 帐户的登录中获取结果。我得到一个成功的 WebTokenRequestResult。ResponseData[0] 包含一个带有 ID 的 WebAccount - 但 UserName 为空。调用的范围是 wl.basic - 所以我应该得到很多信息......我不知道如何检索额外的信息 - 对于当前的测试,用户名就可以了。
我检查了通用样本——在那里我找到了一个片段,它试图做我正在尝试的事情——webTokenRequestResult.ResponseData[0].WebAccount.UserName 的输出。
顺便说一句 - 示例输出也是空的。
这是一个错误 - 还是我(以及示例中的 MS)必须做什么才能获取用户个人资料数据(或至少是用户名)?
windows-8 - 重新安装 IDE 后全新安装的 Visual Studio 2015 完全改变
我使用的是 Windows 10。我已经安装了好几次 VB 2015。由于某种原因,我的白色背景设计被修改为黑色,intellisense 不适用于 CSS 和 Javascript,Visual Studio 甚至无法将它们识别为语言,并且我的工具菜单被截断,例如扩展和更新菜单项根本没有出现. 奇怪的是,安装后一切正常,当我关闭 IDE 并重新打开它时,我提到的问题开始让人头疼。我附上了几张图片来说明这个问题。
语言问题说明
扩展和更新说明
没有智能感知的代码(痛苦)
仅供参考:我首先使用我丈夫的 Microsoft 帐户安装了 Visual Studio 2015,他拥有 Windows 8,但是当我看到问题时我为自己创建了一个,我现在正在使用它。也许他的设置与我的IDE同步,我不知道。我不知道如何解决这个问题,这个问题持续了好几天。我如何确保我的安装设置保持原样,语言保持识别,扩展和更新保持在工具菜单中?
azure - 工作帐户和微软帐户之间的混淆
我正在使用我的工作电子邮件地址来设置多个 Azure IaaS 环境。当我登录 Azure 时,系统会询问我是要使用“工作或学校帐户”还是“个人帐户”——两者都指的是同一个电子邮件地址。
我不记得在个人帐户方面设置任何东西,或将我的工作电子邮件链接为 Microsoft Outlook.com/Hotmail/etc 帐户。
订阅的访问权限已应用于我的个人帐户,而不是工作帐户。
授予访问权限时,无法选择要授予访问权限的权限。
几个问题
- 我创建了一些虚拟机,但希望将它们链接到我的工作帐户。我可以改变这个吗?
- 如何取消我的工作电子邮件与个人的链接。我想把工作只用于工作,不要把两者混为一谈。
有关更多信息,请参阅此屏幕截图:
asp.net-mvc - 带有 ASP.NET WebApi 2 的移动应用程序的 Microsoft Graph 外部身份验证
我正在创建一个移动应用程序(Xamarin + MvvmCross),它访问我的服务Web API 2 + Owin并试图支持外部登录。对于以下内容,假设我已经使用外部身份验证注册了用户,并且只想从移动应用程序登录用户。
目前,我的 Facebook 登录主要在 AngularJS 应用程序中使用 Facebook 和 Google 的 ASP.NET Web API 2 外部登录之后工作,但是经过几个小时后,我无法弄清楚如何为 Microsoft 登录实施相同的策略,因为我不能找到一种方法来验证 Microsoft 访问令牌。
我的理解是,为了调用我自己的 API(例如,获取我的用户数据和对象),我需要先执行以下操作,将外部访问令牌交换为我自己的服务中的本地访问令牌:
- 与外部提供商进行身份验证(在移动应用程序中)
- 将提供者访问令牌发送到我的服务器(Web Api 2)
- 使用提供者验证访问令牌以确定用户是否合法 - 在接收ProviderKey的过程中(Facebook 和 google 中的 userId)
- 使用步骤 3中的Provider Name和UserId在本地登录用户
- 为当前登录的用户生成本地访问令牌。
Facebook 目前在网络和移动应用程序上完成上面列出的整个过程。使用 Microsoft,我可以在移动应用程序上进行身份验证并获取 Microsoft 访问令牌,但是,我被困在第 3 步,验证服务器上的访问令牌以接收可用于识别应用程序中已注册用户的任何有用信息。
为了识别正确的用户,我需要 AspNetUserLogins 表中的Login Provider 和 ProviderKey。
收到 Microsoft 访问令牌后,如何验证令牌并检查匹配的提供程序名称和提供程序密钥?
这是外部身份验证的通用/标准方法吗?如果是这样的话,我认为会有更多关于它的信息。非常感谢所有和任何帮助。
额外信息
我还尝试使用新的 Microsoft Graph Api(统一的 office365)支持普通的 Microsoft 帐户和工作/学校帐户。因此,根据 Microsoft/组织帐户,似乎有不同的提供程序密钥,例如https://login.microsoftonline.com/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/v2.0
代码示例
第 3 步 - 验证外部访问令牌以获取用户登录信息
第 4 步 - 获取本地访问令牌
谢谢
更新
我已经尝试实现这两个@dstrockis 选项,但效果有限。在这两个选项上,我仍然无法弄清楚使用什么来匹配ProviderKey
在对 GET User 进行图形 Api 调用时,没有任何值与存储的 ProviderKey 匹配,例如 Facebook 和 Google 中使用的 userId。Microsoft ProviderKey 值如下所示:AAAAAAAAAAAAAAAAAAAAAAAADWmHuzvvAQpO*******9PM。
我还设法按照建议使用 JWT 验证库来验证访问令牌。查看声明,我现在可以识别正确的LoginProvider(良好的开始),但我仍然找不到任何与 ProviderKey 中存储的值匹配的值。
该值必须与用户有关,但不直接匹配任何内容。有谁知道 ProviderKey 来自 Microsoft OpenIdAuthentication 的来源。它是从另一个值加密的吗?
验证 JWT 令牌
身份验证提供程序 - Startup.Auth
sql-server - SQL Srv 2016:用户“MicrosoftAccount\...”登录失败
我有安装了 SQL Server 2016 Dev 的 Windows 10 Pro 机器。机器上有两个本地用户帐户:[WORK\admin] 和 [WORK\erop]。[WORK\erop] 帐户最初是在未连接到 Microsoft 的情况下创建的。但后来我将它连接到我的 MS 帐户。安装 SQL Srv 时将 [WORK\erop] 帐户添加到 sysadmin 角色。
现在我尝试使用 SSMS 作为 [WORK\erop] 连接到 SQL Srv 实例,但收到:
Login failed for user 'MicrosoftAccount\<my_MS_account>'. Reason: Could not find a login matching the name provided. [CLIENT: <local machine>]
Error: 18456, Severity: 14, State: 5.
这意味着“无效的用户标识”
。
我猜 SSMS 是在 MS 帐户下启动的,并且由于 MS 帐户没有登录 SQL Srv 实例,因此它拒绝连接。
我执行了
一切都很好。但我想知道有没有更聪明的方法可以将 MS_account 映射到在 SQL Srv 实例上登录的本地用户?