2014-11-05 56 views
0

我正在使用Apigee BaaS管理Web门户和Apigee iOS SDK,尝试创建适当的Apache Ant模式以允许我在用户实体和设备实体之间创建关系。Apigee Admin - 无法创建适当的用户权限

默认情况下,每当您使用Facebook登录创建用户时,这两个集合(/用户和/设备)之间就已经存在连接关系。但每当我cURL GET请求这个,我没有返回任何实体。因此我尝试了POST手动创建关系。

我试图创建一个使用iOS的Apigee SDK的关系的一个例子:

ApigeeClientResponse *registerResponse = [[self.apigeeClient dataClient] connectEntities:@"users" connectorID:user_uuid type:@"devices" connecteeID:userDeviceUUID]; 

@try { 

    NSLog(@"Response: %@", registerResponse.response); 

} @catch (NSException *e) { 

    NSLog(@"Error: %@", e); 

} 

我得到的回应:我曾尝试迄今还没有制定以下模式

Response: Subject does not have permission [applications:post:xxxxx-xxxx-xxxx-xxxx-xxxxxxxxx:/users/xxxxx-xxxx-xxxx-xxxx/devices/xxxxx-xxxx-xxxx-xxxx] 

对我来说:

POST /roles/default/permissions {"permission":"get,post,put:**/devices"} 
POST /roles/default/permissions {"permission":"get,post,put:/devices/**"} 
POST /roles/default/permissions {"permission":"get,post,put:**/devices"} 
POST /roles/default/permissions {"permission":"get,post,put:**/devices/**"} 
POST /roles/default/permissions {"permission":"get,post,put:/users/*/devices/**"} 
POST /roles/default/permissions {"permission":"get,post,put:/users/*/devices/*"} 
POST /roles/default/permissions {"permission":"get,post,put:/users/${user}/devices/**"} 
POST /roles/default/permissions {"permission":"get,post,put:/users/${user}/devices/*"} 
POST /roles/default/permissions {"permission":"get,post,put:/users/${user}/devices"} 
POST /roles/default/permissions {"permission":"get,post,put:/users/${user}/**"} 
POST /roles/default/permissions {"permission":"get,post,put:/users/${user}/*"} 

我已经缩小到这些可能的原因为什么这个可能无法正常工作:

  • 一个问题,我的Apache Ant的模式
  • 这些藏品都是默认Apigee收藏,可能有严格的规定束缚他们。
  • 与Apache的iOS SDK的问题

任何人都可以提出一个模式,或者帮我找出为什么我没有权限,使这个关系?

非常感谢 克里斯

回答

0

克里斯,在您设置,你传递一个令牌你的电话的权限?意思是,您是否在尝试创建连接之前将用户登录?

如果是这样,那么默认角色就是您想要使用的角色。如果不是,则来宾角色是将被调用的角色。或者,您可以创建一个新角色,然后将其分配给用户,或者您可以在用户实体上设置权限(请参阅用户部分管理门户进行此操作)。

至于什么许可使用,这一个应该做的伎俩:

/设备/ **

虽然有几个你的人也应该工作:

/用户/ * /设备/ ** /用户/ $ {用户} /设备/ **

我不知道任何当前正在等待此问题的bug。这并不意味着它不是一个错误。

要测试您是否使用了正确的角色,可以为POST添加/ **,这应允许对任何和所有端点进行POST操作。

+0

嘿rockerston,是的,用户在这一点上使用Facebook登录,我们也在每次通话时传递令牌。目前,所有用户都被放入一个分配了默认角色的组中,这些角色都与这些模式相关联。这是不正确的? – 2014-11-05 16:41:06

+0

类别。所有用户都将获得默认角色,无论您是否将该角色分配给组。您需要清除默认角色并为此创建一个新角色。 – rockerston 2014-11-06 04:56:42

+0

谢谢rockerston,我会试试这个,回复你 – 2014-11-06 15:01:23