Skip to content

Commit

Permalink
Merge branch '1.0'
Browse files Browse the repository at this point in the history
Signed-off-by: Mior Muhammad Zaki <crynobone@gmail.com>
  • Loading branch information
crynobone committed Apr 2, 2019
2 parents e193de1 + 2118d8c commit 5bf640d
Show file tree
Hide file tree
Showing 6 changed files with 54 additions and 31 deletions.
12 changes: 7 additions & 5 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
language: php

sudo: false
dist: xenial

php:
- 7.1
Expand All @@ -13,8 +12,11 @@ env:
- coverage=no
matrix:
- laravel=5.8.*
- setup=lowest laravel=5.8.*
- laravel=dev-master
- setup=stable laravel=5.8.*
- setup=stable laravel=dev-master
- setup=lowest laravel=5.8.*
- setup=lowest laravel=dev-master

before_install:
- travis_retry composer self-update
Expand All @@ -27,8 +29,8 @@ before_script:
- if [[ $setup = 'coveralls' ]]; then travis_retry composer require "php-coveralls/php-coveralls=^2.1" --prefer-dist --no-interaction --no-suggest --dev; fi

script:
- if [[ $coverage = 'yes' ]]; then vendor/bin/phpunit -c phpunit.xml --coverage-clover build/logs/clover.xml; fi
- if [[ $coverage = 'no' ]]; then vendor/bin/phpunit -c phpunit.xml; fi
- if [[ $coverage = 'yes' ]]; then vendor/bin/phpunit -c phpunit.xml.dist --coverage-clover build/logs/clover.xml; fi
- if [[ $coverage = 'no' ]]; then vendor/bin/phpunit -c phpunit.xml.dist; fi

after_script:
- if [[ $setup = 'coveralls' ]]; then php vendor/bin/php-coveralls -v; fi
Expand Down
39 changes: 18 additions & 21 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,9 +83,9 @@ Next, you are ready to authenticate users! You will need two routes: one for red

namespace App\Http\Controllers\Auth;

use Socialite;
use Laravel\Socialite\Facades\Socialite;

class AuthController extends Controller
class PassportController extends Controller
{
/**
* Redirect the user to the KATSANA authentication page.
Expand All @@ -104,9 +104,9 @@ class AuthController extends Controller
*/
public function handleProviderCallback()
{
$user = Socialite::driver('katsana')->user();
$passport = Socialite::driver('katsana')->user();

// $user->token;
// $passport->token;
}
}
```
Expand All @@ -121,8 +121,8 @@ return Socialite::driver('katsana')
Of course, you will need to define routes to your controller methods:

```php
Route::get('auth', 'Auth\AuthController@redirectToProvider');
Route::get('auth/callback', 'Auth\AuthController@handleProviderCallback');
Route::get('passport', 'Auth\PassportController@redirectToProvider');
Route::get('passport/callback', 'Auth\PassportController@handleProviderCallback');
```

A number of OAuth providers support optional parameters in the redirect request. To include any optional parameters in the request, call the `with` method with an associative array:
Expand All @@ -148,28 +148,25 @@ return Socialite::driver('katsana')->stateless()->user();
Once you have a user instance, you can grab a few more details about the user:

```php
$user = Socialite::driver('katsana')->user();
$passport = Socialite::driver('katsana')->user();

// OAuth Two Providers
$token = $user->token;
$refreshToken = $user->refreshToken; // not always provided
$expiresIn = $user->expiresIn;

// OAuth One Providers
$token = $user->token;
$tokenSecret = $user->tokenSecret;

// All Providers
$user->getId();
$user->getName();
$user->getEmail();
$user->getAvatar();
$token = $passport->token;
$refreshToken = $passport->refreshToken; // not always provided
$expiresIn = $passport->expiresIn;

// Helper methods.
$passport->getId();
$passport->getName();
$passport->getEmail();
$passport->getAvatar();
$passport->getRaw();
```

#### Retrieving User Details From Token

If you already have a valid access token for a user, you can retrieve their details using the `userFromToken` method:

```php
$user = Socialite::driver('katsana')->userFromToken($token);
$passport = Socialite::driver('katsana')->userFromToken($token);
```
File renamed without changes.
15 changes: 15 additions & 0 deletions src/Contracts/Passport.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<?php

namespace Katsana\Socialite\Contracts;

use Laravel\Socialite\Contracts\User;

interface Passport extends User
{
/**
* Get the raw user array.
*
* @return array
*/
public function getRaw();
}
10 changes: 10 additions & 0 deletions src/Passport.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<?php

namespace Katsana\Socialite;

use SocialiteProviders\Manager\OAuth2\User;

class Passport extends User implements Contracts\Passport
{
//
}
9 changes: 4 additions & 5 deletions src/Provider.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
use Katsana\Sdk\Client;
use Laravel\Socialite\Two\ProviderInterface;
use SocialiteProviders\Manager\OAuth2\AbstractProvider;
use SocialiteProviders\Manager\OAuth2\User;

class Provider extends AbstractProvider implements ProviderInterface
{
Expand Down Expand Up @@ -120,7 +119,7 @@ protected function getTokenUrl()
*/
protected function getUserByToken($token)
{
return $this->getSdkClient()
return $this->sdkClient()
->useCustomApiEndpoint($this->getEnvironmentEndpoint('api'))
->setAccessToken($token)
->uses('Profile')
Expand All @@ -133,11 +132,11 @@ protected function getUserByToken($token)
*
* @param array $user
*
* @return \Laravel\Socialite\Two\User
* @return \Katsana\Socialite\Passport
*/
protected function mapUserToObject(array $user)
{
return (new User())->setRaw($user)->map([
return (new Passport())->setRaw($user)->map([
'id' => $user['id'],
'name' => $user['fullname'],
'email' => $user['email'],
Expand Down Expand Up @@ -174,7 +173,7 @@ public static function additionalConfigKeys()
*
* @return \Katsana\Sdk\Client
*/
protected function getSdkClient(): Client
protected function sdkClient(): Client
{
$app = Container::getInstance();

Expand Down

0 comments on commit 5bf640d

Please sign in to comment.