2017-04-22 123 views
0

我的流星應用程序允許用戶註冊並使用Google和電子郵件/密碼登錄。流星:loginWithGoogle無需更新用戶的許可範圍

使用Google登錄時,我只需要email權限。登錄後,用戶可以轉到用戶設置和Connect Google Calendar,這會將日曆權限添加到用戶的範圍(此時執行另一個請求日曆權限的loginWithGoogle)。

問題是,每當用戶從登錄頁面使用Google帳戶登錄時,scope對象被更新爲loginWithGoogle函數,並且日曆範圍被刪除(因爲這裏的登錄功能只需要電子郵件許可)。

是否有任何方式登錄用戶而不更新/替換範圍?我無法通過登錄頁面要求獲得日曆許可,因爲我希望用戶能夠決定他們是否希望將日曆與應用程序同步。

謝謝。

+1

據我所知,如果你沒有在初始登錄設置範圍計劃,你必須把它作爲一個[附加的範圍(https://developers.google.com/身份/登錄/網絡/增量驗證)。這樣,您就不會侵犯用戶的任何隱私(因爲您會要求他們的許可(例如訪問/同步他們的日曆數據))。這種權限握手可能取決於您的實施。希望這可以幫助。 –

回答

0

如果其他人正在尋找答案,解決方案就像在登錄選項中添加選項include_granted_scopes:true一樣簡單。

Meteor.loginWithGoogle({ 
    requestPermission: [''email], 
    loginUrlParameters: {include_granted_scopes: true} 
}, function(err){})