如何根据电子邮件地址检查用户是否存在于B2C租户中



我使用这个get请求来检查用户是否存在于我的b2c租户中:

var url="https://graph.microsoft.com/v1.0/users?$filter=signInNames/any(x:x/value eq 'test@auxi.com')&api-version=1.6";
final response = await client.get(url,headers:{ 'Authorization': 'Bearer $token'});

该令牌是从SignIn流检索到的B2C令牌;Directory.ReadWrite.All";我的应用程序中Microsoft Graph API的权限。

基于这个答案:https://stackoverflow.com/a/52289249/9576638

然而,当我执行查询时,我得到了这个响应:

"error": {
"code": "InvalidAuthenticationToken",
"message": "Access token validation failure.",
"innerError": {
"date": "2020-11-29T18:47:03",
"request-id": "86cb2fe9-37b4-4060-8953-90748d6475aa",
"client-request-id": "86cb2fe9-37b4-4060-8953-90748d6475aa"
}
}

我的目的是检查用户的电子邮件是否在b2c租户中。。任何帮助都将不胜感激。

是否为Microsoft Graph分配了应用程序委派权限或应用程序权限?

如果是Delegated(作为用户(,则在连接到服务器之前,您需要在客户端应用程序中请求Graph作用域(例如,从JavaScript(。

如果具有应用程序权限,则需要使用中所述的客户端凭据流https://learn.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-client-creds-grant-flow#get-a-token以获取新的令牌,将Microsoft Graph指定为作用域和客户端机密。

相关内容

最新更新