openapi-用户绑定(passport)

本文探讨了开放平台用户绑定的实现,强调了安全性和集成性的重要性。通过使用RESTful API,确保唯一地址进行用户操作,并利用Velocity等模板引擎实现页面通用性。同时,讨论了如何处理页面权限、信息隐秘性和URL统一性,以提升开放平台的兼容性和安全性。

支持所有外部平台的用户接口功能;

主要就是用户绑定和用户解绑等功能。

设计的难点和重点:

1)安全性

2)集成性

开放平台,是一个支持外部环境接口的开发空间,本人原来狭窄的认为那只是一个提供数据源的平台。自从用户绑定项目之后,对开放平台有了新的认识。开放平台不能只有数据,还要展示。

所以在这些的openapi升级过程中多了一个选项:format:html(在原来json/xml的基础之上)


首先从安全性说起,如何保证互联网的安全,这是一个博大的问题,那就说说一些简单的技巧:

   1.1)最少的页面跳转;如在用户绑定,解绑,验证等过程,永远只有一个绝对地址(rest.do),后端会根据参数渲染出来页面;(就是使用一个velocity,freemark就行,必须关注的问题如何通用,包括提示信息、样式等都能够接入方的要求能够更改);

   1.2)安全的继承性;现在假设一个场景,用户在发起一个绑定的显示请求之后,页面的操作,你是如何保证用户权限的呢?从数据权限和页面权限等;

   1.3)客户端与服务端交互的信息隐避性,同前端模板的可配置性开分离。

 集成性,为了保证信息平台的一致性,开放平台是基于rest风格的资源结构形式,换言之,就是通过URL来结构资源和信息的获取和展示方式。提供的服务资源就是寄主于开放平台的容器中,统一的认证安全,授权管理等。那像用户绑定功能,是不是意味着增加新的页面,一张JS,aspx页面?

2.1)url的问题,无法统一;URL结构规范永远只有一个。

2.2)页面认证的安全性等逻辑判断问题,是不是又要重写或者COPY。


    

springdoc-openapi-security 和 springdoc-openapi-ui 是 SpringDoc OpenAPI 项目中两个不同的组件,它们的主要区别如下: ### 功能定位 - **springdoc-openapi-ui**:侧重于提供可视化的接口文档展示功能。在 Spring Boot 项目中,它能自动扫描控制器并生成 OpenAPI 文档,通常无需额外配置即可工作,还可通过自定义配置修改文档的标题、描述、版本等信息。例如,可通过创建配置类 `SpringDocConfig` 来自定义 OpenAPI 文档的信息,代码如下: ```java import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.info.Info; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class SpringDocConfig { @Bean public OpenAPI customOpenAPI() { return new OpenAPI() .info(new Info().title("XXXX管理系统接口文档") .description("This is a sample API documentation") .version("v1.0.0")); } } ``` 同时,还能在 `application.yaml` 中对 Swagger UI 的相关路径等进行配置,如设置 Swagger UI 的地址、OpenAPI 文档的路径等 [^1][^2]。 - **springdoc-openapi-security**:主要用于处理 API 文档的安全相关问题。它可以帮助开发者在生成的 OpenAPI 文档中集成安全方案,如 OAuth2、API Key 等认证和授权机制,确保只有经过授权的用户才能访问和查看 API 文档或调用相关接口。 ### 核心作用 - **springdoc-openapi-ui**:核心作用是将 API 接口信息以直观、易用的界面形式呈现给开发者、测试人员或其他相关人员,方便他们查看接口的详细信息,包括接口地址、请求参数、返回值等,提高开发和测试的效率。 - **springdoc-openapi-security**:核心作用是保障 API 文档和接口的安全性,防止未授权的访问和数据泄露,确保 API 资源的安全使用。 ### 使用场景 - **springdoc-openapi-ui**:适用于需要快速生成和查看 API 文档的场景,无论是开发阶段的内部调试,还是项目交付后的外部对接,都可以使用它来展示清晰的接口信息。 - **springdoc-openapi-security**:适用于对 API 接口有安全要求的场景,如企业内部的敏感数据接口、面向外部合作伙伴的付费接口等,需要对访问进行严格控制的情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值