uniapp中APP项目第三方登录之谷歌登录

uniapp中使用谷歌登录

1.在使用 uni.login 方法进行谷歌登录之前,你需要先在谷歌开发者控制台上创建一个项目,并将项目的客户端 ID 配置到你的应用程序中。以下是具体的配置方法:

  1. 打开谷歌开发者控制台:https://console.developers.google.com/
  2. 创建一个新的项目,或者使用已经存在的项目。
  3. 在左侧导航栏中选择“API 和服务” > “凭据”。
  4. 点击“创建凭据”按钮,然后选择“OAuth 客户端 ID”。
  5. 在“应用类型”中选择“Web 应用程序”。
  6. 在“授权 JavaScript 来源”中填写你的应用程序的域名或 IP 地址。
  7. 在“授权重定向 URI”中填写一个用于接收授权码的 URI。该 URI 必须与你的应用程序后端服务器的 URI 匹配。
  8. 点击“创建”按钮,然后你将获得一个客户端 ID 和客户端密钥。
  9. 将客户端 ID 复制到你的应用程序代码中。

需要注意的是,为了确保安全性,你应该将客户端密钥保存在服务器端,而不是在客户端代码中。在服务器端,你可以使用该密钥来验证用户身份验证令牌是否真实有效。

2.将插件JY-GoogleSignin按照到项目中,并且在项目的manifest.json配置文件中的APP原生插件配置中选择该插件,并打一个自定义基座包,插件配置文档地址:https://ext.dcloud.net.cn/plugin?id=2244。

注意:IOS和安卓的配置有区别,IOS需要以下配置:

找到项目manifest.json,源码视图,找到这个节点=== app-plus -> distribute -> ios (初始化项目一般只到这个节点,如果没有,可以自己新增) b.新增如下配置 “urltypes” : [ { “urlidentifier” : “com.googleusercontent.apps.746568146308-”, “urlschemes” : [ “com.googleusercontent.apps.746568146308-” ] } ] urlidentifier和urlschemes的值为谷歌登录后台Client_id的值,做翻转以后的; (原始的值应该是:77273717237127-.apps.googleusercontent.com 翻转以后就是:com.googleusercontent.apps.77273717237127-

3.在使用前要先引入插件

const JYGoogleSignin = uni.requireNativePlugin('JY-GoogleSignin');

4.初始化谷歌登录,在调用其他方法之前,必须要先调用这个方法

JYGoogleSignin.jy_init({
    
    
    //  安卓的client_id应该是谷歌开发者后台默认Web应用的;iOS的client_id应该是谷歌开发者后台iOS对应的
    client_id: "******",
    serverClient_id: "",
    scopes: [
        "https://www.googleapis.com/auth/drive.file"
    ]
}, res=> {
    
    
    //    这里不会有返回数据
})

其中serverClient_idscopes不是必传项

5.唤起登录框

JYGoogleSignin.jy_startLogin(res=> {
    
    
//  这里会返回登录的结果,如果errorCode = 1,代表错误,可检查msg返回的数据判断;如果errorCode = 0,代表成功,也会在data里面返回登录数据
console.log(JSON.stringify(res));
})

6.检查登录信息(IOS不可用),用来在登录前检查是否有登录信息

JYGoogleSignin.jy_getLastSigned(res=> {
    
    
//  这里会返回登录的结果,如果errorCode = 1,代表未登录;如果errorCode = 0,代表已登录,也会在data里面返回登录数据
console.log(JSON.stringify(res));
})

6.退出登录

JYGoogleSignin.jy_logout(res=> {
    
    
//  不会返回数据,调用就成功
})

猜你喜欢

转载自blog.csdn.net/liu0218/article/details/130684259