2018-03-10 05:58:04 +00:00
|
|
|
# ===============================================
|
|
|
|
# AUTHENTICATION
|
|
|
|
# ===============================================
|
|
|
|
|
2018-03-05 20:49:36 +00:00
|
|
|
extend type Query {
|
|
|
|
authentication: AuthenticationQuery
|
|
|
|
}
|
|
|
|
|
|
|
|
extend type Mutation {
|
|
|
|
authentication: AuthenticationMutation
|
|
|
|
}
|
|
|
|
|
2018-03-10 05:58:04 +00:00
|
|
|
# -----------------------------------------------
|
|
|
|
# QUERIES
|
|
|
|
# -----------------------------------------------
|
|
|
|
|
2018-03-05 20:49:36 +00:00
|
|
|
type AuthenticationQuery {
|
2018-03-09 05:33:43 +00:00
|
|
|
providers(
|
|
|
|
filter: String
|
|
|
|
orderBy: String
|
|
|
|
): [AuthenticationProvider]
|
2018-03-05 20:49:36 +00:00
|
|
|
}
|
|
|
|
|
2018-03-10 05:58:04 +00:00
|
|
|
# -----------------------------------------------
|
|
|
|
# MUTATIONS
|
|
|
|
# -----------------------------------------------
|
|
|
|
|
2018-03-06 01:53:24 +00:00
|
|
|
type AuthenticationMutation {
|
2018-03-10 05:58:04 +00:00
|
|
|
login(
|
|
|
|
username: String!
|
|
|
|
password: String!
|
|
|
|
provider: String!
|
|
|
|
): AuthenticationLoginResponse
|
|
|
|
|
|
|
|
loginTFA(
|
|
|
|
loginToken: String!
|
|
|
|
securityCode: String!
|
|
|
|
): DefaultResponse
|
|
|
|
|
2018-03-06 01:53:24 +00:00
|
|
|
updateProvider(
|
|
|
|
provider: String!
|
|
|
|
isEnabled: Boolean!
|
|
|
|
config: [KeyValuePairInput]
|
|
|
|
): DefaultResponse
|
|
|
|
}
|
2018-03-05 20:49:36 +00:00
|
|
|
|
2018-03-10 05:58:04 +00:00
|
|
|
# -----------------------------------------------
|
|
|
|
# TYPES
|
|
|
|
# -----------------------------------------------
|
|
|
|
|
2018-03-05 20:49:36 +00:00
|
|
|
type AuthenticationProvider {
|
|
|
|
isEnabled: Boolean!
|
|
|
|
key: String!
|
|
|
|
props: [String]
|
|
|
|
title: String!
|
|
|
|
useForm: Boolean!
|
|
|
|
icon: String
|
2018-03-06 01:53:24 +00:00
|
|
|
config: [KeyValuePair]
|
2018-03-05 20:49:36 +00:00
|
|
|
}
|
2018-03-10 05:58:04 +00:00
|
|
|
|
|
|
|
type AuthenticationLoginResponse {
|
|
|
|
operation: ResponseStatus
|
|
|
|
tfaRequired: Boolean
|
|
|
|
tfaLoginToken: String
|
|
|
|
}
|