Skip to content
This repository has been archived by the owner on Mar 14, 2019. It is now read-only.

REST API

Álvaro Alonso edited this page Aug 31, 2015 · 15 revisions

DEPRECATED - Important: This wiki documentation is deprecated. Please use the documentation included in the main README of this project

Keystone v3 API

As Keyrock backend is based on Openstack Keystone, it fully implement its APIs. You can check them here. Openstack also provides some curl examples in order to understand how the API works.

In order to manage other entities that only Keyrock offers, you have to use the extensions APIs, explained bellow. This APIs are exposed by the back-end NOT the front-end.

Consumers API (Applications)

Consumers are the Applications registered in Keyrock to consume OAuth2 resources.

Consumer CRUD

Methods URL
INDEX GET /OS-OAUTH2/consumers
CREATE POST /OS-OAUTH2/consumers
READ GET /OS-OAUTH2/consumers/$consumer_id
UPDATE PATCH /OS-OAUTH2/consumers/$consumer_id
DELETE DELETE /OS-OAUTH2/consumers/$consumer_id

Roles API

Roles CRUD

Methods URL
INDEX GET /OS-ROLES/roles
CREATE POST /OS-ROLES/roles
READ GET /OS-ROLES/roles/$role_id
UPDATE PATCH /OS-ROLES/roles/$role_id
DELETE DELETE /OS-ROLES/roles/$role_id

Permission CRUD

Methods URL
INDEX GET /OS-ROLES/permissions
CREATE POST /OS-ROLES/permissions
READ GET /OS-ROLES/permissions/$permission_id
UPDATE PATCH /OS-ROLES/permissions/$permission_id
DELETE DELETE /OS-ROLES/permissions/$permission_id

Role - Permission Relationship

Methods URL
INDEX GET /OS-ROLES/roles/$role_id/permissions
UPDATE PUT /OS-ROLES/roles/$role_id/permissions/$permission_id
DELETE DELETE /OS-ROLES/roles/$role_id/permissions/$permission_id

Role - User Relationship

Methods URL
INDEX GET /OS-ROLES/users/role_assignments
UPDATE PUT /OS-ROLES/users/$user_id/applications/$application_id/roles/$role_id
DELETE DELETE /OS-ROLES/users/$user_id/applications/$application_id/roles/$role_id
UPDATE PUT /OS-ROLES/users/$user_id/organizations/$organization_id/applications/$application_id/roles/$role_id
DELETE DELETE /OS-ROLES/users/$user_id/organizations/$organization_id/applications/$application_id/roles/$role_id

Role - Organization Relationship

Methods URL
INDEX GET /OS-ROLES/organizations/role_assignments
UPDATE PUT /OS-ROLES/organizations/$organization_id/applications/$application_id/roles/$role_id
DELETE DELETE /OS-ROLES/organizations/$organization_id/applications/$application_id/roles/$role_id