This screencast顯示如何從外部認證中檢索其他用戶配置文件屬性。但我不明白我怎麼才能更新用戶帳戶每次用戶登錄可能更新的配置文件屬性?每次用戶身份驗證或第一次都調用onCreateUser
?從我的理解來看,這只是第一次。那麼我怎樣才能登錄進程來更新屬性呢?更新Meteor中來自外部認證源的屬性
0
A
回答
0
當某人登錄並手動更新屬性時,您需要掛鉤。
首先你需要的東西,當用戶登錄時,告訴。目前,你可以使用基於客戶端的解決方案使用的東西(如呼叫向服務器發出第二次在成功登錄),如meteor-prescence或編輯核心軟件包並將它們放入您的/packages
目錄中。
改變accounts-base
包文件accounts-server.js
創建一個「鉤」,當在
Meteor.methods({
login: function(options) {
.....
if (result !== null)
//Run here
this.setUserId(result.id);
return result;
},
});
然後在//Run Here
添加連接到Facebook和讓你需要的數據功能在用戶登錄。或者如果您決定使用meteor-prescence
或類似的庫或方法,則可以從客戶端調用Meteor.call方法。這將是類似的措施:
if(Meteor.user().services.facebook.accessToken) {
var graph = Npm.require('fbgraph');
graph.setAccessToken(Meteor.user().services.facebook.accessToken);
graph.get('/me',{},function(err,result) {
//Update your user (you could also alter services.facebook instead
Meteor.users.update(Meteor.userId, {$set: {profile:result}});
}
}
在上面的例子中是使用fbgraph
節點模塊(你將需要安裝)的Facebook - 或使用的方法描述here使用NPM模塊,而不一個單獨的包。原則上,您也可以爲其他提供商提供相同的服務。請注意,您不必在此處向您的提供商使用同步類型調用,因爲這些數據可以在登錄後立即更新。
另一個可以掛接的位置也在_setUserId
方法livedata
包。
相關問題
- 1. Django的用戶和來自外部來源的認證
- 2. 更新組件的外部屬性
- 3. 如何從外部來源更新uitextview。
- 4. 來自外部數據源的SQL表內容更新
- 5. Externarlize ehcache.xml以使用來自外部屬性文件的屬性
- 6. 當屬性是來自Meteor的反應性數據源時,我能否讓React組件重新呈現自身?
- 7. 返回更多屬性(來自數據庫外部模型)
- 8. TortoiseSvn - 自動更新多個外部屬性
- 9. 帶[授權]屬性的MVC外部認證
- 10. 依賴屬性 - 更新源
- 11. 更新屬性到外鍵
- 12. TextBlock Text屬性在更新其源Binding屬性時未更新?
- 13. 來自外部數據源的Oracle MERGE
- 14. 外部認證4.7
- 15. ASP.NET外部認證
- 16. 爪哇黃瓜:從外部來源@CucumberOptions就像屬性文件
- 17. 來自外部程序集的ApiControllers的屬性路由
- 18. Firebase認證自定義屬性失敗
- 19. 獲取來自額外的屬性值
- 20. 請求Excel在更改外部源後自動更新
- 21. 如何更新綁定的自定義依賴項屬性的來源?
- 22. 動態地更改來自外部源的彈出內容
- 23. Nuxt外部來源
- 24. CRM Dynamics 2013如何使用ExecuteMultipleRequest更新來自外部源的多個記錄
- 25. 使用外部來源的整數更新標籤
- 26. 配置來自intellij外部的數據庫屬性
- 27. 使用ServletContext讀取來自外部戰爭的Hibernate屬性
- 28. 來自Wirecloud中複雜實體的NGSI更新屬性
- 29. Rails:通過AJAX重新渲染部分來更新自定義屬性
- 30. 如何更改默認部署屬性?
糾正我,如果我錯了:不是所有的用戶相關的操作被寫入您可以觀察到的'用戶'集合嗎? – imslavko
@imslavko:問題是當他的個人資料@ Facebook/Twitter /等發生變化時,如何更新用戶個人資料。 –
您是否嘗試從onCreateUser中取出Meteor.http.get調用並將其添加到用戶登錄後運行的幫助程序中? – booyaa