“GoAuth”让应用轻松接入微信扫码登录,点击右上角“登录演示”体验
1. 应用开发者根据GoAuth约定格式(domain@sk
)生成登录授权码所需字符串。
注:字符串以@
分割,其中domain
是接入应用的业务域名,sk
是登录请求校验码(由开发者随机生成,一般会在应用后台进行记录并设置有过期时间,用于和接收到的登录请求中的sk
进行比对),字符串总长不能超过32。
PS:只支持数字,大小写英文以及部分特殊字符:!#$&'()*+,/:;=?-._~
,其它字符请自行编码为合法字符(因不支持%,中文无法使用 urlencode 处理,请使用其他编码方式)
2. 请求https://api.goauth.jysafe.cn/qrcode?str=yourdomain.com@sk
获得base64格式的登录授权码。
3. 应用用户打开微信扫一扫,扫描登录授权码后,GoAuth后端将向应用业务域名domain发起登录请求(GET方法:https://yourdomain.com/goauth?userinfo=uuu&sk=xxx
,注意https协议和固定的/goauth
路径),参数userinfo
是用户微信信息,sk
为登录请求校验码。
4. 应用后端接收来自goauth后端的登录请求后根据sk
识别登录请求的真伪,从而选择是否信任登录请求,根据当前登录请求中的用户微信信息完成授权登录。
PS:应用后端若信任请求请在响应头中添加 goauth: ok
;否则请在响应头中添加 goauth: fail
安全性:应用后端必须使用https协议,保证传输过程的安全;goauth只负责转发请求,不进行任何形式的数据私自存储;通过登录请求校验码,避免包括goauth在内的任何第三方伪造登录请求。