当前位置 : 主页 > 手机开发 > cordova >

cordova – 适用于移动应用和网站的Ionic和Google OAuth

来源:互联网 收集:自由互联 发布时间:2021-06-10
我在与我们网站共享的API对话的Ionic应用程序中使用 Google Plus authentication plugin时遇到问题. 在Google控制台中,我有三个OAuth 2.0客户端ID,给出了示例ID Android客户端(由Google服务自动创建)1.a
我在与我们网站共享的API对话的Ionic应用程序中使用 Google Plus authentication plugin时遇到问题.

在Google控制台中,我有三个OAuth 2.0客户端ID,给出了示例ID

> Android客户端(由Google服务自动创建)1.apps.google
> iOS客户端(由Google服务自动创建)2.apps.google
> Webapp 3.app.googles

它们都以相同的12位数字开头,以“apps.googleusercontent.com”结尾.

根据Google’s documentation,我应该能够通过添加标识API的客户端ID的范围设置来针对同一API项目验证移动应用和网站. _scope:观众:服务器:CLIENT_ID:3.apps.google_

this.googlePlus.login({
  'webClientId': '2.apps.google',
  'scope': 'scope:audience:server:client_id:3.apps.google'
})

我已经能够从Google返回一个JWT,但是当我解码它时,我发现aud值与我的webClientId设置相匹配,它应该是范围的值.至于Ic,告诉我们唯一持久保存clientID的地方(如Ionic所做的.gitignore文件不排除的那样)是config.xml

<plugin name="cordova-plugin-googleplus" spec="git+https://github.com/EddyVerbruggen/cordova-plugin-googleplus.git">
    <variable name="REVERSED_CLIENT_ID" value="google.apps.2" />
</plugin>

和package.json

"cordova-plugin-googleplus": {
    "REVERSED_CLIENT_ID": "google.apps.2"
  }

那么,我将哪些客户ID放在哪里,以便我的移动应用可以根据我们网站使用的相同API对用户进行身份验证?

该解决方案似乎是API客户端ID的变化.到目前为止,我们一直在使用完整的id,就像这样

1234567890-abcdefghijklmnopqrstuvwxyz.apps.googleusercontent.com

但是,如果我们将API更改为仅使用1234567890部分,则它接受Web和app客户端,其中使用自己的ID.

网友评论