package com.youlai.boot.auth.service; import com.youlai.boot.auth.model.WxMaLoginResp; import com.youlai.boot.framework.security.model.AuthenticationToken; /** * 微信小程序认证服务接口 * * @author Ray.Hao * @since 2.4.0 */ public interface WxMaAuthService { /** * 静默登录 *

* 通过微信登录凭证(code)获取用户唯一标识(openid), * 如果用户已绑定手机号则直接登录成功,否则返回需绑定手机号的提示。 *

* * @param code 微信登录凭证(wx.login 获取) * @return 登录结果(成功返回 token,需绑定返回 openid) */ WxMaLoginResp silentLogin(String code); /** * 手机号快捷登录 *

* 同时使用微信登录凭证和手机号授权凭证, * 一步完成用户注册/登录,无需额外绑定流程。 * 适用于企业认证的小程序(已开通手机号快捷登录权限)。 *

* * @param loginCode 微信登录凭证(wx.login 获取) * @param phoneCode 手机号授权凭证(getPhoneNumber 事件获取) * @return 认证令牌 */ AuthenticationToken phoneLogin(String loginCode, String phoneCode); /** * 绑定手机号 *

* 为已静默登录但未绑定手机号的用户绑定手机号, * 绑定成功后自动完成登录。 *

* * @param openid 微信用户唯一标识 * @param mobile 手机号码 * @param smsCode 短信验证码 * @return 认证令牌 */ AuthenticationToken bindMobile(String openid, String mobile, String smsCode); }