2012-09-30 196 views
0

我一直在努力工作一段時間,試圖在Google App Engine上安裝SimpleAuth,並且遇到麻煩。首先在示例代碼的底部,他們有這個:安裝SimpleAuth for GAE時遇到問題

def _get_consumer_info_for(self, provider): 
     """Should return a tuple (key, secret) for auth init requests. 
     For OAuth 2.0 you should also return a scope, e.g. 
     ('my app id', 'my app secret', 'email,user_about_me') 

     The scope depends solely on the provider. 
     See example/secrets.py.template 
     """ 
     return secrets.AUTH_CONFIG[provider] 

我沒有看到祕密文件,也沒有看到它應該做什麼。

然後除了這個小問題,我很好奇我應該如何呈現供應商和他們的登錄URL給用戶。本頁面:https://github.com/crhym3/simpleauth/blob/master/example/handlers.py對常規設置有很好的描述,但它沒有任何描述,我們實際需要傳遞給用戶以讓他們登錄。

謝謝!

回答

1

首先,請注意,這只是一個示例,因此爲演示目的簡化了一些代碼部分。

secrets是一個單獨的模塊。自述文件說要將secrets.py.template複製到secrets.py並設置適當的客戶端/消費者ID和密碼。同樣,請參閱自述文件以瞭解從哪裏獲取不同提供商的客戶/機密信息。

渲染取決於你。我所做的an example是這樣的:

<p>Try logging in with one of these:</p> 
<a href="/auth/google">Google</a> 
<a href="/auth/facebook">Facebook</a> 
<a href="/auth/openid?identity_url=me.yahoo.com">Yahoo! (OpenID)</a> 
<a href="/auth/twitter">Twitter</a> 
<a href="/auth/linkedin">LinkedIn</a> 
<a href="/auth/windows_live">Windows Live</a> 

這些/auth/...鏈接應該被路由到您的處理(一般webapp2.RequestHandler或某些子類)這是混在SimpleAuthHandler

您可以在https://simpleauth.appspot.com上看到示例應用程序,希望能夠澄清事情。

+0

感謝您的有益的職位。這清除了我的一個重要問題,但是我已經閱讀了自述文件,而且我沒有看到任何名爲secrets.py的文件,這導致了一些混淆。這是我們應該自己創建的文件嗎? – clifgray

+0

是的。有一個模板,你可以從什麼開始,完全相同的secretts.py。這是example/secrets.py.template:https://github.com/crhym3/simpleauth/blob/master/example/secrets.py.template只需將其複製到secrets.py(沒有「.template」結尾)並修改它,即設置真正的客戶/祕密。 – alex