欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

swagger2如何集成OAuth2

swagger2如何集成OAuth2,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

桐城網站建設公司創(chuàng)新互聯(lián)公司,桐城網站設計制作,有大型網站制作公司豐富經驗。已為桐城成百上千家提供企業(yè)網站建設服務。企業(yè)網站搭建\成都外貿網站制作要多少錢,請找那個售后服務好的桐城做網站的公司定做!

GitHub地址

碼云地址

swagger是一款優(yōu)雅的接口api展示工具,在這里我們具體不展開講解,有興趣的自行百度。 該篇文章主要講解的是如何集成OAuth3的驗證即在請求中添加token,驗證接口是否具有權限。

方式一:在每個請求上加一個Authorization 窗口自己手動輸入token:

/**
 * @Description Swagger api 配置
 * @Author wwz
 * @Date 2019/08/05
 */
@Configuration
@EnableSwagger2
public class SwaggerConfig2 {

    @Value("${swagger.is.enable}")
    private boolean SWAGGER_IS_ENABLE; //是否激活開關,在application.yml中配置注入

    @Bean
    public Docket docket() {
        //添加head參數配置start
        ParameterBuilder tokenPar = new ParameterBuilder();
        List<Parameter> pars = new ArrayList<>();
        tokenPar.name("Authorization").description("令牌").modelRef(new ModelRef("string")).parameterType("header").required(false).build();
        pars.add(tokenPar.build());
        return new Docket(DocumentationType.SWAGGER_2)
                .enable(SWAGGER_IS_ENABLE)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.wwz.frame.controller"))
                .paths(PathSelectors.any())
                .build()
                .globalOperationParameters(pars);//注意這里;
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                // 頁面標題
                .title("OAuth3權限管理API文檔")
                .contact(new Contact("wwz", "", "wwzwtf@qq.com"))
                .description("OAuth3維護文檔")
                .version("1.0")
                .extensions(Collections.emptyList())
                .build();
    }
}

效果截圖:

swagger2如何集成OAuth2

方式二:配置application.yml文件 設置好token登錄的地址,是否啟用swagger,新建配置文件

/**
 * @Description Swagger api 配置  模式二:增加登錄
 * @Author wwz
 * @Date 2019/08/05
 */
@Configuration
@EnableSwagger2
public class SwaggerConfig {


    @Value("${swagger.is.enable}")
    private boolean SWAGGER_IS_ENABLE; //是否激活開關,在application.yml中配置注入
    @Value("${swagger.auth.server}")
    private String AUTH_SERVER;
    @Value("${swagger.service.name}")
    private String SERVICE_NAME;
    @Bean
    public Docket docket() {
        return new Docket(DocumentationType.SWAGGER_2)
                .enable(SWAGGER_IS_ENABLE)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.wwz.frame.controller"))
                .paths(PathSelectors.any())
                .build()
//                .pathMapping(SERVICE_NAME)
                .securitySchemes(Collections.singletonList(securityScheme()))
                .securityContexts(Collections.singletonList(securityContext()));
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                // 頁面標題
                .title("OAuth3權限管理API文檔")
                .contact(new Contact("wwz", "", "wwzwtf@qq.com"))
                .description("OAuth3維護文檔")
                .version("1.0")
                .extensions(Collections.emptyList())
                .build();
    }

    /**
     * 這個類決定了你使用哪種認證方式,我這里使用密碼模式
     */
    private SecurityScheme securityScheme() {
        GrantType grantType = new ResourceOwnerPasswordCredentialsGrant(AUTH_SERVER);

        return new OAuthBuilder()
                .name("OAuth3")
                .grantTypes(Collections.singletonList(grantType))
                .scopes(Arrays.asList(scopes()))
                .build();
    }

    /**
     * 這里設置 swagger2 認證的安全上下文
     */
    private SecurityContext securityContext() {
        return SecurityContext.builder()
                .securityReferences(Collections.singletonList(new SecurityReference("OAuth3", scopes())))
                .forPaths(PathSelectors.any())
                .build();
    }

    /**
     * 這里是寫允許認證的scope
     */
    private AuthorizationScope[] scopes() {
        return new AuthorizationScope[]{
        };
    }
}

在MySecurityResourceServerConfig 放行swagger相關。

界面截圖:

swagger2如何集成OAuth2

登錄截圖:

swagger2如何集成OAuth2

測試:

swagger2如何集成OAuth2

swagger 整合OAuth2完成。

看完上述內容,你們掌握swagger2如何集成OAuth2的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

網頁題目:swagger2如何集成OAuth2
文章URL:http://chinadenli.net/article20/ppssjo.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供Google、靜態(tài)網站、定制網站、建站公司移動網站建設、外貿建站

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)
黄男女激情一区二区三区| 欧美黑人巨大一区二区三区| 午夜精品在线观看视频午夜| 亚洲日本加勒比在线播放| 亚洲乱妇熟女爽的高潮片| 伊人天堂午夜精品草草网| 国产一级不卡视频在线观看| 中文字幕一区久久综合| 欧美日韩一级aa大片| 国产成人精品国内自产拍| 欧美日不卡无在线一区| 国产精品内射视频免费| 麻豆tv传媒在线观看| 久久精品中文字幕人妻中文| 太香蕉久久国产精品视频| 欧美人妻少妇精品久久性色| 精品人妻一区二区四区| 日韩中文高清在线专区| 亚洲乱码av中文一区二区三区| 亚洲一区二区久久观看| 最近中文字幕高清中文字幕无| 欧美精品激情视频一区| 午夜精品福利视频观看| 久久精品中文扫妇内射| 91久久国产福利自产拍 | 国产欧美一区二区久久| 男人和女人干逼的视频| 精品推荐久久久国产av| 国产级别精品一区二区视频| 不卡免费成人日韩精品| 国产色偷丝袜麻豆亚洲| 国产综合香蕉五月婷在线| 激情五月天深爱丁香婷婷| 免费性欧美重口味黄色| 亚洲欧美日本成人在线| 熟女少妇一区二区三区蜜桃| 91日韩在线观看你懂的| 色综合久久超碰色婷婷| 高清欧美大片免费在线观看| 久草精品视频精品视频精品| 久久亚洲国产视频三级黄|