From eacbbb28158ec420defd99bc919009e1b0a9ebba Mon Sep 17 00:00:00 2001 From: lonelyhentxi Date: Sun, 2 Feb 2025 02:23:41 +0800 Subject: [PATCH] docs: first add docs and license --- .gitignore | 3 +- README.md | 212 +--------------------- assets/logo-512.png | Bin 0 -> 48183 bytes licenses/angular-auth-oidc-client.LICENSE | 21 +++ licenses/angular.LICENSE | 21 +++ playwright.config.ts | 2 + 6 files changed, 55 insertions(+), 204 deletions(-) create mode 100644 assets/logo-512.png create mode 100644 licenses/angular-auth-oidc-client.LICENSE create mode 100644 licenses/angular.LICENSE diff --git a/.gitignore b/.gitignore index 308f42e..0911462 100644 --- a/.gitignore +++ b/.gitignore @@ -32,7 +32,6 @@ speed-measure-plugin*.json .history/* # misc -/.angular/cache /.sass-cache /connect.lock /coverage @@ -55,4 +54,4 @@ debug.log /playwright-report/ /blob-report/ /playwright/.cache/ -/.vitest \ No newline at end of file +/.vitest diff --git a/README.md b/README.md index 6ed1e65..148dc8f 100644 --- a/README.md +++ b/README.md @@ -1,209 +1,17 @@ -# Angular Lib for OpenID Connect & OAuth2 +

+ OUTPOSTS +
OIDC-CLIENT-RX
+
+ status-badge +
+

-TODO +

ReactiveX enhanced OIDC and OAuth2 protocol support for browser-based JavaScript applications.

-![Build Status](https://github.com/damienbod/oidc-client-rx/actions/workflows/build.yml/badge.svg?branch=main) [![npm](https://img.shields.io/npm/v/oidc-client-rx.svg)](https://www.npmjs.com/package/oidc-client-rx) [![npm](https://img.shields.io/npm/dm/oidc-client-rx.svg)](https://www.npmjs.com/package/oidc-client-rx) [![npm](https://img.shields.io/npm/l/oidc-client-rx.svg)](https://www.npmjs.com/package/oidc-client-rx) [![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier) [![Coverage Status](https://coveralls.io/repos/github/damienbod/oidc-client-rx/badge.svg?branch=main)](https://coveralls.io/github/damienbod/oidc-client-rx?branch=main) +## Quick Start -

- -

- -Secure your Angular app using the latest standards for OpenID Connect & OAuth2. Provides support for token refresh, all modern OIDC Identity Providers and more. - -## Acknowledgements - -This library is certified by OpenID Foundation. (RP Implicit and Config RP) - -

- -

- -## Features - -- [Code samples](https://oidc-client-rx.com/docs/samples/) for most of the common use cases -- Supports schematics via `ng add` support -- Supports all modern OIDC identity providers -- Supports OpenID Connect Code Flow with PKCE -- Supports Code Flow PKCE with Refresh tokens -- [Supports OpenID Connect Implicit Flow](http://openid.net/specs/openid-connect-implicit-1_0.html) -- [Supports OpenID Connect Session Management 1.0](http://openid.net/specs/openid-connect-session-1_0.html) -- [Supports RFC7009 - OAuth 2.0 Token Revocation](https://tools.ietf.org/html/rfc7009) -- [Supports RFC7636 - Proof Key for Code Exchange (PKCE)](https://tools.ietf.org/html/rfc7636) -- [Supports OAuth 2.0 Pushed authorisation requests (PAR) draft](https://tools.ietf.org/html/draft-ietf-oauth-par-06) -- Semantic releases -- Github actions -- Modern coding guidelines with prettier, husky -- Up to date documentation -- Implements OIDC validation as specified, complete client side validation for REQUIRED features -- Supports authentication using redirect or popup - -## Installation - -### Ng Add - -You can use the schematics and `ng add` the library. - -```shell -ng add oidc-client-rx -``` - -And answer the questions. A module will be created which encapsulates your configuration. - -![oidc-client-rx schematics](https://raw.githubusercontent.com/damienbod/oidc-client-rx/main/.github/oidc-client-rx-schematics-720.gif) - -### Npm / Yarn - -Navigate to the level of your `package.json` and type - -```shell - npm install oidc-client-rx -``` - -or with yarn - -```shell - yarn add oidc-client-rx -``` - -## Documentation - -[Read the docs here](https://oidc-client-rx.com/) - -## Samples - -[Explore the Samples here](https://oidc-client-rx.com/docs/samples/) - -## Quickstart - -For the example of the Code Flow. For further examples please check the [Samples](https://oidc-client-rx.com/docs/samples/) Section. - -> If you have done the installation with the schematics, these modules and files should be available already! - -### Configuration - -Import the `AuthModule` in your module. - -```ts -import { NgModule } from '@angular/core'; -import { AuthModule, LogLevel } from 'oidc-client-rx'; -// ... - -@NgModule({ - // ... - imports: [ - // ... - AuthModule.forRoot({ - config: { - authority: '', - redirectUrl: window.location.origin, - postLogoutRedirectUri: window.location.origin, - clientId: '', - scope: 'openid profile email offline_access', - responseType: 'code', - silentRenew: true, - useRefreshToken: true, - logLevel: LogLevel.Debug, - }, - }), - ], - // ... -}) -export class AppModule {} -``` - -And call the method `checkAuth()` from your `app.component.ts`. The method `checkAuth()` is needed to process the redirect from your Security Token Service and set the correct states. This method must be used to ensure the correct functioning of the library. - -```ts -import { Component, OnInit, inject } from '@angular/core'; -import { OidcSecurityService } from 'oidc-client-rx'; - -@Component({ - /*...*/ -}) -export class AppComponent implements OnInit { - private readonly oidcSecurityService = inject(OidcSecurityService); - - ngOnInit() { - this.oidcSecurityService - .checkAuth() - .subscribe((loginResponse: LoginResponse) => { - const { isAuthenticated, userData, accessToken, idToken, configId } = - loginResponse; - - /*...*/ - }); - } - - login() { - this.oidcSecurityService.authorize().subscribe(); - } - - logout() { - this.oidcSecurityService - .logoff() - .subscribe((result) => console.log(result)); - } -} -``` - -### Using the access token - -You can get the access token by calling the method `getAccessToken()` on the `OidcSecurityService` - -```ts -const token = this.oidcSecurityService.getAccessToken().subscribe(...); -``` - -And then you can use it in the HttpHeaders - -```ts -import { HttpHeaders } from '@ngify/http'; - -const token = this.oidcSecurityServices.getAccessToken().subscribe((token) => { - const httpOptions = { - headers: new HttpHeaders({ - Authorization: 'Bearer ' + token, - }), - }; -}); -``` - -You can use the built in interceptor to add the accesstokens to your request - -```ts -AuthModule.forRoot({ - config: { - // ... - secureRoutes: ['https://my-secure-url.com/', 'https://my-second-secure-url.com/'], - }, -}), -``` - -```ts - providers: [ - { provide: HTTP_INTERCEPTORS, useClass: AuthInterceptor, multi: true }, - ], -``` - -## Versions - -Current Version is Version 19.x - -- [Info about Version 18](https://github.com/damienbod/oidc-client-rx/tree/version-18) -- [Info about Version 17](https://github.com/damienbod/oidc-client-rx/tree/version-17) -- [Info about Version 16](https://github.com/damienbod/oidc-client-rx/tree/version-16) -- [Info about Version 15](https://github.com/damienbod/oidc-client-rx/tree/version-15) -- [Info about Version 14](https://github.com/damienbod/oidc-client-rx/tree/version-14) -- [Info about Version 13](https://github.com/damienbod/oidc-client-rx/tree/version-13) -- [Info about Version 12](https://github.com/damienbod/oidc-client-rx/tree/version-12) -- [Info about Version 11](https://github.com/damienbod/oidc-client-rx/tree/version-11) -- [Info about Version 10](https://github.com/damienbod/oidc-client-rx/tree/version-10) +@TODO Coming Soon ## License [MIT](https://choosealicense.com/licenses/mit/) - -## Authors - -- [@DamienBod](https://www.github.com/damienbod) -- [@FabianGosebrink](https://www.github.com/FabianGosebrink) diff --git a/assets/logo-512.png b/assets/logo-512.png new file mode 100644 index 0000000000000000000000000000000000000000..c8d96407c8e22a621561466e260041b0eb99f47d GIT binary patch literal 48183 zcmeFZc|6qb`#<`cvF{WaA`C)ygY5fGvdfa)h-@KaH-waZH`XF5OGH8wCL%IY*%E^y zvW+51lHcw9`L5^t`JRWgx*M05R^SZ|^3v)vzdTx3Mf|!hr^sFEVjso8h zEj9QJ=K1Ce2%>EBwYd~_>4KSxXHbBYyH}8hw^T$xFc^m*HO+`%ch9TdVf-H6KE8qK z$Sr&ilHb=$9ciy{LFPiRuJ;vRqo@#X>nL*@�@O%3erK4SKZ*6|g~ocbGeWM1X%_ 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 kFuVnv0{{1a@)*BA6F!UUi>O1+v5