0.0.10 • Published 3 years ago

@federico1818/passport v0.0.10

Weekly downloads
4
License
-
Repository
github
Last release
3 years ago

Passport

An Angular library to connect with a Laravel application with laravel/passport and laravel/ui.

Prerequisites

  • Angular 11.0.2
  • Laravel 7

Configuration

Configuration in Angular

  1. Add oauth config to environments variable

Open /src/environments/environment.ts and add your oauth configuration.

export const environment = {
    production: false,
    oauth: {
        /* `oauth_clients` table, column: `id` */
        client_id: 'CLIENT_ID', 
        
        /* `oauth_clients` table, column: `secret` */
        client_secret: 'CLIENT_SECRET', 

        /* Example: http://localhost:8000 */
        url: 'URL'
    }
}
  1. Setup @NgModule for the PassportModule

Open /src/app/app.module.ts, inject the PassportModule, and specify your configuration.

import { BrowserModule } from '@angular/platform-browser'
import { NgModule } from '@angular/core'
import { PassportModule } from '@federico1818/passport'
import { environment } from 'src/environments/environment'
import { AppComponent } from './app.component'

@NgModule({
    declarations: [
        AppComponent
    ],
    imports: [
        BrowserModule,
        PassportModule.forRoot(environment.oauth)
    ],
    providers: [],
    bootstrap: [AppComponent]
})

export class AppModule { }

Configuration in Laravel

  1. Edit AuthServiceProvider
public function boot()
{
    $this->registerPolicies();

    Passport::routes();
    
    Route::post('/oauth/register', '\App\Http\Controllers\Auth\RegisterController@register');
    Route::post('/password/email', '\App\Http\Controllers\Auth\ForgotPasswordController@sendResetLinkEmail')->name('password.email');
}
  1. Edit routes/api.php
Auth::routes();

Example use

Login

import { OauthService } from '@federico1818/passport'

export class LoginComponent {
    constructor(
        protected oauthService: OauthService
    ) {}

    public login(form: any): void {
        this.oauthService.login(form).subscribe()
    }
}

Send reset link email

import { UiService } from '@federico1818/passport'

export class PasswordComponent {
    constructor(
        protected uiService: UiService
    ) {}

    public sendResetLinkEmail(form: any): void {
        this.uiService.sendResetLinkEmail(form, '/api/password/email').subscribe()
    }
}
0.0.10

3 years ago

0.0.9

3 years ago

0.0.8

3 years ago

0.0.7

3 years ago

0.0.5

3 years ago

0.0.6

3 years ago

0.0.4

3 years ago

0.0.3

3 years ago

0.0.2

3 years ago

0.0.1

4 years ago