# =============================================== # AUTHENTICATION # =============================================== extend type Query { authentication: AuthenticationQuery } extend type Mutation { authentication: AuthenticationMutation } # ----------------------------------------------- # QUERIES # ----------------------------------------------- type AuthenticationQuery { strategies( filter: String orderBy: String ): [AuthenticationStrategy] } # ----------------------------------------------- # MUTATIONS # ----------------------------------------------- type AuthenticationMutation { login( username: String! password: String! strategy: String! ): AuthenticationLoginResponse loginTFA( loginToken: String! securityCode: String! ): DefaultResponse updateStrategy( strategy: String! isEnabled: Boolean! config: [KeyValuePairInput] ): DefaultResponse } # ----------------------------------------------- # TYPES # ----------------------------------------------- type AuthenticationStrategy { isEnabled: Boolean! key: String! props: [String] title: String! useForm: Boolean! icon: String config: [KeyValuePair] selfRegistration: Boolean! domainWhitelist: [String]! autoEnrollGroups: [String]! } type AuthenticationLoginResponse { responseResult: ResponseStatus tfaRequired: Boolean tfaLoginToken: String }