Provider Management
Manage and interact with identity and cloud providers.
List Providers
Get all available providers.
GET /providers
Query Parameters
capability- Filter by capability (comma-separated):authenticator,authorizer,identities,notifications
Response
{
"version": "1.0",
"providers": {
"aws": {
"name": "Amazon Web Services",
"description": "AWS cloud provider with IAM integration",
"provider": "aws",
"enabled": true
},
"gcp": {
"name": "Google Cloud Platform",
"description": "GCP with IAM and identity management",
"provider": "gcp",
"enabled": true
}
}
}
Get Provider Details
GET /provider/{provider}
Response
{
"name": "Amazon Web Services",
"description": "AWS cloud provider with IAM integration",
"provider": "aws",
"enabled": true
}
Get Provider Roles
List roles available through a provider.
GET /provider/{provider}/roles
Query Parameters
q- Filter roles by search term
Response
{
"version": "1.0",
"provider": "aws",
"roles": [
{
"name": "ReadOnlyAccess",
"arn": "arn:aws:iam::aws:policy/ReadOnlyAccess",
"description": "Provides read-only access to AWS services"
},
{
"name": "PowerUserAccess",
"arn": "arn:aws:iam::aws:policy/PowerUserAccess",
"description": "Provides full access except user management"
}
]
}
Get Provider Permissions
List permissions available through a provider.
GET /provider/{provider}/permissions
Query Parameters
q- Filter permissions by search term
Response
{
"version": "1.0",
"provider": "aws",
"permissions": [
{
"name": "ec2:DescribeInstances",
"description": "Grants permission to describe EC2 instances"
},
{
"name": "s3:GetObject",
"description": "Grants permission to retrieve objects from S3"
}
]
}
Authorize Provider Session
Initiate OAuth2 flow for a provider.
POST /provider/{provider}/authorizeSession
Request Body
{
"scopes": ["email", "profile"],
"state": "encoded_state_token",
"redirect_uri": "https://localhost:8080/api/v1/auth/callback/aws"
}
Response
{
"url": "https://provider.com/oauth/authorize?client_id=...&redirect_uri=...&state=...",
"expires_in": 600
}