-
The following resources have been added
- GET
0.1/idp
- PUT
0.1/idp/<idp_type>/users/<user_uuid>
- DELETE
0.1/idp/<idp_type>/users/<user_uuid>
- PUT
0.1/idp/<idp_type>/users
- GET
-
The
backend
parameter during token creation is now ignored. The configured authentication method of the user or tenant is used instead. -
The
tenants
resource now has thedefault_authentication_method
field which can contain the following valuesnative
ldap
saml
-
The
users
resource now has theauthentication_method
field which can contain the following valuesdefault
native
ldap
saml
-
The following resources have been added allowing users to login using SAML2
POST /saml/sso
POST /saml/acs
-
The external API
POST /external/mobile/config
accepts a new key:fcm_service_account_info
-
The external API
POST /external/mobile/config
has a deprecated key:fcm_api_key
-
The config has new available keys:
profiling_enabled: bool
Those keys may also be configured with PATCH /0.1/config
.
-
The following deprecated endpoints have been removed
- GET
0.1/tenants/<tenant_uuid>/policies
- GET
0.1/tenants/<tenant_uuid>/users
- GET
0.1/users/<user_uuid>/tenants
- GET
- Tokens now have a maximum expiration time of 10 years.
- The following CLI options have been added
--listen-port
will override the HTTP server listening port--log-file
will override the log filename
update_policy_on_startup
can now be disabled from the configuration filetoken_cleanup_interval
will now disable the cleanup mechanism if set to0
- Username and e-mail addresses are now unique in a case insensitive way. This means that a user
with username
Bob
is now considered the same as a user with the usernamebob
. Duplicates that may be already present in the database will be prefixed withduplicateXX
,XX
being the occurence.
GET /external/{auth_type}/users
: no longer discards user without an active session with the stack, all users with a token with the service will be returned
-
Added a new endpoint to retrieve the list of connected users registered with the specified auth type
GET /external/{auth_type}/users
- Adding a user to a group in
/user_group
endpoint should fail now when the two resources do not have/belong to the same tenant; it raises a 400 HTTP error
- The endpoint
GET /users/password/reset
now acceptslogin
query string
-
New configuration has been added to configure number of proxies ahead this service and get the right client IP
rest_api: num_proxies: 1
-
The endpoint
GET /groups
now accepts the following query string parameters:policy_uuid
: filter groups that have this policypolicy_slug
: idem with policy slug
-
The groups endpoints now accept and return the group attribute
slug
:GET/POST /groups
GET/PUT /groups
-
The endpoint
GET /users
now accepts the following query string parameters:policy_uuid
: filter users that have this policy (no indirect relation)policy_slug
: idem with policy slughas_policy_uuid
: filter users that have this policy, either directly or indirectly via a group policyhas_policy_slug
: idem with policy slug
The POST /0.1/token
endpoint now accepts the following body parameters:
domain_name
: mandatory forldap_user
backend
The following body parameters have been deprecated on the POST /0.1/token
endpoint:
-
tenant_id
use thedomain_name
parameter instead -
The following field:
domain_names
has been added to the following resources:
tenants
supporting the following operations:
GET /tenants/domain_name
PUT /tenants/{tenant_uuid}/domain_names
DELETE /tenants/{tenant_uuid}/domain_names
POST /tenants/{tenant_uuid}/domain_names
-
New endpoint to get and update configuration of the LDAP authentication source:
-
GET /backends/ldap
-
PUT /backends/ldap
-
DELETE /backends/ldap
-
The
POST /0.1/token
endpoint now accepts the following body paremeterstenant_id
: mandatory forldap_user
backend
-
- The
users
resource does not require ausername
anymore - The
token
resource now works with theusername
or a confirmed email address
- The
policies
resource now has ashared
field
- New
default_user_policy
configuration has been added to apply this policy to all users backend_policies
has been deprecated and will be removed in further version
- Forbid to delete its own tenant
-
Policies endpoints now check that token has enough permission to assign access. To follow this change, the bootstrap user (i.e. wazo-auth-cli) has now all accesses (i.e. '#')
-
Policy's slug can now be used as identifier instead of UUID in endpoints
-
New endpoint to get and update configuration of
wazo-auth
:GET /config
PATCH /config
- Only the
debug
attribute may be modified.
- Only the
- The
policies
resource now has aread_only
field - The
groups
resource now has aread_only
field - The field
system_managed
has been deprecated ingroups
resources:
-
The
policies
resource now has aslug
field -
The following deprecated resources have been removed
DELETE /policies/{policy_uuid}/acl_templates/{template}
PUT /policies/{policy_uuid}/acl_templates/{template}
-
The deprecated field
acl_templates
has been removed in the following routes:GET /policies
GET /policies/{policy_uuid}
GET /groups/{group_uuid}/policies
-
The deprecated field
acls
has been removed for token resource -
The deprecated method
get_acls
for backend has been removed
- The
tenants
resource now has aslug
field
-
The following token metadata for
wazo_default_user
backend plugin has been removed:username
groups
visible_tenants
xivo_user_uuid
-
Template feature for an access (acl) has been removed
-
A new resources have been added to manage policy an access
DELETE /policies/{policy_uuid}/acl/{access}
PUT /policies/{policy_uuid}/acl/{access}
-
The following resources have been deprecated
DELETE /policies/{policy_uuid}/acl_templates/{template}
PUT /policies/{policy_uuid}/acl_templates/{template}
-
The field
acl_templates
has been deprecated in the following routes:GET /policies
GET /policies/{policy_uuid}
GET /groups/{group_uuid}/policies
-
The field
acls
has been deprecated in favor of the newacl
field for token resource
-
An ACL template can now begin with the character
!
to remove permissions explicitly. -
A new resource has been added to check multiple permissions:
- POST
/0.1/token/{token_uuid}/scopes/check
- POST
- Deprecate SSL configuration
-
A new resource has been added to check the service status
- HEAD
0.1/status
- HEAD
-
The following new fields
apns_voip_token
apns_notification_token
have been added in the following routes:
GET /users/{user_uuid}/external/mobile
POST /users/{user_uuid}/external/mobile
-
The field
apns_token
has been deprecated in the following routes:GET /users/{user_uuid}/external/mobile
POST /users/{user_uuid}/external/mobile
This field will be removed in a later version.
- wazo-auth-bootstrap setup is a noop
- wazo-auth-bootstrap complete now directly connect to the database
- wazo-auth-bootstrap initial-user have been added to simplify container setup.
0.1/init
endpoint have been removed- The refresh tokens list now shows if a mobile session created that refresh token
- A new resource as been added to list refresh tokens for the whole system
-
A new resource has been added to manage refresh tokens
- GET
0.1/users/<user_uuid>/tokens
- DELETE
0.1/users/<user_uuid>/tokens/<client_id>
- GET
-
The
0.1/token
resource now accept the following optionnal body paremetersclient_id
refresh_token
access_type
-
New resource has been added to delete a session
- DELETE
0.1/sessions/<session_uuid>
- DELETE
0.1/users/<user_uuid>/sessions/<session_uuid>
- DELETE
-
New resource has been added to manage external auth mobile sender ids
- GET
0.1/users/<user_uuid>/external/mobile/sender_id
- GET
- The ACL on
0.1/external/<auth_type>/config
have been change to match the URL
-
New resource has been added to manage config for a given auth_type
- GET
0.1/external/<auth_type>/config
- POST
0.1/external/<auth_type>/config
- DELETE
0.1/external/<auth_type>/config
- PUT
0.1/external/<auth_type>/config
- GET
-
The
tenants
field has been removed from token metadata -
New resource has been added to list user's sessions
- GET
0.1/users/<user_uuid>/sessions
- GET
-
New resource has been added to list sessions
- GET
0.1/sessions
- GET
- Old method
get_ids
for backend has been removed - GET on
/users/password/reset
does not delete the current password anymore
- The backend
xivo_admin
has been removed
- The backend option in
POST /tokens
is now optional. The default value iswazo_user
- The backend
xivo_service
has been removed
-
POST /init
can now take the purpose attribute -
A user now has a
purpose
property -
The following URLs have been deprecated. Use
Wazo-Tenant
header instead:- GET
0.1/tenants/<tenant_uuid>/policies
- GET
0.1/tenants/<tenant_uuid>/users
- GET
0.1/users/<user_uuid>/tenants
- GET
-
Groups now have a tenant_uuid
-
POST on /groups will create the group in the token's user tenant_uuid or in the specified Wazo-Tenant
-
add tenant filtering on the following endpoints
- GET, PUT, DELETE
/groups/<group_uuid>/users
- GET /users/<user_uuid>/groups
- GET, PUT, DELETE
/groups/<group_uuid>
- GET /groups
- GET, PUT, DELETE
-
-
GET and HEAD on /token now accept the "tenant" query string argument and will return 403 if the tenant is not in the user's authorized tenants.
-
The following route are now tenant filtered using the token owner's tenant of the Wazo-Tenant header
- POST, GET /policies
- GET, PUT, DELETE /policies/<policy_uuid>
- PUT, DELETE /policies/<policy_uuid>/acl_templates/:acl_template
- GET /tenants/<tenant_uuid>/policies
-
A policy now has a
tenant_uuid
which is the owning tenant of the policy -
The GET /policies/<policy_uuid>/tenants route has been removed
-
The following route have been removed
- PUT, DELETE /tenants/<tenant_uuid>/policies/<policy_uuid>
-
Add the
uuid
field on POST0.1/tenants
-
A user now has a tenant_uuid. It is either:
- the creator's tenant_uuid
- the specified Wazo-Tenant header's value
-
A tenant now has a parent_uuid which is the tenant_uuid of the tenant above this tenant in the hierarchy.
-
The GET /tenants only return tenants that are below the tenant_uuid of the user doing the request or specified by Wazo-Tenant
-
The GET /users only return user from the same tenant as the requester or Wazo-Tenant
-
The recurse parameter has been added on /users to include users from all sub-tenants
-
Add the "enabled" field to a users
-
New resources have been added to update all of a user's emails
- PUT
0.1/admin/users/<user_uuid>/emails
- PUT
0.1/users/<user_uuid>/emails
- PUT
-
The "username" field of a user can now be 256 characters long
-
Add an association between tenants and policies
- PUT
0.1/tenants/<tenant_uuid>/policies/<policy_uuid>
- DELETE
0.1/tenants/<tenant_uuid>/policies/<policy_uuid>
- GET
0.1/tenants/<tenant_uuid>/policies/
- GET
0.1/policies/<policy_uuid>/tenants/
- PUT
-
A new resource has been added to trigger a new email confirmation email
- GET
0.1/users/<user_uuid>/emails/<email_uuid>/confirm
- GET
-
Add the "metadata" field on the token body
- POST
0.1/token
- GET
0.1/token/<token_uuid>
- POST
-
Add the
firstname
andlastname
fields to a user -
The
name
of a tenant is now optional -
A new resource has been added to list a user external authencation methods
- GET
0.1/users/<user_uuid>/external
- GET
-
The
email_address
field is no longer required when creating a user -
Add a new URL to edit users
- PUT
0.1/users/<user_uuid>
- PUT
-
Add a new URL to edit tenants
- PUT
0.1/tenants/<tenant_uuid>
- PUT
-
A tenant now accepts the following fields:
-
phone: The tenant's phone number to reach the contact
-
contact: The user UUID of the user to contact for this tenant
-
address: The tenant's address
- line_1
- line_2
- city
- state
- country
- zip_code
-
-
Add a new route to change reset the user's password when forgotten
- GET /users/password/reset
- POST /users/password/reset
-
A new resource has been added to assign a User to a Group
- PUT
0.1/groups/<group_uuid>/users/<user_uuid>
- DELETE
0.1/groups/<group_uuid>/users/<user_uuid>
- GET
0.1/groups/<group_uuid>/users
- GET
0.1/users/<user_uuid>/groups
- PUT
-
A new resource has been added to assign a Policies to Groups
- PUT
0.1/groups/<group_uuid>/policies/<policy_uuid>
- DELETE
0.1/groups/<group_uuid>/policies/<policy_uuid>
- GET
0.1/groups/<group_uuid>/policies
- PUT
-
The URL to create users with a token has been changed
- POST
0.1/users/register
- POST
-
The user creation url now needs a token and does not require a password anymore
- POST
0.1/users
- POST
-
All DELETE on association now return 204 if the resources are not associated but both exists
- DELETE
0.1/users/<user_uuid>/policies/<policy_uuid>
- DELETE
0.1/groups/<group_uuid>/policies/<policy_uuid>
- DELETE
0.1/groups/<group_uuid>/users/<user_uuid>
- DELETE
0.1/tenants/<tenant_uuid>/users/<user_uuid>
- DELETE
-
A UUID can be supplied when creating a user
-
A new URL has been added to change a user's password
- PUT
0.1/users/<user_uuid>/password
- PUT
-
A new resource has been added to manage Tenants
- POST
0.1/tenants
- GET
0.1/tenants
- GET
0.1/tenants/<tenant_uuid>
- DELETE
0.1/tenants/<tenant_uuid>
- POST
-
A new resource has been added to assign policies to users
- PUT
0.1/users/<user_uuid>/policies/<policy_uuid>
- DELETE
0.1/users/<user_uuid>/policies/<policy_uuid>
- GET
0.1/users/<user_uuid>/policies/
- PUT
-
A new resource has been added to assign users to tenants
- PUT
0.1/tenants/<tenant_uuid>/users/<user_uuid>
- DELETE
0.1/tenants/<tenant_uuid>/users/<user_uuid>
- GET
0.1/tenants/<tenant_uuid>/users/
- GET
0.1/users/<user_uuid>/tenants/
- PUT
-
A new ressource has been added to manage Groups
- POST
0.1/groups
- GET
0.1/groups
- GET
0.1/groups/<group_uuid>
- PUT
0.1/groups/<group_uuid>
- DELETE
0.1/groups/<group_uuid>
- POST
-
A new resource has been added to manage Users
- POST
0.1/users
- GET
0.1/users
- GET
0.1/users/<user_uuid>
- DELETE
0.1/users/<user_uuid>
- POST
-
A new resource has been added to manage ACL policies
- POST
/0.1/polices
- GET
/0.1/policies
- GET
/0.1/policies/<policy_uuid>
- PUT
/0.1/policies/<policy_uuid>
- DELETE
/0.1/policies/<policy_uuid>
- PUT
/0.1/policies/<policy_uuid>/acl_templates/<template>
- DELETE
/0.1/policies/<policy_uuid>/acl_templates/<template>
- POST
-
The token data in the response of POST and GET on
/0.1/token
now include the following new fields- utc_expires_at
- utc_issued_at
- xivo_uuid
- POST
/0.1/token
, fieldexpiration
: only integers are accepted, floats are now invalid. - Experimental backend
ldap_user_voicemail
has been removed. - New backend
ldap_user
has been added.
- POST
/0.1/token
do not accept anymore argumentbackend_args
- New backend
ldap_user_voicemail
has been added. WARNING this backend is EXPERIMENTAL.
- HEAD and GET now take a new
scope
query string argument to check ACLs - Backend interface method
get_acls
is now namedget_consul_acls
- Backend interface method
get_acls
now returns a list of ACLs - HEAD and GET can now return a
403
if an ACL access is denied
- POST
/0.1/token
accept new argumentbackend_args
- Signature of backend method
get_ids()
has a new argumentargs
- New method
get_acls
for backend has been added - New backend
service
has been added