@betha-plataforma/oauth
Version:
Biblioteca JavaScript para lidar com o fluxo do OAuth 2.0 em aplicações Web, com suporte a TypeScript.
47 lines • 4.62 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());
});
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const OpenIDProvider_spec_1 = require("../../Provider/OpenIDProvider.spec");
const ava_1 = __importDefault(require("ava"));
const url_1 = require("url");
const Authorization_1 = require("./Authorization");
ava_1.default('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: OpenIDProvider_spec_1.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_1.Authorization(config);
const url = new url_1.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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXV0aG9yaXphdGlvbi5zcGVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9BcGkvQXV0aG9yaXphdGlvbi9BdXRob3JpemF0aW9uLnNwZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFDQSw0RUFBbUU7QUFDbkUsOENBQXVCO0FBQ3ZCLDZCQUEwQjtBQUUxQixtREFBaUU7QUFFakUsYUFBSSxDQUFDLHVEQUF1RCxFQUFFLENBQU0sQ0FBQyxFQUFDLEVBQUU7SUFDdEUsTUFBTSxNQUFNLEdBQWdCO1FBQzFCLFFBQVEsRUFBRSxXQUFXO1FBQ3JCLElBQUksRUFBRSxVQUFVO1FBQ2hCLFFBQVEsRUFBRSxtQ0FBYTtRQUN2QixXQUFXLEVBQUUsd0JBQXdCO1FBQ3JDLEtBQUssRUFBRSxZQUFZO0tBQ3BCLENBQUM7SUFFRixNQUFNLE1BQU0sR0FBb0I7UUFDOUIsY0FBYyxFQUFFLFdBQVc7UUFDM0IscUJBQXFCLEVBQUUsTUFBTTtRQUM3QixhQUFhLEVBQUUsTUFBTTtRQUNyQixLQUFLLEVBQUUsT0FBTztLQUNmLENBQUM7SUFFRixNQUFNLGFBQWEsR0FBa0IsSUFBSSw2QkFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRS9ELE1BQU0sR0FBRyxHQUFRLElBQUksU0FBRyxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUVoRSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDN0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQ2hDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3RDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3pELENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLEVBQUUsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQy9ELENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xELENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDcEUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQ2xGLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2xFLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDOUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDcEQsQ0FBQyxDQUFBLENBQUMsQ0FBQyJ9