在WebSphere Application Server Liberty配置文件中启用OAuth

O">Auth 一直是 Web 应用程序委托授权的事实标准。除了委托访问权限之外,OAuth 也越来越多地用于传统身份验证和授权角色,云和移动技术的普遍化趋势更推动了这种形势。2012 年,OAuth 2.0 规范最终敲定,许多企业很快就采用了新协议。

为了支持 OAuth 2.0 规范,IBM WebSphere Application Server V8.5.0.2 的 Liberty 配置文件中添加了 OAuth 2.0 服务提供程序功能。要利用此功能,必须在服务器定义中启用 OAuth 特性。

本文介绍了将 WebSphere Application Server Liberty 配置文件配置为 OAuth 服务提供程序所需的关键步骤。

先决条件

本文假设您对 OAuth 2.0 协议有基本的了解,例如,了解 OAuth 客户端与 OAuth 服务提供程序之间的差别。尽管不了解协议也能按照本文所述的配置步骤完成学习,但大体了解本协议对于评估 OAuth 对企业安全性的影响有着重要意义。参考资料 部分提供了出色的简介材料。

此外,本文还假设您对 WebSphere Application Server 和 Liberty 配置文件有大体的了解,特别是安装 Liberty 配置文件、创建服务器以及更新服务器配置。

要使用和配置 WebSphere Application Server 内的 OAuth 2.0 支持,您必须具备以下先决条件:

WebSphere Application Server V8.5.0.2 Liberty 配置文件。

高级架构和特性

首先,我们将简单介绍 WebSphere Application Server Liberty 配置文件中的 OAuth 实现,帮助您了解配置步骤对 WebSphere Application Server 的影响。这些信息对于调试和调优配置设置有很大的帮助。尽管熟悉完整配置文件式 OAuth 的用户可能会发现,Liberty 配置文件中的 OAuth 易于配置和使用,但 Liberty 配置文件中的 OAuth 功能与完整配置文件之间存在一些重要的差异。

Liberty 配置文件以单一运行时安全服务的形式提供 OAuth 服务提供程序支持(如图 1 所示)。服务器配置文件内定义了 OAuth 配置,这也是在 Liberty 配置文件中启用 OAuth 所需的惟一配置。在服务器配置文件内定义 OAuth 服务器之后,服务器将激活 OAuth 支持所需的部分,例如终端 servlet 和授权模块。利用 Liberty 服务器的动态更新功能,就可以直接对服务器配置文件进行运行时更改,无需使用多个配置界面。

图 1. Liberty 配置文件中的安全性

请参见图 1 中的数字,这里给出了 Liberty 配置文件中的 Web 应用程序安全性步骤:

客户端请求 Web 资源。 Web 容器将安全性检查委托给 Web Security Collaborator(粘接代码)。 Web Security Collaborator 提示用户输入其凭据(若未输入),并使用授权服务对用户执行身份验证。 身份验证服务执行身份验证,
然后创建和返回主体。 Web Security Collaborator 使用授权服务执行用户授权检查。 授权服务将授权结果返回给 Web Security Collaborator。 Web Security Collaborator 返回安全检查的结果(true 或 false)。 Web 容器处理或拒绝所请求的资源。

OAuth 组件包括:

OAuth 运行时:OAuth 数据和终端控制器。 Liberty server.xml:定义 OAuth 配置,用于注册新客户端以及单点配置。 令牌存储(数据库或文件)。 授权和 Consent servlet:处理位于 http://servername /oauth2/endpoint/<provider_name>/authorize 的用于人机浏览器交互的 OAuth 终端。 令牌请求 servlet:处理位于 http://servername /oauth2/endpoint/<provider_name>/
token 的用于客户端编程交互的 OAuth 终端。

WebSphere Application Server Liberty 配置文件中可用的 OAuth 相关特性包括:

完整的 OAuth 2.0 规范合规性,包括对所有核心授权类型的支持:授权代码、隐式授权、资源所有者密码凭据和客户端凭据。 Bearer 令牌规范合规性。 对公开和机密客户
端的支持。 刷新令牌支持。 对通过终端和数据隔离区分的多个 OAuth 提供程序的多租户支持。 令牌和客户端的 XML 文件或数据库存储。 通过服务器 XML 编辑进行的配置。 可定制的 servlet UI。 样例配置文件。 管理员或用户执行的令牌撤销。 无需
重新启动服务器即可重新配置。 可配置的身份验证处理,包括各提供程序的受保护 URL 和令牌处理。 定义身份验证参数的高级规则语法。

尽管 WebSphere Application Server Liberty 配置文件提供了保护托管应用程序所需的全部 OAuth 功能,但并未全面覆盖所有可能的 OAuth 配置。对于高级部署(例如将托管 OAuth 作为非 WebSphere Application Server 产品的 SSO 解决方案,或者将 OAuth 与高度定制的数据存储库一起使用),请考虑 IBM Tivoli® Federated Identity Manager 产品。

以下内容仅介绍了基本配置所需的最基础的设置步骤。

时间: 2024-12-29 20:58:10

在WebSphere Application Server Liberty配置文件中启用OAuth的相关文章

从Apache Tomcat迁移到WebSphere Application Server Liberty Profile

简介 Apache Tomcat 是一个 HTTP 服务器和 servlet 容器,常用于简单的 Web 应用程序,以及使用不需要完整的 Java EE 服务器的框架的应用程序.然而,用户经常会发现,当对 Apache Tomcat 有更多需求时,其最初的简单性就会变得复杂且不实用. 例如,也许 Apache Tomcat 安装的占用空间会变得太大,因为您需要添加第三方库来提供所需的功能.或者,服务器的启动时间也可能是一个问题,因为对 server.xml 文件的任何配置更改都需要重新启动 Ap

在WebSphere Application Server Community Edition中配置Kerberos验证

WebSphere Application Server Community Edition 目前不支持 Kerberos 验证.本文介绍如何利用 IBM Java Platform 提供的 Kerberos,实现在 WebSphere Application Server Community Edition 中执行 Kerberos 验证. 简介 IBM WebSphere Application Server Community Edition V2.1.1.2 (以下简称为 Communi

使用WebSphere Application Server V8.5中的Admin Command Framework产品

IBM http://www.aliyun.com/zixun/aggregation/13387.html">WebSphere Application Server V8.5 中的 Admin Command Framework (ACF) 提供了用户友好.以任务为导向的命令来执行管理任务.因为它是一个框架,所以所有命令都遵循相同的语法且易于使用.借助这些命令,WebSphere Application Server 为您提供了通过 JMX (Java Management Exten

WebSphere Application Server Community Edition中的应用程序日志记录

引言 应用程序日志记录提供了捕获在应用程序执行期间发生的各种事件的方法.它将收集关于应用程序在执行各种任务时在做什么的详细信息.此信息在调试.故障排除甚至审核方面很有用.WebSphere Application Server Community Edition(以下称为 Community Edition)提供了各种库,可帮助应用程序开发人员配置日志记录服务.这些库是: Log4j SLF4j java.util.logging java.util.logging 包是可用于所有标准 Java

了解EJB调用如何在WebSphere Application Server V6.1中操作

序使用部署在 IBM WebSphere Application Server 中的 EJB Enterprise JavaBeans (EJB).与这些 EJB 组件通信需要使用到诸如 Internet ORB 间协议(Internet Inter-ORB Protocol,IIOP) 通信.JNDI 查找和工作负载管理等概念.此交互可能非常复杂,对许多 WebSphere 用户来说通常是个黑盒.本文提供有关 EJB 通信如何在 WebSphere Application Server 上下文

WebSphere Application Server SAML Trust Association Interceptor简介

简介 IBM WebSphere Application Server(以及在 WebSphere Application Server 平台之上运行的一堆产品)自 V5.1 以来就有一个基于 Trust Association Interceptor (TAI) 接口的可自定义的身份验证框架.该接口有多种产品实现.2012 年,WebSphere Application Server 完整配置文件版本提供了一个新的 SAML(Security Assertion Markup Language

使用IBM WebSphere Application Server中Eclipse插件简化开发

本文将介绍如何使用 http://www.aliyun.com/zixun/aggregation/13387.html">WebSphere Application Server Developer Tools for Eclipse 插件简化对数据访问应用程序的开发,以便将应用程序发布在轻型应用程序服务 Liberty 配置文件环境中.本文包含一个基于 JPA 的示例数据访问应用程序,用于演示 Liberty 配置文件的动态功能. Liberty 配置文件是 IBM WebSphere

在WebSphere Application Server V6.1应用程序中跟踪死锁

学习如何使用 IBM WebSphere Application Server V6.1 中的线程转储工具了解您的系统环境,检查是否发生死锁以及提取信息来帮助避免或解决自己应用程序的死锁情况. 引言 当两个或多个线程彼此形成循环依赖关系时,就出现了死锁.例如,如果线程 A 处于等待线程 B 的等待状态,而同时线程 B 处于等待线程 A 的等待状态,则出现了死锁.一旦形成此情况,线程 A 和线程 B 都不能有任何进展,因为这两个线程现在都无限期地挂起了.为什么会有人创建这种系统?当然,您并不会有意

IBM WebSphere Application Server 8.5 Liberty Profile苗条瘦身之道初探及剖析

1.1 背景信息IBM WebSphere Application Server 向来以重量级而著称,而大量抛弃EJB这大巨头后,无论商用还是开源的应用服务器都走上轻量化的轨道.IBM也推出了IBM WebSphere Application Server Liberty Profile来应对并争取更大的开发者市场.但IBM WebSphere Application Server其他版本仍旧是行走在重量级的大道上.1.2 概述IBM WebSphere Application Server L