我创建了一个用户可以基于Azure Active Directory
登录的UI。实施起来非常容易。
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
的{{1}}用户中。我过去曾经这样做过,但是我不会更改Azure B2C
中的任何内容,因为森林非常大且非常复杂。如果我想从用户中删除任何自定义数据,则该数据在林中的复制存在一些问题。
然后,我的想法是将Active Directory
与Azure Active Directory
集成在一起。在IdentityServer4
中,我可以轻松添加/删除声明并管理用户。在用户界面中,我现在可以看到一个新按钮,用于使用IdentityServer4
进行外部登录。
我希望AzureAD
中的ExternalLoginCallback
在成功登录后会创建一个新用户。问题是
AccountController
均为var result = await HttpContext.AuthenticateAsync(
IdentityServerConstants.ExternalCookieAuthenticationScheme);
var info = await _signInManager.GetExternalLoginInfoAsync();
。我环顾四周,但找不到解决方案。