我已经工作了一段时间,尝试在Google App Engine上安装SimpleAuth,但我遇到了麻烦。首先在示例代码的底部,他们有这个:
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对常规设置有很好的描述,但它没有任何描述我们实际需要传递给用户以让他们登录的内容。
谢谢!
答案 0 :(得分:1)
首先,请注意它只是一个示例,因此为演示目的简化了一些代码部分。
secrets
是一个单独的模块。 README文件说要将secrets.py.template复制到secrets.py并设置适当的客户端/消费者ID和秘密。再次,请参阅README以获取有关为不同提供商获取客户端/机密的信息。
渲染取决于您。我作为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/...
链接应该路由到与SimpleAuthHandler
混合的处理程序(通常是webapp2.RequestHandler或某个子类)。
您可以在https://simpleauth.appspot.com看到示例应用,希望它能澄清事情。