- ABP Framework version: v4.2.2
- UI type: Angular
- DB provider: EF Core
- Tiered (MVC) or Identity Server Separated (Angular): yes
- Exception message and stack trace:
- Steps to reproduce the issue:"
hi Team, Please confirm if identity server supports apple as external auth provider. If yes, how i can enable it. Please share nuget package reference to add (if any) and code changes to be done.
6 Answer(s)
-
0
https://docs.abp.io/en/commercial/latest/modules/account#social-external-logins
The application startup template comes with Twitter, Google and Microsoft logins pre-installed.
This question does not appear to be related to ABP.
Here is a quote from Microsoft's article about external providers:
Facebook, Twitter, Google, and Microsoft providers are covered in the following sections and use the starter project created in this article. Other providers are available in third-party packages such as AspNet.Security.OAuth.Providers and AspNet.Security.OpenId.Providers.
AspNet.Security.OAuth.Providers package supports Apple provider and I think you can use it easily.
For instance:
services.AddAuthentication(options => { /* Authentication options */ }) .AddApple(options => { .... });
For more information see here.
-
0
Hello @berkansasmaz, Thanks a lot for your help. it helped me but now i stuck again. Please help me.
We are building SaaS based product and apple provider details will change for each tenant. So i am using the ABP way of configuring the external provider. Below changes i have done in "Identity server --> module" class. Now i have 2 question:
1- is the below implementation correct as per ABP syntex
.AddApple(AppleAuthenticationDefaults.AuthenticationScheme, _ => { }) .WithDynamicOptions<AppleAuthenticationOptions, AppleAuthenticationHandler>(AppleAuthenticationDefaults.AuthenticationScheme, options => { options.WithProperty(x => x.ClientId); options.WithProperty(x => x.KeyId); options.WithProperty(x => x.TeamId); options.WithProperty(x => x.UsePrivateKey((keyId) => provider.GetFileInfo($"AuthKey_{keyId}.p8")));
}) 2- in UsePrivateKey can i assign byte string directly -
0
hi
The UsePrivateKey need to be
Secret
.WithProperty(x => x.UsePrivateKey, isSecret: true);
2- in UsePrivateKey can i assign byte string directly
If this value is constant you don't need to call
WithProperty
for it. See https://docs.abp.io/en/commercial/latest/modules/account#social-external-logins -
0
-
0
-
0
hi
UsePrivateKey
is a method, not property.WithProperty
only works for string properties.You can override this service to use different
AppleClientSecret
for different tenants.https://github.com/aspnet-contrib/AspNet.Security.OAuth.Providers/blob/990f1bbfdbe1716e1c2bb03722b67b9a24225c4a/src/AspNet.Security.OAuth.Apple/Internal/DefaultAppleClientSecretGenerator.cs#L15