2017 © Pedro Peláez
 

yii2-extension yii2-oauth2-server

Wrapper for filsh yii2-oauth2-server provide authorize, token, user controller

image

macfly/yii2-oauth2-server

Wrapper for filsh yii2-oauth2-server provide authorize, token, user controller

  • Friday, November 17, 2017
  • by Macfly
  • Repository
  • 1 Watchers
  • 5 Stars
  • 382 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 2 Forks
  • 1 Open issues
  • 13 Versions
  • 11 % Grown

The README.md

yii2-oauth2-server

A wrapper for Filsh/yii2-oauth2server which implement an OAuth2 Server, (*1)

Add missing code that make it easy to use with social network aware user module like the one from dektrium/yii2-user, you can use the macfly/yii2-authclient-oauth2 which work with it out off the box., (*2)

Add controller:, (*3)

  • Authorize
  • Token
  • User (Provide user information id, username, e-mail, ...)

/!\ with version 2.0.13 of the Yii framework there is an issue with Filsh/yii2-oauth2server, you can fix it by updated your composer.json with the following, (*4)

    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/Marty-Macfly/yii2-oauth2-server-1"
        }
    ],

...

    "require": {

...

        "filsh/yii2-oauth2-server": "2.0.2.x-dev",

...

    },

...

Installation

The preferred way to install this extension is through composer., (*5)

Either run, (*6)

php composer.phar require --prefer-dist macfly/yii2-oauth2-server "*"

or add, (*7)

"macfly/yii2-oauth2-server": "*"

to the require section of your composer.json., (*8)

To use this extension, simply add the following code in your application configuration as a new module:, (*9)

'modules'=>[
    //other modules .....
    'oauth2' => [
        'class' => 'macfly\oauth2server\Module',
        'tokenParamName' => 'accessToken',
        'tokenAccessLifetime' => 3600 * 24, // Default token lifetime
        'userModel' => 'app\models\User',
        'userAttributes' => [ // List of user attributes you want to provide through the /oauth2/user api call
            'id',
            'username',
            'email',
        ],
    ]
    // yii2-oauth2-server is using the kartik\datecontrol\Module so you should define the configuration of the module
    // See more details at http://demos.krajee.com/datecontrol
    'datecontrol' =>  [
        'class'             => 'kartik\datecontrol\Module',
        'ajaxConversion'    => true,
        'autoWidget'        => true,
        'saveTimezone'      => 'UTC',
    ],
],

Can be usefull to enable in requet component the json parser and pretty url., (*10)

Also, extend app\models\User - user model - implementing the interface \OAuth2\Storage\UserCredentialsInterface, so the oauth2 credentials data stored in user table., (*11)

You should implement (for convenience a trait is provide): - findIdentityByAccessToken() - checkUserCredentials() - getUserDetails() - getAuthKey() - getOauthClient() mapping of one user to one oauth client., (*12)

You can extend the model if you prefer it (please, remember to update the config files) :, (*13)

use Yii;

class User extends app\models\User implements \OAuth2\Storage\UserCredentialsInterface
{
    use \macfly\oauth2server\traits\Oauth2User;
}

The next step you should run migration, (*14)

yii migrate --migrationPath=@vendor/macfly/yii2-oauth2-server/src/migrations

this migration create the oauth2 database scheme and insert test user credentials testclient:testpass for http://127.0.0.1:8888/user/security/auth?authclient=oauth2, (*15)

Usage

List of available actions

  • /oauth2/authorize: Session verification from a browser
  • /oauth2/token: Get token
  • /oauth2/user: Get user information

