Auth - ob-vss-ss18/ppl-core GitHub Wiki
Jede Anfrage im System enthält ein User-Object über diesen die Gültigkeit der Anfrage überprüft werden kann. Der Auth-Service verwaltet diese Token sowie die Zugangsberechtigungen für Angestellte und Kunden.
- Kunden können über ihre Email-Adresse ein PasswordlessLogin-Token anfragen. Den bekommen sie per Email zugesandt und ist 30 min lang gültig.
- Mitarbeiter loggen sich mit ihrer Email-Adresse und ihrem Password ein. Diese Token laufen nicht ab, können jedoch durch erneuten Login ungültig gesetzt werden.
- Die Query
user
stellt einen Gültigkeitscheck dar: Ist der übergebene User so in der Datenbank enthalten und ist der Token gültig wird der User zurückgegeben, ansonsten wird ein Error zurückgegeben.
type User {
uid: ID!
email: String!
role: UserRole!
token: String
}
enum UserRole {
OWNER
STAFF
CUSTOMER
}
type Query {
user(user: User): User
}
type Mutation {
requestToken(email: String!): Boolean
loginPwd(email: String!, password: String!): User
loginToken(email: String!, token: String): User
}