微服务实践01--微服务管理18--用户管理02--用户认证01-介绍

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
注册配置 MSE Nacos/ZooKeeper,118元/月
简介: 微服务实践01--微服务管理18--用户管理02--用户认证01-介绍

微服务实践目录,可以参见连接。

背景

[上一篇]()文章中整体介绍了用户管理会涉及到的方面,本篇文章主要介绍用户认证相关的方案与技术。回归之前的用词方式,针对认证实体的认证可以分为两类:认证实体软件认证和认证实体绑定硬件认证。

现在很多IoT方面的认证方式都是使用认证实体绑定硬件认证的方法进行认证的。还有很多硬件认证的方式基本上也是以这种方式进行认证的,如通信中的Wifi的Mac地址认证,4GLTE的IMSI认证。4GLTE协议中的终端认证使用通信模块的认证进行终端的认证过程。与IoT的方式都是使用对附属硬件的认证达成对整个认证实体的认证过程。
LTE协议认证过程
认证实体绑定硬件认证的方式还在其他很多方面用到,比如说银行办理网银时发放的硬件KEY。具体的交互方式如下图所示:
iot认证
具体的技术可以参考身份认证技术认证技术。本片文章不关注这种方式的认证,所以就不进行过多的说明。下面我们说明认证实体软件认证相关内容。

认证方向

在上篇文章中已经将用户扩展到认证实体,并说明了所有的认证过程都可以认为是对认证实体的认证过程。在进行深入的考虑,认证一般是存在双方或者三方的。双方是认证实体和认证服务,三方是认证实体、认证服务和业务服务。一般认为认证过程是对客户端的身份认证,但在有些情况下是对服务端的认证。还有一些情况下是需要进行双向认证的。

关于对服务端认证方面可以举一个例子:在一些情况下用户对某个网络服务是信赖的,在使用P2P服务的区块链技术中需要一种对节点认证的方式。对于节点发送的消息的有效性进行判断的过程也可以理解为对服务端的认证过程。对于DNS网络中DNS解析信息传递的过程,其实也可以建立这样的过程。以防止域名污染情况的发生。

对于使用对客户端认证的方式进行认证是一种非常通用的模式。双方认证的情况最常见的例子是HTTPS的双向认证机制。认证最终的目的都是为了鉴别对方的身份,在确认对方身份后既可以进行信任通信。

认证与数据交换方式

数据交换是指用户认证数据怎样从客户端传送到服务端,服务端的验证数据怎样传输给客户端。在这个过程中为了免受中间人攻击,认证过程中的通信管理非常重要。不同层面的解决方案都可以解决这个问题。例如:http通信层面为认证提供了多种认证信息传递的方式Basic, Digest and NTLM,在传输层提供了ssl,tls这些通信加密技术。

认证信息传递过程中尽量不要明文的进行认证信息传递,尽量通过加密算法进行认证信息传递。尽量使用加密通信进行认证过程通信。

认证方法

  1. 统一认证(SSO)

通过统一的认证中心认证用户。通常在企业内部建立一个统一的用户管理与认证中心,由认证中心负责用户的认证。方便企业内部统一管理用户。

  1. 第三方认证(OAuth,OpenID)

第三方保存用户认证方式,以及用户数据。通过互联网上的用户信息达到快速登录,降低复杂度的方法吸引客户使用系统。

  1. OpenAPI

在互联网上免不了和其他的公司有合作有交互。OpenAPI是在互联网上程序间的认证方式。

认证流程

认证信息生命周期:认证->认证信息保持->认证信息过期。认证信息保持会在Session一节中说明
https CA证书,OpenAPI的key和secret都是认证。

认证技术框架

  • 直接认证方式

在使用、管理、存储用户信息的地方,直接进行认证。

  • 中间认证方式

使用用户信息的地方和管理用户信息的地方,是两个地方。

  • 第三方认证方式。

使用第三方的用户数据(通过数据访问接口的方式)获取用户数据。

技术

sso、openapi

Apereo CASSpring Cloud Security,JBoss 开源的 Keycloak  等(.NET IdentityServer4 )。

2017.2.16 开涛shiro教程-第十七章-OAuth2集成(一)服务器端
2017.2.16 开涛shiro教程-第十七章-OAuth2集成(二)客户端

总结

认清认证过程中需要了解:认证方向、认证数据交换、认证方法、认证流程。才可以完整的理解认证过程。本文主要说明认证的过程,下一篇文章会针对认证过程中的技术进行比较和说明。

参考

  • 概述

HttpClient三种不同的认证方案: Basic, Digest and NTLM

认证与授权——单点登录协议盘点:OpenID vs OAuth2 vs SAML
HTTP API 认证授权术

  • 协议

W3C 宣布:WebAuthn 成为正式 Web 标准
OAuth 2.0

  • OAuth2

JWT和Oauth2的区别和联系
10 分钟理解什么是 OAuth 2.0 协议

  • 代码

yapi sso 登录插件
yapi cas 登录插件 By wsfe
oauto2.0登录

