oauth2

AngularJS+Satellizer+Node.js+MongoDB->Instagram-20

淺唱寂寞╮ 提交于 2019-11-26 22:05:02
Build an Instagram clone with AngularJS, Satellizer, Node.js and MongoDB #20.部署 在 instagrame 目录下创建一个新的文件 .gitignore ,把 node_modules 加到它里面。你可以直接用命令行来操作: <!-- lang: js --> $ touch .gitignore $ echo node_modules > .gitignore 这可以在提交文件到 Git 的时候忽略 node_modules 目录。你如果把你的 Node.js 应用带着 node_modules 的 Git 工程部署到 Heroku的话,你会遇到各种问题。Heroku 会根据你的 package.json 自动下载指定的包。 我们将会用 Heroku 托管后端,用 Dropbox 托管前端。这两个都是免费的。 我们先从后端开始。首先,到 Heroku 去注册然后创建一个新的应用。 Heroku 新的 Dashboard UI 非常简单易用。(干得漂亮 Heroku 的大牛们) 然后你会看到入门简介。你运行 heroku login 成功之后,你就可以创建一个新的 Git 仓库了。Heroku 和其他云平台一样,通过 Git 来部署。 打开终端然后进入 instagram 目录,然后输入: <!--

Go Iris 实现认证与授权

十年热恋 提交于 2019-11-26 20:29:38
文章目录 Go Iris 实现认证与授权 1. 常见的认证类型 HTTP Basic Auth OAUth2.0 JWT 认证 2. Iris 实现HTTP BASIC认证 HTTP BASIC认证过程 3. Iris 实现OAUth2.0 OAUth2.0授权过程 Go Iris 实现认证与授权 1. 常见的认证类型 HTTP Basic Auth 在HTTP中,基本认证(Basic access authentication)是一种用来允许网页浏览器或其他客户端程序在请求时提供用户名和口令形式的身份凭证的一种登录验证方式。 虽然基本认证非常容易实现,但该方案创建在以下的假设的基础上,即:客户端和服务器主机之间的连接是安全可信的。特别是,如果没有使用SSL/TLS这样的传输层安全的协议,那么以明文传输的密钥和口令很容易被拦截。该方案也同样没有对服务器返回的信息提供保护。 OAUth2.0 OAuth在"客户端"与"服务提供商"之间,设置了一个授权层(authorization layer)。“客户端"不能直接登录"服务提供商”,只能登录授权层,以此将用户与客户端区分开来。"客户端"登录授权层所用的令牌(token),与用户的密码不同。用户可以在登录的时候,指定授权层令牌的权限范围和有效期。 "客户端"登录授权层以后,"服务提供商"根据令牌的权限范围和有效期,向"客户端

SpringCloud微服务——基于security+oauth2的安全保护(一):实现方式

不打扰是莪最后的温柔 提交于 2019-11-26 17:21:08
文章目录 实现方式 授权服务 资源服务 现在是这么一个情况:在我的微服务中,有多个业务服务以及一些微服务相关的基础服务。他们都注册到了eureka。并且,通过zuul网关都可以访问到每个业务服务提供的API。现在,这些API中99%的,需要认证之后才能访问到。 简单的说就是,不能随便输入一个地址,就能访问到我微服务的内容。 由于这些服务都做好了,所以我尽量不动这些服务的代码。采用security+oauth2的方式来进行安全保护。 实现方式 首先明白一点,Spring OAuth2是基于security来实现的。而Spring OAuth2分为两部分:OAuth2 Provider和OAuth2 Client。 OAuth2 Provider的角色被分为授权服务(Authorization Service)和资源服务(Resource Service)。这两个角色可以在一个服务中,也可以不在一个服务中,也可能是一个授权服务,对应多个资源服务。 我采用的就是授权服务和资源服务分离的方式。 授权服务 授权服务我选择单独新建一个应用来实现 ,而不是直接加入到zuul网关服务中,毕竟这是两个东西,而且网关服务中做的事情也比较多了。 所以,在我的架构中,授权服务仅仅是处理授权方面的事情。比如:颁发token,刷新token等等; 因此,资源的保护,还是交由各个服务直接来管理

AngularJS+Satellizer+Node.js+MongoDB-&gt;Instagram-21

早过忘川 提交于 2019-11-26 12:23:04
Build an Instagram clone with AngularJS, Satellizer, Node.js and MongoDB #21.总结 完结撒花!这是我那些年写过的最长的贴了。搞笑的是,我在 TV Show Tracker blog post 里面也说过同样的话。好吧,接下来你猜得到的咯,我那么能掰,接下去可能就是写本书或什么的咯。 原本我只打算写一篇关于如何使用 Satellizer 模块的快速入门,谁知道居然演变成了这超过了 14K 字的长篇大论全栈教程。情况总是在变的嘛,三个月之前我就被喊来开篇贴了,然后我只是想到一点补充一点想到一点补充一点而已,你要怪我咯。 虽然这帖子乍一看好像超长超长的,不过我还是希望你可以从中有所收获。我在开篇说过,我写 Satellizer 的初衷是因为我不爽现存的认证授权解决方案。然后,我就开干了,虽然当时根本不懂 AngularJS 模块,JavaScript 库以及 OAuth 1.0 & OAuth 2.0 认证流程什么的。也就是说我都可以咯,如果你真的想做那你也可以的,只要你愿意花精力。那,比如说如果现在你想写个网站,库,或者框架什么的,以此为契机亲手把它做起来吧。当你撸久撸到想吐的时候,把它放下出去走一圈再回来,千万不要轻易说分手哦。 我希望你喜欢这篇教程,并且能学到些新姿势啦。我还会继续在我的个人页面或者 YDN

Spring Security 之多AuthenticationProvider认证模式实现

情到浓时终转凉″ 提交于 2019-11-26 10:27:59
多AuthenticationProvider认证模式实现原理及源码分析可参考: https://github.com/mingyang66/spring-parent/blob/master/spring-security-oauth2-server-redis-service/providermanager.md 多AuthenticationProvider实现ProviderManager会按照添加入认证请求链中的顺序来验证,上面的源码分析及实现原理已经说的很清楚了, 这一片就直接看代码实现; 1.AuthenticationProvider认证类UserSmsAuthenticationProvider实现 package com.yaomy.security.oauth2.provider; import com.yaomy.security.oauth2.event.event.UserLoginFailedEvent; import com.yaomy.security.oauth2.exception.PasswordException; import com.yaomy.security.oauth2.exception.UsernameException; import com.yaomy.security.oauth2.service

学习笔记:微服务13 spring boot2.x oauth2-client

倾然丶 夕夏残阳落幕 提交于 2019-11-26 09:15:31
前面oauth2 server设置好了,登录oauth2 server正常,但另外建一个oauth2 client 总是不能登录认证,网上说是spring boot 2 中去除了@EnableOAuth2Sso注解,今天终于找到适合我的spring boot 2.11的oauth2 client,实现了客户端认证。 1.新建spring start project 项目,我命名为microservice-oauth2-client-8805 2.pom.xml,上全文吧 <? xml version= "1.0" encoding= "UTF-8" ?> < project xmlns = "http://maven.apache.org/POM/4.0.0" xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" > < modelVersion > 4.0.0 </ modelVersion > < parent > < groupId > org.springframework.boot </ groupId > <