Satellizer is a simple to use, end-to-end, token-based authentication module for AngularJS with built-in support for Google, Facebook, LinkedIn, Twitter, Yahoo, Windows Live authentication providers, as well as Email and Password sign-in. You are not limited to the sign-in options above, in fact you can add any OAuth 1.0 or OAuth 2.0 provider by passing provider-specific information during the configuration step.
The preferred way to install this extension is through composer.
Either run
composer require "wfcreations/yii2-satellizer-server:*"
or add
"wfcreations/yii2-satellizer-server": "*",
to the require
section of your composer.json
file.
To use this extension, simply add the following code in your application configuration:
'components' => [
'satellizer' => [
'class' => \wfcreations\satellizer\Satellizer::className(),
'identityClass' => \common\models\ar\Advertiser::className(),
'tokenLifetime' => 2 * 7 * 24 * 60 * 60,
'jwtKey' => 'jwtsecret',
'facebook' => [
'clientSecret' => 'facebookscecret',
],
],
// ...
]
In your auth controller
use yii\rest\Controller;
class AuthController extends Controller {
public function actions() {
return [
'facebook' => [
'class' => 'wfcreations\satellizer\actions\FacebookAction',
],
];
}
protected function verbs() {
return [
'facebook' => ['post', 'options'],
];
}
// ...
}
In others controllers that require authenticated user, just configure authenticator in behaviors:
'authenticator' => [
'class' => HttpBearerAuth::className(),
],
If you want get authenticated user:
Yii::$app->user->identity
- Foursquare
- Github
- Via email and password
For more information about yii2 api see Guide rest - Quick-start and yii2-app-api.