首页 > 解决方案 > 在flutter中使用graphql注册时如何获取令牌

问题描述

您好,我正在尝试在用户注册时获取令牌值。我正在运行突变查询以注册新用户,但我的问题是注册成功后我不知道如何获取令牌。

这是 api 端点https://agro-e-commerce.herokuapp.com/graphql 这是我在 graphql 游乐场的变异查询

mutation{
   signUp(data: {
   full_name:"",
user_name:"",
email:"",
phone:"",
password:"",
division:"",
region:"",
address:""
}){
token}
}

这是我颤动的代码

String query0 = """
mutation run(\$full_name: String!,\$user_name:String!,\$email:String!,
\$phone: String!,\$password: String!,\$division: String!,\$region:String!,\$address: String!){
signUp(data:{
full_name:\$full_name
user_name:\$user_name,
    email:\$email,
    phone:\$phone,
    password:\$password,
    division:\$division,
    region:\$region,
    address:\$address

}){
token
}
}

body: new Mutation(       
builder: (RunMutation runMutation, QueryResult result) {    
      return FloatingActionButton(
        child: new Icon(Icons.add),
        onPressed: () {
          runMutation({
            'user_name': 'anikkoll',
            'full_name': 'anikk karmokerkll',
            'email': 'anikjkoy78749kl@gmail.com',
            'phone': '0167605672879',
            'password': 'password',
            'division': 'barishal',
            'region': 'barishal sadar',
            'address': 'kawnia'
          });

        },
      );

    },
    options: MutationOptions(document: query0),

    onCompleted: (resultdata) {  
        print(resultdata);               
    }

我只期望令牌,但我得到了这个

{signUp: {token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjgzYTQzMzJhLTk2OWQtNDI3Mi05OWY3LTdiOWNjN2ZlNDhkOCIsImVtYWlsIjoiYW5pa2prb3k3bDg3NDlrbEBnbWFpbC5jb20iLCJ1c2VyX25hbWUiOiJhbmlra29vbGwiLCJyb2xlIjoiQ09OU1VNRVIiLCJpbWFnZSI6bnVsbCwiZnVsbF9uYW1lIjoiYW5pa2tsIGthcm1va2Vya2xsIiwicGhvbmUiOiIwMTU3NjA1NjcyODc5IiwiYWRkcmVzcyI6Imthd25pYSIsInJlZ2lvbiI6ImJhcmlzaGFsIHNhZGFyIiwiZGl2aXNpb24iOiJiYXJpc2hhbCIsImlhdCI6MTU2MzE3ODkxOSwiZXhwIjoxNTYzNzgzNzE5fQ.qCpES_c-dtk7nr-EXqTbTWjIdj4OMqB2HBsEwFXDMlc}}

标签: fluttergraphql

解决方案


在您的查询中,您只请求令牌。作为回报,你得到了你的令牌。
这是您现在想要的令牌,您只需对其进行解码。


推荐阅读