Code Monkey home page Code Monkey logo

mini-platform's People

Contributors

hiling avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

mini-platform's Issues

建议

1.gateway中不建议引入datasource依赖
2.gateway直接访问uaa服务来获得token相关信息
3.你的想法和我现在的很类似,外部是access_token,内部是jwt
希望多交流

Password授权流程中关于客户端ID和客户端密匙的安全问题

你好,我也订阅了波波老师的课,看了你画的“Password授权流程”,有些疑问想讨论一下。

首先整个认证授权流程能跑通,这个我相信没有问题。
在1.1首次认证授权中,请问OAuth2协议中的Client角色是“浏览器/APP”??
认证过程中需要带着资源拥有着的用户名密码,还有客户端ID和密匙,用户名密码是用户登录时输入的,但客户端ID和密匙也是保存在“浏览器/APP”??这个是否不安全??
因为无论是“浏览器/APP”端都可能被劫持,我理解之所以有客户端ID和密匙的存在是为了在授权服务器验证用户的账号密码后,同时验证客户端是授信的,达到双保险,而如果用户的账号信息以及客户端ID密匙都在“浏览器/APP”端保存,就无法达到应有的目的??

同样的在用户授权完成了,获得refreshToken,那么refreshToken你是保存在哪儿的??浏览器/APP??
我印象中accessToken被设计为过期时间较短,目的是即使被窃取也只有一段时间有效,而refreshToken被设计为免去用户再次认证授权的过程,再获得一个新的accessToken,而其中重要的一点是即使refreshToken被窃取,也不能直接得到accessToken,因为还需要客户端ID和密匙,如果refreshToken和客户端ID、密匙都被保存在“浏览器/APP”,那安全性如何保障?

我一直想不清楚在不同的场景下(APP、单页应用、服务器)的客户端ID、密匙,以及refreshToken应由谁保存,才比较规范比较安全。

我简单看过你的代码,可能没完全理解你的设计,如果你已经解决这些问题,请指点。
另外,你的readme中并没有给出启动服务的顺序以及如何测试,建议后续追加。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.