You can see the filsh documentation to use token (https://github.com/Filsh/yii2-oauth2-server/tree/v2.0.0#usage), (*16)

Admin interface

Manage client credentials, (*17)

  • /oauth2/clients

CRUD operations, (*18)

  • /oauth2/clients/index
  • /oauth2/clients/create
  • /oauth2/clients/update
  • /oauth2/clients/delete

Manage access token, (*19)

  • /oauth2/accesstokens

CRUD operations, (*20)

  • /oauth2/accesstokens/index
  • /oauth2/accesstokens/create
  • /oauth2/accesstokens/update
  • /oauth2/accesstokens/delete

The Versions

17/11 2017

dev-master

9999999-dev https://github.com/macfly/yii2-oauth2-server

Wrapper for filsh yii2-oauth2-server provide authorize, token, user controller

  Sources   Download

MIT

The Requires

 

by Charles DELFLY

extension oauth module yii oauth2

17/11 2017

0.2.1

0.2.1.0 https://github.com/macfly/yii2-oauth2-server

Wrapper for filsh yii2-oauth2-server provide authorize, token, user controller

  Sources   Download

MIT

The Requires

 

by Charles DELFLY

extension oauth module yii oauth2

17/11 2017

0.2.0

0.2.0.0 https://github.com/macfly/yii2-oauth2-server

Wrapper for filsh yii2-oauth2-server provide authorize, token, user controller

  Sources   Download

MIT

The Requires

 

by Charles DELFLY

extension oauth module yii oauth2

17/11 2017

0.1.0

0.1.0.0 https://github.com/macfly/yii2-oauth2-server

Wrapper for filsh yii2-oauth2-server provide authorize, token, user controller

  Sources   Download

MIT

The Requires

 

by Charles DELFLY

extension oauth module yii oauth2

09/11 2017

0.0.9

0.0.9.0 https://github.com/macfly/yii2-oauth2-server

Wrapper for filsh yii2-oauth2-server provide authorize, token, user controller

  Sources   Download

MIT

The Requires

 

by Charles DELFLY

extension oauth module yii oauth2

06/07 2017

0.0.8

0.0.8.0 https://github.com/macfly/yii2-oauth2-server

Wrapper for filsh yii2-oauth2-server provide authorize, token, user controller

  Sources   Download

MIT

The Requires

 

by Charles DELFLY

extension oauth module yii oauth2

06/07 2017

0.0.7

0.0.7.0 https://github.com/macfly/yii2-oauth2-server

Wrapper for filsh yii2-oauth2-server provide authorize, token, user controller

  Sources   Download

MIT

The Requires

 

by Charles DELFLY

extension oauth module yii oauth2

06/07 2017

0.0.6

0.0.6.0 https://github.com/macfly/yii2-oauth2-server

Wrapper for filsh yii2-oauth2-server provide authorize, token, user controller

  Sources   Download

MIT

The Requires

 

by Charles DELFLY

extension oauth module yii oauth2

11/04 2017

0.0.5

0.0.5.0 https://github.com/macfly/yii2-oauth2-server

Wrapper for filsh yii2-oauth2-server provide authorize, token, user controller

  Sources   Download

MIT

The Requires

 

by Charles DELFLY

extension oauth module yii oauth2

06/04 2017

0.0.4

0.0.4.0 https://github.com/macfly/yii2-oauth2-server

Wrapper for filsh yii2-oauth2-server provide authorize, token, user controller

  Sources   Download

MIT

The Requires

 

by Charles DELFLY

extension oauth module yii oauth2

30/03 2017

0.0.3

0.0.3.0 https://github.com/macfly/yii2-oauth2-server

Wrapper for filsh yii2-oauth2-server provide authorize, token, user controller

  Sources   Download

MIT

The Requires

 

by Charles DELFLY

extension oauth module yii oauth2

13/03 2017

0.0.2

0.0.2.0 https://github.com/macfly/yii2-oauth2-server

Wrapper for filsh yii2-oauth2-server provide authorize, token, user controller

  Sources   Download

MIT

The Requires

 

by Charles DELFLY

extension oauth module yii oauth2

28/02 2017

0.0.1

0.0.1.0 https://github.com/macfly/yii2-oauth2-server

Wrapper for filsh yii2-oauth2-server provide authorize, token, user controller

  Sources   Download

MIT

The Requires

 

by Charles DELFLY

extension oauth module yii oauth2