Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New auth Provider 'Apple SignIn' #20

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

Lith
Copy link

@Lith Lith commented Sep 21, 2020

This RFC refer to strapi/strapi#6586

RFC Preview link

Update
I've begin a draft article about how to implement Apple Sign In right now on Strapi
All feedback are welcome, I will update RFC informations and the PR about Apple SignIn soon.

@alexandrebodin
Copy link
Member

Thanks for this RFC ! Correct me If I'm wrong but from what I understand the only specific change is to add a POST route for the callback is that right ?

`Purest` has not been update since 4 years, many new providers are not available (like `discord` actually).
It's a sample config for Apple than want receive a Bearer access token.

Maybe it will be necessary to implement other library than `Purest`.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Eventually we do plan to move the Users & Permissions plugin to passport.js and split all auth providers into some kind of strapi-provider-auth-google package (similar to upload and email). But right now there is no ETA unless @alexandrebodin has something to add.

I would imagine we would likely do this around the same time we develop the API key feature (which will be the default and Users & Permissions will be optional)

@Lith
Copy link
Author

Lith commented Oct 1, 2020

Thanks for this RFC ! Correct me If I'm wrong but from what I understand the only specific change is to add a POST route for the callback is that right ?

With this implementation, yes, it's the "main" change, and we need to add a generateToken method with a variable that read the private key file.
I've overload configuration this week for my website, I will send you an update with all changes.

My 2nd solution, implemented successfully on my website, send the redirect_uri to my client website, and the client (with access_token) send a GET request to Strapi, because, when you send a POST request, we loss the response body (Grant redirect) and we can not send it to the next method. Not sure if I'm clear about it...

I will try to make a drawing to explain different solution of implementation.

Also, I agree with @derrickmehaffy, maybe it will be interesting to have this as a plugin like email or upload.

Thanks,

@derrickmehaffy
Copy link
Member

Also, I agree with @derrickmehaffy, maybe it will be interesting to have this as a plugin like email or upload.

One of those things we would love to do but lack the time at the moment, it requires a massive refactor to users-permissions and the scheduling of that is left entirely up to @sam-pires / @JabStrapi and the engineering teams.

@glenselle
Copy link

Is there anything left that needs to be done here that others could help with to get this added? @Lith were there changes you had locally you were planning to push?

@christophemacabiau
Copy link

christophemacabiau commented Dec 17, 2020

Thanks @Lith for your work on this issue

@derrickmehaffy
Copy link
Member

Related article by @Lith (thank you ❤️ )

https://medium.com/@vanessa.pasque/implement-apple-sign-in-with-strapi-a9f0ff4b6417

@strapi-cla
Copy link

strapi-cla commented Jan 21, 2021

CLA assistant check
All committers have signed the CLA.

@mriabokliach
Copy link

@derrickmehaffy
Derrick, is there any news regarding this topic? The RFC is still open after such a long time.
Unfortunately, Vanessa's tutorial on Medium isn't applicable anymore for V4. And looks like that was the only implementation that Google knows about...

@derrickmehaffy
Copy link
Member

@derrickmehaffy
Derrick, is there any news regarding this topic? The RFC is still open after such a long time.
Unfortunately, Vanessa's tutorial on Medium isn't applicable anymore for V4. And looks like that was the only implementation that Google knows about...

Currently no as it requires us to purchase a dev license to properly test. A user in our discord was able to add apple login to users-permissions the other day.

@kkiermasz
Copy link

@derrickmehaffy I'd love to see AppleID sign-in method in strapi. Do not hesitate to reach me via email. I'll be happy to help (e.g. can create an app for testing purposes)

@derrickmehaffy
Copy link
Member

@derrickmehaffy I'd love to see AppleID sign-in method in strapi. Do not hesitate to reach me via email. I'll be happy to help (e.g. can create an app for testing purposes)

As mentioned before, this isn't something we will likely implement as it requires us to purchase and maintain a license from Apple to do so, this is why we don't implement several other providers. Eventually we want to move the auth providers to their own packages much like we do with upload and email so that a community member can maintain an Apple one.

@EloB
Copy link

EloB commented Jan 23, 2023

I've created a PR for this one. Please have a look at it :)

strapi/strapi#15522

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants