【问题解决】Auth 2.0 登录成功回调方法

絮絮叨

第三方的登录的解决方案通常有两种方式,一是打开一个新的标签页,然后登录回调回来; 二是通过父窗口打开一个子窗体去第三方登录,登陆成功时关掉子窗体回到父窗口。

这里写图片描述

问题来了

我的父窗体怎么样才知道子窗体被关闭了呢?
查了下 w3c 里面的文档,貌似并没有类似 onWindowClose 这样的回调函数。

解决方案

将打开的这个窗口对象赋值给一个 jQuery 对象,在主窗体里轮询判断该对象的状态

1.打开第三方登录窗口

var windowObj  = null;
windowObj  = window.open("https://graph.qq.com/oauth/show?which=Login&client_id=1000001&redirect_uri=http://127.0.0.1:3000/login/qq_after_login", "q",'width=800,height=500');

2.在子窗体中登录成功时执行关闭自己的方法

self.close();

3.然后在主窗体里面轮询执行


var loop = setInterval(function() {     
    if(windowObj  != null && windowObj.closed) {    
        clearInterval(loop);    
        //do something 在这里执行回调

    }    
}, 800); 
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Auth2.0是一种用于授权的开放标准,它允许用户授权第三方应用访问他们的资源,而无需直接分享他们的凭据。这种授权方式对于保护用户敏感信息非常有用。 JWT(JSON Web Token)是Auth2.0中使用的一种令牌格式。它由三个部分组成:头部、负载和签名。头部指定令牌的类型和加密算法,负载包含有关用户的信息,签名用于验证令牌的真实性。 Spring Security是Spring框架中的一个模块,用于处理应用的安全性。它提供了一套用于认证、授权和保护应用资源的功能。Spring Security可以与Auth2.0和JWT集成,以提供更强大的安全性。 在使用Spring Security进行认证时,可以将Auth2.0作为认证提供者。用户通过提供有效的令牌进行认证,Spring Security会验证令牌的真实性和有效性。 当用户成功认证后,Spring Security可以使用JWT来授权访问应用资源。它可以将用户信息包含在JWT负载中,并使用签名确保令牌的完整性。在访问应用资源时,Spring Security会验证JWT的签名,并提取用户信息以进行授权判断。 使用Auth2.0和JWT的好处是可以将认证和授权逻辑与应用逻辑分离,提高代码的可维护性和安全性。此外,JWT的轻量级和可扩展性使得它在分布式系统和微服务架构中非常适用。 综上所述,Auth2.0、JWT和Spring Security是一套强大的工具,可以帮助开发人员构建安全可靠的应用程序,并提供用户认证和资源授权的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值