• oauth是安全的


    首先明确我们要实现的目标:一个云端的用户系统,这个云平台上所有的第三方应用均借助这个用户系统进行登录鉴权。

    实现场景:用户在其中一个第三方应用上授权登录完毕,那么其他的第三方应用识别这个用户已经登录,然后所有的第三方应用都可以调用api来操作与这个用户有关的受保护资源。

    用户在一台物理电脑上授权,在另外一台物理电脑上无法认为这个用户已经登录。同台电脑换个浏览器也不能登录。

     

    每个第三方应用都要有的信息:

    1、客户端id(可公开)

    2、客户端secret_key(不可公开)

    3、回跳url(否则服务端会被作为免费公开的跳转节点)

     

    客户端根据【客户端id和用户的授权(用户名密码)】来获取授权码,这个授权码有效期一般一个小时,只能用一次。

    客户端用【客户端secret key和授权码】获取access_token

    (说明:https方式带着secret  key请求),获得的access_token不被别人盗取最好,即使被盗取了也没事。用【secert key+调用api时候的参数,字典排序后,做md5(服务端有你的secret key,验证计算量很小)】直接就可以用http进行调用,不需要https

     

    我们的实现:拿到acces_token是通过服务器写cookie的方式,这样就不用多一步授权码的过程。因为我们的目标是单点登录多点共用!

     

    一个问题,黑客得到一个用户的access_token,然后用其他电脑登录盗取信息!

    解决办法:secret key加密api

     

    单点注销在我们这个系统下,可以直接告诉服务器把那个access_token当下失效(删除)就可以。

     

    E-mail: huahuiyang@gmail.com https://www.linkedin.com/in/huahuiyang/
  • 相关阅读:
    SharePoint Designer
    SharePoint Tricks
    树型dp(2019/1/19学习笔记) by csy
    2019/2/21测试(noip2015提高组day2
    loj刷题记录2019/2/20
    2019/2/16测试
    splay(水题)
    noip2016提高组day2
    2019/2/13测试(noip2016提高组day1原题)
    洛谷p1083借教室
  • 原文地址:https://www.cnblogs.com/yanghuahui/p/2120843.html
Copyright © 2020-2023  润新知