使用 Graph API 更改 Azure AD B2C 用户密码

     2023-03-04     242

关键词:

【中文标题】使用 Graph API 更改 Azure AD B2C 用户密码【英文标题】:Change Azure AD B2C User Password with Graph API 【发布时间】:2018-01-16 13:44:30 【问题描述】:

我正在尝试使用 Sample Graph API 应用程序更改用户的密码,但我得到:

调用图形 API 响应时出错:


  "odata.error": 
    "code": "Authorization_RequestDenied",
    "message": 
      "lang": "en",
      "value": "Insufficient privileges to complete the operation."
    
  

图形 API 请求:

PATCH /mytenant.onmicrosoft.com/users/some-guid?api-version=1.6 HTTP/1.1
client-request-id: ffd564d3-d716-480f-a66c-07b02b0e32ab
date-time-utc: 2017.08.10 03:04 PM

JSON 文件


    "passwordProfile": 
        "password": "Somepassword1$",
        "forceChangePasswordNextLogin": false
    

我已经测试过更新用户的 displayName 并且效果很好。


    "displayName": "Joe Consumer"

AD 应用程序权限

我已经配置了my app permissions as described here.

【问题讨论】:

能否请您发布此错误的相关 ID + 时间戳? 关联ID在哪里? ***.com/questions/45593823/… 我已经添加了。谢谢你的帮助! @DanielDobalian 嘿@DanielDobalian,有什么更新吗?谢谢。 你是如何授权graph api请求的?我的意思是你是怎么得到不记名令牌的? 【参考方案1】:

查看this article。好像有同样的症状。

解决方案 1:

如果您在调用仅包含读取权限的 API 时收到此错误,则必须在 Azure 管理门户中设置权限。

转到 Azure 管理门户并单击 Active Directory。 选择您的自定义 AD 目录。 单击应用程序并选择您的应用程序。 点击配置并向下滚动到“其他应用程序的权限”部分。 为 Windows Azure Active Directory 提供所需的应用程序权限和委派权限。 最后保存更改。

解决方案 2:

如果您在调用包含deletereset password 操作的API 时收到此错误,那是因为这些操作需要Company Administrator 的管理员角色。截至目前,您只能通过Azure AD Powershell module 添加此角色。

    使用 Get-MsolServicePrincipal –AppPrincipalId 查找服务主体

    Get-MsolServicePrincipal | ft DisplayName, AppPrincipalId -AutoSize
    

    使用 Add-MsolRoleMember 将其添加到Company Administrator 角色

    $clientIdApp = 'your-app-id'
    $webApp = Get-MsolServicePrincipal –AppPrincipalId $clientIdApp
    
    Add-MsolRoleMember -RoleName "Company Administrator" -RoleMemberType ServicePrincipal -RoleMemberObjectId $webApp.ObjectId
    

要通过 PowerShell 连接到您的 B2C 租户,您需要一个本地管理员帐户。 This blog post should help ,请参阅“解决方案”部分。

【讨论】:

感谢@Parakh!我认为解决方案 1 适用于旧门户。请确认。我在 portal.azure.com 中没有看到这些选项 nvm,我已经确认,这是针对旧门户的。我已经授予“读写目录数据”的权限,如下所述:docs.microsoft.com/en-us/azure/active-directory-b2c/… 解决方案 2 是解决方法。 一件重要的事情!为了能够看到正确的目录,您需要创建 local Azure B2C 管理员(例如 admin@[tenant].onmicrosoft.com)并使用 Connect-MsolService 和他的 AzureAD 凭据登录PowerShell,否则由于目录不同,您将无法使用Get-MsolServicePrincipal 获取应用程序。请参阅here 中的重要部分。【参考方案2】:

试试下面的设置,对我有用。

使用下面的 JSON

 
  "accountEnabled": true,
  "signInNames": [
    
      "type": "emailAddress",
      "value": "kart.kala1@test.com"
    
  ],
  "creationType": "LocalAccount",
  "displayName": "Joe Consumer",
  "mailNickname": "joec",
  "passwordProfile": 
    "password": "P@$$word!",
    "forceChangePasswordNextLogin": false
  ,
  "passwordPolicies": "DisablePasswordExpiration",
  "givenName": "Joe",

还要确保您为应用程序分配了用户帐户、管理员角色,这将允许它删除用户link here

【讨论】:

您确定可以使用这些设置更改密码吗?您是否尝试使用上面的 json 更新用户? 检查答案中的json

使用 Azure AD、ReactJS 和 NodeJS 验证用户并使用 Graph API

】使用AzureAD、ReactJS和NodeJS验证用户并使用GraphAPI【英文标题】:AuthenticateUsersanduseGraphAPIusingAzureAD,ReactJSandNodeJS【发布时间】:2017-04-1116:03:15【问题描述】:我有一个使用NodeJS+ReactJS创建的项目应用程序,我想要的只是使用AzureAD... 查看详情

Azure Ad Graph API,获取用户信息和用户设备信息

...时间】:2017-02-2015:56:24【问题描述】:我想知道是否可以使用AzureActiveDirectoryGraphApi来检索有关用户和特定用户设备和设备信息的信息?我设法通过以下方式获得了一些信息:https://graph.w 查看详情

在本地测试 Azure 函数以获取 Microsoft Graph API 更改通知

...户)。我的Azure函数解决方案中有2个端点,定时器功能:使用Gr 查看详情

AWS Amplify SPA React + Cognito(已启用 Microsoft Azure Ad Enterprise SSO)+ Microsoft Graph API

...softGraphAPI【发布时间】:2020-01-2911:03:09【问题描述】:我使用React开发单页应用程序,使用A 查看详情

