📄 支持开放平台模式
内部资料,请刷新扫码登录
pigcloud
本文单纯从简单的技术实现来讲,不涉及开放平台的多维度的运营理念。
# 什么是开放平台
通过开放自己平台产品服务的各种 API 接口,让其他第三方开发者在开发应用时根据需求直接调用,例如微信登录、QQ 登录、微信支付、微博登录、热门等。 让第三方应用通过开发平台,使得自身海量数据资源得到沉淀(变现) 目前国内主流的网站的的开放平台,都是基于 oauth2.0 协议进行做的开放平台
- 微信开放平台授权机制流程图
- 微博开放平台授权机制流程图
# 测试开放平台获取授权码
- 注册支持授权码的客户端
INSERT INTO `sys_oauth_client_details`(`id`, `client_id`, `resource_ids`, `client_secret`, `scope`, `authorized_grant_types`, `web_server_redirect_uri`, `authorities`, `access_token_validity`, `refresh_token_validity`, `additional_information`, `autoapprove`, `del_flag`, `create_by`, `update_by`, `create_time`, `update_time`, `tenant_id`) VALUES (1000, 'open', NULL, 'open', 'server', 'refresh_token,authorization_code', 'https://pig4cloud.com', NULL, NULL, NULL, '{\n \"appName\":\"测试应用\"\n}', 'false', '0', ' ', ' ', NULL, NULL, 1);
#
- 浏览器访问如下链接, 必须完全复制不要修改任何参数
# v4.6+
http://localhost:3000/oauth2/authorize?scope=server&client_id=open&response_type=code&redirect_uri=https://pig4cloud.com
# 低版本
http://localhost:3000/oauth/authorize?client_id=open&response_type=code&redirect_uri=https://pig4cloud.com
- 统一认证界面 (admin/123456)
- 授权确认
- 登录成功带着 code 回调到目标接口
# 通过授权码获取交互令牌
curl --location --request POST 'http://127.0.0.1:3000/oauth2/token' \
--header 'User-Agent: Apifox/1.0.0 (https://apifox.com)' \
--header 'Authorization: Basic b3BlbjpvcGVu' \
--form 'grant_type="authorization_code"' \
--form 'scope="server"' \
--form 'code="上文获取到的code"' \
--form 'redirect_uri="https://pig4cloud.com"'