首页 > 解决方案 > 如何在 Google AMP 中实现 Google 和 Facebook 的登录按钮?

问题描述

我想创建一个简单的 Facebook 和 Google 的“登录”按钮。

我阅读了文档(https://amp.dev/documentation/examples/personalization/oauth2_login/#setup)并查看了操场部分中的示例,但我的问题是我该如何做这部分

"facebook-sign-in": "https://ampbyexample.com/oauth/login/facebook",
"google-sign-in": "https://ampbyexample.com/oauth/login/google",

在 AMP 文档示例中:

<script id="amp-access" type="application/json">
    {
        "authorization": "https://ampbyexample.com/oauth/status?_=RANDOM",
        "noPingback": "true",
        "login": {
          "facebook-sign-in":"https://ampbyexample.com/oauth/login/facebook",
          "google-sign-in":"https://ampbyexample.com/oauth/login/google",
          "github-sign-in":"https://ampbyexample.com/oauth/login/github",
          "sign-out":"https://ampbyexample.com/oauth/logout"
        },
        "authorizationFallbackResponse": {
            "error": true,
            "loggedIn": false
        }
    }
</script>

我在我的应用程序中的这个文件https://ampbyexample.com/oauth/login/facebook里面做什么?我需要做什么?我对这部分很困惑。

编辑 我找到了这个例子,但是如何在没有在 amp 的弹出窗口中打开一个新的弹出窗口的情况下使用 facebook 制作这个逻辑?(https://developers.facebook.com/docs/facebook-login/web)关于这个例子,我的登录按钮只是留在 amp 弹出窗口内......但我的预期结果就像这个例子在这里

标签: facebook-logingoogle-signinamp-html

解决方案


使用 amp-access 登录将始终打开一个新的弹出窗口。这是为了确保始终可以在您自己的来源上写入第​​一方 cookie,即使 AMP 页面是从 AMP 缓存中提供的。


推荐阅读