PHP code example of coretrekas / idp
1. Go to this page and download the library: Download coretrekas/idp library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
coretrekas / idp example snippets
$token = \Coretrek\Idp\Token::make('https://idp-server.com', 'client_id', 'client_secret', ['*']);
// Or...
$token = new \Coretrek\Idp\Token('Bearer', 'ACCESS-TOKEN', 10000);
// Properties.
$token->type;
$token->accessToken;
$token->expiresIn;
$token->toArray();
// Returns:
// [
// 'token_type' => 'Bearer',
// 'expires_in' => 10000,
// 'access_token' => 'ACCESS-TOKEN',
// ]
$sdk = new \Coretrek\Idp\Sdk($token, 'https://idp-server.com', 'nb');
// Plain sdk
$sdk->users()->list();
$sdk->users()->list($perPage = 25);
$sdk->users()->list($filters = ['first_name' => 'John']);
$sdk->users()->list($perPage = 25, $filters = ['first_name' => 'John']);
// Laravel facade
\Coretrek\Idp\Facades\Sdk::users()->list();
// Plain sdk
$sdk->users()->show('986b24bb-655a-4fc5-9608-8a8aba83b2dd');
$sdk->users()->show('986b24bb-655a-4fc5-9608-8a8aba83b2dd', $
// Plain sdk
$sdk->users()->create([
'first_name' => 'John',
'last_name' => 'Doe',
'email' => '[email protected] ',
'mobile' => '+4795916561',
'password' => 'Password1',
'locale' => 'nb',
'email_verified_at' => '2023-01-01 10:00:00',
'two_factor_secret' => 'abc123',
'two_factor_recovery_codes' => 'abc123 acd 321',
'meta' => [
'foo' => 'bar',
],
]);
// Laravel facade
\Coretrek\Idp\Facades\Sdk::users()->create();
// Plain sdk
$sdk->users()->onlyValidate()->create([
'first_name' => 'John',
'last_name' => 'Doe',
'email' => '[email protected] ',
'mobile' => '+4795916561',
'password' => 'Password1',
'locale' => 'nb',
'email_verified_at' => '2023-01-01 10:00:00',
'two_factor_secret' => 'abc123',
'two_factor_recovery_codes' => 'abc123 acd 321',
'meta' => [
'foo' => 'bar',
],
]);
// Laravel facade
\Coretrek\Idp\Facades\Sdk::users()->onlyValidate()->create();
// Plain sdk
$sdk->users()->update('986b24bb-655a-4fc5-9608-8a8aba83b2dd', [
'first_name' => 'John',
'last_name' => 'Doe',
'email' => '[email protected] ',
'mobile' => '+4795916561',
'password' => 'Password1',
'locale' => 'nb',
'email_verified_at' => '2023-01-01 10:00:00',
'two_factor_secret' => 'abc123',
'two_factor_recovery_codes' => 'abc123 acd 321',
'meta' => [
'foo' => 'bar',
],
]);
// Laravel facade
\Coretrek\Idp\Facades\Sdk::users()->update();
// Plain sdk
$sdk->users()->onlyValidate()->update('986b24bb-655a-4fc5-9608-8a8aba83b2dd', [
'first_name' => 'John',
'last_name' => 'Doe',
'email' => '[email protected] ',
'mobile' => '+4795916561',
'password' => 'Password1',
'locale' => 'nb',
'email_verified_at' => '2023-01-01 10:00:00',
'two_factor_secret' => 'abc123',
'two_factor_recovery_codes' => 'abc123 acd 321',
'meta' => [
'foo' => 'bar',
],
]);
// Laravel facade
\Coretrek\Idp\Facades\Sdk::users()->onlyValidate()->update();
// Plain sdk
$sdk->users()->delete('986b24bb-655a-4fc5-9608-8a8aba83b2dd');
// Laravel facade
\Coretrek\Idp\Facades\Sdk::users()->delete('986b24bb-655a-4fc5-9608-8a8aba83b2dd');
// Plain sdk
$sdk->groups()->list();
$sdk->groups()->list($perPage = 25);
$sdk->groups()->list($filters = ['identifier' => 123]);
$sdk->groups()->list($perPage = 25, $filters = ['identifier' => 123]);
// Laravel facade
\Coretrek\Idp\Facades\Sdk::groups()->list();
// Plain sdk
$sdk->groups()->show('986b24bb-655a-4fc5-9608-8a8aba83b2dd');
$sdk->groups()->show('986b24bb-655a-4fc5-9608-8a8aba83b2dd', $
// Plain sdk
$sdk->groups()->create([
'name' => 'Group A',
'description' => 'Description of the group A',
'identifier' => '000000000',
'meta' => [
'foo' => 'bar',
],
]);
// Laravel facade
\Coretrek\Idp\Facades\Sdk::groups()->create();
// Plain sdk
$sdk->groups()->onlyValidate()->create([
'name' => 'Group A',
'description' => 'Description of the group A',
'identifier' => '000000000',
'meta' => [
'foo' => 'bar',
],
]);
// Laravel facade
\Coretrek\Idp\Facades\Sdk::groups()->onlyValidate()->create();
// Plain sdk
$sdk->users()->update('986b24bb-655a-4fc5-9608-8a8aba83b2dd', [
'name' => 'Group A',
'description' => 'Description of the group A',
'identifier' => '000000000',
'meta' => [
'foo' => 'bar',
],
]);
// Laravel facade
\Coretrek\Idp\Facades\Sdk::users()->update();
// Plain sdk
$sdk->users()->onlyValidate()->update('986b24bb-655a-4fc5-9608-8a8aba83b2dd', [
'name' => 'Group A',
'description' => 'Description of the group A',
'identifier' => '000000000',
'meta' => [
'foo' => 'bar',
],
]);
// Laravel facade
\Coretrek\Idp\Facades\Sdk::users()->onlyValidate()->update();
// Plain sdk
$sdk->groups()->delete('986b24bb-655a-4fc5-9608-8a8aba83b2dd');
// Laravel facade
\Coretrek\Idp\Facades\Sdk::groups()->delete('986b24bb-655a-4fc5-9608-8a8aba83b2dd');
// Plain sdk
$sdk->groups()->addUser('986b24bb-655a-4fc5-9608-8a8aba83b2dd', '8a8aba83b2dd-655a-4fc5-9608-986b24bb', $meta = ['foo' => 'bar']);
// Laravel facade
\Coretrek\Idp\Facades\Sdk::groups()->addUser('986b24bb-655a-4fc5-9608-8a8aba83b2dd', '8a8aba83b2dd-655a-4fc5-9608-986b24bb', $meta = ['foo' => 'bar']);
// Plain sdk
$sdk->groups()->updateUser('986b24bb-655a-4fc5-9608-8a8aba83b2dd', '8a8aba83b2dd-655a-4fc5-9608-986b24bb', $meta = ['foo' => 'bar']);
// Laravel facade
\Coretrek\Idp\Facades\Sdk::groups()->updateUser('986b24bb-655a-4fc5-9608-8a8aba83b2dd', '8a8aba83b2dd-655a-4fc5-9608-986b24bb', $meta = ['foo' => 'bar']);
// Plain sdk
$sdk->groups()->removeUser('986b24bb-655a-4fc5-9608-8a8aba83b2dd', '8a8aba83b2dd-655a-4fc5-9608-986b24bb');
// Laravel facade
\Coretrek\Idp\Facades\Sdk::groups()->removeUser('986b24bb-655a-4fc5-9608-8a8aba83b2dd', '8a8aba83b2dd-655a-4fc5-9608-986b24bb');
// Plain sdk
$sdk->get('https://idp-server.com/api/users?per_page=25&page=2');
// Laravel facade
\Coretrek\Idp\Facades\Sdk::get('https://idp-server.com/api/users?per_page=25&page=2');
// /config/services.php
[
//...
'coretrek' => [
'client_id' => '986b2415-d423-447d-8d32-e83ee78d7d66',
'client_secret' => 'SsEeArd2b8ILJ1TJmDfDyX24PNx6yB6sY86twhO4',
'redirect' => 'http://coretrek-idp-client.test/auth/callback',
]
]
use Laravel\Socialite\Facades\Socialite;
Route::get('/auth/redirect', function () {
return Socialite::driver('coretrek')->redirect();
});
Route::get('/auth/callback', function () {
$user = Socialite::driver('coretrek')->user();
// $user->token
});