The package jhaoda/socialite-mailru supports only legacy mailru OAuth2 based on connect.mail.ru authentification.
This package works with actual mailru OAuth2 based on oauth.mail.ru.
This package does not support additional mailru security feature "state". Package uses adhoc solution to pass mailru validation.
See details here https://oauth.mail.ru/app/
composer require covobo/socialite-mailru
- Remove
Laravel\Socialite\SocialiteServiceProvider
from yourproviders[]
array inconfig\app.php
if you have added it already. - Add
SocialiteProviders\Manager\ServiceProvider
to yourproviders[]
array inconfig\app.php
.
For example:
'providers' => [
// a whole bunch of providers
// remove 'Laravel\Socialite\SocialiteServiceProvider',
SocialiteProviders\Manager\ServiceProvider::class, // add
];
- Note: If you would like to use the Socialite Facade, you need to install it.
-
Add
SocialiteProviders\Manager\SocialiteWasCalled::class
event to yourlisten[]
array in<app_name>/Providers/EventServiceProvider
. -
Add your listeners (i.e. the ones from the providers) to the
SocialiteProviders\Manager\SocialiteWasCalled[]
that you just created. -
The listener that you add for this provider is
Covobo\SocialiteProviders\MailRu\MailRuExtendSocialite::class
. -
Note: You do not need to add anything for the built-in socialite providers unless you override them with your own providers.
For example:
/**
* The event handler mappings for the application.
*
* @var array
*/
protected $listen = [
SocialiteProviders\Manager\SocialiteWasCalled::class => [
Covobo\SocialiteProviders\MailRu\MailRuExtendSocialite::class
],
];
Add to config/services.php
:
'mailru' => [
'client_id' => env('MAILRU_CLIENT_ID'),
'client_secret' => env('MAILRU_CLIENT_SECRET'),
'redirect' => env('MAILRU_REDIRECT'),
],
Append provider values to your .env
file:
// other values above
MAILRU_CLIENT_ID=application_id
MAILRU_CLIENT_SECRET=application_secret
MAILRU_REDIRECT=https://yoursite.com/callback