cbp-lib
Version:
Libraries for cbp
40 lines (37 loc) • 1.37 kB
JavaScript
import * as yup from 'yup'
export const Schema = {
authClientOptions: yup.object().shape({
storage: yup.object(),
authorization_server: yup.string().required(),
authentication_endpoint: yup.string().required(),
token_endpoint: yup.string().required(),
token_endpoint_auth_method: yup.string(),
client_id: yup.string().required(),
client_secret: yup.string(),
grant_type: yup.string(),
userinfo_endpoint: yup.string(),
monitor_session: yup.boolean(),
check_session_iframe: yup.string(), // for oidc
end_session_endpoint: yup.string(), // for oidc
post_logout_redirect_uri: yup.string(), // for oidc
prompt: yup.string(), // for oidc
display: yup.string(), // for oidc
scope: yup.string(), // for oidc
response_type: yup.string(), // for oidc
redirect_uri: yup.string(), // for oidc
nonce: yup.string(),
state: yup.string()
}),
mgmtClientOptions: yup.object().shape({
resource_endpoint: yup.string().required(),
client_id: yup.string(), // [optional]
token: yup.string()
})
}
export const validateSchema = (schema, data) => {
return new Promise((resolve, reject) => {
schema.validate(data).catch(error => {
reject(error)
})
})
}