# 应用申请
请知音楼联系李世东老师(工号:352989)申请创建应用,申请创建应用时,需要您提供以下信息,请提前准备:
- APP 名称
- 描述
- 应用的使用场景
- APP 图标
- 尺寸 200x200
- 跳转到您 APP 的 Scheme
- 例如:yach://
应用创建完成后,您将获得您 APP 对应的 AppID 和 AppSecret,请妥善保管。
# 授权流程
授权登录简要流程如下:
- APP 端发起知音楼授权登录操作,将唤起知音楼,用户在知音楼中授权登录完成后,将会跳转回您的 APP,并携带临时票据 Code。
- 使用临时票据 Code、AppID、AppSecret 作为参数,直接调用 Yach 开放平台后端接口,换取 access_token、openId(用户唯一标识)。
- 使用 access_token、openId 作为参数,直接调用 Yach 开放平台后端接口,获取用户信息,用户信息包含用户头像、昵称、工号等。
简而言之,在移动端集成 SDK,授权登录成功后将获得临时票据 Code。然后自行调用 Yach 开放平台后端接口获取用户信息。
温馨提示:
- 为了避免因 AppSecret、access_token 泄露导致的不必要损失,建议您将这些敏感信息放到后端,由您 APP 自己后端接口中转调用。
- 如果用户手机没有安装知音楼 APP 或者知音楼 APP 版本过低,这时您若通过移动端 SDK 发起授权登录,默认会自动跳转到知音楼下载页或更新页,您也可以关闭这个自动跳转动作。
完整时序图:
# Yach 授权登录移动端 SDK
鉴于 iOS AppStore 上线审核较严,iOS 授权登录 SDK 还开放了判断是否安装知音楼、知音楼版本是否支持授权登录、获取 iOS 知音楼下载链接等 API,便于您更灵活应对 AppStore 审核。
# Yach 授权登录后端接口
https://yach-open-doc.zhiyinlou.com/server-api/oauth/授权登录第三方应用.html#授权登录第三方应用 (opens new window)
# SSO 登录文档
https://doc-openapi.zhiyinlou.com/docs/zws/sso/scenes (opens new window)
SSO 登录提供了 H5 的登录页面,如果您的 APP 要同时接入 Yach 授权登录和 SSO 授权登录,我们建议您在 APP 中做个原生登录页,提供给用户两种登录方式的按钮入口。
如果用户手机没有安装知音楼 APP 或者知音楼 APP 版本过低,这时您若通过移动端 SDK 发起授权登录,默认会自动跳转到知音楼下载页或更新页,所以,您可以不用再处理用户未安装知音楼或版本过低情况,当然您也可以关闭这个自动跳转动作。
# Q&A
# 1、为什么跳转到知音楼之后,点击“授权并登录”按钮或“取消”按钮没有跳转回自己 APP?
跳转不回自己的 APP,很可能是 APP 没有配置 scheme,需要保证在知音楼注册的 scheme 已经在自己 APP 里配置过了,可以使用手机系统浏览器验证,如果系统浏览器打开 scheme 能跳转到自己 APP,说明 scheme 没有问题。
# 2、为什么在跳转到知音楼请求授权后,知音楼内打开了一下空白页面就自动跳转回自己 APP 了,没有在知音楼打开授权页面让用户去点击确认授权按钮?
在知音楼授权成功后,第三方应用会拿到一个 code,使用这个 code 请求过 access_token(有效期2小时) 后,180天内(与 refresh_token 有效期相同)不需要用户再手动点确认登录直接授权成功跳转回第三方应用。
# 3、移动端授权登录成功后,获取到的 code 有效期多少?
有效期是 5 分钟,且只可使用一次。已使用过或 5 分钟后将自动过期。
# 其他
如果您的 APP 要接入 Yach 授权登录,需要向 Yach 开放平台申请应用,并在您的 APP 中集成授权登录 SDK。为了更好协助您接入,您可知音楼扫码加入以下群聊咨询问题: