WANGJUEJU.CN

为mcp实现多种auth方式

J
AI+留学专家菊叔
vibe writing vibe coding vibe living

为mcp实现多种auth方式,mcp自带的有token auth,basic auth,另外就是如果drupal配置了oauth的mcp会自动适配,不需要单独在配置。

如下handbook为AI撰写


Drupal OAuth2 Server 与 Client 配置指南

为 Drupal 实例配置 OAuth2 服务端 (Server) 与客户端 (Client) 的详细步骤。


配置 OAuth2 Server

此部分说明如何将一个 Drupal 实例配置为 OAuth2 提供商,使其能够颁发访问令牌。

步骤一:安装所需模块

* 使用 Composer 安装 Simple OAuth 模块及其依赖项。

composer require drupal/simple_oauth

* 在 Drupal 后台启用 Simple OAuth, JSON:API, 和 Consumers 模块。

 

步骤二:生成密钥

* Simple OAuth 需要公钥和私钥来签名和验证令牌。使用 Drush 生成密钥:

drush simple-oauth:generate-keys

* 将生成的密钥文件 (private.key 和 public.key) 移动到 Drupal 网站根目录之外的安全位置。

* 在 settings.php 文件中指定密钥的绝对路径:

$settings = '/path/to/your/private.key';
$settings = '/path/to/your/public.key';

步骤三:创建 OAuth 客户端 (Consumer)

Consumer 代表一个请求访问权限的第三方应用程序。

* 导航至 管理 > 配置 > Web 服务 > Consumers

* 点击 Add Consumer

* 填写以下字段:

* Label: 为客户端应用设置一个描述性名称。

* User: 指定一个 Drupal 用户,此客户端将代表该用户执行操作。所有通过此客户端发出的请求都将拥有该用户的权限。

* New secret: 输入客户端密钥 (Client Secret)。这是机密信息,需要妥善保管。

* Scopes: 定义此客户端可以请求的权限范围。留空则表示所有权限。

* Redirect URI(s): 输入客户端应用程序的回调 URL。当用户授权后,服务器会将用户重定向到此地址。每行一个 URL。

* 保存后,系统会生成一个 Client ID (UUID)。将此 Client ID 和之前设置的 Client Secret 提供给客户端应用程序。


配置 Drupal 作为 OAuth2 Client

此部分说明如何将另一个 Drupal 实例配置为 OAuth2 客户端,使其能够使用第三方 OAuth2 Server进行用户认证。

步骤一:安装所需模块

* 使用 Composer 安装 Social APISocial Auth 模块。为了连接通用的 OAuth2 Server,推荐使用 Social Auth Generic OAuth 2.0

composer require drupal/social_auth drupal/social_auth_generic

* 在 Drupal 后台启用 Social API, Social Auth, 和 Social Auth Generic OAuth 2.0 模块。

步骤二:配置认证提供商

* 导航至 管理 > 配置 > Social API > User authentications

* 找到 Generic OAuth 2.0 并点击 Configure

* 填写从 OAuth2 Server 获取的信息:

* Client ID: 输入从 OAuth2 Server 获取的 Client ID。

* Client Secret: 输入从 OAuth2 Server 获取的 Client Secret。

* Authorize endpoint URL: 输入 OAuth2 Server 的授权端点 URL (例如: https://oauth-server.com/oauth/authorize)。

* Token endpoint URL: 输入 OAuth2 Server 的令牌端点 URL (例如: https://oauth-server.com/oauth/token)。

* User Info endpoint URL: 输入用于获取用户信息的资源服务器 URL (例如: https://oauth-server.com/api/user)。

* 根据需要配置其他字段,然后保存配置。

步骤三:获取回调 URL 并完成服务器配置

* 在上述配置页面中,系统会显示一个生成的 回调/重定向 URL (Authorized redirect URIs)。

* 将此 URL 复制并添加到 OAuth Server 端的客户端配置中的 Redirect URI(s) 字段内。这是为了确保 Server 在授权后能够安全地将用户重定向回正确的客户端地址。

* 完成此步骤后,两个 Drupal 实例之间的 OAuth2 认证流程便已配置完成。

 

 

点击转发,手留余香

筑梦·面向 AI 和未来