C# 与IdentityServer4和Azure Active Directory集成
我已经创建了一个用户界面,人们可以基于C# 与IdentityServer4和Azure Active Directory集成,c#,azure-active-directory,identityserver4,C#,Azure Active Directory,Identityserver4,我已经创建了一个用户界面,人们可以基于Azure Active Directory登录。实现这一点相当容易 public void ConfigureServices(IServiceCollection services) { services.AddAuthentication(AzureADDefaults.AuthenticationScheme) .AddAzureAD(options => { options.In
Azure Active Directory
登录。实现这一点相当容易
public void ConfigureServices(IServiceCollection services)
{
services.AddAuthentication(AzureADDefaults.AuthenticationScheme)
.AddAzureAD(options => {
options.Instance = "https://login.microsoftonline.com/";
options.Domain = "mydomain.onmicrosoft.com";
options.TenantId = "cc083aa1-XXXX-1bde2c10XXXX";
options.ClientId = "64a41b3a-XXXX-32e38f03XXXX";
options.CallbackPath = "/signin-oidc";
});
}
我正在使用这个Nuget包Microsoft.AspNetCore.Authentication.AzureAD.UI
。一切正常
现在我想向用户添加角色或自定义数据。我应该使用Microsoft Graph
为Azure B2C
将它们添加到用户中。我以前也这样做过,但我不想在Active Directory中更改任何内容,因为林非常广泛且非常复杂。如果要从用户中删除任何自定义数据,则在跨林复制该数据时会出现一些问题
然后,我的想法是将Azure Active Directory
与IdentityServer 4
集成。在IdentityServer4
中,我可以轻松添加\删除声明并管理用户。在UI中,我现在可以看到一个新的按钮,用于使用AzureAD
进行外部登录
我希望AccountController
中的ExternalLoginCallback
在成功登录后创建一个新用户。问题是
var result = await HttpContext.AuthenticateAsync(
IdentityServerConstants.ExternalCookieAuthenticationScheme);
var info = await _signInManager.GetExternalLoginInfoAsync();
都是null
。我环顾了四周,但我找不到解决办法