Swagger整合Oauth2

      網友投稿 871 2025-04-01

      如果項目中使用了OAuth2.0,那么在每次請求接口的時候都需要在header上帶上Authorization參數才可以正常訪問,如下所示:


      項目用了Swagger在線接口文檔組件,那么如何結合OAuth2.0,讓調用接口的時候自動帶上認證參數呢?

      以下就是Oauth2.0整合Swagger的步驟:

      關鍵代碼

      @Configuration @EnableSwagger2 public class SwaggerConfig { private static final String VERSION = "1.0.0"; /** * 創建API */ @Bean public Docket createRestApi(){ return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() //指定接口包所在路徑 .apis(RequestHandlerSelectors.withClassAnnotation(Api.class)) .paths(PathSelectors.any()) .build() //整合oauth2 .securitySchemes(Collections.singletonList(apiKey())) .securityContexts(Collections.singletonList(securityContext())); } /** * 添加摘要信息 */ private ApiInfo apiInfo() { return new ApiInfoBuilder() .contact(new Contact("JAVA日知錄","http://javadaily.cn","jianzh5@163.com")) .title("account-server接口文檔") .description("account-server接口文檔") .termsOfServiceUrl("http://javadaily.cn") .version(VERSION) .build(); } private ApiKey apiKey() { return new ApiKey("Bearer", "Authorization", "header"); } /** * swagger2 認證的安全上下文 */ private SecurityContext securityContext() { return SecurityContext.builder() .securityReferences(defaultAuth()) .forPaths(PathSelectors.any()) .build(); } private List defaultAuth() { AuthorizationScope authorizationScope = new AuthorizationScope("web", "access_token"); AuthorizationScope[] authorizationScopes = new AuthorizationScope[1]; authorizationScopes[0] = authorizationScope; return Collections.singletonList(new SecurityReference("Bearer",authorizationScopes)); } }

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      17

      18

      19

      20

      21

      22

      23

      24

      25

      26

      27

      28

      29

      30

      31

      32

      33

      34

      35

      36

      37

      38

      39

      40

      41

      42

      43

      Swagger整合Oauth2

      44

      45

      46

      47

      48

      49

      50

      51

      52

      53

      54

      55

      56

      使用步驟

      使用postman調用認證中心接口獲取access_token

      http://localhost:8090/auth-service/oauth/token

      { "access_token": "36034ff7-7eea-4935-a3b7-5787d7a65827", "token_type": "bearer", "refresh_token": "4baea735-3c0d-4dfd-b826-91c6772a0962", "expires_in": 36931, "scope": "web" }

      1

      2

      3

      4

      5

      6

      7

      訪問Swagger接口頁面,點擊Authorize接口進行認證,在彈出框中輸入Bearer 36034ff7-7eea-4935-a3b7-5787d7a65827并點擊認證按鈕。

      在Swagger中正常請求接口

      經過以上幾步可以看到接口請求會默認帶上認證參數,小伙伴們又可以愉快的玩耍了!

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:word中選定一個句子的方法是什么?(在word中選擇一個句子的方法)
      下一篇:表格中有112個數字,手上有一個其中15個數字之和,如何在表中找出這15個數字
      相關文章
      亚洲AV午夜成人影院老师机影院 | 国产成人亚洲综合| 亚洲色大成网站www永久男同| 亚洲色大成网站www永久| 久久水蜜桃亚洲av无码精品麻豆| 亚洲产国偷V产偷V自拍色戒| 亚洲中文字幕不卡无码| 浮力影院亚洲国产第一页| 久久乐国产精品亚洲综合| 亚洲熟女乱综合一区二区| 亚洲综合色区在线观看| 亚洲国产精品一区二区三区久久| 国产亚洲日韩在线a不卡| 亚洲美女在线国产| 亚洲乱码无码永久不卡在线| 亚洲人JIZZ日本人| 国产AV无码专区亚洲AV男同| 亚洲精品高清久久| 亚洲视频在线观看一区| 亚洲精品乱码久久久久久下载 | 亚洲日韩国产一区二区三区| 久久久久亚洲AV综合波多野结衣 | 亚洲色大成WWW亚洲女子| 亚洲av无码一区二区三区天堂| 亚洲AV成人精品一区二区三区| 337P日本欧洲亚洲大胆艺术图| 少妇亚洲免费精品| 在线观看国产区亚洲一区成人| 亚洲自偷自偷偷色无码中文| 亚洲AV无码成人精品区在线观看| 亚洲国产一区国产亚洲| 亚洲春色在线观看| 亚洲午夜无码久久久久小说| 国产AV无码专区亚洲AV麻豆丫| 亚洲国产成人精品久久久国产成人一区二区三区综 | 久久亚洲国产成人精品性色| 亚洲成年人电影在线观看| 久久亚洲国产成人影院| 国产亚洲一卡2卡3卡4卡新区| 亚洲人成网站色在线入口| 久久综合九九亚洲一区|