在梦工厂创建用户

时间:2015-10-19 08:04:32

标签: api rest postman

我正在使用dreamfactory并尝试创建具有不同角色的用户,并使用这些用户发送请求,但这些用户并不适合我。但是管理员用户。我不明白为什么会这样。

以下是我采取的步骤;

在管理控制台中,单击“角色”选项卡,然后单击左侧边栏中的“创建”。

输入角色的名称,然后选中“活动”框。

转到“访问”标签。

在“服务访问”下添加一个新条目(稍后可以使其更具限制性)。

设置Service = All

设置Component = *

检查Access

下的所有HTTP谓词

设置Requester = API

单击“创建角色”。

单击“服务”选项卡,然后编辑用户服务。转到配置并启用 允许开放注册。 将Open Reg Role Id设置为您刚刚创建的角色的名称。 确保Open Reg Email Service Id为空,以便新用户无需确认电子邮件即可注册。

保存更改。

然后我注册了用户隐身模式

我使用名为Postman的Google扩展程序休息客户端发出请求 在邮递员中我使用Basic Auth输入了用户名和密码并发送了请求

{   “错误”:{     “context”:null,     “消息”:“访问被禁止。”,     “代码”:403 }

...

以上是我使用刚刚注册的用户时得到的结果。但是,当我使用管理员用户名和密码时,我得到以下响应。

状态200确定

{“resource”:[{“name”:“_ schema”},{“name”:“_ table”},{“name”:“_ proc”},{“name”:“_ func”}]}

这是我想要的其他用户的结果。

请让我知道我做错了什么,所以我可以解决它。再次感谢您的帮助

1 个答案:

答案 0 :(得分:0)

我已经配置了我的系统,并将完成这些步骤。这是在DreamFactory 2.0测试版06 Oct 2015 commit上完成的。

首先,注册用户:

POST /api/v2/user/register
X-DreamFactory-Api-Key: 0d430cc287b5dd88b0f615d2bb69d84ba7201e8d4214fee2eabcc96bcd937d7d

{
  "email": "user@domain.com",
  "first_name": "Basic",
  "last_name": "User",
  "display_name": "Basic User",
  "new_password": "password"
}

回复:{"success":true}

接下来,以该用户身份登录:

POST /api/v2/user/session
X-DreamFactory-Api-Key: 0d430cc287b5dd88b0f615d2bb69d84ba7201e8d4214fee2eabcc96bcd937d7d

{
  "email": "user@domain.com",
  "password": "password"
}

响应:

{
  "session_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOjMsInVzZXJfaWQiOjMsImZvcmV2ZXIiOmZhbHNlLCJpc3MiOiJodHRwczpcL1wvZGVtby5lbnRlcnByaXNlLmRyZWFtZmFjdG9yeS5jb21cL2FwaVwvdjJcL3VzZXJcL3Nlc3Npb24iLCJpYXQiOiIxNDQ0Njc1NDU0IiwiZXhwIjoiMTQ0NDY3OTA1NCIsIm5iZiI6IjE0NDQ2NzU0NTQiLCJqdGkiOiIyMjFiYTg5M2E2YTc4OThlNDdlZGI4MGY5YjVkY2M2ZCJ9.V8y2B_2vlh8QdFhRqyuSG8SbfIVe8g71RvNjKoW2Bi8",
  "session_id":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOjMsInVzZXJfaWQiOjMsImZvcmV2ZXIiOmZhbHNlLCJpc3MiOiJodHRwczpcL1wvZGVtby5lbnRlcnByaXNlLmRyZWFtZmFjdG9yeS5jb21cL2FwaVwvdjJcL3VzZXJcL3Nlc3Npb24iLCJpYXQiOiIxNDQ0Njc1NDU0IiwiZXhwIjoiMTQ0NDY3OTA1NCIsIm5iZiI6IjE0NDQ2NzU0NTQiLCJqdGkiOiIyMjFiYTg5M2E2YTc4OThlNDdlZGI4MGY5YjVkY2M2ZCJ9.V8y2B_2vlh8QdFhRqyuSG8SbfIVe8g71RvNjKoW2Bi8",
  "id":3,
  "name":"Basic User",
  "first_name":"Basic",
  "last_name":"User",
  "email":"user@domain.com",
  "is_sys_admin":false,
  "last_login_date":"2015-10-12 18:44:14",
  "host":"console",
  "role":"basic",
  "role_id":1
}

由于您尝试使用基本身份验证,我也这样做了:

GET /api/v2/db
X-DreamFactory-Api-Key: 0d430cc287b5dd88b0f615d2bb69d84ba7201e8d4214fee2eabcc96bcd937d7d
Authorization: Basic dXNlckBkb21haW4uY29tOnBhc3N3b3Jk

响应:

{
  "resource": 
    [
      {"name":"_schema"},
      {"name":"_table"},
      {"name":"_proc"},
      {"name":"_func"}
    ]
}

DreamFactory 2.0的文档:http://wiki.dreamfactory.com/DreamFactory/API

可以在DreamFactory实例的API文档标签中找到每个可能的API调用的深入文档。 API文档使用Swagger UI自动生成并自我记录。