4G LTE网络协议漏洞

目录
相关文章
|
2月前
|
运维 持续交付 云计算
深入解析云计算中的微服务架构:原理、优势与实践
深入解析云计算中的微服务架构:原理、优势与实践
70 1
|
2月前
|
消息中间件 API 持续交付
后端开发中的微服务架构实践####
【10月更文挑战第21天】 本文深入探讨了微服务架构在后端开发中的应用,从基本概念出发,详细阐述了微服务的核心优势、设计原则及关键技术。通过实际案例分析,揭示了微服务如何助力企业应对复杂业务需求,提升系统的可扩展性、灵活性与可靠性。同时,也指出了实施微服务过程中可能面临的挑战,并提供了相应的解决方案和最佳实践。 ####
34 3
|
2月前
|
弹性计算 持续交付 API
构建高效后端服务:微服务架构的深度解析与实践
在当今快速发展的软件行业中,构建高效、可扩展且易于维护的后端服务是每个技术团队的追求。本文将深入探讨微服务架构的核心概念、设计原则及其在实际项目中的应用,通过具体案例分析,展示如何利用微服务架构解决传统单体应用面临的挑战,提升系统的灵活性和响应速度。我们将从微服务的拆分策略、通信机制、服务发现、配置管理、以及持续集成/持续部署(CI/CD)等方面进行全面剖析,旨在为读者提供一套实用的微服务实施指南。
|
30天前
|
运维 监控 Java
后端开发中的微服务架构实践与挑战####
在数字化转型加速的今天,微服务架构凭借其高度的灵活性、可扩展性和可维护性,成为众多企业后端系统构建的首选方案。本文深入探讨了微服务架构的核心概念、实施步骤、关键技术考量以及面临的主要挑战,旨在为开发者提供一份实用的实践指南。通过案例分析,揭示微服务在实际项目中的应用效果,并针对常见问题提出解决策略,帮助读者更好地理解和应对微服务架构带来的复杂性与机遇。 ####
|
30天前
|
算法 NoSQL Java
微服务架构下的接口限流策略与实践#### 一、
本文旨在探讨微服务架构下,面对高并发请求时如何有效实施接口限流策略,以保障系统稳定性和服务质量。不同于传统的摘要概述,本文将从实际应用场景出发,深入剖析几种主流的限流算法(如令牌桶、漏桶及固定窗口计数器等),通过对比分析它们的优缺点,并结合具体案例,展示如何在Spring Cloud Gateway中集成自定义限流方案,实现动态限流规则调整,为读者提供一套可落地的实践指南。 #### 二、
55 3
|
1月前
|
负载均衡 Java 开发者
深入探索Spring Cloud与Spring Boot:构建微服务架构的实践经验
深入探索Spring Cloud与Spring Boot:构建微服务架构的实践经验
122 5
|
28天前
|
消息中间件 运维 安全
后端开发中的微服务架构实践与挑战####
在数字化转型的浪潮中,微服务架构凭借其高度的灵活性和可扩展性,成为众多企业重构后端系统的首选方案。本文将深入探讨微服务的核心概念、设计原则、关键技术选型及在实际项目实施过程中面临的挑战与解决方案,旨在为开发者提供一套实用的微服务架构落地指南。我们将从理论框架出发,逐步深入至技术细节,最终通过案例分析,揭示如何在复杂业务场景下有效应用微服务,提升系统的整体性能与稳定性。 ####
39 1
|
30天前
|
监控 安全 持续交付
构建高效微服务架构:策略与实践####
在数字化转型的浪潮中,微服务架构凭借其高度解耦、灵活扩展和易于维护的特点,成为现代企业应用开发的首选。本文深入探讨了构建高效微服务架构的关键策略与实战经验,从服务拆分的艺术到通信机制的选择,再到容器化部署与持续集成/持续部署(CI/CD)的实践,旨在为开发者提供一套全面的微服务设计与实现指南。通过具体案例分析,揭示如何避免常见陷阱,优化系统性能,确保系统的高可用性与可扩展性,助力企业在复杂多变的市场环境中保持竞争力。 ####
42 2
|
29天前
|
消息中间件 运维 API
后端开发中的微服务架构实践####
本文深入探讨了微服务架构在后端开发中的应用,从其定义、优势到实际案例分析,全面解析了如何有效实施微服务以提升系统的可维护性、扩展性和灵活性。不同于传统摘要的概述性质,本摘要旨在激发读者对微服务架构深度探索的兴趣,通过提出问题而非直接给出答案的方式,引导读者深入
45 1
|
30天前
|
负载均衡 监控 API
后端开发中的微服务架构实践与挑战
本文深入探讨了微服务架构在后端开发中的应用,分析了其优势和面临的挑战,并通过案例分析提出了相应的解决策略。微服务架构以其高度的可扩展性和灵活性,成为现代软件开发的重要趋势。然而,它同时也带来了服务间通信、数据一致性等问题。通过实际案例的剖析,本文旨在为开发者提供有效的微服务实施指导,以优化系统性能和用户体验。