3.1.1 • Published 4 years ago

sso-authorization-oidc-client v3.1.1

Weekly downloads
40
License
MIT
Repository
-
Last release
4 years ago

Simple Single sign-on Authorization using oidc-client and Identity Server /ავტორიზაცია oidc-client-ის გამოყენებით

angular 6

Benefits: 1. Built in APP_INITILIZER, when angular application starts, It checks auhtorization. 2. After authorization redirects to start URL. for example: If you aren't authorized and enter to this route http://localhost:4200/test , after authorization redirects same URL 3. Interseptor which checks errors 401 from backend. 4. Automaticaly attach bearer token each request 5. Flexible to use main oidc-client funtions 6. Authomatic SigneOut, when user signe out one site all site which use this library authomiaticaly SigneOut 7. Easy Config management

Library contains/ბიბლიოთეკას მოყვება:
a. AuthorizationInterceptor - build in auhtorization interseptor, which checks error code 401 /ეს თვითონ მოდულშია ჩაშებული, ამოწმებს 401-ზე და არედირექტებს Identity-ს URL-ზე, რომელიც კონფიგში იქნება გაწერილი.
b. AuthorizationGuardService - Route guard / პროექტში უნდა route-ებში უნდა გაიწეროს ეს Guard-ი.
c. AuthorizationService - Usable oidc-client library and custom functions / აქ არის მეთოდები რომელსაც იყენებს მოდული.

Usage/მოხმარების წესი:

  1. Import Library and pass config file. install oidc-client /დააიმპორტეთ ბიბლიოთეკა და გადაეცით კონფიგი, დააინსტალირეთ oidc-client-ი
import { AuthorizationModule } from 'sso-authorization-oidc-client';
//OR
import { AuthorizationModule } from 'sso-authorization-oidc-client/src/lib/authorization.module';

@NgModule({
  declarations: [
    AppComponent,
    ....
  ],
  imports: [
    BrowserModule,
    AuthorizationModule.forRoot(`assets/config${environment.production ? '.prod' : ''}.json`)
    .....
  ],
  providers: [
      ...
  ]
  bootstrap: [AppComponent]
})
export class AppModule {}
  1. Config example /კონფიგი (config.json) უნდა გამოიყურებოდეს ასე:
{
  ....
"authorization": {
    "stsAuthority": "https://demo.identityserver.io/",
    "clientId": "implicit",
    "clientRoot": "http://localhost:4200/",
    "clientScope": "openid profile",
    "responseType": "id_token token",
    "scope": "openid profile",
    "htmlFilePath": "assets",
	"accessTokenExpiringNotificationTime": 100,
	"clockSkew": 500,
	"needAutoLogout": false,
	"autoLogoutTime": 900, //  in seconds
	"checkStorageTime": 10 //  in seconds
  }
  ....
}
  1. assets folder must contains this .js file with name - "oidc-client.js" /assets უნდა ეგდოს .js ფაილი "oidc-client.js" - რომელიც შეგიძლიათ წამოიღოთ: https://cdnjs.cloudflare.com/ajax/libs/oidc-client/1.5.2/oidc-client.js

  2. assets folder must contains 2 HTML files /assets ფოლდერში (ან შეგიძლიათ შეცვალოთ კონფიგში ფოლდერის სახელი - "htmlFilePath") უნდა არსებობდეს 2 ცალი HTML ფაილი:

    a. signin-callback.html

    <script src="oidc-client.js"></script>
    <script>
        new Oidc.UserManager();
      var mgr = new Oidc.UserManager().signinRedirectCallback().then(function (user) {
            window.location.href = user.state;
        }, error => {
            console.error(error);
        });
    </script>

    b. silent-callback.html

    <script src="oidc-client.js"></script>
    <script>
        var mgr = new Oidc.UserManager();
      mgr.signinSilentCallback().catch(error => {
            console.error(error);
        });
    </script>
3.1.1

4 years ago

3.1.0

4 years ago

3.0.0

4 years ago

2.0.1

5 years ago

2.0.0

5 years ago

1.0.0

6 years ago

0.0.5

6 years ago

0.0.4

6 years ago

0.0.3

6 years ago

0.0.2

6 years ago

0.0.1

6 years ago