微信扫码登录SDK接入流程(android)

记录一下微信扫码登录流程:

1.获取token;

2.获取ticket;

3.拿到ticket,进行拼接,在进行SHA1,生成签名,再

IDiffDevOAuth.auth(...)  这里要传入OAuthListener

4.在OAuthListener的回调方法onAuthGotQrcode里拿到byte[ ]格式的二维码图片

5.将byte[]格式图片转成bitmap,并显示在imageView

 public static Bitmap getPicFromBytes(byte[] bytes, BitmapFactory.Options opts) {
        if (bytes != null)
            if (opts != null)
                return BitmapFactory.decodeByteArray(bytes, 0, bytes.length, opts);
            else
                return BitmapFactory.decodeByteArray(bytes, 0, bytes.length);
        return null;
    }

6.有了二维码就可以用手机微信扫描这个二维码,进行验证登录了

7.到此整个流程就走完了

补充贴一下上面要请求的接口代码:

  @GET("token")
    Observable<TokenBean> getWxCodeToken(@Query("grant_type") String grant_type  ,@Query("appid") String appid ,@Query("secret") String secret  );

    @GET("ticket/getticket")
    Observable<TicketBean> getWxCodeTicket(@Query("access_token") String  access_token , @Query("type") String  type);

    @GET("oauth2/access_token")
    Observable<WXAuthTokenBean> doGetAuthTokenByCode_rx(@Query("appid") String  appid , @Query("secret") String  secret, @Query("code") String  code, @Query("grant_type") String  grant_type);

    @GET("userinfo")
    Observable<WXAuthUserInfoBean> reqWXAuthUserInfoByCode_rx(@Query("access_token") String  access_token , @Query("openid") String  openid);

 

发布了3 篇原创文章 · 获赞 0 · 访问量 443

猜你喜欢

转载自blog.csdn.net/qq_28734961/article/details/100740493