Authn.tech
首页
  • SAML 2.0
  • OAuth 2.0
  • OIDC
  • JWT / JOSE
  • WebAuthn / Passkey
  • MFA / TOTP
  • LDAP
  • GraphQL
  • SCIM 2.0
  • 国内平台 SSO
  • 工具总览
  • JWT 解析
  • JWT 签名
  • JWK 生成
  • JWK → PEM
  • PEM → JWK
  • PKCE 生成
  • OIDC Discovery
  • 扫码登录演示
  • TOTP
  • WebAuthn
  • SAML 编解码
  • SAML Metadata
  • SAML Response
  • 飞书 SAML
  • X.509 证书
  • PEM 解析
  • Base64URL
  • LDAP 过滤器
  • 概览 / 角色术语
  • OIDC Mock
  • SAML Mock
  • 邮件服务器
  • LDAP 目录
  • OIDC 登录演示
  • SAML 登录演示
  • 微信扫码登录
  • 企业微信扫码登录
  • 简体中文
  • English
  • Deutsch
GitHub
首页
  • SAML 2.0
  • OAuth 2.0
  • OIDC
  • JWT / JOSE
  • WebAuthn / Passkey
  • MFA / TOTP
  • LDAP
  • GraphQL
  • SCIM 2.0
  • 国内平台 SSO
  • 工具总览
  • JWT 解析
  • JWT 签名
  • JWK 生成
  • JWK → PEM
  • PEM → JWK
  • PKCE 生成
  • OIDC Discovery
  • 扫码登录演示
  • TOTP
  • WebAuthn
  • SAML 编解码
  • SAML Metadata
  • SAML Response
  • 飞书 SAML
  • X.509 证书
  • PEM 解析
  • Base64URL
  • LDAP 过滤器
  • 概览 / 角色术语
  • OIDC Mock
  • SAML Mock
  • 邮件服务器
  • LDAP 目录
  • OIDC 登录演示
  • SAML 登录演示
  • 微信扫码登录
  • 企业微信扫码登录
  • 简体中文
  • English
  • Deutsch
GitHub
  • 国内平台 SSO

    • 国内平台 SSO 标准化与安全评测
    • 国内平台 SSO 标准化与安全评价方法
    • 国内平台 SSO 标准化与安全横向评价
    • 飞书 SSO 对接实现
    • 飞书身份接口标准化与安全评价
    • 钉钉 SSO 对接实现
    • 钉钉身份接口标准化与安全评价
    • WPS 365 外部系统接入
    • WPS 365 身份接口标准化与安全评价
    • 华为云 WeLink 外部系统接入
    • 华为云 WeLink 身份接口标准化与安全评价
    • Microsoft 365 中国版外部系统接入
    • Microsoft 365 中国版接口标准化与安全评价
    • 亚马逊云科技中国区域企业身份与 API 接入
    • 亚马逊云科技中国区域接口标准化与安全评价
    • 极狐 GitLab 外部系统接入
    • 极狐 GitLab 接口标准化与安全评价
    • 阿里云上的 Salesforce 外部系统接入
    • 阿里云上的 Salesforce 接口标准化与安全评价
    • 微信扫码登录
    • 微信开放平台身份接口标准化与安全评价
    • QQ 互联账号接入
    • QQ 互联身份接口标准化与安全评价
    • 腾讯云 CloudBase 应用身份接入
    • 腾讯云 CloudBase 应用身份标准化与安全评价
    • 华为账号 Account Kit 接入
    • 华为账号 Account Kit 标准化与安全评价
    • 抖音开放平台账号接入
    • 抖音开放平台身份接口标准化与安全评价
    • 百度账号开放授权接入
    • 百度账号开放授权标准化与安全评价
    • 支付宝开放平台授权接入
    • 支付宝开放平台授权标准化与安全评价
    • 微博开放平台账号接入
    • 微博开放平台身份接口标准化与安全评价
    • Gitee 开放平台账号与 API 接入
    • Gitee 开放平台身份接口标准化与安全评价
    • 企业微信扫码登录
    • 企业微信身份接口标准化与安全评价
    • 喜马拉雅车载 SDK 账户互通对接实现
    • 喜马拉雅身份接口标准化与安全评价
    • QQ 音乐第三方登录(账号绑定)对接实现
    • QQ 音乐身份接口标准化与安全评价
    • 网易云音乐 OpenAPI 登录对接实现
    • 网易云音乐身份接口标准化与安全评价

喜马拉雅车载 SDK 账户互通对接实现

本页讲怎么落地对接喜马拉雅车载 SDK 的「账户互通」(账号绑定 / 同登同退)。它与标准 OIDC/OAuth2 的差距、风险与改造建议,单独成文:喜马拉雅账户互通:标准化与安全评价。

标准化边界

本页说明如何兼容平台当前协议,不表示本站建议继续扩展私有实现。新系统应优先要求标准 OIDC/OAuth/SAML/SCIM;必须接入私有流程时,应将它限制在身份网关适配器内。评价基线见统一协议安全评价方法。

