@glamtime/oauth-oidc-client
Version:
Secure your Angular app using the latest standards for OpenID Connect & OAuth2. Provides support for token refresh, all modern OIDC Identity Providers and more.
27 lines • 6.34 kB
JavaScript
import { InjectionToken } from '@angular/core';
export class OAuthConfig {
constructor() {
// The URL for your Okta organization or an Okta authentication server.
// This option is required
this.issuer = 'https://id.glamtime.com.cn';
// Client id pre-registered for the OIDC authentication flow.
this.clientId = '';
// Used in authorization and interaction code flows by server-side web applications to obtain OAuth tokens.
// In a production application, this value should never be visible on the client side.
this.clientSecret = '';
// The url that is redirected to when using token.getWithRedirect.
// If no redirectUri is provided, defaults to the current origin (window.location.origin).
this.redirectUri = window.location.origin;
// The url that is redirected to when using token.getWithRedirect.
// If no redirectUri is provided, defaults to the current origin (window.location.origin).
this.postLogoutRedirectUri = window.location.origin;
// Specify what information to make available in the returned id_token or access_token.
// For OIDC, you must include openid as one of the scopes.
// Defaults to ['openid', 'email'].
this.scopes = ['openid', 'profile', 'email'];
// Array of secure URLs on which the token should be sent if the interceptor is added to the `HTTP_INTERCEPTORS`.
this.resourceServers = [];
}
}
export const OAUTH_CONFIG = new InjectionToken('OAUTH_CONFIG');
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29hdXRoLW9pZGMtY2xpZW50L3NyYy9saWIvbW9kZWxzL29wdGlvbnMubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQStCN0MsTUFBTSxPQUFPLFdBQVc7SUFBeEI7UUFDRSx1RUFBdUU7UUFDdkUsMEJBQTBCO1FBQ25CLFdBQU0sR0FBVyw0QkFBNEIsQ0FBQztRQUVyRCw2REFBNkQ7UUFDdEQsYUFBUSxHQUFXLEVBQUUsQ0FBQztRQUU3QiwyR0FBMkc7UUFDM0csc0ZBQXNGO1FBQy9FLGlCQUFZLEdBQVcsRUFBRSxDQUFDO1FBRWpDLGtFQUFrRTtRQUNsRSwwRkFBMEY7UUFDbkYsZ0JBQVcsR0FBVyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztRQUVwRCxrRUFBa0U7UUFDbEUsMEZBQTBGO1FBQ25GLDBCQUFxQixHQUFXLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO1FBRTlELHVGQUF1RjtRQUN2RiwwREFBMEQ7UUFDMUQsbUNBQW1DO1FBQzVCLFdBQU0sR0FBYSxDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFekQsaUhBQWlIO1FBQzFHLG9CQUFlLEdBQWEsRUFBRSxDQUFDO0lBQ3hDLENBQUM7Q0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxJQUFJLGNBQWMsQ0FBYyxjQUFjLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0aW9uVG9rZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE9BdXRoT3B0aW9ucyB7XG4gIC8vIFRoZSBVUkwgZm9yIHlvdXIgT2t0YSBvcmdhbml6YXRpb24gb3IgYW4gT2t0YSBhdXRoZW50aWNhdGlvbiBzZXJ2ZXIuXG4gIC8vIFRoaXMgb3B0aW9uIGlzIHJlcXVpcmVkXG4gIGlzc3Vlcj86IHN0cmluZztcblxuICAvLyBDbGllbnQgaWQgcHJlLXJlZ2lzdGVyZWQgZm9yIHRoZSBPSURDIGF1dGhlbnRpY2F0aW9uIGZsb3cuXG4gIGNsaWVudElkPzogc3RyaW5nO1xuXG4gIC8vIFVzZWQgaW4gYXV0aG9yaXphdGlvbiBhbmQgaW50ZXJhY3Rpb24gY29kZSBmbG93cyBieSBzZXJ2ZXItc2lkZSB3ZWIgYXBwbGljYXRpb25zIHRvIG9idGFpbiBPQXV0aCB0b2tlbnMuXG4gIC8vIEluIGEgcHJvZHVjdGlvbiBhcHBsaWNhdGlvbiwgdGhpcyB2YWx1ZSBzaG91bGQgbmV2ZXIgYmUgdmlzaWJsZSBvbiB0aGUgY2xpZW50IHNpZGUuXG4gIGNsaWVudFNlY3JldD86IHN0cmluZztcblxuICAvLyBUaGUgdXJsIHRoYXQgaXMgcmVkaXJlY3RlZCB0byB3aGVuIHVzaW5nIHRva2VuLmdldFdpdGhSZWRpcmVjdC5cbiAgLy8gSWYgbm8gcmVkaXJlY3RVcmkgaXMgcHJvdmlkZWQsIGRlZmF1bHRzIHRvIHRoZSBjdXJyZW50IG9yaWdpbiAod2luZG93LmxvY2F0aW9uLm9yaWdpbikuXG4gIHJlZGlyZWN0VXJpPzogc3RyaW5nO1xuXG4gIC8vIFRoZSB1cmwgdGhhdCBpcyByZWRpcmVjdGVkIHRvIHdoZW4gdXNpbmcgdG9rZW4uZ2V0V2l0aFJlZGlyZWN0LlxuICAvLyBJZiBubyByZWRpcmVjdFVyaSBpcyBwcm92aWRlZCwgZGVmYXVsdHMgdG8gdGhlIGN1cnJlbnQgb3JpZ2luICh3aW5kb3cubG9jYXRpb24ub3JpZ2luKS5cbiAgcG9zdExvZ291dFJlZGlyZWN0VXJpPzogc3RyaW5nO1xuXG4gIC8vIFNwZWNpZnkgd2hhdCBpbmZvcm1hdGlvbiB0byBtYWtlIGF2YWlsYWJsZSBpbiB0aGUgcmV0dXJuZWQgaWRfdG9rZW4gb3IgYWNjZXNzX3Rva2VuLlxuICAvLyBGb3IgT0lEQywgeW91IG11c3QgaW5jbHVkZSBvcGVuaWQgYXMgb25lIG9mIHRoZSBzY29wZXMuXG4gIC8vIERlZmF1bHRzIHRvIFsnb3BlbmlkJywgJ2VtYWlsJ10uXG4gIHNjb3Blcz86IHN0cmluZ1tdO1xuXG4gIC8vIEFycmF5IG9mIHNlY3VyZSBVUkxzIG9uIHdoaWNoIHRoZSB0b2tlbiBzaG91bGQgYmUgc2VudCBpZiB0aGUgaW50ZXJjZXB0b3IgaXMgYWRkZWQgdG8gdGhlIGBIVFRQX0lOVEVSQ0VQVE9SU2AuXG4gIHJlc291cmNlU2VydmVycz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgY2xhc3MgT0F1dGhDb25maWcgaW1wbGVtZW50cyBPQXV0aE9wdGlvbnMge1xuICAvLyBUaGUgVVJMIGZvciB5b3VyIE9rdGEgb3JnYW5pemF0aW9uIG9yIGFuIE9rdGEgYXV0aGVudGljYXRpb24gc2VydmVyLlxuICAvLyBUaGlzIG9wdGlvbiBpcyByZXF1aXJlZFxuICBwdWJsaWMgaXNzdWVyOiBzdHJpbmcgPSAnaHR0cHM6Ly9pZC5nbGFtdGltZS5jb20uY24nO1xuXG4gIC8vIENsaWVudCBpZCBwcmUtcmVnaXN0ZXJlZCBmb3IgdGhlIE9JREMgYXV0aGVudGljYXRpb24gZmxvdy5cbiAgcHVibGljIGNsaWVudElkOiBzdHJpbmcgPSAnJztcblxuICAvLyBVc2VkIGluIGF1dGhvcml6YXRpb24gYW5kIGludGVyYWN0aW9uIGNvZGUgZmxvd3MgYnkgc2VydmVyLXNpZGUgd2ViIGFwcGxpY2F0aW9ucyB0byBvYnRhaW4gT0F1dGggdG9rZW5zLlxuICAvLyBJbiBhIHByb2R1Y3Rpb24gYXBwbGljYXRpb24sIHRoaXMgdmFsdWUgc2hvdWxkIG5ldmVyIGJlIHZpc2libGUgb24gdGhlIGNsaWVudCBzaWRlLlxuICBwdWJsaWMgY2xpZW50U2VjcmV0OiBzdHJpbmcgPSAnJztcblxuICAvLyBUaGUgdXJsIHRoYXQgaXMgcmVkaXJlY3RlZCB0byB3aGVuIHVzaW5nIHRva2VuLmdldFdpdGhSZWRpcmVjdC5cbiAgLy8gSWYgbm8gcmVkaXJlY3RVcmkgaXMgcHJvdmlkZWQsIGRlZmF1bHRzIHRvIHRoZSBjdXJyZW50IG9yaWdpbiAod2luZG93LmxvY2F0aW9uLm9yaWdpbikuXG4gIHB1YmxpYyByZWRpcmVjdFVyaTogc3RyaW5nID0gd2luZG93LmxvY2F0aW9uLm9yaWdpbjtcblxuICAvLyBUaGUgdXJsIHRoYXQgaXMgcmVkaXJlY3RlZCB0byB3aGVuIHVzaW5nIHRva2VuLmdldFdpdGhSZWRpcmVjdC5cbiAgLy8gSWYgbm8gcmVkaXJlY3RVcmkgaXMgcHJvdmlkZWQsIGRlZmF1bHRzIHRvIHRoZSBjdXJyZW50IG9yaWdpbiAod2luZG93LmxvY2F0aW9uLm9yaWdpbikuXG4gIHB1YmxpYyBwb3N0TG9nb3V0UmVkaXJlY3RVcmk6IHN0cmluZyA9IHdpbmRvdy5sb2NhdGlvbi5vcmlnaW47XG5cbiAgLy8gU3BlY2lmeSB3aGF0IGluZm9ybWF0aW9uIHRvIG1ha2UgYXZhaWxhYmxlIGluIHRoZSByZXR1cm5lZCBpZF90b2tlbiBvciBhY2Nlc3NfdG9rZW4uXG4gIC8vIEZvciBPSURDLCB5b3UgbXVzdCBpbmNsdWRlIG9wZW5pZCBhcyBvbmUgb2YgdGhlIHNjb3Blcy5cbiAgLy8gRGVmYXVsdHMgdG8gWydvcGVuaWQnLCAnZW1haWwnXS5cbiAgcHVibGljIHNjb3Blczogc3RyaW5nW10gPSBbJ29wZW5pZCcsICdwcm9maWxlJywgJ2VtYWlsJ107XG5cbiAgLy8gQXJyYXkgb2Ygc2VjdXJlIFVSTHMgb24gd2hpY2ggdGhlIHRva2VuIHNob3VsZCBiZSBzZW50IGlmIHRoZSBpbnRlcmNlcHRvciBpcyBhZGRlZCB0byB0aGUgYEhUVFBfSU5URVJDRVBUT1JTYC5cbiAgcHVibGljIHJlc291cmNlU2VydmVyczogc3RyaW5nW10gPSBbXTtcbn1cblxuZXhwb3J0IGNvbnN0IE9BVVRIX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxPQXV0aENvbmZpZz4oJ09BVVRIX0NPTkZJRycpO1xuIl19