wie funktioniert session/token oder Anmeldung bei graphql?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
anonym44

Guten Tag alle zusammen,

ich verstehe irgendwie nicht, wie ich einen Login in Graphql programmieren kann.

Beim Login erstelle ich das Attribut user

Code: Alles auswählen

class Login(graphene.Mutation):
    def mutate(self, info, username, password):
    info.context.update({"user" : {"username" : "Lucadou", "user_id" : 11}})
    

Wenn ich das Attribut User abrufen möchte existiert es gar nicht

Code: Alles auswählen



class Query(graphene.ObjectType):
            
    token = graphene.String()
    
    def resolve_token(root, info):
        print("info.context.user: %s" % ppretty(info.context))
        return info.context.get('user')

Vielen Dank!
Benutzeravatar
peterpy
User
Beiträge: 188
Registriert: Donnerstag 7. März 2013, 11:35

Hallo,
ich hab keine Erfahrung mit graphene.
Funktioniert der print Befehl?
Wenn ja, solltest Du nicht mit get() auf den info.context zugreifen, info.context ist ein Dict.
sondern mit: info.context[user]
Gruss
Peter
Benutzeravatar
__blackjack__
User
Beiträge: 14052
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@peterpy: Das kommt auf das Verhalten an was man haben möchte falls `user` als Schlüssel nicht existiert. Falls man dann einen `KeyError` ausgelöst haben möchte, dann ``self.context[user]``. Falls man aber keine Ausnahme haben möchte, sondern den Wert `None`, dann ``self.context.get(user)``.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Antworten