前后端分离后单点登录的问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wemore
V2EX    Java

前后端分离后单点登录的问题

  •  
  •   wemore 2018-08-15 09:56:19 +08:00 12271 次点击
    这是一个创建于 2693 天前的主题,其中的信息可能已经有所发展或是发生改变。

    萌新刚到公司要开发个网站,用到公司的统一登录接口。公司统一认证给的文档是 spring-boot-oauth2 的,实际实现后发现打开任何页面立刻跳到统一登录页面,这样前端怎么办?没搞过前后端分离这种操作,请各位大佬给些意见。前端用的 vue,后端用的 springboot,跨域用 nginx 映射到同一个域解决的

    第1 条附言    2018-08-16 01:15:38 +08:00
    感谢各位老哥,现在情况变了公司前辈说前后端分离的用资源服务器来接入,单点文档让参考 OAuth2 Autoconfig,看了半天没看懂。单点文档说登录地址是 /oauth2/token,这个地址的域名也不知道应该是我后端的还是单点的==
    15 条回复    2019-10-10 16:35:57 +08:00
    yujunhao8831
        1
    yujunhao8831  
       2018-08-15 09:57:54 +08:00
    cors
    bayker
        2
    bayker  
       2018-08-15 11:52:03 +08:00
    前端定义一个 URL 接收 登陆返回的 token (业余开发的回答)
    kfg
        3
    kfg  
       2018-08-15 12:05:49 +08:00 via Android
    我最近也搞这样的小东西,前端 vue,后端 php,cas 单点认证,我是在前端判断是否有 sessionstorage,如果没有就跳转到 cas 登录页面,返回 st,通过 ajax 和 st 去 cas 验证取得用户信息,保存在前端 sessionstorage,后续就跟后端通过 token 处理其他业务
    lancelock
        4
    lancelock  
       2018-08-15 12:40:05 +08:00 via iPhone
    首先登录,拿到 token,存储在前端。之后根据本地是否有 token 来判断是否要重定向到登录页面,此外发起的 api 请求都带上 token 信息,给后端检验
    strugglexiang
        5
    strugglexiang  
       2018-08-15 13:13:25 +08:00
    router.beforeEach 搞定
    popvlovs
        6
    popvlovs  
       2018-08-15 15:01:39 +08:00
    spring-boot-oauth2 的逻辑我记得应该是:未登录访问受限资源时后台 response302,这种情况下需要前端啥也不做,让浏览器重定向就好了啊
    CFO
        7
    CFO  
       2018-08-15 15:11:27 +08:00 via Android
    @popvlovs 不是 会返回 401 重定向需要 client 端发起 因为 oauth 登录需要 clientid clientserect 和 callbackuri server 端只重定向过去不能用
    zhzer
        8
    zhzer  
       2018-08-15 16:12:23 +08:00
    spa 的话配置 vue-router 就完事了
    bsg1992
        9
    bsg1992  
       2018-08-15 16:44:11 +08:00
    你们是开发环境分离 还是部署上也是分离的?
    realkaiway
        10
    realkaiway  
       2018-08-15 23:50:14 +08:00 via iPhone
    前面的老哥基本回答的差不多了,通常的套路一般登录拿到 token,前端用 sessionStorage 储存好,之后的每一次 ajax 请求都在头部带上这个 token 给后端校验就谋问题啦~
    popvlovs
        11
    popvlovs  
       2018-08-16 11:42:05 +08:00
    @CFO 我理解也不是很深刻,但记得 clientid 和 clientsecret 应该是不能存放在浏览器的,所以怎么能用浏览器发起重定向呢(前端应该是不知道 client_id 和 client_secert 的)?我记得官方的例子是一个集成了 spring-boot-oauth-client 的后台应用返回 302 ( client_id, client_secert 和 redirect_uri 都拼好),然后指导浏览器进行跳转...
    CFO
        12
    CFO  
       2018-08-16 11:53:33 +08:00 via Android
    @popvlovs 我说的 client 指的是 oauth client 是服务端
    zsail
        13
    zsail  
       2018-12-07 18:15:00 +08:00
    @CFO 你好,能加一下 Q 么,我遇到些单点登录的问题想请教一下
    chunleioo123
        14
    chunleioo123  
       2019-03-26 18:06:50 +08:00
    @CFO 有一个 CAS 集成的问题,想请教你一下 麻烦回复我一下邮件 希望能交一个朋友或者提供适当报酬 邮箱 [email protected] 期待您的来信 谢谢
    ivydom
        15
    ivydom  
       2019-10-10 16:35:57 +08:00
    用 authing 可以快速实现单点登录,快速体验:[https://sample.authing.cn/]( https://sample.authing.cn/),网站里有文档
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4633 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 22ms UTC 04:01 PVG 12:01 LAX 20:01 JFK 23:01
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86