type Query { me: CurrentUser } type Mutation { """ Authenticates the user using the native authentication strategy. This mutation is an alias for authenticate({ native: { ... }}) The `rememberMe` option applies when using cookie-based sessions, and if `true` it will set the maxAge of the session cookie to 1 year. """ login(username: String!, password: String!, rememberMe: Boolean): NativeAuthenticationResult! "Authenticates the user using a named authentication strategy" authenticate(input: AuthenticationInput!, rememberMe: Boolean): AuthenticationResult! logout: Success! } # Populated at run-time input AuthenticationInput union NativeAuthenticationResult = CurrentUser | InvalidCredentialsError | NativeAuthStrategyError union AuthenticationResult = CurrentUser | InvalidCredentialsError