Seite 1 von 1

wie funktioniert session/token oder Anmeldung bei graphql?

Verfasst: Mittwoch 10. Juni 2020, 00:13
von 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!

Re: wie funktioniert session/token oder Anmeldung bei graphql?

Verfasst: Mittwoch 10. Juni 2020, 09:13
von peterpy
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

Re: wie funktioniert session/token oder Anmeldung bei graphql?

Verfasst: Mittwoch 10. Juni 2020, 10:39
von __blackjack__
@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)``.