精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

使用OAuth2保護Spring AI MCP服務!

人工智能
MCP服務器默認支持通過STDIO傳輸在本地環(huán)境中運行。當需要將服務公開至網(wǎng)絡環(huán)境時,則必須通過HTTP端點提供服務。

Spring AI框架提供了對Model Context Protocol(簡稱MCP)的全面支持,使AI模型能夠以標準化方式與外部工具和資源進行安全交互。借助Spring AI,開發(fā)者僅需少量代碼即可構建功能完備的MCP服務器,為AI模型提供豐富的功能擴展。

MCP 中的授權和安全

MCP服務器默認支持通過STDIO傳輸在本地環(huán)境中運行。當需要將服務公開至網(wǎng)絡環(huán)境時,則必須通過HTTP端點提供服務。雖然私有部署場景下可能無需嚴格的身份驗證機制,但在企業(yè)級應用中,必須實施完善的安全防護和權限管理體系。2025年3月26日發(fā)布的最新MCP規(guī)范版本(2025-03-26)針對這一需求,基于業(yè)界廣泛采用的OAuth2框架,為客戶端與服務器間的安全通信建立了標準規(guī)范。

在深入實現(xiàn)細節(jié)前,讓我們簡要回顧OAuth2的核心概念。根據(jù)規(guī)范草案,MCP服務器需要同時承擔資源服務器和授權服務器雙重角色:

作為 資源服務器,它通過驗證請求頭中的Authorization字段執(zhí)行訪問控制。該字段必須包含有效的OAuth2訪問令牌(access_token),這個令牌可以是自包含的JSON Web Token(JWT),也可以是需驗證的不透明字符串。當令牌缺失或無效(如格式錯誤、過期或接收方不匹配)時,服務器將拒絕請求。典型的安全請求示例如下:

curl https://mcp.example.com/sse -H "Authorization: Bearer <a valid access token>"

作為授權服務器,MCP服務還需安全地頒發(fā)訪問令牌。在令牌發(fā)放前,服務器會驗證客戶端憑證,某些場景下還需確認終端用戶身份。授權服務器同時負責定義令牌屬性,包括有效期、作用域(scope)和目標受眾(audience)等關鍵參數(shù)。

借助Spring Security和Spring Authorization Server,我們可以為現(xiàn)有Spring MCP服務添加這兩類安全能力。

image.pngimage.png

為 Spring MCP 服務器添加 OAuth2

本示例基于Spring AI開發(fā)的一個圖書的Mcp Server,代碼如下:

@Service
@Slf4j
publicclass BookService {
    /**
     * 查詢圖書信息
     * @param bookName 圖書名稱
     * @return 圖書信息
     */
    @Tool(description = "查詢圖書信息")
    @SneakyThrows
    public BookInfo getBookInfo(@ToolParam(description = "圖書名稱") String bookName,@ToolParam(description = "圖書ID") Long bookId) {
        // 構建一個靜態(tài)BookInfo對象,只有bookName是根據(jù)參數(shù)傳入的
        return BookInfo.builder()
                .xxxx()
                .build();
    }

    /**
     * 獲取圖書列表
     * @param limit 返回數(shù)量限制
     * @return 圖書列表
     */
    @Tool(description = "獲取圖書列表")
    @SneakyThrows
    public List<BookInfo> getBookList(@ToolParam(description = "返回數(shù)量限制,默認10") Integer limit) {
        ......        
        return bookList;
    }
}

BookService中暴露了兩個Mcp Tool,一個用于獲取圖書的詳細信息,一個用于獲取圖書的列表。本文重點在于演示如何為其添加OAuth2安全支持,暫不涉及客戶端交互細節(jié)。

第一步:添加依賴配置

在項目的pom.xml中引入必要的Spring Boot starter:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-oauth2-resource-server</artifactId>
</dependency>

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-oauth2-authorization-server</artifactId>
</dependency>

第二步:配置OAuth2客戶端

OAuth2ClientConfig 配置類中配置基礎客戶端信息,用于后續(xù)的令牌獲取測試:

@Bean
public RegisteredClientRepository registeredClientRepository() {
    RegisteredClient mcpClient = RegisteredClient.withId(UUID.randomUUID().toString())
            .clientId("mcp-client")
            .clientSecret("{noop}secret")
            .clientAuthenticationMethod(ClientAuthenticationMethod.CLIENT_SECRET_BASIC)
            .authorizationGrantType(AuthorizationGrantType.CLIENT_CREDENTIALS)
            .tokenSettings(TokenSettings.builder()
                    .accessTokenTimeToLive(Duration.ofHours(1))
                    .build())
            .clientSettings(ClientSettings.builder()
                    .requireAuthorizationConsent(false)
                    .build())
            .scope("LIST")
            .build();
    
    returnnew InMemoryRegisteredClientRepository(mcpClient);
}

