Role-based authorization

Role-based authorization enables customer management of users and their roles independently from Payment Feature Services. Role-based authorization has a user registry that is not part of Payment Feature Services. This authorization is optional and does not replace the current model. Customers must select the implementation that best fits their business needs.

The primary configuration points are users, groups, and permissions. In this model, a user is defined and assigned to one or many groups. Each group has a set of permissions.

For role-based authorization, the customer is responsible for providing the user ID, any optional attributes, and all mandatory user attributes necessary to define the user to Payment Feature Services. The customer must also define the roles that are assigned to the user. Each role must match a group name that is defined in Payment Feature Services. Following a successful user sign-on, Payment Feature Services adds the user to the user repository and assigns them to groups. After the user is assigned to groups, the user interface is displayed according to the permissions assigned to the roles. If the user ID is already defined, an update might occur if any user information changed. If the roles for the user changed, the user is removed from their old roles and configured for the new ones.

A new user exit, which is called when the user is authenticated, is provided. The user exit populates the user definition object (LoginDefinition). The information used to populate the object can be obtained by the user exit from the HTTP header. Additionally, the user exit can make a remote call to fetch other user attributes from a remote repository or use defaults to populate fields common across all users. Information from the user object is used to create the user and assign them to a set of groups (roles).

The property used to configure the login user exit class for role-based authorization is login user exit.

The only user administration that is done by a customer that is using role-based authorization, is to delete the stale users from the repository. The presence of users in the repository does not preclude any user authentication to the system.

Table 1. Role-based authorization user attributes
User attribute name Description Required
User ID User ID Yes
First Name Given name of the user No
Last Name Surname of the user No
Email address Email address No
Phone number Phone number No
Language Locale Preferred language for the user Yes
Format Locale Determines the way times and dates are formatted and presented to the user. When a user enters a date and time, it must match the format locale for the account. Yes
Time zone Time zone of the user. When a user is presented a time, it usually matches the time zone of the user. Yes
Roles Must map to the group name defined in Payment Feature Services. Each user can have one or many roles. The maximum size of each role name is 32 characters. Yes