-
Notifications
You must be signed in to change notification settings - Fork 166
Expand file tree
/
Copy pathauthorization_service_configuration.js
More file actions
61 lines (61 loc) · 8.43 KB
/
Copy pathauthorization_service_configuration.js
File metadata and controls
61 lines (61 loc) · 8.43 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
"use strict";
/*
* Copyright 2017 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
* in compliance with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the
* License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing permissions and
* limitations under the License.
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.AuthorizationServiceConfiguration = void 0;
var xhr_1 = require("./xhr");
/**
* The standard base path for well-known resources on domains.
* See https://tools.ietf.org/html/rfc5785 for more information.
*/
var WELL_KNOWN_PATH = '.well-known';
/**
* The standard resource under the well known path at which an OpenID Connect
* discovery document can be found under an issuer's base URI.
*/
var OPENID_CONFIGURATION = 'openid-configuration';
/**
* Configuration details required to interact with an authorization service.
*
* More information at https://openid.net/specs/openid-connect-discovery-1_0-17.html
*/
var AuthorizationServiceConfiguration = /** @class */ (function () {
function AuthorizationServiceConfiguration(request) {
this.authorizationEndpoint = request.authorization_endpoint;
this.tokenEndpoint = request.token_endpoint;
this.revocationEndpoint = request.revocation_endpoint;
this.userInfoEndpoint = request.userinfo_endpoint;
this.endSessionEndpoint = request.end_session_endpoint;
}
AuthorizationServiceConfiguration.prototype.toJson = function () {
return {
authorization_endpoint: this.authorizationEndpoint,
token_endpoint: this.tokenEndpoint,
revocation_endpoint: this.revocationEndpoint,
end_session_endpoint: this.endSessionEndpoint,
userinfo_endpoint: this.userInfoEndpoint
};
};
AuthorizationServiceConfiguration.fetchFromIssuer = function (openIdIssuerUrl, requestor) {
var newUrl = openIdIssuerUrl.split('?');
var fullUrl = newUrl[0] + "/" + WELL_KNOWN_PATH + "/" + OPENID_CONFIGURATION + (newUrl[1] ? '?' + newUrl[1] : '');
var requestorToUse = requestor || new xhr_1.JQueryRequestor();
return requestorToUse
.xhr({ url: fullUrl, dataType: 'json', method: 'GET' })
.then(function (json) { return new AuthorizationServiceConfiguration(json); });
};
return AuthorizationServiceConfiguration;
}());
exports.AuthorizationServiceConfiguration = AuthorizationServiceConfiguration;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aG9yaXphdGlvbl9zZXJ2aWNlX2NvbmZpZ3VyYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYXV0aG9yaXphdGlvbl9zZXJ2aWNlX2NvbmZpZ3VyYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7R0FZRzs7O0FBRUgsNkJBQWlEO0FBY2pEOzs7R0FHRztBQUNILElBQU0sZUFBZSxHQUFHLGFBQWEsQ0FBQztBQUV0Qzs7O0dBR0c7QUFDSCxJQUFNLG9CQUFvQixHQUFHLHNCQUFzQixDQUFDO0FBRXBEOzs7O0dBSUc7QUFDSDtJQU9FLDJDQUFZLE9BQThDO1FBQ3hELElBQUksQ0FBQyxxQkFBcUIsR0FBRyxPQUFPLENBQUMsc0JBQXNCLENBQUM7UUFDNUQsSUFBSSxDQUFDLGFBQWEsR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDO1FBQzVDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxPQUFPLENBQUMsbUJBQW1CLENBQUM7UUFDdEQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQztRQUNsRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsT0FBTyxDQUFDLG9CQUFvQixDQUFDO0lBQ3pELENBQUM7SUFFRCxrREFBTSxHQUFOO1FBQ0UsT0FBTztZQUNMLHNCQUFzQixFQUFFLElBQUksQ0FBQyxxQkFBcUI7WUFDbEQsY0FBYyxFQUFFLElBQUksQ0FBQyxhQUFhO1lBQ2xDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxrQkFBa0I7WUFDNUMsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLGtCQUFrQjtZQUM3QyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsZ0JBQWdCO1NBQ3pDLENBQUM7SUFDSixDQUFDO0lBRU0saURBQWUsR0FBdEIsVUFBdUIsZUFBdUIsRUFBRSxTQUFxQjtRQUVuRSxJQUFNLE1BQU0sR0FBRyxlQUFlLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzFDLElBQU0sT0FBTyxHQUFNLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBSSxlQUFlLFNBQUksb0JBQW9CLElBQ25FLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFFLENBQUM7UUFFdkMsSUFBTSxjQUFjLEdBQUcsU0FBUyxJQUFJLElBQUkscUJBQWUsRUFBRSxDQUFDO1FBRTFELE9BQU8sY0FBYzthQUNoQixHQUFHLENBQXdDLEVBQUMsR0FBRyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUMsQ0FBQzthQUMzRixJQUFJLENBQUMsVUFBQSxJQUFJLElBQUksT0FBQSxJQUFJLGlDQUFpQyxDQUFDLElBQUksQ0FBQyxFQUEzQyxDQUEyQyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUNILHdDQUFDO0FBQUQsQ0FBQyxBQXJDRCxJQXFDQztBQXJDWSw4RUFBaUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTcgR29vZ2xlIEluYy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdFxuICogaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZVxuICogTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXJcbiAqIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtKUXVlcnlSZXF1ZXN0b3IsIFJlcXVlc3Rvcn0gZnJvbSAnLi94aHInO1xuXG5cbi8qKlxuICogUmVwcmVzZW50cyBBdXRob3JpemF0aW9uU2VydmljZUNvbmZpZ3VyYXRpb24gYXMgYSBKU09OIG9iamVjdC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBdXRob3JpemF0aW9uU2VydmljZUNvbmZpZ3VyYXRpb25Kc29uIHtcbiAgYXV0aG9yaXphdGlvbl9lbmRwb2ludDogc3RyaW5nO1xuICB0b2tlbl9lbmRwb2ludDogc3RyaW5nO1xuICByZXZvY2F0aW9uX2VuZHBvaW50OiBzdHJpbmc7XG4gIGVuZF9zZXNzaW9uX2VuZHBvaW50Pzogc3RyaW5nO1xuICB1c2VyaW5mb19lbmRwb2ludD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBUaGUgc3RhbmRhcmQgYmFzZSBwYXRoIGZvciB3ZWxsLWtub3duIHJlc291cmNlcyBvbiBkb21haW5zLlxuICogU2VlIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM1Nzg1IGZvciBtb3JlIGluZm9ybWF0aW9uLlxuICovXG5jb25zdCBXRUxMX0tOT1dOX1BBVEggPSAnLndlbGwta25vd24nO1xuXG4vKipcbiAqIFRoZSBzdGFuZGFyZCByZXNvdXJjZSB1bmRlciB0aGUgd2VsbCBrbm93biBwYXRoIGF0IHdoaWNoIGFuIE9wZW5JRCBDb25uZWN0XG4gKiBkaXNjb3ZlcnkgZG9jdW1lbnQgY2FuIGJlIGZvdW5kIHVuZGVyIGFuIGlzc3VlcidzIGJhc2UgVVJJLlxuICovXG5jb25zdCBPUEVOSURfQ09ORklHVVJBVElPTiA9ICdvcGVuaWQtY29uZmlndXJhdGlvbic7XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBkZXRhaWxzIHJlcXVpcmVkIHRvIGludGVyYWN0IHdpdGggYW4gYXV0aG9yaXphdGlvbiBzZXJ2aWNlLlxuICpcbiAqIE1vcmUgaW5mb3JtYXRpb24gYXQgaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LWRpc2NvdmVyeS0xXzAtMTcuaHRtbFxuICovXG5leHBvcnQgY2xhc3MgQXV0aG9yaXphdGlvblNlcnZpY2VDb25maWd1cmF0aW9uIHtcbiAgYXV0aG9yaXphdGlvbkVuZHBvaW50OiBzdHJpbmc7XG4gIHRva2VuRW5kcG9pbnQ6IHN0cmluZztcbiAgcmV2b2NhdGlvbkVuZHBvaW50OiBzdHJpbmc7XG4gIHVzZXJJbmZvRW5kcG9pbnQ/OiBzdHJpbmc7XG4gIGVuZFNlc3Npb25FbmRwb2ludD86IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihyZXF1ZXN0OiBBdXRob3JpemF0aW9uU2VydmljZUNvbmZpZ3VyYXRpb25Kc29uKSB7XG4gICAgdGhpcy5hdXRob3JpemF0aW9uRW5kcG9pbnQgPSByZXF1ZXN0LmF1dGhvcml6YXRpb25fZW5kcG9pbnQ7XG4gICAgdGhpcy50b2tlbkVuZHBvaW50ID0gcmVxdWVzdC50b2tlbl9lbmRwb2ludDtcbiAgICB0aGlzLnJldm9jYXRpb25FbmRwb2ludCA9IHJlcXVlc3QucmV2b2NhdGlvbl9lbmRwb2ludDtcbiAgICB0aGlzLnVzZXJJbmZvRW5kcG9pbnQgPSByZXF1ZXN0LnVzZXJpbmZvX2VuZHBvaW50O1xuICAgIHRoaXMuZW5kU2Vzc2lvbkVuZHBvaW50ID0gcmVxdWVzdC5lbmRfc2Vzc2lvbl9lbmRwb2ludDtcbiAgfVxuXG4gIHRvSnNvbigpIHtcbiAgICByZXR1cm4ge1xuICAgICAgYXV0aG9yaXphdGlvbl9lbmRwb2ludDogdGhpcy5hdXRob3JpemF0aW9uRW5kcG9pbnQsXG4gICAgICB0b2tlbl9lbmRwb2ludDogdGhpcy50b2tlbkVuZHBvaW50LFxuICAgICAgcmV2b2NhdGlvbl9lbmRwb2ludDogdGhpcy5yZXZvY2F0aW9uRW5kcG9pbnQsXG4gICAgICBlbmRfc2Vzc2lvbl9lbmRwb2ludDogdGhpcy5lbmRTZXNzaW9uRW5kcG9pbnQsXG4gICAgICB1c2VyaW5mb19lbmRwb2ludDogdGhpcy51c2VySW5mb0VuZHBvaW50XG4gICAgfTtcbiAgfVxuXG4gIHN0YXRpYyBmZXRjaEZyb21Jc3N1ZXIob3BlbklkSXNzdWVyVXJsOiBzdHJpbmcsIHJlcXVlc3Rvcj86IFJlcXVlc3Rvcik6XG4gICAgICBQcm9taXNlPEF1dGhvcml6YXRpb25TZXJ2aWNlQ29uZmlndXJhdGlvbj4ge1xuICAgIGNvbnN0IG5ld1VybCA9IG9wZW5JZElzc3VlclVybC5zcGxpdCgnPycpO1xuICAgIGNvbnN0IGZ1bGxVcmwgPSBgJHtuZXdVcmxbMF19LyR7V0VMTF9LTk9XTl9QQVRIfS8ke09QRU5JRF9DT05GSUdVUkFUSU9OfSR7XG4gICAgICAgIG5ld1VybFsxXSA/ICc/JyArIG5ld1VybFsxXSA6ICcnfWA7XG5cbiAgICBjb25zdCByZXF1ZXN0b3JUb1VzZSA9IHJlcXVlc3RvciB8fCBuZXcgSlF1ZXJ5UmVxdWVzdG9yKCk7XG5cbiAgICByZXR1cm4gcmVxdWVzdG9yVG9Vc2VcbiAgICAgICAgLnhocjxBdXRob3JpemF0aW9uU2VydmljZUNvbmZpZ3VyYXRpb25Kc29uPih7dXJsOiBmdWxsVXJsLCBkYXRhVHlwZTogJ2pzb24nLCBtZXRob2Q6ICdHRVQnfSlcbiAgICAgICAgLnRoZW4oanNvbiA9PiBuZXcgQXV0aG9yaXphdGlvblNlcnZpY2VDb25maWd1cmF0aW9uKGpzb24pKTtcbiAgfVxufVxuIl19