微服务实践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网络协议漏洞

目录
相关文章
|
3天前
|
运维 监控 API
深入浅出:微服务架构的设计与实践
在软件开发的世界中,微服务架构如同一股清新的风,吹散了单体应用带来的沉重与复杂。本文将带你走进微服务的世界,一探究竟,从理念到实践,我们一同领略微服务的魅力所在。
|
3天前
|
运维 持续交付 开发者
深入浅出:微服务架构的设计与实践
在数字化浪潮的推动下,微服务架构以其独特的优势成为软件开发领域的新宠。本文将通过浅显易懂的语言,带领读者从理论到实践,一探微服务架构的奥秘。我们将一起学习如何设计一个高效、可扩展且易于维护的微服务系统,并探讨实施过程中可能遇到的挑战及解决方案。无论你是软件架构的初学者,还是希望深化理解的开发者,这篇文章都将为你提供有价值的见解和指导。
17 3
|
2天前
|
搜索推荐 API 开发者
深入浅出:微服务架构的设计与实践
在数字化时代的浪潮下,微服务架构以其灵活性、可扩展性和独立部署的特点,成为众多企业技术选型的宠儿。本文将通过浅显易懂的语言和生动的比喻,带领读者一探微服务世界的奥秘,从基础概念到实际案例,逐步揭示如何设计并实施一个高效、稳定的微服务系统。无论你是技术小白还是资深开发者,这篇文章都将为你打开一扇了解和应用微服务的大门。
|
1天前
|
消息中间件 API 持续交付
深入浅出:微服务架构的设计与实践
在软件开发的广阔海洋中,微服务架构如同一艘灵活的帆船,它以模块化的方式切割复杂的单体应用,让服务独立、轻盈且易于管理。本文将带你从理论到实践,一步步揭开微服务的神秘面纱,探讨如何设计并实现一个高效、可扩展的微服务系统。无论你是架构新手还是资深开发者,这篇文章都将为你提供新的视角和实用的技巧。
17 6
|
5天前
|
设计模式 API 持续交付
深入浅出:微服务架构的设计与实践
在软件开发的世界中,微服务架构如同一场革命,它改变了我们构建、部署和管理应用的方式。本文将带你一探微服务的奥秘,从基础概念到实际案例分析,再到设计模式和常见问题解答,我们一步步深入理解微服务架构的设计哲学和实践要点。无论你是初学者还是有经验的开发者,这篇文章都将为你打开一扇了解和应用微服务的大门。
|
2天前
|
设计模式 消息中间件 监控
深入浅出微服务架构:从理论到实践
探索微服务,不仅是技术的革新,也是思维的革命。本文将带你走进微服务的世界,了解其核心理念、设计模式及实际应用案例,让你对微服务有更深入的认识和理解。
13 3
|
3天前
|
监控 负载均衡 应用服务中间件
探索微服务架构下的API网关设计与实践
在数字化浪潮中,微服务架构以其灵活性和可扩展性成为企业IT架构的宠儿。本文将深入浅出地介绍微服务架构下API网关的关键作用,探讨其设计原则与实践要点,旨在帮助读者更好地理解和应用API网关,优化微服务间的通信效率和安全性,实现服务的高可用性和伸缩性。
13 3
|
6天前
|
监控 Cloud Native 持续交付
云原生时代的微服务架构实践
【9月更文挑战第5天】随着云计算技术的飞速发展,云原生已成为现代软件开发的重要趋势。本文将深入探讨在云原生环境下,如何有效实施微服务架构,包括服务拆分、容器化部署、持续集成与交付等关键环节。通过具体案例,我们将展示如何在云平台上构建弹性、可扩展的微服务应用,并讨论在此过程中可能遇到的挑战及解决策略。
|
4天前
|
监控 Cloud Native 安全
云原生时代的微服务架构实践
【9月更文挑战第6天】在数字化转型的浪潮中,云原生技术以其灵活性、可扩展性成为企业架构升级的首选。本文将通过浅显易懂的语言和生动的比喻,带你一探微服务架构的世界,从理论到实践,逐步揭示如何利用云原生技术构建高效、可靠的微服务系统,同时穿插代码示例,为有志于云原生领域发展的技术人员提供一份实操指南。
20 2
|
7天前
|
消息中间件 监控 API
深入浅出微服务架构:从理论到实践
在软件开发领域,“微服务”这一概念已如日中天,它改变了我们构建、部署和扩展应用的方式。本文将带你走进微服务的世界,不仅探讨其核心理念,还将通过实际案例,展示如何将一个传统单体应用拆分为微服务架构。我们将一步步分析微服务的优势与挑战,并讨论如何在现实世界中实现和维护微服务架构,让你对微服务有一个全面而深入的理解。