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

本文涉及的产品
云原生网关 MSE Higress,422元/月
注册配置 MSE Nacos/ZooKeeper,118元/月
服务治理 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 认证授权术

  • 协议

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

  • OAuth2

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

  • 代码

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

4G LTE网络协议漏洞

目录
相关文章
|
17天前
|
API 持续交付 开发者
后端开发中的微服务架构实践与挑战
在数字化时代,后端服务的构建和管理变得日益复杂。本文将深入探讨微服务架构在后端开发中的应用,分析其在提高系统可扩展性、灵活性和可维护性方面的优势,同时讨论实施微服务时面临的挑战,如服务拆分、数据一致性和部署复杂性等。通过实际案例分析,本文旨在为开发者提供微服务架构的实用见解和解决策略。
|
18天前
|
弹性计算 Kubernetes Cloud Native
云原生架构下的微服务设计原则与实践####
本文深入探讨了在云原生环境中,微服务架构的设计原则、关键技术及实践案例。通过剖析传统单体架构面临的挑战,引出微服务作为解决方案的优势,并详细阐述了微服务设计的几大核心原则:单一职责、独立部署、弹性伸缩和服务自治。文章还介绍了容器化技术、Kubernetes等云原生工具如何助力微服务的高效实施,并通过一个实际项目案例,展示了从服务拆分到持续集成/持续部署(CI/CD)流程的完整实现路径,为读者提供了宝贵的实践经验和启发。 ####
|
7天前
|
Cloud Native 安全 API
云原生架构下的微服务治理策略与实践####
—透过云原生的棱镜,探索微服务架构下的挑战与应对之道 本文旨在探讨云原生环境下,微服务架构所面临的关键挑战及有效的治理策略。随着云计算技术的深入发展,越来越多的企业选择采用云原生架构来构建和部署其应用程序,以期获得更高的灵活性、可扩展性和效率。然而,微服务架构的复杂性也带来了服务发现、负载均衡、故障恢复等一系列治理难题。本文将深入分析这些问题,并提出一套基于云原生技术栈的微服务治理框架,包括服务网格的应用、API网关的集成、以及动态配置管理等关键方面,旨在为企业实现高效、稳定的微服务架构提供参考路径。 ####
29 5
|
10天前
|
监控 Go API
Go语言在微服务架构中的应用实践
在微服务架构的浪潮中,Go语言以其简洁、高效和并发处理能力脱颖而出,成为构建微服务的理想选择。本文将探讨Go语言在微服务架构中的应用实践,包括Go语言的特性如何适应微服务架构的需求,以及在实际开发中如何利用Go语言的特性来提高服务的性能和可维护性。我们将通过一个具体的案例分析,展示Go语言在微服务开发中的优势,并讨论在实际应用中可能遇到的挑战和解决方案。
|
26天前
|
Kubernetes 负载均衡 Docker
构建高效后端服务:微服务架构的探索与实践
【10月更文挑战第20天】 在数字化时代,后端服务的构建对于任何在线业务的成功至关重要。本文将深入探讨微服务架构的概念、优势以及如何在实际项目中有效实施。我们将从微服务的基本理念出发,逐步解析其在提高系统可维护性、扩展性和敏捷性方面的作用。通过实际案例分析,揭示微服务架构在不同场景下的应用策略和最佳实践。无论你是后端开发新手还是经验丰富的工程师,本文都将为你提供宝贵的见解和实用的指导。
|
8天前
|
负载均衡 监控 Cloud Native
云原生架构下的微服务治理策略与实践####
在数字化转型浪潮中,企业纷纷拥抱云计算,而云原生架构作为其核心技术支撑,正引领着一场深刻的技术变革。本文聚焦于云原生环境下微服务架构的治理策略与实践,探讨如何通过精细化的服务管理、动态的流量调度、高效的故障恢复机制以及持续的监控优化,构建弹性、可靠且易于维护的分布式系统。我们将深入剖析微服务治理的核心要素,结合具体案例,揭示其在提升系统稳定性、扩展性和敏捷性方面的关键作用,为读者提供一套切实可行的云原生微服务治理指南。 ####
|
10天前
|
Kubernetes Cloud Native Docker
云原生技术探索:容器化与微服务的实践之道
【10月更文挑战第36天】在云计算的浪潮中,云原生技术以其高效、灵活和可靠的特性成为企业数字化转型的重要推手。本文将深入探讨云原生的两大核心概念——容器化与微服务架构,并通过实际代码示例,揭示如何通过Docker和Kubernetes实现服务的快速部署和管理。我们将从基础概念入手,逐步引导读者理解并实践云原生技术,最终掌握如何构建和维护一个高效、可扩展的云原生应用。
|
11天前
|
监控 API 持续交付
后端开发中的微服务架构实践与挑战####
本文深入探讨了微服务架构在后端开发中的应用,分析了其优势、面临的挑战以及最佳实践策略。不同于传统的单体应用,微服务通过细粒度的服务划分促进了系统的可维护性、可扩展性和敏捷性。文章首先概述了微服务的核心概念及其与传统架构的区别,随后详细阐述了构建微服务时需考虑的关键技术要素,如服务发现、API网关、容器化部署及持续集成/持续部署(CI/CD)流程。此外,还讨论了微服务实施过程中常见的问题,如服务间通信复杂度增加、数据一致性保障等,并提供了相应的解决方案和优化建议。总之,本文旨在为开发者提供一份关于如何在现代后端系统中有效采用和优化微服务架构的实用指南。 ####
|
13天前
|
消息中间件 设计模式 运维
后端开发中的微服务架构实践与挑战####
本文深入探讨了微服务架构在现代后端开发中的应用,通过实际案例分析,揭示了其在提升系统灵活性、可扩展性及促进技术创新方面的显著优势。同时,文章也未回避微服务实施过程中面临的挑战,如服务间通信复杂性、数据一致性保障及部署运维难度增加等问题,并基于实践经验提出了一系列应对策略,为开发者在构建高效、稳定的微服务平台时提供有价值的参考。 ####
|
13天前
|
消息中间件 监控 数据管理
后端开发中的微服务架构实践与挑战####
【10月更文挑战第29天】 在当今快速发展的软件开发领域,微服务架构已成为构建高效、可扩展和易于维护应用程序的首选方案。本文探讨了微服务架构的核心概念、实施策略以及面临的主要挑战,旨在为开发者提供一份实用的指南,帮助他们在项目中成功应用微服务架构。通过具体案例分析,我们将深入了解如何克服服务划分、数据管理、通信机制等关键问题,以实现系统的高可用性和高性能。 --- ###
37 2