我希望能够将自定义数据存储在身份验证返回的JSON对象中。 - AngularFire2 方法
使用Ionic2 - AngularFire2库中的电子邮件/密码方法进行身份验证后。
signin(credentials) {
return this.af.auth.login(credentials);
}
this.af.auth.login 方法返回一个包含以下数据的 json 对象。
{
"auth": {
"uid": "d901fffb-********8099",
"displayName": null,
"photoURL": null,
"email": "****@gmail.com",
"emailVerified": false,
"isAnonymous": false,
"providerData": [
{
"uid": "*****@gmail.com",
"displayName": null,
"photoURL": null,
"email": "****@gmail.com",
"providerId": "password"
}
],
"apiKey": "AB*********",
"appName": "[DEFAULT]",
"authDomain": "******",
"stsTokenManager": {
"apiKey": "***********",
"refreshToken": "ADDl5SEJAWQ90BDG8q1uN6_mn2QYpkMLALUog1ax8lkkmHSQp3jM6CE9BM34ur59Es99rlPnuNM5dsIGAqPZQ3HXRYXpmvr4Jy5UHLgyQEgSg9NydfjXeRuTgajnsPu5bGlJqt679hl_Fv-y_7LIXewW0fr9tzjyH3ur3-_QoXNT99wHazLIwqD4CdsKI95Ka64CI4O12PikH6Huti4vqzxdXy6jq-8jTA",
"accessToken": "eyJhbGciOiJSUzI1NiIsImtpZCI6Ijk5ZGI1MDc4ZDRkOWUyMTAyZDg1NzA0MWMzMjExNjZiZGE3OGUxZjAifQ.eyJpc3MiOiJodHRwczovL3NlY3VyZXRva2VuLmdvb2dsZS5jb20vcm9hZGJhbmd2YXBwIiwiYXVkIjoicm9hZGJhbmd2YXBwIiwiYXV0aF90aW1lIjoxNDg0MTk1MjY3LCJ1c2VyX2lkIjoiZDkwMWZmZmItNzJkMy00YzVhLThjZGEtOGY0MWYyZjQ4MDk5Iiwic3ViIjoiZDkwMWZmZmItNzJkMy00YzVhLThjZGEtOGY0MWYyZjQ4MDk5IiwiaWF0IjoxNDg0MTk1MjY3LCJleHAiOjE0ODQxOTg4NjcsImVtYWlsIjoibWFnbnVzLm1lbHdpbkBnbWFpbC5jb20iLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsImZpcmViYXNlIjp7ImlkZW50aXRpZXMiOnsiZW1haWwiOlsibWFnbnVzLm1lbHdpbkBnbWFpbC5jb20iXX0sInNpZ25faW5fcHJvdmlkZXIiOiJwYXNzd29yZCJ9fQ.tyqjKCJ_QhBGTRw9ji2iq8bbwmyT4i5vt4MsYpoQHwgicew9PWV1OKoGCHQho0l5ilGHkUeXrDAg3xD7_RHhM_CLNnqNJl-m76-F3uYM1AEjzLMPd2j6q6aO6m3E3fWSa5t9rJYtvuCNaKexpAB9g_l_HTOjNsX4E9XNCB5-v0_vjt9uYPsHM5G-yjuOxru-FJYhNwCCpN3rN97XzP9vkBhWSCQTCHBM3yS4xKCgzMeUb909OUxZK4ZrQFLP0BYPB3U1izmYlSdWd_tuLHm5GMqmerdXf08W_737UpOHOZuLls2pO9RVok-FjYAji-wxQTVEI0hq-hr7v1-mCqiIOw",
"expirationTime": 1484198865797
},
"redirectEventId": null
},
"uid": "d901f***********8099",
"provider": 4
}
我要做的是添加诸如公司名称,手机号码,固定电话...并且返回了上述 JSON 对象的一些此类字段。
因此,auth.login json promise call 会存储配置文件数据,而我不必单独将其他数据存储在 firebase 数据库中。
任何帮助将不胜感激。
我的系统信息如下:
Cordova CLI: 6.4.0
Ionic Framework Version: 2.0.0-rc.3
Ionic CLI Version: 2.1.18
Ionic App Lib Version: 2.1.9
Ionic App Scripts Version: 0.0.48
ios-deploy version: Not installed
ios-sim version: Not installed
OS: Linux 4.4
Node Version: v6.9.0
Xcode version: Not installed
使用 Angularfire2 和 Firebase 3
根据 https://docs.ionic.io/services/auth/#storing-data
它应该像
auth.user.set('birthdate', '5/17/1985');
但请注意,您必须导入云身份验证服务
编辑:3/13 啊,意识到我忘了注意你也必须打电话
auth.user.save()
设置完所有字段后,您可以调用 .load() 来获取最新数据。
这样尝试,没有auth.user我只调用用户
this.user.set('birthday', '3/04/1999');
this.user.set('username', 'JaneDoe');
this.user.save();