mailium / oauth-client-laravel
Mailium Oauth Client Library Laravel Integration Package
1.0.33
2018-12-11 11:37 UTC
Requires
- php: >=5.5.9
- illuminate/database: 5.*
- mailium/api-wrapper-php: 1.0.3
- mailium/oauth-client-php: 1.0.23
This package is not auto-updated.
Last update: 2024-11-21 16:42:31 UTC
README
Installation & Configuration
Service Provider
Add Mailium Service Provider to providers array in config/app.php
MailiumOauthClient\MailiumOauthClientLaravel\MailiumOauthClientServiceProvider::class,
Facade
Add Mailium Facade to aliases array in config/app.php
'MailiumOauthClient' => MailiumOauthClient\MailiumOauthClientLaravel\MailiumOauthClientFacade::class,
Middleware
Add Mailium Middleware to the middleware group array in app/Http/Kernel.php
\MailiumOauthClient\MailiumOauthClientLaravel\MailiumOauthClientMiddleware::class,
Example:
protected $middlewareGroups = [ 'web' => [ \App\Http\Middleware\EncryptCookies::class, \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, \Illuminate\Session\Middleware\StartSession::class, \Illuminate\View\Middleware\ShareErrorsFromSession::class, \App\Http\Middleware\VerifyCsrfToken::class, \MailiumOauthClient\MailiumOauthClientLaravel\MailiumOauthClientMiddleware::class, ],
Publishing Migrations and Configuration
php artisan vendor:publish
Running Migrations
php artisan migrate
Configuring the Oauth Client
Configure your client_id, client_secret, required scopes and app type on config/mailium-oauth.php file.
Using the client on controllers
Oauth client middleware adds four attributes to the incoming requests
- mailium_app_accid (account identifier)
- mailium_app_user (mailium app user object)
- mailium_app_just_installed (boolean variable defines if the app is just installed and the request is first one )
- mailium_api_client (API wrapper)
Getting accid (Account Identifier)
$this->accId = $request->attributes->get('mailium_app_accid');
Getting user (mailium app user)
$this->mailiumAppUser = $request->attributes->get('mailium_app_user');
Indicator of first request to the app
$this->justInstalled = $request->attributes->get('mailium_app_just_installed');
Getting API client
$this->apiClient = $request->attributes->get('mailium_api_client');
Running API commands on controller
$this->apiClient->run('List.GetList',array());