UNPKG

node-socialite

Version:

Socialite is an OAuth2 authentication tool for Node.js

63 lines (62 loc) 2.28 kB
'use strict'; 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()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Gitee = void 0; const BaseProvider_1 = require("../Core/BaseProvider"); const User_1 = require("../Core/User"); /** * @see [OAuth文档](https://gitee.com/api/v5/oauth_doc) */ class Gitee extends BaseProvider_1.BaseProvider { constructor() { super(...arguments); this._scopes = ['user_info']; } getAuthUrl() { return this.buildAuthUrlFromBase('https://gitee.com/oauth/authorize'); } getTokenUrl() { return 'https://gitee.com/oauth/token'; } getUserByToken(token) { return __awaiter(this, void 0, void 0, function* () { let response = yield this.doRequest({ url: 'https://gitee.com/api/v5/user', method: 'get', params: { 'access_token': token, }, }); let data = response.data; return data; }); } mapUserToObject(user) { return new User_1.User({ id: user['id'] || null, nickname: user['login'] || null, name: user['name'] || null, email: user['email'] || null, avatar: user['avatar_url'] || null, }); } getTokenFields(code) { return { client_id: this.getClientId(), client_secret: this.getClientSecret(), code, redirect_uri: this._redirectUrl, grant_type: 'authorization_code', }; } } exports.Gitee = Gitee; Gitee.NAME = 'gitee';