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

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,118元/月
云原生网关 MSE Higress,422元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 微服务实践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 认证授权术
深入理解跨域SSO单点登录原理与技术

  • 协议

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

  • OAuth2

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

  • 代码

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

4G LTE网络协议漏洞

目录
相关文章
|
4天前
|
设计模式 API 开发者
深入浅出微服务架构:从理论到实践
在软件开发领域,微服务架构已经成为一种流行的设计模式。它承诺能够带来更好的模块化、可扩展性和敏捷性。然而,将一个传统的单体应用拆分成多个微服务并非易事。本文旨在通过实际案例分析,帮助读者理解微服务的核心概念,以及如何在实际项目中实施微服务架构。我们将一起探讨微服务的设计原则、技术选型和面临的挑战,并分享一些成功实施的策略。
|
7天前
|
Kubernetes Cloud Native 持续交付
云原生技术浪潮下的微服务架构实践
在数字化转型的今天,云原生技术成为推动企业IT革新的关键力量。本文将通过浅显易懂的语言和实际案例,带领读者了解云原生的核心概念、微服务架构的设计原则以及如何在云平台上高效部署和管理微服务。我们将从基础概念出发,逐步深入到微服务的生命周期管理,探讨如何在云原生生态中实现快速迭代和持续交付。无论你是云原生技术的初学者,还是希望深化理解的开发者,这篇文章都将为你提供有价值的指导和思考。
|
1天前
|
消息中间件 运维 监控
探索微服务架构:从理论到实践
【8月更文挑战第19天】 在数字化时代,微服务架构已成为软件开发的新常态。本文通过深入浅出的方式,介绍了微服务的基本概念、设计原则和实践案例,旨在帮助读者从宏观上理解微服务的设计理念,并掌握将其应用于实际项目中的方法。我们将一起走进微服务的世界,解锁其在现代软件工程中的奥秘。
|
6天前
|
消息中间件 运维 监控
深入浅出微服务架构:从理论到实践
微服务架构,一种将复杂应用拆分成小型、独立服务的设计理念,近年来在软件开发领域大放异彩。它以灵活性、可维护性和可扩展性著称,但同时也带来了一系列挑战,如服务间通信、数据一致性和运维复杂性等。本文旨在通过浅显易懂的语言和实际案例,带领读者深入理解微服务架构的核心概念,掌握其设计原则,并了解如何在实际项目中有效运用。我们将从基础讲起,逐步深入,让初学者能够快速上手,同时为有经验的开发者提供一些高级技巧和最佳实践。
16 4
|
8天前
|
运维 监控 Devops
深入浅出:微服务架构的设计与实践
在软件开发的海洋中,微服务架构如同一艘灵活的快艇,它以小而精的服务单元、松耦合的设计哲学和独立部署的能力,为复杂系统的开发和维护提供了新的解决方案。本文将带你领略微服务的风帆,从理论的灯塔到实践的海岸,共同探索微服务架构的设计原则、技术选型、团队协作模式以及应对常见问题的策略,让你的系统设计之旅充满智慧与乐趣。
22 5
|
6天前
|
监控 API 数据库
深入浅出:微服务架构的设计与实践
微服务架构,作为现代软件工程的一颗璀璨明星,它以小而美、独立部署和易于扩展的特点,正逐步改变着后端开发的面貌。本文将通过浅显易懂的语言,带领读者走进微服务的世界,从概念理解到设计原则,再到实战案例,一步步揭示微服务架构的魅力所在。无论你是初学者还是资深开发者,这篇文章都将为你提供新的视角和思考。
17 2
|
10天前
|
运维 监控 持续交付
探索微服务架构的演变与实践
在数字化浪潮推动下,微服务架构如同细胞分裂般不断演化,孕育出更灵活、高效的系统设计哲学。本文将带你穿梭于微服务的发展历程,解锁其背后的技术密码,并分享构建和部署微服务的实践智慧。从理论到实战,我们将一同见证微服务如何重塑现代应用开发的面貌。
19 2
|
10天前
|
Kubernetes 监控 Docker
深入浅出:微服务架构的设计与实践
在数字化转型的浪潮中,微服务架构以其灵活性和可维护性成为众多企业的首选。本文将通过浅显易懂的语言,带领读者一探微服务的世界,从基础概念到实战部署,解锁微服务架构的设计与实践之门。
23 1
|
11天前
|
Kubernetes Java API
深入浅出微服务架构:从理论到实践
在软件开发领域,微服务架构以其灵活性和可扩展性成为现代应用设计的热门选择。本文将通过浅显易懂的语言解释微服务的核心概念,并结合案例探讨如何在实际项目中实施微服务架构。我们将从微服务的定义出发,逐步深入到设计原则、关键技术和实战应用,为读者提供一条清晰的学习路径。无论你是初学者还是有一定经验的开发者,都能从中获益。
|
12天前
|
Kubernetes 监控 Cloud Native
云原生时代的微服务架构实践
在数字化转型的浪潮中,企业级应用正经历着从传统架构到云原生微服务架构的转变。本文将深入探讨云原生技术如何赋能微服务架构,实现服务的快速迭代与弹性扩展,并分析微服务拆分的最佳实践和面临的挑战,以及如何利用云原生工具集来构建和管理微服务。我们将通过具体案例,展示如何在云平台上部署和管理微服务,确保系统的高可用性和可维护性,同时提供一套应对常见微服务问题的解决策略。