native-network / social_json_api
此模块为您开源社交网站启用JSON API。
2.0.0
2019-06-14 07:44 UTC
Requires
- drupal/openapi: ^1.0
- drupal/openapi_ui: ^1.0
- drupal/openapi_ui_redoc: ^1.0
- drupal/schemata: ^1.0
- drupal/simple_oauth: ^3.0
This package is auto-updated.
Last update: 2024-09-14 22:38:05 UTC
README
社交JSON API提供以下实体可用的API
- 评论
- 活动报名
- 文件
- 小组
- 小组内容
- 节点
- 帖子
- 个人资料
- 分类术语
- 用户
这些实体可以直接使用。但是,您需要配置以访问API(身份验证和授权)。
安装
- 启用此模块及其所有依赖项。
- 模块将在您的docroot(web/html)目录外自动创建一个文件夹,其中可以存储公钥和私钥组合。默认情况下为:
private://oauth_api_keys/
。 - 如果您的网站具有sitemanager角色,则将自动为此角色分配一些权限。
- 检查social_json_api_entity_type_alter()中是否启用了所有正确的实体。
配置
实现的API系统具有多个可用的认证授权。默认情况下,Open Social允许所有这些授权。
要确定适用于您的用例的授权,请阅读oauth2文档。出于演示目的,我们假设您将想要密码授权,这意味着您将使用特定用户的账户详情进行登录。
- 转到/admin/config/people/simple_oauth并配置OAuth设置以满足您的需求。请务必检查过期时间以及是否存在密钥。在开发过程中,您可以设置访问令牌过期时间为更高的值。通常这应该低于300秒。
- 在/admin/config/services/consumer/add上创建一个消费者
- 至少填写以下内容
- 标签:您的消费者的标签(例如,我的CRM系统)
- 用户:留空
- 新密钥:在此处生成安全字符串(例如,使用Lastpass,但请记住此信息,您以后需要使用它)
- 是否是机密:是
- 此消费者是否为第三方:是
- 重定向URL:留空
- 作用域:选择您要使用的作用域,例如Sitemanager(这确定了API的权限)
- 保存消费者后,您将转到消费者概览,在那里您可以查看消费者uuid。
身份验证
现在,您可以通过对/oauth/token
进行POST请求来访问API
grant_type:password
client_id:uuid
client_secret:secret
username:test
password:test
只需填写相应的client_id、client_secret、用户名和密码。您将收到access_token和refresh_token,您可以在后续请求中使用它们,例如在refresh_token请求中,或者您可以在过期时间内使用相同的access_token。
更多信息请参阅:http://oauth2.thephpleague.com/authorization-server/resource-owner-password-credentials-grant/
文档
有关更多信息,请参阅您网站上的:/admin/config/opensocial/social-json-api
您还可以在那里找到API文档的链接。该文档是自动生成的,并通过ReDoc显示。