【问题标题】:Having trouble installing SimpleAuth for GAE为 GAE 安装 SimpleAuth 时遇到问题
【发布时间】:2012-10-01 17:25:48
【问题描述】:

我已经工作了一段时间,试图在 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 对一般设置有很好的描述,但没有描述我们实际需要传递给用户以让他们登录的内容。

谢谢!

【问题讨论】:

    标签: python google-app-engine login oauth openid


    【解决方案1】:

    首先,请注意,这只是一个示例,因此为了演示目的,对某些代码部分进行了简化。

    secrets 是一个单独的模块。自述文件说将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 上查看示例应用程序,希望它能澄清一些事情。

    【讨论】:

    • 感谢您的帮助。这解决了我的一个大问题,但我已经阅读了自述文件,我没有看到任何名为 secrets.py 的文件,这导致了一些混乱。那是我们应该自己创建的文件吗?
    • 是的。您可以从一个模板开始,与 secrets.py 相同。它是 example/secrets.py.template:github.com/crhym3/simpleauth/blob/master/example/… 只需将其复制到 secrets.py(没有“.template”结尾)并修改它,即设置真实的客户端/机密。
    猜你喜欢
    • 2018-01-16
    • 2011-09-17
    • 2020-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-11
    • 2013-12-24
    • 2020-02-27
    相关资源
    最近更新 更多