@betha-plataforma/oauth
Version:
Biblioteca JavaScript para lidar com o fluxo do OAuth 2.0 em aplicações Web, com suporte a TypeScript.
42 lines • 4.44 kB
JavaScript
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
import { dummyProvider } from '../../Provider/OpenIDProvider.spec';
import test from 'ava';
import { URL } from 'url';
import { Authorization } from './Authorization';
test('authorize returns the endpoint to authenticate a user', (t) => __awaiter(void 0, void 0, void 0, function* () {
const config = {
clientId: 'client_id',
flow: 'IMPLICIT',
provider: dummyProvider,
redirectUri: 'http://my.app/callback',
scope: 'read write',
};
const params = {
code_challenge: 'challenge',
code_challenge_method: 'S256',
response_type: 'code',
state: 'state',
};
const authorization = new Authorization(config);
const url = new URL(authorization.getAuthorizeURL(params));
t.is(url.protocol, 'https:');
t.is(url.host, 'oauth.my.test');
t.is(url.pathname, '/auth/authorize');
t.is(url.searchParams.get('client_id'), config.clientId);
t.is(url.searchParams.get('redirect_uri'), config.redirectUri);
t.is(url.searchParams.get('scope'), config.scope);
t.is(url.searchParams.get('code_challenge'), params.code_challenge);
t.is(url.searchParams.get('code_challenge_method'), params.code_challenge_method);
t.is(url.searchParams.get('response_type'), params.response_type);
t.is(url.searchParams.get('prompt'), 'login');
t.is(url.searchParams.get('state'), params.state);
}));
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXV0aG9yaXphdGlvbi5zcGVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9BcGkvQXV0aG9yaXphdGlvbi9BdXRob3JpemF0aW9uLnNwZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQ0EsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ25FLE9BQU8sSUFBSSxNQUFNLEtBQUssQ0FBQztBQUN2QixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRTFCLE9BQU8sRUFBRSxhQUFhLEVBQW1CLE1BQU0saUJBQWlCLENBQUM7QUFFakUsSUFBSSxDQUFDLHVEQUF1RCxFQUFFLENBQU0sQ0FBQyxFQUFDLEVBQUU7SUFDdEUsTUFBTSxNQUFNLEdBQWdCO1FBQzFCLFFBQVEsRUFBRSxXQUFXO1FBQ3JCLElBQUksRUFBRSxVQUFVO1FBQ2hCLFFBQVEsRUFBRSxhQUFhO1FBQ3ZCLFdBQVcsRUFBRSx3QkFBd0I7UUFDckMsS0FBSyxFQUFFLFlBQVk7S0FDcEIsQ0FBQztJQUVGLE1BQU0sTUFBTSxHQUFvQjtRQUM5QixjQUFjLEVBQUUsV0FBVztRQUMzQixxQkFBcUIsRUFBRSxNQUFNO1FBQzdCLGFBQWEsRUFBRSxNQUFNO1FBQ3JCLEtBQUssRUFBRSxPQUFPO0tBQ2YsQ0FBQztJQUVGLE1BQU0sYUFBYSxHQUFrQixJQUFJLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUUvRCxNQUFNLEdBQUcsR0FBUSxJQUFJLEdBQUcsQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFFaEUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzdCLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxlQUFlLENBQUMsQ0FBQztJQUNoQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUN0QyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN6RCxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMvRCxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsRCxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3BFLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsRUFBRSxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUNsRixDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNsRSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzlDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3BELENBQUMsQ0FBQSxDQUFDLENBQUMifQ==