This site contains the documentation that is relevant to older WSO2 product versions and offerings.
For the latest WSO2 documentation, go to https://wso2.com/documentation/.

Consent Management

Consent management refers to the practice of prompting, collecting, and managing user approval for the collection and sharing of their personal information. "Consent" itself is granting permission or agreement for a specified action to take place.  This page guides you through the consent management concepts and how they are supported by WSO2 Identity Server. 

Consent with EU GDPR

Consent is the most common lawful base for an organization that is processing personal information. According to the General Data Protection Regulation (GDPR), processing organizations should offer free and clear choice for individuals to make a decision on whether the organization should process personal data that belongs to the individual. Furthermore, personal data processing purposes should be transparent to individuals and the organization must enable individuals to review and revoke already given consents as well.

The GDPR definition of 'consent' is as follows:

“Any freely given, specific, informed and unambiguous indication of the data subject's wishes by which he or she, by a statement or by a clear affirmative action, signifies agreement to the processing of personal data relating to him or her”. 

The main points extracted from this definition are:
  • A consent should be freely given and should offer a genuine choice.

  • A consent should be specific about its purpose. 

  • The processing organization should ensure that persons giving consent (especially children) understand exactly what is being shared and for what purpose.

  • A consent should be given by a statement or by a clear affirmative action such as through an electronic form submission.

Privacy by design

Privacy by Design (PbD) is a well-known privacy design practice consisting of seven principles originally developed by the Information & Privacy Commissioner (IPC) of Ontario, Canada. Respect for user privacy and designing a user-centric experience are two of the important principles of PbD. User consent is the main implementation solution that supports user privacy and user-centric design. For more information about the principles of PbD, see the IPC Privacy By Design document

It is mandatory to obtain an individual’s freely given and specific consent during collection, use, or disclosure of personal information, except where otherwise permitted by law. If users wish to withdraw consent later, they should be allowed to do so.


Consent management with WSO2 Identity Server

WSO2 IS provides a comprehensive consent management solution that can be used to manage consents related to Identity and Access Management (IAM) and also to manage consents that belong to third-party applications. The WSO2 IS consent management module consists of the following key features.

Consent management use cases

The following consent management use cases are supported by WSO2 IS. 

Handling consent when creating a new user profile

According to most privacy standards, it is mandatory to inform individuals about the purpose of processing personal data and to state what kind of data will be shared in a clear and transparent manner at the time of data collection. Furthermore, the processing organizations should get active consent from an individual for each of the data processing purposes before data collection takes place. The following points give a high-level description of how this usecase is supported in WSO2 IS. 

  • The identity administrator of an organization can define personal data processing purposes and a list of user attributes used for each of the processing purposes via Admin console or via the consent REST API.

  • During the self sign-up process, the data processing purposes (reason for collecting consent) along with the user attributes for each purpose will be shown to users as consents. The users can selectively opt-in/opt-out on each of the purposes.

  • Users can review or revoke existing consent by logging in to WSO2 IS end user dashboard (self-care portal).

  • Personal data processing applications can check for consent for each user through the consent REST API before carrying out any data processing activities.   

For more information and instructions for setting up this use case, see Consent Management for Self Sign Up.

Handling consent when sharing user attributes

According to privacy best practices and privacy standards, sharing user attributes with external parties should be based on clear and active consent (unless there is clear legal background support for information sharing). WSO2 IS shares user attributes with other applications in the form of security tokens such as SAML2 , OpenID Connect IDToken, or JWT and all of this user information sharing is based on consent. The following points give a high level description of how this usecase is supported in WSO2 IS. 

  • The identity administrator of an organization can define purposes and user attributes for each purpose on a service-provider basis using the WSO2 IS admin console or via WSO2 remote APIs.

  • When sharing the user attributes during flows such as SAML SSO and OpenID Connect SSO, WSO2 IS prompts the consent screen to appear. The sharing of user attributes through security tokens is based on the consent that the user approves at this point. 

  • Users can review or revoke existing consent by logging in to the WSO2 IS end user dashboard (self-care portal).  

For more information and instructions for setting up this use case, see Consent Management with Single-Sign-On.

Manage consents that belong to third-party applications

WSO2 IS can be used to manage consents that belong to third-party applications and services. To do this, third-party applications can integrate with WSO2 IS using the consent REST APIs and other admin APIs provided by WSO2 IS. Note that generating and handling consent UIs for third-party applications can not be supported in WSO2 IS as it is considered the responsibility of the relevant third-party application to provide consent management UI facilities for their end users.  

For more information and instructions for setting up this use case, see Using the Consent Management REST APIs.
Support for Kantara consent receipt (draft) specification

A consent receipt is a representation of the consent provided by a person at the point they agree to share the personal information with an external party. WSO2 IS consent REST APIs support the specification provided in the Kanatara consent receipt 1.1.0 (7th draft) version. For more information, see Kantara Consent Receipt Specification

For more information and instructions for setting up this use case, see Using the Consent Management REST APIs.