此配置定義了一個使用客戶端憑證模式(client_credentials)的基礎客戶端,采用HTTP Basic認證方式,憑證硬編碼為mcp-client/secret。

第三步:實現(xiàn)安全配置

創(chuàng)建安全配置類SecurityConfiguration,通過定義SecurityFilterChain Bean來啟用安全功能:

import static org.springframework.security.oauth2.server.authorization.config.annotation.web.configurers.OAuth2AuthorizationServerConfigurer.authorizationServer;

@Configuration
@EnableWebSecurity
class SecurityConfiguration {

    @Bean
    SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
        return http.authorizeHttpRequests(auth -> auth.anyRequest().authenticated())
            .with(authorizationServer(), Customizer.withDefaults())
            .oauth2ResourceServer(resource -> resource.jwt(Customizer.withDefaults()))
            .csrf(CsrfConfigurer::disable)
            .cors(Customizer.withDefaults())
            .build();
    }
}

該配置實現(xiàn)了以下安全策略:

  • 強制所有請求必須經(jīng)過認證
  • 同時啟用授權服務器和資源服務器功能
  • 禁用CSRF防護(適用于非瀏覽器交互場景)
  • 啟用CORS支持(便于使用MCP檢查器測試)

服務驗證測試

完成配置后,未經(jīng)認證的請求將被拒絕,并顯示 HTTP 401 Unauthorized 錯誤

curl http://localhost:8080/sse --fail-with-body
#
# Response:
#
# curl: (22) The requested URL returned error: 401

要使用MCP 服務器,我們首先需要獲取一個訪問令牌。我們使用 client_credentials OAuth2 授權類型,這用于"機器對機器"或"服務賬戶"場景:

curl -XPOST http://localhost:8080/oauth2/token --data grant_type=client_credentials --user mcp-client:secret
#
# Response:
#
# {"access_token":"<YOUR-ACCESS-TOKEN>","token_type":"Bearer","expires_in":3599}%

復制 access_token 的值,它以字母"ey"開頭。現(xiàn)在我們可以使用這個訪問令牌發(fā)出請求,它們應該能成功。例如使用 curl,您可以將 YOUR_ACCESS_TOKEN 替換為您上面復制的值:

curl http://localhost:8080/sse -H"Authorization: Bearer YOUR_ACCESS_TOKEN"
#
# Response:
#
# id:918d5ebe-9ae5-4b04-aae8-c1ff8cdbb6e0
# event:endpoint
# data:/mcp/message?sessinotallow=918d5ebe-9ae5-4b04-aae8-c1ff8cdbb6e0

從版本 0.6.0 開始,也可以直接在 mcp inspector 中使用訪問令牌。只需啟動檢查器,并將訪問令牌粘貼到左側菜單中的"Authentication > Bearer"字段中。即可建立安全連接。

進階安全方案展望

目前來看,SpringAi Mcp的oauth2集成方案只能通過客戶端模式與SSE進行安全連接,無法對單個tool進行精細化權限控制。接下來主要有兩個方向:

  • 客戶端認證升級:增強MCP客戶端功能,使其支持"授權碼模式"(Authorization Code Grant)。該模式允許終端用戶使用個人憑證登錄,獲取用戶綁定的訪問令牌,為實現(xiàn)基于角色的訪問控制(RBAC)等精細化權限管理奠定基礎。
  • 分布式認證架構:探索集成外部專業(yè)OAuth2授權服務器的方案,使MCP服務器僅需專注于資源服務器功能的實現(xiàn)。
責任編輯:武曉燕 來源: JAVA日知錄
相關推薦

2023-08-31 08:34:07

Users對象序列化

2025-06-26 04:11:00

SpringSecurityOAuth2

2021-11-15 13:58:00

服務器配置授權

2013-05-02 14:13:44

Android開發(fā)OAuth2服務認證

2025-10-28 01:33:00

AI 集成MCP 協(xié)議OAuth2

2022-04-11 07:34:46

OAuth2UAA節(jié)點

2022-02-15 07:35:12

服務器KeycloakOAuth2

2021-08-29 23:33:44

OAuth2服務器Keycloak

