Skip to content
This repository has been archived by the owner on Jul 22, 2024. It is now read-only.

Cortex OAuth is a frontend layer for the OAuth server Laravel package, for API management.

License

Notifications You must be signed in to change notification settings

rinvex/cortex-oauth-tenantable-classic

Repository files navigation

Cortex OAuth

Cortex OAuth is a frontend layer for the OAuth server Laravel package, for API management.

Packagist Scrutinizer Code Quality Travis StyleCI License

Installation and Usage

This is a Rinvex Cortex module, that's still not yet documented, but you can use it on your own responsibility.

To be documented soon..!

Example Usage

Route::middleware(['web'])->get('adminarea/oauth/redirect', function (\Illuminate\Http\Request $request) {
    $request->session()->put('state', $state = \Str::random(40));

    $query = http_build_query([
        'client_id' => '51',
        'redirect_uri' => 'http://cortex.rinvex.test/adminarea/oauth/callback',
        'response_type' => 'code',
        'scope' => 'place-orders check-status',
        'state' => $state,
    ]);

    return redirect('http://cortex.rinvex.test/adminarea/oauth/authorize?'.$query);
});

Route::middleware(['web'])->get('adminarea/oauth/callback', function (\Illuminate\Http\Request $request) {
    $state = $request->session()->pull('state');

    throw_unless(
        strlen($state) > 0 && $state === $request->state,
        InvalidArgumentException::class
    );

    //dd($request->code);
    // For easy testing, we can temporary change `Route::post('token')` to `Route::get('token')`
    //return redirect('http://cortex.rinvex.test/adminarea/oauth/token?'.http_build_query([
    //        'grant_type' => 'authorization_code',
    //        'client_id' => '51',
    //        'client_secret' => 'bLGQa2fTqzVSonJvyT5CzHDD1JNEUevUm2esqVIy',
    //        'redirect_uri' => 'http://cortex.rinvex.test/adminarea/oauth/callback',
    //        'code' => $request->code,
    //    ]));

    $http = new GuzzleHttp\Client;

    $response = $http->post('http://cortex.rinvex.test/oauth/token', [
        'form_params' => [
            'grant_type' => 'authorization_code',
            'client_id' => '48',
            'client_secret' => 'bLGQa2fTqzVSonJvyT5CzHDD1JNEUevUm2esqVIy',
            'redirect_uri' => 'http://cortex.rinvex.test/callback',
            'code' => $request->code,
        ],
    ]);

    return json_decode((string) $response->getBody(), true);
});

Changelog

Refer to the Changelog for a full history of the project.

Support

The following support channels are available at your fingertips:

Contributing & Protocols

Thank you for considering contributing to this project! The contribution guide can be found in CONTRIBUTING.md.

Bug reports, feature requests, and pull requests are very welcome.

Security Vulnerabilities

If you discover a security vulnerability within this project, please send an e-mail to [email protected]. All security vulnerabilities will be promptly addressed.

About Rinvex

Rinvex is a software solutions startup, specialized in integrated enterprise solutions for SMEs established in Alexandria, Egypt since June 2016. We believe that our drive The Value, The Reach, and The Impact is what differentiates us and unleash the endless possibilities of our philosophy through the power of software. We like to call it Innovation At The Speed Of Life. That’s how we do our share of advancing humanity.

License

This software is released under The MIT License (MIT).

(c) 2016-2022 Rinvex LLC, Some rights reserved.

About

Cortex OAuth is a frontend layer for the OAuth server Laravel package, for API management.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published