UNPKG

kopi-id

Version:
101 lines (93 loc) 5.73 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _joi = _interopRequireDefault(require("joi")); var _constants = _interopRequireDefault(require("../constants")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } var validResponseTypes = [_constants["default"].authenticationRequest.responseTypes.CODE, _constants["default"].authenticationRequest.responseTypes.ID_TOKEN, _constants["default"].authenticationRequest.responseTypes.TOKEN]; var validDisplay = [_constants["default"].authenticationRequest.display.PAGE, _constants["default"].authenticationRequest.display.POPUP, _constants["default"].authenticationRequest.display.TOUCH, _constants["default"].authenticationRequest.display.WAP]; var validPrompts = [_constants["default"].authenticationRequest.prompt.NONE, _constants["default"].authenticationRequest.prompt.LOGIN, _constants["default"].authenticationRequest.prompt.CONSENT, _constants["default"].authenticationRequest.prompt.SELECT_ACCOUNT]; var CustomJoi = _joi["default"].extend(function (joi) { return { base: joi.array(), name: 'spaceArray', coerce: function coerce(value, state, options) { if (typeof value !== 'string') { return value; } return value.trim().split(' '); } }; }); var _default = { authenticationRequestGet: { query: { scope: CustomJoi.spaceArray().has(_constants["default"].authenticationRequest.scope.OPENID).required(), response_type: CustomJoi.spaceArray().items(_joi["default"].string().valid(validResponseTypes)).required(), client_id: _joi["default"].string().min(1).required(), redirect_uri: _joi["default"].string().min(1).required(), state: _joi["default"].string().optional(), response_mode: _joi["default"].string().optional(), nonce: _joi["default"].when('response_type', { is: _joi["default"].array().has(_constants["default"].authenticationRequest.responseTypes.ID_TOKEN), then: _joi["default"].when('response_type', { is: _joi["default"].array().has(_constants["default"].authenticationRequest.responseTypes.CODE), then: _joi["default"].string().optional(), otherwise: _joi["default"].string().required() }), otherwise: _joi["default"].string().optional() }), display: _joi["default"].string().valid(validDisplay).optional(), prompt: CustomJoi.spaceArray().items(_joi["default"].string().valid(validPrompts)).optional(), max_age: _joi["default"].number().integer().min(0).optional(), ui_locales: CustomJoi.spaceArray().items(_joi["default"].string()).optional(), id_token_hint: _joi["default"].string().optional(), login_hint: _joi["default"].string().optional(), acr_values: CustomJoi.spaceArray().items(_joi["default"].string()).optional(), claims_locales: CustomJoi.spaceArray().items(_joi["default"].string()).optional() }, params: {}, body: {} }, authenticationRequestPost: { query: {}, params: {}, body: { scope: CustomJoi.spaceArray().has(_constants["default"].authenticationRequest.scope.OPENID).required(), response_type: _joi["default"].alternatives([CustomJoi.spaceArray().items(_joi["default"].string().valid(validResponseTypes)), _joi["default"].array().items(_joi["default"].string().valid(validResponseTypes))]).required(), client_id: _joi["default"].string().min(1).required(), redirect_uri: _joi["default"].string().min(1).required(), state: _joi["default"].string().optional(), response_mode: _joi["default"].string().optional(), nonce: _joi["default"].when('response_type', { is: _joi["default"].alternatives([CustomJoi.spaceArray().items().has(_constants["default"].authenticationRequest.responseTypes.ID_TOKEN), _joi["default"].array().has(_constants["default"].authenticationRequest.responseTypes.ID_TOKEN)]), then: _joi["default"].when('response_type', { is: _joi["default"].alternatives([CustomJoi.spaceArray().items().has(_constants["default"].authenticationRequest.responseTypes.CODE), _joi["default"].array().has(_constants["default"].authenticationRequest.responseTypes.CODE)]), then: _joi["default"].string().optional(), otherwise: _joi["default"].string().required() }), otherwise: _joi["default"].string().optional() }), display: _joi["default"].string().valid(validDisplay).optional(), prompt: _joi["default"].alternatives([CustomJoi.spaceArray().items(_joi["default"].string().valid(validPrompts)), _joi["default"].array().items(_joi["default"].string().valid(validPrompts))]).optional(), max_age: _joi["default"].number().integer().min(0).optional(), ui_locales: _joi["default"].alternatives([CustomJoi.spaceArray().items(_joi["default"].string()), _joi["default"].array().items(_joi["default"].string())]).optional(), id_token_hint: _joi["default"].string().optional(), login_hint: _joi["default"].string().optional(), acr_values: _joi["default"].alternatives([CustomJoi.spaceArray().items(_joi["default"].string()), _joi["default"].array().items(_joi["default"].string())]).optional(), claims_locales: _joi["default"].alternatives([CustomJoi.spaceArray().items(_joi["default"].string()), _joi["default"].array().items(_joi["default"].string())]).optional() } }, tokenRequestPost: { query: {}, params: {}, body: { grant_type: _joi["default"].string().required(), code: _joi["default"].string().required(), redirect_uri: _joi["default"].string().required() } } }; exports["default"] = _default;