UNPKG

@dbg-riskit/angular-auth

Version:

71 lines 9.61 kB
// @dynamic export class RequestUtils { static get locationHref() { return window.location.href; } static set locationHref(href) { window.location.href = href; } static getURLPath(href) { const link = document.createElement('a'); link.href = href; return link.pathname; } static getOrigin() { const port = window.location.port ? `:${window.location.port}` : ''; return window.location.origin || (`${window.location.protocol}//${window.location.hostname}${port}`); } static getBaseURL(location, relativeURL = '/') { let baseURL = ''; if (location) { baseURL = RequestUtils.getURLPath(location.prepareExternalUrl('/')); } if (!baseURL.startsWith('/')) { baseURL = '/' + baseURL; } if (!baseURL.endsWith('/')) { baseURL += '/'; } if (relativeURL.startsWith('/')) { relativeURL = relativeURL.substring(1); } const origin = RequestUtils.getOrigin(); return origin + baseURL + relativeURL; } static getQueryParam(name) { const url = RequestUtils.locationHref; name = name.replace(/[\[\]]/g, '\\$&'); const regex = new RegExp(`[?#&]${name}(=([^&#]*)|&|#|$)`); const results = regex.exec(url); if (!results) { return null; } if (!results[2]) { return ''; } return decodeURIComponent(results[2].replace(/\+/g, ' ')); } static getOpenIDQueryParams() { const error = RequestUtils.getQueryParam('error'); const errorDesc = RequestUtils.getQueryParam('error_description'); const code = RequestUtils.getQueryParam('code'); const idToken = RequestUtils.getQueryParam('id_token'); const accessToken = RequestUtils.getQueryParam('access_token'); return { error, errorDesc, code, id_token: idToken, access_token: accessToken }; } static hasOpenIDQueryParams() { const params = RequestUtils.getOpenIDQueryParams(); return params.error != null || params.errorDesc != null || params.code != null || params.id_token != null || params.access_token != null; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BrZy9kYmctcmlza2l0L2FuZ3VsYXItYXV0aC9zcmMvbGliL3JlcXVlc3QudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBVUEsV0FBVztBQUNYLE1BQU0sT0FBTyxZQUFZO0lBRWQsTUFBTSxLQUFLLFlBQVk7UUFDMUIsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztJQUNoQyxDQUFDO0lBRU0sTUFBTSxLQUFLLFlBQVksQ0FBQyxJQUFZO1FBQ3ZDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNoQyxDQUFDO0lBRU8sTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFZO1FBQ2xDLE1BQU0sSUFBSSxHQUFzQixRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBRU0sTUFBTSxDQUFDLFNBQVM7UUFDbkIsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3BFLE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxLQUFLLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxHQUFHLElBQUksRUFBRSxDQUFDLENBQUM7SUFDekcsQ0FBQztJQUVNLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBa0IsRUFBRSxXQUFXLEdBQUcsR0FBRztRQUMxRCxJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDakIsSUFBSSxRQUFRLEVBQUU7WUFDVixPQUFPLEdBQUcsWUFBWSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUN2RTtRQUNELElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQzFCLE9BQU8sR0FBRyxHQUFHLEdBQUcsT0FBTyxDQUFDO1NBQzNCO1FBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDeEIsT0FBTyxJQUFJLEdBQUcsQ0FBQztTQUNsQjtRQUNELElBQUksV0FBVyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUM3QixXQUFXLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUMxQztRQUVELE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUN4QyxPQUFPLE1BQU0sR0FBRyxPQUFPLEdBQUcsV0FBVyxDQUFDO0lBQzFDLENBQUM7SUFFTSxNQUFNLENBQUMsYUFBYSxDQUFDLElBQVk7UUFDcEMsTUFBTSxHQUFHLEdBQUcsWUFBWSxDQUFDLFlBQVksQ0FBQztRQUN0QyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDdkMsTUFBTSxLQUFLLEdBQUcsSUFBSSxNQUFNLENBQUMsUUFBUSxJQUFJLG1CQUFtQixDQUFDLENBQUM7UUFDMUQsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ1YsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUNELElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDYixPQUFPLEVBQUUsQ0FBQztTQUNiO1FBQ0QsT0FBTyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFTSxNQUFNLENBQUMsb0JBQW9CO1FBQzlCLE1BQU0sS0FBSyxHQUFHLFlBQVksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEQsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sSUFBSSxHQUFHLFlBQVksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEQsTUFBTSxPQUFPLEdBQUcsWUFBWSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN2RCxNQUFNLFdBQVcsR0FBRyxZQUFZLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQy9ELE9BQU87WUFDSCxLQUFLO1lBQ0wsU0FBUztZQUNULElBQUk7WUFDSixRQUFRLEVBQU0sT0FBTztZQUNyQixZQUFZLEVBQUUsV0FBVztTQUM1QixDQUFDO0lBQ04sQ0FBQztJQUVNLE1BQU0sQ0FBQyxvQkFBb0I7UUFDOUIsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDbkQsT0FBTyxNQUFNLENBQUMsS0FBSyxJQUFJLElBQUk7ZUFDakIsTUFBTSxDQUFDLFNBQVMsSUFBSSxJQUFJO2VBQ3hCLE1BQU0sQ0FBQyxJQUFJLElBQUksSUFBSTtlQUNuQixNQUFNLENBQUMsUUFBUSxJQUFJLElBQUk7ZUFDdkIsTUFBTSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUM7SUFDMUMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtMb2NhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuZXhwb3J0IGludGVyZmFjZSBPcGVuSURRdWVyeVBhcmFtcyB7XG4gICAgZXJyb3I6IHN0cmluZyB8IG51bGw7XG4gICAgZXJyb3JEZXNjOiBzdHJpbmcgfCBudWxsO1xuICAgIGNvZGU6IHN0cmluZyB8IG51bGw7XG4gICAgaWRfdG9rZW46IHN0cmluZyB8IG51bGw7XG4gICAgYWNjZXNzX3Rva2VuOiBzdHJpbmcgfCBudWxsO1xufVxuXG4vLyBAZHluYW1pY1xuZXhwb3J0IGNsYXNzIFJlcXVlc3RVdGlscyB7XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldCBsb2NhdGlvbkhyZWYoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHdpbmRvdy5sb2NhdGlvbi5ocmVmO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgc2V0IGxvY2F0aW9uSHJlZihocmVmOiBzdHJpbmcpIHtcbiAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBocmVmO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIGdldFVSTFBhdGgoaHJlZjogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IGxpbms6IEhUTUxBbmNob3JFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuICAgICAgICBsaW5rLmhyZWYgPSBocmVmO1xuICAgICAgICByZXR1cm4gbGluay5wYXRobmFtZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldE9yaWdpbigpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBwb3J0ID0gd2luZG93LmxvY2F0aW9uLnBvcnQgPyBgOiR7d2luZG93LmxvY2F0aW9uLnBvcnR9YCA6ICcnO1xuICAgICAgICByZXR1cm4gd2luZG93LmxvY2F0aW9uLm9yaWdpbiB8fCAoYCR7d2luZG93LmxvY2F0aW9uLnByb3RvY29sfS8vJHt3aW5kb3cubG9jYXRpb24uaG9zdG5hbWV9JHtwb3J0fWApO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0QmFzZVVSTChsb2NhdGlvbjogTG9jYXRpb24sIHJlbGF0aXZlVVJMID0gJy8nKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IGJhc2VVUkwgPSAnJztcbiAgICAgICAgaWYgKGxvY2F0aW9uKSB7XG4gICAgICAgICAgICBiYXNlVVJMID0gUmVxdWVzdFV0aWxzLmdldFVSTFBhdGgobG9jYXRpb24ucHJlcGFyZUV4dGVybmFsVXJsKCcvJykpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghYmFzZVVSTC5zdGFydHNXaXRoKCcvJykpIHtcbiAgICAgICAgICAgIGJhc2VVUkwgPSAnLycgKyBiYXNlVVJMO1xuICAgICAgICB9XG4gICAgICAgIGlmICghYmFzZVVSTC5lbmRzV2l0aCgnLycpKSB7XG4gICAgICAgICAgICBiYXNlVVJMICs9ICcvJztcbiAgICAgICAgfVxuICAgICAgICBpZiAocmVsYXRpdmVVUkwuc3RhcnRzV2l0aCgnLycpKSB7XG4gICAgICAgICAgICByZWxhdGl2ZVVSTCA9IHJlbGF0aXZlVVJMLnN1YnN0cmluZygxKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG9yaWdpbiA9IFJlcXVlc3RVdGlscy5nZXRPcmlnaW4oKTtcbiAgICAgICAgcmV0dXJuIG9yaWdpbiArIGJhc2VVUkwgKyByZWxhdGl2ZVVSTDtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldFF1ZXJ5UGFyYW0obmFtZTogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IHVybCA9IFJlcXVlc3RVdGlscy5sb2NhdGlvbkhyZWY7XG4gICAgICAgIG5hbWUgPSBuYW1lLnJlcGxhY2UoL1tcXFtcXF1dL2csICdcXFxcJCYnKTtcbiAgICAgICAgY29uc3QgcmVnZXggPSBuZXcgUmVnRXhwKGBbPyMmXSR7bmFtZX0oPShbXiYjXSopfCZ8I3wkKWApO1xuICAgICAgICBjb25zdCByZXN1bHRzID0gcmVnZXguZXhlYyh1cmwpO1xuICAgICAgICBpZiAoIXJlc3VsdHMpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGlmICghcmVzdWx0c1syXSkge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkZWNvZGVVUklDb21wb25lbnQocmVzdWx0c1syXS5yZXBsYWNlKC9cXCsvZywgJyAnKSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXRPcGVuSURRdWVyeVBhcmFtcygpOiBPcGVuSURRdWVyeVBhcmFtcyB7XG4gICAgICAgIGNvbnN0IGVycm9yID0gUmVxdWVzdFV0aWxzLmdldFF1ZXJ5UGFyYW0oJ2Vycm9yJyk7XG4gICAgICAgIGNvbnN0IGVycm9yRGVzYyA9IFJlcXVlc3RVdGlscy5nZXRRdWVyeVBhcmFtKCdlcnJvcl9kZXNjcmlwdGlvbicpO1xuICAgICAgICBjb25zdCBjb2RlID0gUmVxdWVzdFV0aWxzLmdldFF1ZXJ5UGFyYW0oJ2NvZGUnKTtcbiAgICAgICAgY29uc3QgaWRUb2tlbiA9IFJlcXVlc3RVdGlscy5nZXRRdWVyeVBhcmFtKCdpZF90b2tlbicpO1xuICAgICAgICBjb25zdCBhY2Nlc3NUb2tlbiA9IFJlcXVlc3RVdGlscy5nZXRRdWVyeVBhcmFtKCdhY2Nlc3NfdG9rZW4nKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGVycm9yLFxuICAgICAgICAgICAgZXJyb3JEZXNjLFxuICAgICAgICAgICAgY29kZSxcbiAgICAgICAgICAgIGlkX3Rva2VuICAgIDogaWRUb2tlbixcbiAgICAgICAgICAgIGFjY2Vzc190b2tlbjogYWNjZXNzVG9rZW5cbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGhhc09wZW5JRFF1ZXJ5UGFyYW1zKCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBwYXJhbXMgPSBSZXF1ZXN0VXRpbHMuZ2V0T3BlbklEUXVlcnlQYXJhbXMoKTtcbiAgICAgICAgcmV0dXJuIHBhcmFtcy5lcnJvciAhPSBudWxsXG4gICAgICAgICAgICAgICB8fCBwYXJhbXMuZXJyb3JEZXNjICE9IG51bGxcbiAgICAgICAgICAgICAgIHx8IHBhcmFtcy5jb2RlICE9IG51bGxcbiAgICAgICAgICAgICAgIHx8IHBhcmFtcy5pZF90b2tlbiAhPSBudWxsXG4gICAgICAgICAgICAgICB8fCBwYXJhbXMuYWNjZXNzX3Rva2VuICE9IG51bGw7XG4gICAgfVxufVxuIl19