2012-04-03 51 views
2

我需要一個唯一的數據存儲區密鑰,用於通過openid與Google應用程序引擎的Python 2.7運行時認證的用戶。從聯合身份標識生成唯一的數據存儲區密鑰

我應該使用User.federated_identity()還是User.federated_provider() + User.federated_identity()

換句話說,User.federated_identity()對於所有供應商或只有一個特定的供應商是唯一的嗎?

回答

2

User.federated_identity()「返回用戶的OpenID標識符」,根據定義(它是唯一標識用戶的URL)是唯一的。

+0

感謝您回覆尼克。我對GAE文檔感到困惑,它指出User.user_id()將針對非Google帳戶返回None。至少在我最初的(雲)測試中,它似乎會爲所有開放標識提供商返回一個值。由於我使用的是「.user_id()」或「.federated_id()」,所以我從來沒有看到實際的federated_id值。當我在開發服務器上使用user_id時,我將邏輯改爲了user_id,否則將federated_id改爲邏輯,現在我可以看到它們顯然是唯一的。 – 2012-04-05 07:54:12

相關問題