From f32bd22b55852b90e7140240b89a9e2eacaf8d38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=91=A8=E9=9B=85=E9=A3=8E?= Date: Fri, 8 Mar 2024 14:39:05 +0800 Subject: [PATCH] =?UTF-8?q?feat:bindWxByCode=E6=B7=BB=E5=8A=A0=E8=BA=AB?= =?UTF-8?q?=E4=BB=BD=E6=BA=90=E6=A0=87=E8=AF=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 1 + packages/miniapp/src/Authing.ts | 19 +++++-------------- packages/miniapp/src/types.ts | 3 +++ packages/web/src/Authing.ts | 6 ++++-- 4 files changed, 13 insertions(+), 16 deletions(-) diff --git a/package.json b/package.json index 921dccfe..aa5c8a01 100644 --- a/package.json +++ b/package.json @@ -3,6 +3,7 @@ "private": true, "scripts": { "prepare": "husky install", + "autoinstall": "npm ci && lerna run autoinstall", "build:miniapp": "cd packages/miniapp && npm run autoinstall && npm run build", "link": "lerna link", "lint": "eslint --ext .ts packages/**/src/**", diff --git a/packages/miniapp/src/Authing.ts b/packages/miniapp/src/Authing.ts index ee41c8c8..1f5e9c76 100644 --- a/packages/miniapp/src/Authing.ts +++ b/packages/miniapp/src/Authing.ts @@ -648,7 +648,7 @@ export class Authing { return returnSuccess(updateProfileRes) } - async bindWxByCode(options: BindWxByCodeOptions) { + async bindWxByCode(data: BindWxByCodeOptions) { const [error, loginState] = await this.getLoginState() if (error) { @@ -673,21 +673,12 @@ export class Authing { }) } - const _data: { - code: string - options?: BindWxByCodeOptions - } = { - code - } - - if ( - options !== null && - typeof options === 'object' && - Object.keys(options).length > 0 - ) { - _data.options = options + const _data: BindWxByCodeOptions = { + code, + ...data, } + const [err, res] = await request({ method: 'POST', url: `${this.options.host}/connections/social/wechat-miniprogram/bind`, diff --git a/packages/miniapp/src/types.ts b/packages/miniapp/src/types.ts index ab43b214..50fb5c9b 100644 --- a/packages/miniapp/src/types.ts +++ b/packages/miniapp/src/types.ts @@ -504,8 +504,11 @@ export interface GerUserInfo { } export interface BindWxByCodeOptions { + code?:string, iv?: string encryptedData?: string // wx.getUserInfo 返回的 rawData, 里面包含了原始用户数据 rawData?: string + /** 身份源唯一标识 */ + extIdpConnidentifier?:string } diff --git a/packages/web/src/Authing.ts b/packages/web/src/Authing.ts index 2f6a44d3..d51895c8 100644 --- a/packages/web/src/Authing.ts +++ b/packages/web/src/Authing.ts @@ -410,7 +410,9 @@ export class Authing { // implicit flow const idToken = paramDict.id_token const accessToken = paramDict.access_token - const refreshToken = paramDict.refresh_token + // implict 模式没有refresh_token + // https://docs.authing.cn/v2/concepts/oidc/choose-flow.html#%E9%9A%90%E5%BC%8F%E6%A8%A1%E5%BC%8F + // const refreshToken = paramDict.refresh_token const nonce = tx?.nonce if ( @@ -680,7 +682,7 @@ export class Authing { return } /** - * + * * 使用内部维护的 refresh_token 刷新 access_token、id_token * */