Swift 3: Authenticate with custom token(s), managing requests with server (node.js) -


there not information in firebase docs on dealing custom tokens.

i have set server node.js, don't know how manage requests server send information app , vice-versa. resources on how achieve this?

this code node.js server

var serviceaccount = require('./service-account.json'); var firebase = require('firebase'); var path = require("path"); var admin = require('firebase-admin'); var firebasetokengenerator = require("firebase-token-generator"); var refreshtoken;  var uid = 'clientid'; var additionalclaims = {   admin: true, manager: true, menuaccess: true }; var clientidtoken = firebase.auth().createcustomtoken(uid, additionalclaims);  console.log(clientidtoken)  firebase.initializeapp({      serviceaccount: path.resolve(__dirname, '/users/myusername/desktop/nodeclient/service-account.json'),     databaseurl: "https://<firebase-project>.firebaseio.com/",     databaseauthvariableoverride: {       uid: "clientid"     }  });  

in xcode:

    func login (email: string, password: string, oncomplete: completion?) {         self.showactivityindicatory(uiview: self.uiview)             firauth.auth()?.signin(withemail: email, password: password, completion: { (user, error) in              if error != nil {                  self.handlefirebaseerror(error: error! nserror, oncomplete: oncomplete)                  self.stopanimating()              } else {                  // user logged in                  firauth.auth()?.addstatedidchangelistener { auth, user in                     if user != nil {                          let userupdate = ["provider": string(describing:firauth.auth()?.currentuser?.providerid), "email": "email": string(describing: firauth.auth()?.currentuser?.email!) ]                         dataservice.instance.registerusers(uid: (user?.uid)!, user: userupdate)                          firauth.auth()?.signin(withcustomtoken: "clientidtoken") {(user, error) in                              if user != nil {                                 print("got here somehow..")                                 print(user?.uid)  // create custom token, user?.uid should "clientid", right?                              } else {                                 print(error)  // error here                             }                          }                          print("signed in")                      } else {                         print("not signed in")                     }                 }                  let deadlinetime = dispatchtime.now() + .seconds(1)                 dispatchqueue.main.asyncafter(deadline: deadlinetime) {                      self.performsegue(withidentifier: "homesegue", sender: nil)                  }                  }              })      } 

optional(error domain=firautherrordomain code=17000 "the custom token format incorrect. please check documentation." userinfo={nslocalizeddescription=the custom token format incorrect. please check documentation., error_name=error_invalid_custom_token})

how shall proceed? know have send credentials server app, how achieve this? thinking of digging jwt , alamofire, , have searched days solve particular problem. have encountered other programmers tackling same issue.


Comments

Popular posts from this blog

sql server - Cannot query correctly (MSSQL - PHP - JSON) -

php - trouble displaying mysqli database results in correct order -

C++ Linked List -