startAutoTicket
接口描述
自动免密上线接口,该接口可以实现免密认证。
注意事项
- 已登录过且支持免密时,接口返回true,内部会自动免密上线,如果内部上线失败会调用注销回调SFLogoutListener,因此注销回调监听需要在免密认证调用前进行注册
- 未登录过或不支持免密时,接口返回false,需要使用其他主认证方式(如用户名密码)认证上线。
- 免密接口返回true, 仅表示当前本地状态是支持免密状态, 真正发送免密网络请求是在接口返回之后进行的; 但应用不必担心存在时序问题, 只要免密接口返回true, 就表示可以发起资源访问了, 在内部免密请求未真正成功前, 内部会缓存应用层的资源网络请求, 等内部免密成功后会立刻代理之前缓存的请求, 如果由于网络问题导致免密失败了, 内部会不断重试直到成功(重试间隔为3s一次), 应用不必关注内部免密机制, 只要网络恢复, 内部自然能免密成功并在成功后代理已缓存和新发起的资源请求.
- 因为免密接口返回true, 不表示内部已经真正免密成功, 所以存在一种场景: 在应用进程退出期间, 用户被注销了, 此时重新打开应用, 调用免密会返回true, 但内部真正发送免密请求时, 由于用户已经注销, 此时应用会收到注销回调. 这种场景是正常的, 只要确保在调用免密前已经注册注销回调监听, 收到注销后, 就按正常注销处理逻辑,引导用户重新登录
接口定义
public boolean startAutoTicket();
参数说明 无
返回值
返回值 | 描述 |
---|---|
boolean | true代表免密调用成功,false代表免密调用失败。 |
示例代码
boolean autoTicketSuccess = SFUemSDK.getInstance().startAutoTicket();
if (autoTicketSuccess) {
// 上线成功,此时用户就可以访问资源了
} else {
// 上线失败需要调主认证
}