oauth2

配置Zuul代理下游的认证

天涯浪子 提交于 2019-12-02 21:28:13
配置Zuul代理下游的认证 您可以通过 proxy.auth.* 设置控制 @EnableZuulProxy 下游的授权行为。 例: application.yml proxy: auth: routes: customers: oauth2 stores: passthru recommendations: none 在此示例中,“客户”服务获取OAuth2令牌中继,“存储”服务获取传递(授权头只是通过下游),“建议”服务已删除其授权头。 如果有令牌可用,则默认行为是执行令牌中继,否则为passthru。 有关 详细信息, 请参阅 ProxyAuthenticationProperties 。 Spring Cloud为Cloud Foundry Cloudfoundry的Spring Cloud可以轻松地 在 Cloud Foundry (平台即服务) 中运行 Spring Cloud 应用程序 。 Cloud Foundry有一个“服务”的概念,它是“绑定”到应用程序的中间件,本质上为其提供包含凭据的环境变量(例如,用于服务的位置和用户名)。 spring-cloud-cloudfoundry-web 项目为Cloud Foundry中的webapps的一些增强功能提供基本支持:自动绑定到单点登录服务,并可选择启用粘性路由进行发现。 spring-cloud

微服务鉴权

断了今生、忘了曾经 提交于 2019-12-02 20:17:27
oAuth2流程: 应用请求oAuth2服务器获取token(提供凭证) 应用携带token请求服务(header) 服务读取token并请求oAuth2服务器验证token,并获取用户信息 应用验证用户权限 JWT (Json Web Token) 自包含(不用请求oAuth2服务器就可以验证token) 可扩展(token可以包含扩展信息) OAuth2授权类型: 密码授权 客户端凭据授权 授权码授权 隐式授权 授权码授权流程(第三方登陆,用户使用B登陆A): 用户访问A,被A重定向至B的登录页 用户在B登陆,B请求oAuth服务器获取授权码 B重定向用户至A的回调地址(携带授权码) A请求oAuth服务器验证授权码 oAuth服务器返回给A token 来源: https://www.cnblogs.com/jieyuefeng/p/11762464.html

深入理解JWT的使用场景和优劣

心已入冬 提交于 2019-12-02 19:08:45
深入理解JWT的使用场景和优劣 原创: 徐靖峰 Kirito的技术分享 Kirito的技术分享 微信号 cnkirito 功能介绍 「技术分享」某种程度上,是让作者和读者,不那么孤独的东西。「Kirito的技术分享」致力于探讨 Java 生态的知识点,内容覆盖分布式服务治理,微服务,性能调优,各类源码分析。追求有深度并兼具表达力的文字。 2018-04-20 经过前面两篇文章《JSON Web Token - 在Web应用间安全地传递信息》《八幅漫画理解使用JSON Web Token设计单点登录系统》的科普,相信大家应该已经知道了 JWT 协议是什么了。至少看到 eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJxaWFubWlJZCI6InFtMTAzNTNzaEQiLCJpc3MiOiJhcHBfcW0xMDM1M3NoRCIsInBsYXRmb3JtIjoiYXBwIn0.cMNwyDTFVYMLL4e7ts50GFHTvlSJLDpePtHXzu7z9j4 这样形如 A.B.C 的字符串时能敏感地认出这是使用了 jwt。发了这两篇文章后,有不少读者在文末留言,表达了对 jwt 使用方式的一些疑惑,以及到底哪些场景适合使用 jwt。我并不是 jwt 方面的专家,和不少读者一样,起初研究时我也存在相同疑惑,甚至在逐渐接触后产生了更大的疑惑

微博三方登录

瘦欲@ 提交于 2019-12-02 12:59:08
微博开放平台,注册和添加应用。 https://open.weibo.com/connect 前端生成链接,调用微博接口。获取code import requests, urllib # 请求地址 url = 'https://api.weibo.com/oauth2/authorize?' # 请求数据 data = { 'client_id': '3801557366', 'redirect_uri': 'http://127.0.0.1:8080/callback_weibo/' } # 拼接成一个完成请求地址,前端浏览器调用此链接,然后就会到你的回调地址 requst_url = url + urllib.parse.urlencode(data) 在前端的回调接口中,获取code,并将code传递到后端接口。后端调 https://api.weibo.com/oauth2/access_token 通过code获取uid和 access_token . 文档 https://open.weibo.com/wiki/Oauth2/access_token 。uid用户id,用于存储在数据库中。access_token,用户登录的token,用于调用微博的其它接口。 url = "https://api.weibo.com/oauth2/access_token" data

获取微信用户信息