2025-05-12 03:02:00

SpringOAuth2客戶端

2023-08-29 08:00:38

2017-08-04 18:10:09

2025-04-01 05:00:00

OAuth2服務器身份驗證

2021-08-02 12:50:45

sessiontokenJava

2014-04-21 14:56:45

NodeJSOAuth2服務器

2025-05-27 01:10:00

MCP服務OAuth2

2025-01-13 08:04:24

2022-05-13 15:15:18

服務器OAuth2控制臺

2021-02-04 09:18:20

服務器認證自定義

2022-06-29 08:37:11

授權碼模式底層
點贊
收藏

51CTO技術棧公眾號

精品一区二区三区的国产在线观看| 欧美人xxxxx| 污污污污污污www网站免费| 亚洲综合自拍网| 日本亚洲精品| 亚洲精品动态| 午夜伦欧美伦电影理论片| 国产精品久久色| 欧美老熟妇乱大交xxxxx| 青青在线视频| 另类的小说在线视频另类成人小视频在线 | 日韩在线影院| 成人免费高清在线观看| 欧美成人性色生活仑片| 五月婷婷激情久久| 日韩av高清在线| 一区二区三区四区五区在线 | 性色av蜜臀av| 亚洲福利网站| 欧美一二三四在线| 久久免费一级片| 99精品免费观看| 在线精品国产| 日韩亚洲欧美成人一区| 国产免费人做人爱午夜视频| 国产小视频一区| 欧美日本一区二区视频在线观看| 欧美日韩国产大片| 亚洲资源视频| 国产又黄又猛又爽| 亚洲影视一区二区三区| 亚洲一区二区精品| 狠狠操狠狠干视频| 激情成人四房播| 国内成人精品2018免费看| 美日韩丰满少妇在线观看| 中文字幕成人动漫| 四虎地址8848精品| 一区二区三区四区av| 国产精品手机在线| 国产成人无码一区二区在线播放| 国产尤物久久久| 欧美日韩国产美女| 精品久久久噜噜噜噜久久图片 | 色中色综合网| 欧美一区日本一区韩国一区| 激情六月天婷婷| 欧美三级黄网| 成人丝袜高跟foot| 99热国产免费| 五月天婷婷激情| 国产精品7m凸凹视频分类| 欧美一区二区精品久久911| 亚洲福利精品视频| 欧美成人xxxx| 亚洲高清中文字幕| 日本日本精品二区免费| 7777久久亚洲中文字幕| 欧美精品18| 超在线视频97| 亚洲精品国产一区黑色丝袜 | 日韩电影中文字幕一区| 91色国产在线| 免费日本一区二区三区视频| 国产精品色噜噜| 动漫精品视频| 亚洲高清视频免费观看| 欧美精品导航| 久久久中文字幕| 女性裸体视频网站| 久久综合五月婷婷| 777久久久精品| 国产极品粉嫩福利姬萌白酱| 日本在线视频站| 亚洲三级在线免费| 欧美一区亚洲二区| 免费在线毛片网站| 亚洲综合激情另类小说区| 五码日韩精品一区二区三区视频| 亚洲黄色在线观看视频| a级高清视频欧美日韩| 成人免费观看网址| 免费无码国产精品| 国产视频一区免费看| 超碰97人人做人人爱少妇| 亚洲一区二区91| 91精品啪在线观看国产81旧版| 日韩国产精品视频| av免费播放网站| 希岛爱理av免费一区二区| 日韩欧美资源站| 精品国产av色一区二区深夜久久| 国产亚洲精品美女久久久久久久久久| 中文字幕亚洲激情| 国产成人福利在线| 欧美 亚欧 日韩视频在线 | 欧美日韩美女一区二区| 18禁一区二区三区| 亚洲精品自拍| 欧美三级电影网| 国产精品wwwww| 麻豆国产一区| 日韩欧美一区二区在线视频| 色91精品久久久久久久久| 色猫猫成人app| 91电影在线观看| 北条麻妃在线一区| 国产精品一区二区美女视频免费看 | 国产无人区码熟妇毛片多| 欧美激情五月| 国产精品久久久久久一区二区| www.久久伊人| 国产精品日韩精品欧美在线| 国产精品久久久久久久乖乖| 综合久久2019| 亚洲精品写真福利| 国产又粗又大又爽的视频| www视频在线免费观看| 中文字幕一区二区三区不卡 | 亚洲第一黄色网址| 一区二区三区网站 | 羞羞色院91蜜桃| 91色porny| 久久另类ts人妖一区二区| 色婷婷av一区二区三区之红樱桃 | 男人操女人的视频在线观看欧美| 18一19gay欧美视频网站| 狠狠躁夜夜躁人人爽天天高潮| 影音先锋国产精品| 45www国产精品网站| 中文字幕激情小说| 国产91丝袜在线播放0| 国内成+人亚洲| 青青草在线视频免费观看| 一区二区三区四区不卡在线| 色18美女社区| 欧美视频网址| 欧美成人免费全部观看天天性色| 高潮无码精品色欲av午夜福利| 99re视频精品| 亚洲 日韩 国产第一区| 韩国成人漫画| 91精品婷婷国产综合久久竹菊| 熟女少妇内射日韩亚洲| 亚洲欧美偷拍自拍| 成人性生交xxxxx网站| 日本精品在线| 欧美丰满嫩嫩电影| 亚洲精品乱码久久| 青青草成人影院| 国产精品极品美女在线观看免费 | 美女写真久久影院| 宅男在线国产精品| 久久久精品少妇| 亚洲精品三级| 国产美女精品免费电影| 国精品人妻无码一区二区三区喝尿| 亚洲欧洲综合另类| 三级av免费看| 亚洲小说图片视频| 日韩av观看网址| 性猛交富婆╳xxx乱大交天津| 亚洲欧美日韩在线| zjzjzjzjzj亚洲女人| 成人系列视频| 成人激情在线观看| 香蕉久久aⅴ一区二区三区| 日本久久电影网| 日韩不卡av在线| 精品亚洲porn| 国产又粗又爽又黄的视频| 欧美日韩黄网站| 韩国日本不卡在线| 国内毛片毛片毛片毛片| 国产日韩欧美精品综合| 日本手机在线视频| 国产精品日韩精品在线播放 | 三级中文字幕在线观看| 777奇米四色成人影色区| 麻豆91精品91久久久| 日本午夜精品一区二区三区电影 | 成人高潮片免费视频| 亚洲高清免费观看| 微拍福利一区二区| 国产精品中文字幕欧美| 色一情一区二区三区四区 | 欧美精品乱人伦久久久久久| 99精品久久久久| 蜜臀av在线播放一区二区三区 | 在线 亚洲欧美在线综合一区| 明星裸体视频一区二区| 神马午夜伦理不卡| 亚洲欧洲国产伦综合| 日本网站免费观看| 粉嫩一区二区三区在线看| 欧美亚洲一二三区| 精品视频高潮| 国产精品日韩在线一区| 日本三级在线观看网站| 国产亚洲人成a一在线v站| 国产偷拍一区二区| 欧美性极品xxxx娇小| 免费黄色三级网站| 免费精品99久久国产综合精品| 国产视频在线观看网站| 日韩精品中文字幕吗一区二区| 日韩专区中文字幕| 国产又粗又猛又爽又黄视频| 精品动漫一区二区| 在线免费观看a级片| 久久97超碰国产精品超碰| 中文网丁香综合网| 9999在线精品视频| 欧美一区二区.| 免费av不卡在线观看| 综合国产在线视频| 桃花色综合影院| 色婷婷av一区二区三区之一色屋| 国产a免费视频| 国产精品福利影院| 精品无码国产污污污免费网站| 粉嫩aⅴ一区二区三区四区五区 | 18视频在线观看娇喘| 欧美日韩精品在线一区| 久久伊人一区二区| 久久午夜影院| 国产精品果冻传媒潘| 99综合久久| 成人国产在线视频| 福利一区视频| 欧美成人在线网站| 久草免费在线| yellow中文字幕久久| av在线免费观看网站| 日韩一区二区三区免费看 | 久久精品国产亚洲av无码娇色| 椎名由奈av一区二区三区| 被黑人猛躁10次高潮视频| 欧美私人啪啪vps| 国产四区在线观看| 精品淫伦v久久水蜜桃| 亚洲综合最新在线| 欧美伦理91| 高清欧美性猛交| 成人爽a毛片免费啪啪动漫 | 朝桐光av一区二区三区| www.av精品| 日本japanese极品少妇| 欧美aaa在线| 一区二区三区视频在线观看免费| 日韩av二区在线播放| 91视频免费版污| 免费成人在线网站| 天堂在线一区二区三区| 国产一区二区精品久久99| 5月婷婷6月丁香| 国产精品久久久久9999高清| 精品久久一二三| 图片小说视频色综合| 9l视频自拍9l视频自拍| 午夜国产精品视频| 久久国产精品网| 国产农村妇女精品一区二区| 日韩无套无码精品| 久久99精品久久久久久| 免费高清视频在线观看| 日韩精品乱码免费| 无码熟妇人妻av在线电影| 亚洲国产导航| 国产精品无码av无码| 激情偷乱视频一区二区三区| 欧美日韩一区二区区| eeuss影院一区二区三区| 久久精品国产亚洲av久| 中文字幕视频一区| 久久久久久久久久91| 最新久久zyz资源站| 欧美色图亚洲天堂| 第一福利永久视频精品| 久久久久久久久久久网| 激情成人中文字幕| 一级特黄aaaaaa大片| 精品少妇一区二区三区日产乱码| 97av免费视频| 欧美精品一区二区三区蜜桃| 国产黄色一区二区| 国产视频久久网| 日本黄色三级视频| 欧美成人一区二区三区| 日韩av视屏| 欧美成人合集magnet| 超碰aⅴ人人做人人爽欧美| 成人福利视频网| 免费成人网www| 久久99欧美| 婷婷久久综合| 国产成人久久777777| 国产精品一区二区三区乱码| v8888av| 久久久天堂av| 在线精品一区二区三区| 国产精品成人网| 久久久免费高清视频| 日韩三级在线观看| jizz日韩| 全球成人中文在线| 色8久久影院午夜场| 99电影在线观看| 日韩系列欧美系列| 奇米精品一区二区三区| 国产精品白丝jk黑袜喷水| 91成人在线免费视频| 婷婷六月综合网| 亚洲AV无码一区二区三区少妇 | 欧美一区二区播放| 都市激情一区| 日韩中文字幕网址| 欧美日韩在线观看首页| 99久re热视频这里只有精品6| 日韩精品一卡| 精品久久久久久无码国产| 成人黄页在线观看| 中文字幕丰满孑伦无码专区| 樱桃视频在线观看一区| 艳妇乳肉豪妇荡乳av| 欧美一卡2卡三卡4卡5免费| 触手亚洲一区二区三区| 欧美诱惑福利视频| 色爱av综合网| 日日摸日日碰夜夜爽无码| 国产91精品免费| 久草视频手机在线观看| 欧美一区二区三区视频免费播放| 日韩在线资源| 国产精品亚洲片夜色在线| 国产成人精品一区二区免费看京| 精品这里只有精品| 99这里只有久久精品视频| 国产成人精品亚洲男人的天堂| 日韩精品一区二区三区swag| 18在线观看的| 成人一区二区在线| 激情综合自拍| 稀缺小u女呦精品呦| 国产亚洲欧美日韩在线一区| wwwwww国产| 亚洲欧美日韩网| 影音先锋中文在线视频| 亚洲综合av影视| 欧美精品九九| 800av在线播放| 日韩欧美高清视频| 高清毛片在线看| 国产欧美一区二区三区视频 | 亚洲高清视频一区二区| 欧美涩涩视频| 亚洲精品乱码久久久久久蜜桃欧美| 亚洲一区二区三区小说| 中文字幕免费视频观看| 在线播放日韩欧美| 国产精品电影| 川上优av一区二区线观看 | 精品一区二区电影| 在线成人av观看| 亚洲视频sss| 国产精一区二区三区| 久久免费在线观看视频| 日韩经典一区二区三区| 日韩高清不卡| 视色,视色影院,视色影库,视色网| 国产 日韩 欧美大片| 精品免费囯产一区二区三区| 中文欧美在线视频| 精品国产亚洲一区二区在线观看| 久青草视频在线播放| 久久久久亚洲蜜桃| 国产精品视频一区二区三区,| 欧美精品久久久久久久久久| 四虎精品永久免费| 久久综合久久久久| 久久久久久99久久久精品网站| 亚洲天堂久久久久| 欧美精品激情blacked18| 精品产国自在拍| 国产成人av免费观看| 91国偷自产一区二区三区观看| 黄色成年人视频在线观看| 精品乱子伦一区二区三区| 国产精品av久久久久久麻豆网| 好男人香蕉影院| 欧美日韩卡一卡二| 丰满大乳少妇在线观看网站| 日韩欧美精品一区二区三区经典| 亚洲一区激情| 国产成人精品综合久久久久99| 精品成人av一区| 超碰在线观看免费| 欧美激情专区| 懂色av噜噜一区二区三区av| 在线视频播放大全|