oauth-2.0 如何实现谷歌OAuth登录没有googleplus插件 cordova 应用程序?

lokaqttq  于 2022-10-31  发布在  Go
关注(0)|答案(2)|浏览(164)

我正在尝试使用谷歌OAuth为我的应用程序。由于我有限制,不能使用谷歌加插件或任何其他类似的插件,我尝试了手动过程,如下面的iOS( cordova 应用程序,离子)。
我使用了 In-app browser 插件,点击一个按钮,在safari浏览器上打开使用in-appbrowser目标作为**_system**的谷歌OAuth URL。

https://accounts.google.com/o/oauth2/v2/auth?
 scope=email%20profile&
 response_type=code&
 state=security_token%3D138r5719ru3e1%26url%3Dhttps%3A%2F%2Foauth2.example.com%2Ftoken&
 redirect_uri=**reverse_client_id**%3A/oauth2redirect&
 client_id=***

Google登录屏幕出现,在输入所需的详细信息(用户名、密码)后,它会重定向到我的应用程序
问题是,当它重定向回来,它不调用页面(Angular 路线)的应用程序仍然是理想的. [重定向路径:/oauth2]
如何处理重定向?

pw136qt2

pw136qt21#

我找到了几个解决办法

  1. https://github.com/cmgustavo/Custom-URL-scheme#readme
  2. https://ionicframework.com/docs/native/deeplinks
    第一个插件有一个名为handleOpenURL的方法,使用该方法可以捕获OAuth代码。
(window as any).handleOpenURL = (url: string) => {
      setTimeout(function() {
        console.log("handle open url called", url)
      }, 0);
    }

上面捕获的URL有一个code,可用于获取access token

9rbhqvlz

9rbhqvlz2#

要在Angular中实现与谷歌的登录,您必须按照给定的步骤:
1.在谷歌云控制台平台上创建一个谷歌应用程序,并生成一个客户端ID。
1.创建新的Angular 应用程序。
1.使用Google OAuth 2.0协议实现与Google的登录。
你可以阅读我写在Codingvila Angular 14 Login with Google using OAuth 2.0上的文章,我用例子一步一步地解释了一切。
您也可以download范例范例来进行练习。

相关问题