点点圈 提交于 2019-12-02 06:04:08
微信公众平台开发(76) 获取用户基本信息 本文介绍如何获得微信公众平台关注用户的基本信息,包括昵称、头像、性别、国家、省份、城市、语言。 本文的方法将囊括订阅号和服务号以及自定义菜单各种场景,无论是否有高级接口权限,都有办法来获得用户基本信息,而无需模拟登录。 在本文中,特别要注意的是有两个不同的Access Token,他们产生的方式不一样,一种是使用AppID和AppSecret获取的access_token,一种是OAuth2.0授权中产生的access_token,方倍工作室分别称为 全局Access Token 和 授权Access Token。 一、通过全局Access Token获取用户基本信息 1. 用户关注以及回复消息的时候,均可以获得用户的OpenID < xml > < ToUserName > <![CDATA[ gh_b629c48b653e ]]> </ ToUserName > < FromUserName ><![CDATA[ollB4jv7LA3tydjviJp5V9qTU_kA]]></ FromUserName > < CreateTime > 1372307736 </ CreateTime > < MsgType > <![CDATA[ event ]]> </ MsgType > < Event > <![CDATA[

基于Oauth2的api接口开发(一)

被刻印的时光 ゝ 提交于 2019-12-02 05:56:25
1.OAUTH2核心参数说明 grant_type 参数说明表格: grant_type 说明 authorization_code 标准的Server授权模式 password 基于用户密码的授权模式 client_credentials 基于APP密钥的授权模式 refresh_token 刷新accessToken response_type 参数说明表格: response_type 说明 code 标准的Server授权模式响应模式 token 脚本的授权响应模式,直接返回token,需要对回调进行校验 2.OAUTH2各种请求流程 2.1.Authorization Code(标准请求流程,必须实现) 标准的的Server授权模式,与目前开放平台的Session机制很像。第一步获取code,第二步code换token。 第一步:APP 首先发送获取code 请求 GET /authorize?response_type=code&client_id=s6BhdRkqt3& redirect_uri=https%3A%2F%2Fclient%2Eexample%2Ecom%2Fcb HTTP/1.1 Host: server.example.com 容器返回code HTTP/1.1 302 Found Location: https://client.example

ASP.NET Core Web API项目使用Azure AD保护API

百般思念 提交于 2019-12-02 02:15:36
如果您正在构建一个由Azure AD保护的Web API,那么您需要进行身份验证来测试该API。 在Swagger中配置OAuth 2允许您使用Swagger UI进行身份验证,并使用必要的身份验证头测试API。 配置的步骤是: 创建一个Web API项目 为Web API注册一个Azure AD (AAD)应用程序 更新Web API项目以使用Azure AD身份验证 为Swagger注册一个AAD应用程序 为Swagger AAD应用程序授予访问Web API AAD应用程序的权限 为Swagger AAD应用程序生成一个客户端秘密 在Swagger AAD应用程序上启用OAuth2隐式流 在Web API项目中添加Swagger 下面的例子是一个使用Swashbuckle.AspNetCore 3.0.0:的 Net Core 2.1 Web API应用程序。 1. 创建一个Web API项目 第一步是使用Visual Studio或通过命令行创建一个新的Web API项目: md AspNetCore.AzureAd.Swagger cd AspNetCore.AzureAd.Swagger dotnet new webapi 如果您在Visual Studio中打开并运行项目,您应该会看到从默认控制器返回的值。 2. 在Azure AD中注册一个应用(Web API)

OAuth2、OpenID、SMAL 对比

末鹿安然 提交于 2019-12-01 07:47:14
对比点 OAuth2.0 OpenID SMAL2 票据格式 JSON or SAML2 JSON XML 支持授权 Yes Yes Yes 支持认证 “伪认证” Yes Yes 创建年份 2005 2006 2001 最新版本 OAuth2 OpenID Connect SAML 2.0 传输方式 HTTP HTTP GET and HTTP POST HTTP重定向,SAML SOAP绑定,HTTP POST绑定等 安全弱点 不能抵抗网络钓鱼,OAuth没有使用数据签名和加密等措施,数据安全完全依赖TLS 不能抵抗网络钓鱼,一个钓鱼的IDP如果恶意记录下来用户的OpenID,将会造成很严重的隐私安全问题 XML签名存在漏洞,可能被伪造 使用场景 API 授权 商用应用的单点登录 企业级单点登录,但是对于移动端支持不是很好 来源: https://www.cnblogs.com/ingstyle/p/11670196.html

OIDC-Open ID Connect

狂风中的少年 提交于 2019-12-01 07:46:54
OpenID Connect的简称,OIDC=(Identity, Authentication) + OAuth 2.0。它在OAuth2上构建了一个身份层,是一个基于OAuth2协议的身份认证标准协议。我们都知道OAuth2是一个授权协议, EU:End User:一个人类用户。 RP:Relying Party ,用来代指OAuth2中的受信任的客户端,身份认证和授权信息的消费方; OP:OpenID Provider,有能力提供EU认证的服务(比如OAuth2中的授权服务),用来为RP提供EU的身份认证信息; ID Token:JWT格式的数据,包含EU身份认证的信息。 UserInfo Endpoint:用户信息接口(受OAuth2保护),当RP使用Access Token访问时,返回授权用户的信息,此接口必须使用HTTPS。 RP发送一个认证请求给OP; OP对EU进行身份认证,然后提供授权; OP把ID Token和Access Token(需要的话)返回给RP; RP使用Access Token发送一个请求UserInfo EndPoint; UserInfo EndPoint返回EU的Claims。 IDToken 授权服务器提供的包含用户信息(由一组Cliams构成以及其他辅助的Cliams)的JWT格式的数据结构 iss = Issuer Identifier

Is storing an OAuth token in cookies bad practise?

回眸只為那壹抹淺笑 提交于 2019-12-01 03:36:53
Is storing an OAuth 2 token in cookies bad practise? If so, what are alternatives for a web app? I definitely wouldn't do it. When security is involved you should not store stuff, in places where others can access it. So don't store it anywhere, especially client-side. That being said, it's not bad practice, per se if handled properly. See this comprehensive article about it. dvsakgec Whether you can store the access_token in cookies depends on following things: Is the access_token stored in cookie encrypted or not (it definitely should be) Access_token is a bearer token so it is not tied to