当前位置: 首页 > wzjs >正文

网站 空间 服务器 免费网站seo推广方案

网站 空间 服务器 免费,网站seo推广方案,讯美智能网站建设,2017做网站挣钱目录 一、知识回顾1.1 什么是 OAuth2 协议?1.2 OAuth2 的4个角色1.3 OAuth2 的3种令牌1.4 OAuth2 的5种认证方式1.5 OAuth2 内置接口地址 二、UAA介绍2.1 概述2.2 UAA的主要功能2.3 UAA 的应用场景 三、微服务集成3.1 集成示例介绍3.2 集成测试 一、知识回顾 在进行…

目录

    • 一、知识回顾
      • 1.1 什么是 OAuth2 协议?
      • 1.2 OAuth2 的4个角色
      • 1.3 OAuth2 的3种令牌
      • 1.4 OAuth2 的5种认证方式
      • 1.5 OAuth2 内置接口地址
    • 二、UAA介绍
      • 2.1 概述
      • 2.2 UAA的主要功能
      • 2.3 UAA 的应用场景
    • 三、微服务集成
      • 3.1 集成示例介绍
      • 3.2 集成测试

一、知识回顾

在进行微服务集成前,我们先来回顾一下 OAuth2.0 的基础知识。

1.1 什么是 OAuth2 协议?

OAuth2(Open Authorization 2.0) 协议是 RFC 6749 文件,是一种 用于授权的开放标准协议,用于通过第三方应用程序访问用户在某个服务提供商上存储的资源,而无需共享用户的凭证(例如用户名和密码)。

OAuth 引入了一个授权层,用来分离两种不同的角色:客户端和资源所有者。…资源所有者同意以后,资源服务器可以向客户端颁发令牌。客户端通过令牌,去请求数据。

OAuth2.0 的运行流程如下图所示:

在这里插入图片描述

(A)用户打开客户端以后,客户端要求用户给予授权。
(B)用户同意给予客户端授权。
(C)客户端使用上一步获得的授权,向认证服务器申请令牌。
(D)认证服务器对客户端进行认证以后,确认无误,同意发放令牌。
(E)客户端使用令牌,向资源服务器申请获取资源。
(F)资源服务器确认令牌无误,同意向客户端开放资源。

简而言之:你要获取我(资源服务器)的资源的话,得先找他(授权服务器)授权。

1.2 OAuth2 的4个角色

OAuth2.0 认证过程中,涉及到的四个角色如下 :

  • 客户端(Client):代表资源所有者与授权服务器进行交互的应用程序。可以是Web应用程序、移动应用程序或第三方服务。
  • 资源所有者(Resource Owner):即用户或系统的代表,拥有受保护资源的所有权。
  • 授权服务器(Authorization Server):负责验证资源所有者的身份并颁发访问令牌(Access Token)给客户端。它通常是一个独立的服务器,可以与资源服务器分离或合并。
  • 资源服务器(Resource Server):存储受保护的资源,并根据令牌的有效性进行访问控制。资源服务器可以是一个或多个服务,可以授权服务器分离或合并。

1.3 OAuth2 的3种令牌

  • 授权许可(Authorization Grant):资源所有者授权客户端访问受保护资源的凭证,如:授权码、隐式授权、密码授权、客户端凭证等。
  • 令牌(Access Token):用于标识授权许可的凭证,包括访问令牌、刷新令牌和身份令牌等。
  • 令牌端点(Token Endpoint):客户端与授权服务器交互以获取或刷新令牌的API端点。

1.4 OAuth2 的5种认证方式

OAuth2.0 提供了五种认证方式:

授权类型grant_type适用场景安全性
授权码模式authorization_code有后端的 Web 应用
简化模式implicit纯前端应用(如 SPA)
密码模式password高度信任的客户端(如第一方应用)
客户端凭证模式client_credentials客户端访问自己的资源(M2M)
刷新令牌模式refresh_token获取新的访问令牌

这里我们举例的是 授权码模式,篇幅有限,没有集成数据库。如果需要支持其他模式,需要对 AuthorizationConfig.java 中的内容进行改造。

1.5 OAuth2 内置接口地址

OAuth2.0 内置了6个接口地址,如下所示:

  • /oauth/authorize:授权端点(核心)
  • /oauth/token:获取令牌端点(核心)
  • /oauth/confirm_access:用户确认授权提交端点
  • /oauth/error:授权服务错误信息端点
  • /oauth/check_token:用于资源服务访问的令牌解析端点
  • /oauth/token_key:提供公有密匙的端点,如果你使用JWT令牌的话

二、UAA介绍

  • 官方文档: https://docs.spring.io/spring-cloud-dataflow-samples/docs/current/reference/html/_security.html

2.1 概述

UAA(User Account and Authentication) 是 Cloud Foundry 提供的一个用户账户和认证服务,主要用于管理用户的身份验证和授权。UAA 支持多种认证机制,包括 Oauth2.0、OpenID Connect 等,能够为应用程序提供安全的用户管理和访问控制功能。UAA 的 核心功能是为用户提供统一的身份验证服务,并确保只有经过授权的用户才能访问特定的资源。

2.2 UAA的主要功能

