VAL: How To: Add an icon for an OIDC/OAuth Custom Service Binding

VAL provides UI /oauth/admin.vsp for registering Virtuoso as an OAuth or OIDC client (Relying Party) with other identity providers (IdPs). The available icons for IdPs are displayed in the ‘IdP Icon’ dropdown in the ‘Add New Identity Provider’ dialog of /oauth/admin.vsp. The dropdown lets you choose the icon to be displayed alongside the binding name in the list of VAL bindings maintained by /oauth/admin.vsp, and in the collection of IdPs displayed by VAL login dialog through which you authenticate when logging into a Virtuoso service. The icons themselves are contained in WebDAV folder DAV/VAD/val/www/core/img/custom_services.

To extend the collection of icons available to associate with a custom IdP binding, simply add the icons to DAV/VAD/val/www/core/img/custom_services. Each icon for identifying a third party OAuth or OIDC provider should be a 24x24 px PNG. The basename of the file provides the name of the IdP (converted to title case) displayed in the ‘IdP Icon’ dropdown.

/oauth/admin.vsp: Dialog for creating an IdP binding

val_login_dialog

VAL login dialog showing icons for IdPs through which you can authenticate

See also

procedure VAL.DBA.custom_service_icon_descs

Gets a vector of custom service icon descriptors.
Each descriptor holds the tag, label and path
of an icon which can be associated with the
custom service, i.e. with an OAuth or OpenID Connect
provider which is not predefined in VAL. The icon
is displayed in VAL’s authentication dialog.

Returns: A vector of descriptors.

procedure VAL.DBA.custom_service_tag

Gets the custom service tag for the given custom service,
i.e. for a OAuth or OpenID Connect provider which isn’t
included in VAL as a predefined service.
The custom service tag acts as a basename for the icon
associated with the service.

Param: service The service for which a service tag is required.

Returns: The service tag of the custom service or null if the
service is a predefined, rather than a custom, service.