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.
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 theadmin
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 theuser
provider as well, the token will be created with theuser
provider.This is achieved by adding a new
provider
field to thecreateToken
method in theTokenFactory
class, which allows specifying the provider for the token. Additionally, theAuthCode
andRefreshToken
models now have aprovider
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.