core/schemas/auth.graphql

242 lines
3.9 KiB
GraphQL
Raw Normal View History

2023-10-23 14:47:11 +00:00
scalar Dict
type ConfigType {
authorizerURL: String!
redirectURL: String!
clientID: String!
extraHeaders: [Header]
}
type User {
id: ID!
email: String!
preferred_username: String!
email_verified: Boolean!
signup_methods: String!
given_name: String
family_name: String
middle_name: String
nickname: String
picture: String
gender: String
birthdate: String
phone_number: String
phone_number_verified: Boolean
roles: [String]
created_at: Int!
updated_at: Int!
is_multi_factor_auth_enabled: Boolean
}
type AuthToken {
message: String
access_token: String!
expires_in: Int!
id_token: String!
refresh_token: String
user: User
should_show_email_otp_screen: Boolean
should_show_mobile_otp_screen: Boolean
}
type Response {
message: String!
}
type Header {
key: String!
value: String!
}
input HeaderIn {
key: String!
value: String!
}
input LoginInput {
email: String!
password: String!
roles: [String]
scope: [String]
state: String
}
input SignupInput {
email: String!
password: String!
confirm_password: String!
given_name: String
family_name: String
middle_name: String
nickname: String
picture: String
gender: String
birthdate: String
phone_number: String
roles: [String]
scope: [String]
redirect_uri: String
is_multi_factor_auth_enabled: Boolean
state: String
}
input MagicLinkLoginInput {
email: String!
roles: [String]
scopes: [String]
state: String
redirect_uri: String
}
input VerifyEmailInput {
token: String!
state: String
}
input VerifyOtpInput {
email: String
phone_number: String
otp: String!
state: String
}
input ResendOtpInput {
email: String
phone_number: String
}
input GraphqlQueryInput {
query: String!
variables: Dict
headers: [HeaderIn]
}
type MetaData {
version: String!
client_id: String!
is_google_login_enabled: Boolean!
is_facebook_login_enabled: Boolean!
is_github_login_enabled: Boolean!
is_linkedin_login_enabled: Boolean!
is_apple_login_enabled: Boolean!
is_twitter_login_enabled: Boolean!
is_microsoft_login_enabled: Boolean!
is_email_verification_enabled: Boolean!
is_basic_authentication_enabled: Boolean!
is_magic_link_login_enabled: Boolean!
is_sign_up_enabled: Boolean!
is_strong_password_enabled: Boolean!
}
input UpdateProfileInput {
old_password: String
new_password: String
confirm_new_password: String
email: String
given_name: String
family_name: String
middle_name: String
nickname: String
gender: String
birthdate: String
phone_number: String
picture: String
is_multi_factor_auth_enabled: Boolean
}
input ForgotPasswordInput {
email: String!
state: String
redirect_uri: String
}
input ResetPasswordInput {
token: String!
password: String!
confirm_password: String!
}
input SessionQueryInput {
roles: [String]
}
input IsValidJWTQueryInput {
jwt: String!
roles: [String]
}
type ValidJWTResponse {
valid: String!
message: String!
}
enum OAuthProviders {
Apple
Github
Google
Facebook
LinkedIn
}
enum ResponseTypes {
Code
Token
}
input AuthorizeInput {
response_type: ResponseTypes!
use_refresh_token: Boolean
response_mode: String
}
type AuthorizeResponse {
state: String!
code: String
error: String
error_description: String
}
input RevokeTokenInput {
refresh_token: String!
}
input GetTokenInput {
code: String
grant_type: String
refresh_token: String
}
type GetTokenResponse {
access_token: String!
expires_in: Int!
id_token: String!
refresh_token: String
}
input ValidateJWTTokenInput {
token_type: TokenType!
token: String!
roles: [String]
}
type ValidateJWTTokenResponse {
is_valid: Boolean!
claims: Dict
}
input ValidateSessionInput {
cookie: String
roles: [String]
}
type ValidateSessionResponse {
is_valid: Boolean!
user: User
}
enum TokenType {
access_token
id_token
refresh_token
}