In Application Single Sign-On (commonly called AppSSO), XWorkloadRegistration
is a cluster-scoped Crossplane XRD. It serves as an integration API between Services Toolkit, Crossplane and AppSSO.
NoteThis API is not intended for direct usage. Although it is supported, VMware recommend using
ClassClaim
,WorkloadRegistration
, orClientRegistration
instead when you need direct access to this API.
In most cases, when creating a ClassClaim
for an AppSSO service offering, for example, ClusterWorkloadRegistrationClass, Services Toolkit creates an XWorkloadRegistration
. By using a Composition
, the XWorkloadRegistration
is reconciled into a WorkloadRegistration
with Crossplane’s provider-kubernete
’s Object
as an intermediary.
The specification of XWorkloadRegistration
is identical to WorkloadRegistration but without spec.workloadRef.namespace
and spec.authServerSelector
.
---
apiVersion: sso.apps.tanzu.vmware.com/v1alpha1
kind: XWorkloadRegistration
metadata:
name: "" #! required
spec:
workloadRef:
name: "" #! required
redirectPaths: #! optional
- "" #! must be an absolute path
scopes: #! optional
- name: "" #! required
description: "" #! optional
displayName: "" #! optional
authorizationGrantTypes: #! optional
- "" #! must be one of "authorization_code", "client_credentials" or "refresh_token"
clientAuthenticationMethod: "" #! optional, must be one of "client_secret_post", "client_secret_basic" or "none"
requireUserConsent: false #! optional
status:
authServerRef:
apiVersion: sso.apps.tanzu.vmware.com/v1alpha1
issuerURI: ""
kind: AuthServer
name: ""
namespace: ""
binding:
name: ""
NoteCrossplane’s standard Crossplane Resource Model (commonly called XRM) fields are omitted.
If a Composition
for XWorkloadRegistration
exists, for example, by using a ClusterWorkloadRegistrationClass
, this is a minimal example:
---
apiVersion: sso.apps.tanzu.vmware.com/v1alpha1
kind: XWorkloadRegistration
metadata:
name: sample-minimal
spec:
workloadRef:
name: test-workload-name
This is a fully configured example:
---
apiVersion: sso.apps.tanzu.vmware.com/v1alpha1
kind: XWorkloadRegistration
metadata:
name: sample-full
spec:
workloadRef:
name: test-workload-name
redirectPaths:
- /redirect/uri/1
- /redirect/uri/2
displayName: "Full sample app"
scopes:
- name: openid
- name: email
- name: profile
- name: roles
- name: coffee.make
description: bestows the ultimate power
authorizationGrantTypes:
- client_credentials
- authorization_code
- refresh_token
clientAuthenticationMethod: client_secret_basic
requireUserConsent: true