Fa应用获取华为账户授权登录-鸿蒙(HarmonyOS)

1、在 AGC 网站创建应用&开启“Account Kit”

a、提前在开发者联盟注册账号,并完成个人实名认证/企业账号认证;
① 进入开放平台
② 联系华为工作人员,根据对接的接口人指导完成“凭证”菜单的开放
b、在 AGC 网址创建应用,由于当前鸿蒙应用暂未支持手机设备,先以“Andrioid”

类型申请

③ 再次进入开放平台
④ 点击“凭证”菜单
⑤ 点击“创建凭证”,选择创建“OAuth 2.0 客户端 ID”
⑥ 使用 keytool 工具,通过工程中.p12签名文件,获取SHA256证书指纹
⑦ 点击创建好的凭证,编辑,将SHA256证书指纹录入(注意应用包名要跟工程统一)
c、进入“我的项目”的“API 管理”页面,选中开启“Account Kit”
d、安装 npm 包:hms-js-account
npm install @hmscore/hms-js-account
//- 安装完成后,可以看到工程 entry/node_modules 目录下,已自动导入 hms-js�account;
e、加载 hms har 包,将 har 包《jsb-ohos-adapter-debug.har》放置到 entry/libs 下
f、修改 build.gradle,修改 entry 下的 build.gradle 文件,在 dependencies 中增加'*.har'

【↑↑↑注:这个包是鸿蒙方提供的,当然也可以给我留言我给提供↑↑↑】

g、 修改 config.json 文件

1、在 deviceConfig/default 中增加配置:"allowComponentsProxy": true

"deviceConfig": {
    "default": {
        "allowComponentsProxy": true
    }
}

2、在 module 中增加 metaData/customizeData,配置如下内容

"metaData": {
    "customizeData": [
        {
            "name": "com.huawei.hms.client.appid",
            "value": "88888888" //- 前面第⑤步生成的签名的appid
        } 
     ] 
}
h、修改 MainAbility 文件

修改 MainAbility 文件,覆写 onStart 和 onStop 方法,注册 hms 服务,具体如下
(若 IDE 提示找不到 HmsBridge 类,可重启 IDE 再尝试)

package com.huawei.ohosdemo;
import com.huawei.hms.jsb.adapter.har.bridge.HmsBridge;
import ohos.aafwk.content.Intent;
import ohos.ace.ability.AceAbility;
public class MainAbility extends AceAbility {
private HmsBridge mHmsBridge;
@Override
public void onStart(Intent intent) {
// 使用弹窗模态启动当前 Ability
intent.setParam("window_modal", 3);
// 注册账号授权服务
mHmsBridge = HmsBridge.getInstance();
mHmsBridge.initBridge(this);
super.onStart(intent);
}
@Override
public void onStop() {
//注销账户服务
mHmsBridge.destoryBridge();
super.onStop();
} }
i、JS 文件(对应着MainAbility文件的page)

文件导入

import { HuaweiIdAuthParamsHelper, HuaweiIdAuthManager, OPENID,  PROFILE, GAMES } from '@hmscore/hms-js-account'

登录示例

signIn: function () {
    console.info("signIn start");
    var signInOption = new HuaweiIdAuthParamsHelper().setId().setProfile().setMobileNumber().setA uthorizationCode().build();
    console.info("signIn signInOption:" + JSON.stringify(signInOption));
    HuaweiIdAuthManager.getAuthApi().getSignInIntent(signInOption).then((result)=>{
        console.info("signIn success:" + JSON.stringify(result));
        //- 此处获取到 auth_code 应将其传给三方云,三方云调用华为接口通过auth_code 获取 at/rt/unionId,手机号
        //- 然后使用 unionId,手机号 完成账号绑定逻辑,再将结果返回 fa
        //- 授权绑定过程结束,进入下一个流程
        this.signOuting = false;
        prompt.showToast({message:"授权登录成功"}) }).catch((error)=>{
            console.error("signIn fail : " + JSON.stringify(error));
            this.signing = false; 
        });
},

登出示例

signOut: function () {
    HuaweiIdAuthManager.getAuthApi().signOut().then((result)=>{
        console.info("signOut success:" + JSON.stringify(result));
        this.signing = false;
        prompt.showToast({message:"退出账号成功"}) 
    }).catch((error) => {
        console.error("signout fail" + JSON.stringify(error));
        this.signOuting = false; 
    }); 
},

静默检查登录授权

silentSignIn: function () {
    console.info("silentSignIn start");
    var signInOption = new HuaweiIdAuthParamsHelper().setId().setProfile().setAuthorizationCode().build();
    console.info(JSON.stringify(signInOption));
    HuaweiIdAuthManager.getAuthApi().silentSignIn(signInOption).then((result) => {
        console.info("silentSignIn success : " + JSON.stringify(result));
        prompt.showToast({message:"静默授权登录成功"}) }).catch((error) => {
            console.error("silentSignIn fail : " + JSON.stringify(error)); 
        }); 
    }); 
},

运行结果⬇️⬇️⬇️⬇️⬇️


1624329507913.jpg

注:具体的效果可以试一试,详细的问题也可以留言找我

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,529评论 5 475
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,015评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,409评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,385评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,387评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,466评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,880评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,528评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,727评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,528评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,602评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,302评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,873评论 3 306
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,890评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,132评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,777评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,310评论 2 342

推荐阅读更多精彩内容