laravel / passport

Laravel Passport provides OAuth2 server support to Laravel.
https://laravel.com/docs/passport
MIT License
3.29k stars 780 forks source link

[11.x] Fix the multiple authorization providers in Laravel Passport #1656

Closed michaelnabil230 closed 1 year ago

michaelnabil230 commented 1 year ago

This PR adds support for multiple authorization providers in Laravel Passport. Currently, when a user logs in with the admin provider, the token is created with the admin provider as well, even if the user has access to other providers.

With this PR, users can now log in with any provider they have access to, and the token will be created with the corresponding provider. For example, if a user login with the admin provider but has access to the user provider as well, the token will be created with the user provider.

This is achieved by adding a new provider field to the createToken method in the TokenFactory class, which allows specifying the provider for the token. Additionally, the AuthCode and RefreshToken models now have a provider field to store the provider associated with the token.

Overall, this PR improves the flexibility and usability of Laravel Passport for applications with multiple authorization providers.

It complements the idea of (https://github.com/laravel/passport/pull/1655)

I think we need to display an error exception if the auth provider is not available in the config file.

taylorotwell commented 1 year ago

I honestly can't handle anymore Passport customization PRs right now. I need a break from it. Feel free to fork Passport to meet your needs.