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 * */