如何发起第三方登陆?

我做过两次手机上的微信公众号开发,但是每次都很纳闷如何发起第三方登陆。因为还在实习,也没有办法深入探讨或是参与构架。
第一次开发时:每进入一个页面就会通过一个接口判断该用户是否登陆,如果没登陆就会href到后台的登陆接口进行登陆在重定向回来。
第二次开发时:因为用的laravel框架,所以这里使用了easywechat。并且不是完全的前后端分离,所以给每个前端页面加了中间件来判断是否有session之类的,如果没有就重定向到登陆接口。

我觉得第二种方法要好一点,不用每次都请求某个接口,但如果是完全的前后端分离又没办法给前端页面加中间件,所以我想请教下该怎么实现呢?

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 4
liyu001989

用户是否登录时你的服务器与前端之间的事情,这个凭证可以是session,可以是token,跟微信没有关系。

不应该每次都调用接口判断:

  • 不分离,服务器渲染,通过 session 判断。
  • 分离,前端判断 token 有效期。

微信登录,前段通过发起微信登录,获取一个微信用户的凭证 access_token 或者 code,用微信的凭证换取你自己服务器的凭证。

5年前 评论

@liyu001989 首先我没用过token,前端能判断token有效期吗?还是说服务器返回token过期了,前端通过错误信息来判断。
然后,我做的微信公众号开发都是后台来发起登陆,比如说通过easywechat的那个中间件

5年前 评论
黑将军

@韩槑槑 token过期时间应该是服务端判断的,jwt里面就有带过期时间,服务端只要校验一下这个token是不是有效,有没有到期就行了

5年前 评论
liyu001989
  1. 服务器会返回给前段有效时间,前端可以判断。
  2. token 过期了会返回401,前端可以判断请求的状态码,知道自己该刷新token还是重新登录。后面的课程会讲

谁来发起 oauth 的流程,只是往对应的地址跳转而已。学完整个教程你可能会理解的更深入一点

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!