依据喜马拉雅《车载 SDK 文档》→「账户」→「账户互通」(最低版本 1.0.6.0)。

这是什么

车机端 / TSP 服务端接入喜马拉雅 SDK,用车机自己的用户体系打通喜马拉雅账户:

  • 绑定 / 同登:车机用户一键登录到喜马拉雅账户;
  • 解绑 / 同退:车机退出时同步退出喜马拉雅。

核心是:通过车机的用户信息,在喜马拉雅侧完成双方账户绑定,从而用车机端用户信息登录喜马账户。

准备工作(向喜马申请)

  1. thirdAppId —— 账户互通的客户标识。申请邮箱 rui5.wang@ximalaya.com:
    • 同品牌多车型要互通 → 各车型共用同一个 thirdAppId;
    • 车型间账号独立 → 申请各自独立的 thirdAppId(可分别提供测试 / 正式的验证接口 URL)。
  2. 第三方账户信息验证接口(公网可访问) —— 由你方实现,喜马云端回调它校验用户合法性并拿回第三方 uid 用于绑定。见下文第三方账户信息验证接口。

接入流程

绑定 / 同登

  1. 车机已登录状态下,由车机用户中心触发,跳到车机端应用界面,先查询是否已与喜马绑定;
  2. 已绑定 → 喜马 SDK 已处于登录态,同登成功;
  3. 未绑定 → 车机 APK 调用喜马 SDK 的扫码登录能力登录喜马账户(接口见喜马 SDK 文档「用户 → 二维码登录」);
  4. 扫码登录后,车机 APK 调 bindThirdAccount 绑定;
  5. 收到绑定成功通知后,车机 APK 同步 TSP 服务端。

解绑 / 同退

  1. 同退:直接调喜马 SDK 的退出登录接口即可;
  2. 解绑:带第三方账户信息调 unbindThirdAccount,喜马云端完成第三方账户信息验证后解绑;
  3. 解绑后,车机 APK 同步解绑关系到 TSP 服务端。

SDK 端接口(Android · IXmCarAdvanceAPI)

四个方法签名一致,均为 (String thirdAppId, String body, ResultReceiver callback):

方法作用
loginByThird(thirdAppId, body, cb)用第三方账户信息登录(已绑定则成功;未绑定失败,需走扫码流程)
bindThirdAccount(thirdAppId, body, cb)账户绑定
unbindThirdAccount(thirdAppId, body, cb)账户解绑
getThirdAccountBoundState(thirdAppId, body, cb)查询第三方账号绑定状态

入参

字段说明
thirdAppId账户互通客户标识,向喜马申请
body调用第三方账号接口的入参报文(JSON),喜马回调你方验证接口时原样透传

回调返回值(ResultReceiver 的 Bundle)

KEY类型说明
XmConstants.EXTRA_ERR_CODEInt成功 CODE_SUCCESS;失败 CODE_REMOTE_ERROR(loginByThird/bind 中"未绑定"也返回 CODE_REMOTE_ERROR)
XmConstants.EXTRA_ERR_MSGString异常原因
XmConstants.EXTRA_DATABundle详细信息(含下表);getThirdAccountBoundState 操作成功时无论是否绑定都会返回

EXTRA_DATA Bundle 内字段:

字段说明
thirdUid第三方 UID(查询接口下未绑定为 null)
ximaUid喜马拉雅 UID(查询接口下未绑定为 null)

第三方账户信息验证接口(你方实现)

喜马云端会用绑定/解绑等接口里传入的 body 回调此接口来校验用户。

  • 方法:POST,application/json
  • URL:http(s)://合作方域名/合作方path
  • 入参:即各 SDK 接口传入的 body(喜马原样透传)
  • 返回:

成功:

{ "code": 200, "third_uid": "xxxxx" }

失败:

{ "code": 500, "msg": "该用户不存在", "third_uid": null }
返回字段类型必须说明
codeint是成功 200,其他 500
third_uidString否第三方 uid(或 openID);报错 / 不存在可不填
msgString否报错原因,code=500 时需要

安全提示

现有合作方车载 SDK 文档片段未说明平台侧回调签名、mTLS 或固定证书机制,因此不能假设请求来源已被验证。项目应要求厂商明确当前版本的来源认证、时间戳、重试和重放规则;如没有平台签名,合作方至少应在自身短期票据中加入 audience、过期时间和防重放信息,并强制 HTTPS。详见 喜马拉雅标准安全评价。

参考

  • 喜马拉雅标准安全评价
  • OAuth 2.0 文档 · OpenID Connect 文档
  • 喜马拉雅车载 SDK 官方文档(账户 → 账户互通)
最近更新: 2026/7/27 06:46
贡献者: linux, Claude Opus 4.8
Prev
企业微信身份接口标准化与安全评价
Next
喜马拉雅身份接口标准化与安全评价