0.0.5 • Published 4 years ago

ac-cas-oauth-server v0.0.5

Weekly downloads
9
License
Fyasco
Repository
-
Last release
4 years ago

Angular Cas Oauth Server

This library was generated with Angular CLI version 8.2.14.

Celle-ci est un composant permettant de se connecter à un CAS paramétrer en OAuth2.0. Vous pouvez retrouver la doc OAuth2.0

Installation

$ npm i ac-cas-oauth-server

Dependencies

Si besoin (essayer avec la dernière version d'angular dans un premier temps)

"peerDependencies": {
    "@angular/common": "^8.2.14",
    "@angular/core": "^8.2.14"
   }

Configuration

src/environment/environment.json :

export const environment = {
  production: false,
  APP_URL: 'http://localhost:8080/', //adresse de redirection pris en charge par le CAS
  CAS_URL: 'https://adresse_cas_exemple/cas/oauth2.0/authorize',
  TOKEN_VALIDATE_URL: 'https://adresse_cas_exemple/cas/oauth2.0/profile?access_token=',
  CAS_VALIDATE_URL: 'https://adresse_cas_exemple/cas/oauth2.0/accessToken?grant_type=authorization_code',
  LOGOUT_URL: 'https://adresse_cas_exemple/cas/logout',
  CLIENT_ID_CAS: '****', //fournie par l'administrateur système du CAS
  CLIENT_SECRET_CAS: '****', //fournie par l'administrateur système du CAS et n'oubliez pas d'adapter la synthaxe pour la barre de navigation
};

src/app/app.module.ts :

import {AcCasOauthServerModule} from 'ac-cas-oauth-server';
import {environment} from '../environments/environment';

--

imports: [
...
AcCasOauthServerModule.forRoot(environment),
...
]

src/app/app.component.ts :

import {AcCasOauthServerService} from 'ac-cas-oauth-server';

--
constructor(private serviceCAS: AcCasOauthServerService) {}


  isAuthenticated(): boolean {
    return this.serviceCAS.isAuthenticate;
  }

src/app/app/component.html :

<ac-cas-oauth-server *ngIf="!isAuthenticated()"></ac-cas-oauth-server>
<router-outlet *ngIf="isAuthenticated()"></router-outlet>

Dans le composant.ts gérant la déconnexion :

import {AcCasOauthServerStorage} from 'ac-cas-oauth-server';
import {environment} from '../../../environments/environment';

--

 constructor(
    private storageService: AcCasOauthServerStorage
) {}

deconnexion() {
    this.storageService.removeToken();
    window.location.href = environment.LOGOUT_URL;
  }

Dans le composant.html gérant la déconnexion :

<button (click)="deconnection()">Déconnexion</button>

Comportement

Lorsque vous vous connectez le composant renvoie sur la page de login du CAS.

Si vous êtes déjà connecté le composant renvoi via le Router sur

this.route.navigate('');

and voilà !

0.0.5

4 years ago

0.0.4

4 years ago

0.0.3

4 years ago