UAA 的主要功能如下:

  1. 用户管理:UAA 允许管理员创建、管理和删除用户账户。用户可以通过用户名和密码进行登录,也可以通过其他身份提供者(如 LDAP、SAML 等)进行身份验证。
  2. OAuth2.0支持:UAA 实现了 OAuth2 协议,允许应用程序通过 OAuth2 进行授权和认证。OAuth2 是一种广泛使用的授权框架,允许用户授权第三方应用访问其资源,而无需共享其凭据。
  3. OpenID Connect支持:UAA 还支持 OpenID Connect,这是一种基于 OAuth2 的身份验证协议,允许应用程序验证用户的身份并获取用户的基本信息。
  4. 多租户支持:UAA 支持多租户架构,允许不同的组织或团队在同一 UAA 实例中管理各自的用户和权限。
  5. LDAP 集成:UAA 可以与 LDAP(轻量级目录访问协议)集成,允许企业使用现有的 LDAP 目录服务进行用户认证。通过 LDAP 集成,UAA 可以从 LDAP 服务器中获取用户信息,并将其映射到 UAA 中的用户角色和权限。

2.3 UAA 的应用场景

UAA 广泛应用于需要用户认证和授权的场景,特别是在微服务架构中。通过 UAA,开发者可以轻松地为多个微服务提供统一的身份验证和授权机制,而不需要每个服务都实现自己的认证逻辑。

Spring Cloud Data Flow 中,UAA 被用于保护数据流和任务的管理接口。通过 UAA,管理员可以控制哪些用户可以创建、部署和管理数据流和任务。UAA 还可以与 LDAP 集成,使得企业可以使用现有的 LDAP 目录服务来管理用户权限。


三、微服务集成

代码地址: https://gitee.com/acgkaka/SpringBootExamples/tree/master/springboot-mybatis-plus-oauth2.0

3.1 集成示例介绍

在示例项目中,包含两个核心服务:

  1. demo-eureka: 注册中心;
  2. demo-gateway: 网关中心;
  3. auth-server: 鉴权服务 – 相当于 “授权服务器”;
  4. **user-center: **用户服务 – 相当于 “资源服务器”。

包含五个基础启动包:

  1. common-spring-boot-starter: 基础公共包;
  2. jdbc-spring-boot-starter: JDBC数据库连接工具包;
  3. redis-spring-boot-starter: Redis缓存连接工具包;
  4. uaa-client-spring-boot-starter: “资源服务器” 工具包
  5. uaa-server-spring-boot-starter: “授权服务器” 工具包

整体项目目录结构如下:

在这里插入图片描述

“资源服务器” 工具包 uaa-client-spring-boot-starter 目录结构如下:

在这里插入图片描述

注意: 为了实现分布式鉴权,这里我们将token存到了redis缓存中。

“授权服务器” 工具包 uaa-server-spring-boot-starter 目录结构如下:

在这里插入图片描述

3.2 集成测试

1)启动本地redis和数据库,确保 mydb.sql 中的数据已被初始化。

2)启动所有服务,如下所示:

在这里插入图片描述

3)在 user-center 服务中,有测试接口:/user/list,如下所示:

在这里插入图片描述

我们直接使用 Postman 请求这个接口,如下所示:

在这里插入图片描述

可以看到,HTTP返回状态码为 401,返回内容中提示 unauthorized,没有权限,说明拦截成功。

4)在 auth-server 服务中,OAuth 2.0 默认的获取授权接口为:/oauth/token,如下所示:

在这里插入图片描述

我们输入相应的入参进行请求 token,这里我们以密码模式为例。如下所示:

  • 请求地址: http://localhost:8081/oauth/token?grant_type=password&username=ACGkaka&password=123456&client_id=app&client_secret=app

在这里插入图片描述

这里我们成功获取到了 token。

5)将 token 作为鉴权请求头,再次请求 user-center 中的接口,如下所示:

在这里插入图片描述

可以看到,原本被拦截的接口已经可以正常访问了,HTTP状态码也正常返回200了。

代码地址: https://gitee.com/acgkaka/SpringBootExamples/tree/master/springboot-mybatis-plus-oauth2.0

整理完毕,完结撒花~🌻

http://www.dtcms.com/wzjs/654.html

相关文章:

  • 外贸网站模板搜索引擎和浏览器
  • 无锡网站制作启航北京网络推广优化公司
  • 毕业设计做视频网站设计nba最新比赛直播
  • 苏州外贸网站建设推广服务百度视频免费高清影视
  • 商城网站模板网站seo优化方案策划书
  • 腾讯云预装wordpress做优化关键词
  • 网站备案审核状态查询浙江网络推广
  • 在网上做国际快递淘宝网站中国培训网官网
  • 做网站与全网营销搜索推广排名优化seo引擎优化是什
  • 免费企业网站建设b2b免费发布信息平台
  • 做营销网站代理挣钱吗提升seo排名平台
  • 网站策划与设计(企业关键词优化推荐
  • wordpress 插件名称安卓优化大师官方版
  • 湛江北京网站建设2022年网络流行语
  • 平面设计黑白创意图片网站页面优化内容包括哪些
  • 保健品 东莞网站建设百度一下搜索引擎大全
  • 如何用ps做创意视频网站百度推广客户端教程
  • 南京网站建设企业sem是什么?
  • 有没有哪个网站可以做LCM模组百度搜索引擎seo
  • 泗阳做网站设计市场调研报告模板ppt
  • 网站关键词的布局如何建造自己的网站
  • Apple 手机网站制作哪些网站有友情链接
  • vs2013网站开发代码国外常用的seo站长工具
  • 云尚网络建站seo关键词排名优化软件怎么选
  • 网站怎么做的支付宝接口广告媒体资源平台
  • 免费建立网站论坛谷歌商店下载安装
  • 武汉p2p网站建设价格线上推广平台哪些好
  • 自已的电脑怎么做网站电商营销的策略与方法
  • 滴道网站建设广州网站优化工具
  • 网站建设 总体思路个人怎么建立网站