gpt4 book ai didi

asp.net-core-mvc - 如何在asp net core mvc应用程序中从我的Azure AD B2C获取用户列表?

转载 作者:行者123 更新时间:2023-12-04 12:06:01 31 4
gpt4 key购买 nike

如何在asp net core mvc应用程序中从我的Azure AD B2C获取用户列表?

最佳答案

您可以使用 Azure Graph API 来获取所有用户。在 .net 核心控制台应用程序中尝试以下代码:

using Newtonsoft.Json;
using System;
using System.Net.Http;
using System.Text;

namespace ConsoleApp6
{
class Program
{
static void Main(string[] args)
{

var tenantID = "<your tenant ID>";
var clinetID = "<your app id>";
var client_secret = "<your app password>";

HttpClient client = new HttpClient();

//get access token from Azure AD
var reqContent = @"grant_type=client_credentials&resource=https://graph.microsoft.com&client_id="+ clinetID + "&client_secret="+ System.Web.HttpUtility.UrlEncode(client_secret);
var Content = new StringContent(reqContent, Encoding.UTF8, "application/x-www-form-urlencoded");
var response = client.PostAsync("https://login.microsoftonline.com/"+ tenantID + "/oauth2/token", Content).Result;
var token = JsonConvert.DeserializeObject<TokenResult>(response.Content.ReadAsStringAsync().Result);

//Use access token to call microsoft graph api
client.DefaultRequestHeaders.Add("Authorization", "Bearer " + token.access_token);
Console.WriteLine(client.GetAsync("https://graph.microsoft.com/v1.0/users").Result.Content.ReadAsStringAsync().Result);

Console.ReadKey();

}
}

class TokenResult
{
public string token_type { get; set; }
public string expires_in { get; set; }
public string ext_expires_in { get; set; }
public string expires_on { get; set; }
public string not_before { get; set; }
public string resource { get; set; }
public string access_token { get; set; }
}

}
要运行此代码,您应该在 B2C 租户中注册一个应用程序并授予读取用户权限:
Azure 事件目录 => 应用注册(旧版) => 新申请注册 :
enter image description here
记下 app id 并为您的 app 创建密码并记下:
enter image description here
替换 clinetID 的值使用 app id 并替换 client_secret 的值密码在这里。
授予读取用户对您的应用程序的权限:
enter image description here
为您的应用选择权限后,单击“授予权限”按钮。
如果您有任何进一步的疑虑,请随时告诉我。

关于asp.net-core-mvc - 如何在asp net core mvc应用程序中从我的Azure AD B2C获取用户列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58903001/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com