如何使 Azure AD access_token 在 Microsoft Graph API 之外对其签名验证兼容?

...:我创建了一个AzureAD移动和桌面应用程序。现在我正在使用以下API获取我的ac 查看详情

如何以编程方式获取 Azure AD 应用程序的 Graph API 权限指南?

】如何以编程方式获取AzureAD应用程序的GraphAPI权限指南?【英文标题】:HowcanIgettheguidsofGraphAPIpermissionsprogrammaticallyforanAzureADapplication?【发布时间】:2017-06-1605:32:15【问题描述】:我正在尝试向AzureAD应用程序添加所需的权限。我... 查看详情

使用 Azure AD Graph 客户端获取 Active Directory 管理员

】使用AzureADGraph客户端获取ActiveDirectory管理员【英文标题】:GetActiveDirectoryAdministratorsusingAzureADGraphClient【发布时间】:2015-10-1310:32:28【问题描述】:使用AzureActiveDirectoryGraph客户端,我可以使用ff.代码:varactiveDirectoryClient=newActive... 查看详情

Azure AD B2C 与 ASP.NET Web API 发出令牌,用于 Web API 中的身份验证和访问 MS Graph API

...B2C与ASP.NETWebAPI发出令牌,用于WebAPI中的身份验证和访问MSGraphAPI【英文标题】:AzureADB2CwithASP.NETWebAPIissuetokenforbothauthenticationinWebAPIandaccessingMSGraphAPI【发布时间】:2022-01-0611:55:57【问题描述】:我是ASP.NET和AzureADB2C的新手。我的目... 查看详情

具有 Azure AD 身份验证的 Azure 函数 - 允许的令牌受众不适用于 Microsoft Graph

...softGraph【发布时间】:2020-12-0914:01:11【问题描述】:我已使用AzureAD身份验证配置AzureFunction,请遵循此文档-EnableAzure 查看详情

Azure B2C 使用 Graph API 登录

】AzureB2C使用GraphAPI登录【英文标题】:AzureB2CsigninusingGraphAPI【发布时间】:2019-03-0521:13:34【问题描述】:我是Azure的新手,我正在开发一个WebApi应用程序,它可以创建/删除/更新和验证AzureADB2C租户上的用户,使用图API。我坚持使... 查看详情

如何通过 Graph API 将用户添加到租户?

...GraphAPI?【发布时间】:2016-06-1418:28:34【问题描述】:我已使用合作伙伴中心RESTAPI为租户提供订单/订阅。现在我想开始为刚刚创建的租户配置域和用户。我的第一步是获取使用GraphAPIhttps://msdn.microsoft.com/en-us/library/azure/ad/graph 查看详情

Azure AD B2C 图形 API 401 未经授权

】AzureADB2C图形API401未经授权【英文标题】:AzureADB2CGraphAPI401Unauthorized【发布时间】:2020-04-1014:32:27【问题描述】:我正在尝试调用AzureADGraphAPIRESTAPI来获取当前登录的用户信息。但是,对https://graph.windows.net/me?api-version=1.6的HTTPGET... 查看详情

使用 Azure AD 的 Azure API APP 身份验证

】使用AzureAD的AzureAPIAPP身份验证【英文标题】:AzureAPIAPPauthenticationusingAzureAD【发布时间】:2016-04-0704:56:21【问题描述】:对于Azure中Web/Api应用的设置刀片上的身份验证/授权设置,我有点困惑。如果我通过门户启用AzureAD身份验证... 查看详情

Azure AD Graph 调用用户创建失败并出现一些模糊的错误

】AzureADGraph调用用户创建失败并出现一些模糊的错误【英文标题】:AzureADGraphcallforUsercreationfailingwithsomeobscureerror【发布时间】:2015-11-2716:37:33【问题描述】:有人告诉我在这里提出关于AzureADGraphApi的问题,而不是作为相应GitHub... 查看详情

使用 Azure AD 承载令牌时身份验证失败,返回容器列表 [Azure Blob] [Azure AD OAuth 2.0] [REST API]

】使用AzureAD承载令牌时身份验证失败,返回容器列表[AzureBlob][AzureADOAuth2.0][RESTAPI]【英文标题】:AuthenticationFailedwhileusingAzureADBearerToken,toreturnlistofcontainers[AzureBlob][AzureADOAuth2.0][RESTAPI]【发布时间】:2021-06-0320:19:51【问题描述】:... 查看详情

Azure AD Graph:此平台不支持安全二进制序列化

】AzureADGraph:此平台不支持安全二进制序列化【英文标题】:AzureADGraph:Securebinaryserializationisnotsupportedonthisplatform【发布时间】:2019-04-1202:06:10【问题描述】:我们在.NETCore2.1上运行,有时在运行以下查询时会收到异常“此平台不... 查看详情

Microsoft Graph API - Blazor Server App .NET 5.0 使用 Azure 身份验证,MsalUiRequiredException 因用户质询而引发

】MicrosoftGraphAPI-BlazorServerApp.NET5.0使用Azure身份验证,MsalUiRequiredException因用户质询而引发【英文标题】:MicrosoftGraphAPI-BlazorServerApp.NET5.0usingAzureAuthentication,MsalUiRequiredExceptionwasthrownduetoachallengefortheuser【发布时间】: 查看详情

使用 Azure AD 和本地帐户保护 API

】使用AzureAD和本地帐户保护API【英文标题】:SecuringAPIwithAzureADandlocalaccounts【发布时间】:2020-08-1907:34:04【问题描述】:我想保护我的API,以便只有在AzureAD中进行身份验证并在我的应用程序中拥有本地帐户的用户才能调用它。... 查看详情