Hi
Which version to use?
I used when 9.0.0 to create an empty template, but no Account External Provider
The template has confirmed that SSO is enabled
context.Services.AddAuthentication()
.AddGoogle(GoogleDefaults.AuthenticationScheme, options =>
{
options.ClaimActions.MapJsonKey(AbpClaimTypes.Picture, "picture");
})
.WithDynamicOptions<GoogleOptions, GoogleHandler>(
GoogleDefaults.AuthenticationScheme,
options =>
{
options.WithProperty(x => x.ClientId);
options.WithProperty(x => x.ClientSecret, isSecret: true);
}
)
.AddMicrosoftAccount(MicrosoftAccountDefaults.AuthenticationScheme, options =>
{
//Personal Microsoft accounts as an example.
options.AuthorizationEndpoint = "https://login.microsoftonline.com/consumers/oauth2/v2.0/authorize";
options.TokenEndpoint = "https://login.microsoftonline.com/consumers/oauth2/v2.0/token";
options.ClaimActions.MapCustomJson("picture", _ => "https://graph.microsoft.com/v1.0/me/photo/$value");
options.SaveTokens = true;
})
.WithDynamicOptions<MicrosoftAccountOptions, MicrosoftAccountHandler>(
MicrosoftAccountDefaults.AuthenticationScheme,
options =>
{
////options.WithProperty(x => x.ClientId);
options.WithProperty(x => x.ClientSecret, isSecret: true);
}
)
.AddTwitter(TwitterDefaults.AuthenticationScheme, options =>
{
options.ClaimActions.MapJsonKey(AbpClaimTypes.Picture, "profile_image_url_https");
options.RetrieveUserDetails = true;
})
.WithDynamicOptions<TwitterOptions, TwitterHandler>(
TwitterDefaults.AuthenticationScheme,
options =>
{
options.WithProperty(x => x.ConsumerKey);
options.WithProperty(x => x.ConsumerSecret, isSecret: true);
}
);
It's not just the frame itself
For example, https://account.abp.io/, I want to log in through Google or Twitter and bind my own account, but the account name already exists.
I also want to unbind the associated SSO account and re-bind it
This feature helps to increase the functionality of the website
Although I can implement it myself, if the framework itself implements it, I don't have to maintain it myself
Hope the abp team can pay attention to it
Thanks
Does it mean that we need to add @ctrl/tinycolor to package.json in future versions
Has the issue been fixed?
hi Please advise the last version number that is no longer maintained If the latest is not available, I will give up updating the module
abp get-source Volo.Abp.IdentityServer.Pro throw exception
[14:35:06 ERR] Downloading source code failed for: Volo.Abp.IdentityServer.Pro
Volo.Abp.Studio.AbpStudioException: Exception of type 'Volo.Abp.Studio.AbpStudioException' was thrown.
at async Task Volo.Abp.Studio.Modules.Installing.SourceCodeDownloader.DownloadSourceCodeAsync(string moduleName, string targetFolder, string version, bool includeNightly)
at async Task Volo.Abp.Studio.Cli.Commands.StudioGetSourceCommand.ExecuteAsync(CommandLineArgs commandLineArgs)
at async Task Volo.Abp.Studio.Cli.StudioCliService.RunInternalAsync(CommandLineArgs commandLineArgs)
at async Task Volo.Abp.Studio.Cli.StudioCliService.RunAsync(string[] args)
This did not meet expectations. Maybe my problem is this is a new requirement. If a user login into their current account, they want to be able to provide an entry point to bind to an external provider
For example, in the system, there is a user@admin.com, which needs to be bound to a microsoft account. not register account
only register a new user name and cannot bind an existing user name
I think CurrentPrincipalAccessorBase
increase async
can be solved, like this
protected abstract Task<ClaimsPrincipal> GetClaimsPrincipal();
Delete MauiCurrentPrincipalAccessor
GetClaimsPrincipal
method returns read SecureStorage
code, it works