File

auth-configuration/sso-configuration/template-parts/basic-configuration.component.ts

Implements

OnChanges

Metadata

Index

Properties
Methods
Inputs

Constructor

constructor(tenantService: TenantService)
Parameters :
Name Type Optional
tenantService TenantService No

Inputs

templateModel
Type : any

Methods

Async ngOnChanges
ngOnChanges()
Returns : any
shouldShow
shouldShow(field: string)
Decorators :
@memoize()
Parameters :
Name Type Optional
field string No
Returns : boolean

Properties

flowControlledByUI
Default value : false
REDIRECT_TO_THE_USER_INTERFACE_APPLICATION_TOOLTIP
Default value : gettext( "The redirect URL is automatically set to the application used by the user. In case of an error, it will be correctly displayed on the application's page." )
redirectToPlatform
Type : string
Default value : ''
redirectToPlatformWarningParams
Type : literal type
<fieldset class="p-24">
  <div class="row">
    <div class="col-xs-12 col-sm-3 col-md-2 m-b-xs-8">
      <div
        class="h4 text-normal text-right text-left-xs"
        translate
      >
        Basic
      </div>
    </div>

    <div
      class="col-xs-12 col-sm-9 col-md-10 col-lg-9"
      *ngIf="templateModel"
    >
      <div class="row">
        <div
          class="col-sm-6"
          *ngIf="shouldShow('keyCloakAddress')"
        >
          <c8y-form-group>
            <label
              class="control-label"
              for="keyCloakAddress"
              translate
            >
              Keycloak address
            </label>
            <input
              class="form-control"
              id="keyCloakAddress"
              name="keyCloakAddress"
              type="url"
              required
              [(ngModel)]="templateModel.keyCloakAddress"
              [placeholder]="'e.g. {{ example }}' | translate : { example: 'https://example.de' }"
            />
          </c8y-form-group>
        </div>
        <div
          class="col-sm-6"
          *ngIf="shouldShow('aadAddress')"
        >
          <c8y-form-group>
            <label
              class="control-label"
              for="aadAddress"
              translate
            >
              Azure AD address
            </label>
            <input
              class="form-control"
              id="aadAddress"
              name="aadAddress"
              type="url"
              required
              [(ngModel)]="templateModel.aadAddress"
              [placeholder]="
                'e.g. {{ example }}' | translate : { example: 'https://login.microsoftonline.de' }
              "
            />
          </c8y-form-group>
        </div>
        <div
          class="col-sm-6"
          *ngIf="shouldShow('tenant')"
        >
          <c8y-form-group>
            <label
              class="control-label"
              for="tenant"
              translate
            >
              Tenant
            </label>
            <input
              class="form-control"
              id="tenant"
              name="tenant"
              required
              [(ngModel)]="templateModel.tenant"
              [placeholder]="'e.g. {{ example }}' | translate : { example: 'c8y.onmicrosoft.de' }"
            />
          </c8y-form-group>
        </div>
        <div
          class="col-sm-6"
          *ngIf="shouldShow('applicationId')"
        >
          <c8y-form-group>
            <label
              class="control-label"
              for="applicationId"
              translate
            >
              Application ID
            </label>
            <input
              class="form-control"
              id="applicationId"
              name="applicationId"
              required
              [(ngModel)]="templateModel.applicationId"
            />
          </c8y-form-group>
        </div>

        <div
          class="col-sm-6"
          *ngIf="shouldShow('realmName')"
        >
          <c8y-form-group>
            <label
              class="control-label"
              for="realmName"
              translate
            >
              Realm name
            </label>
            <input
              class="form-control"
              id="realmName"
              name="realmName"
              required
              [(ngModel)]="templateModel.realmName"
            />
          </c8y-form-group>
        </div>
      </div>

      <div class="row" *ngIf="shouldShow('redirectToPlatform')">
        <div class="col-sm-6">
          <c8y-form-group>
            <label
              class="control-label"
              for="redirectToPlatform"
            >
              {{ 'Redirect URL' | translate }}
              <button
                class="btn-help"
                [attr.aria-label]="'Help' | translate"
                [popover]="helpContent"
                placement="bottom"
                triggers="focus"
                type="button"
                [adaptivePosition]="false"
                *ngIf="
                  !flowControlledByUI &&
                  redirectToPlatformWarningParams &&
                  templateModel.redirectToPlatform !=
                    redirectToPlatformWarningParams.defaultRedirectUrl
                "
              ></button>
              <ng-template #helpContent>
                <span
                  ngNonBindable
                  translate
                  [translateParams]="redirectToPlatformWarningParams"
                >
                  For correct application behavior you can use only "{{ host }}" or "{{
                    defaultRedirectUrl
                  }}", the latter one is recommended.
                </span>
              </ng-template>
            </label>
            <input
              class="form-control"
              id="redirectToPlatform"
              name="redirectToPlatform"
              type="url"
              [required]="!flowControlledByUI"
              [disabled]="flowControlledByUI"
              [(ngModel)]="templateModel.redirectToPlatform"
              [placeholder]="
                'e.g. {{ example }}'
                  | translate
                    : {
                        example:
                          redirectToPlatformWarningParams?.defaultRedirectUrl ||
                          'https://tenant.domain.com'
                      }
              "
            />
          </c8y-form-group>
        </div>
        <div class="col-sm-6">
          <div
            class="form-group"
          >
            <label
              class="c8y-switch m-t-24"
              title="{{ 'Redirect to the user interface application`SSO authentication`' | translate }}"
              for="flowControlledByUI"
            >
              <input
                type="checkbox"
                name="flowControlledByUI"
                id="flowControlledByUI"
                [(ngModel)]="flowControlledByUI"
                (change)="templateModel.redirectToPlatform = flowControlledByUI ? '' : redirectToPlatform"
              />
              <span></span>
              <span class="control-label">{{ 'Redirect to the user interface application`SSO authentication`' | translate }}</span>
              <button
                type="button"
                class="btn-help"
                [attr.aria-label]="'Help' | translate"
                popover="{{ REDIRECT_TO_THE_USER_INTERFACE_APPLICATION_TOOLTIP | translate }}"
                placement="right"
                triggers="focus"
                container="body"
              ></button>
            </label>
          </div>
        </div>
        <div class="col-sm-12">
          <div *ngIf="flowControlledByUI && redirectToPlatform != ''">
            <div class="alert alert-warning max-width-100 m-b-32"
                 ngNonBindable
                 translate
                 [translateParams]="{
                      redirectURI: '<tenant_domain>/apps/*'
                    }">
              Make sure that "Valid Redirect URIs" in the authorization server is set to "{{ redirectURI }}" or to the full URIs of the used applications if the authorization server does not support patterns.
            </div>
          </div>
          <div *ngIf="!flowControlledByUI && redirectToPlatform === ''">
            <div class="alert alert-warning max-width-100 m-b-32"
                 ngNonBindable
                 translate
                 [translateParams]="{
                      redirectURI: '<tenant_domain>/tenant/oauth'
                    }">
              Make sure that "Valid Redirect URIs" in the authorization server is set to "{{ redirectURI }}".
            </div>
          </div>
        </div>
      </div>
      <div class="row">
        <div
          class="col-sm-6"
          *ngIf="shouldShow('clientSecret')"
        >
          <c8y-form-group>
            <label
              class="control-label"
              for="clientSecret"
              translate
            >
              Client secret
            </label>
            <input
              class="form-control"
              id="clientSecret"
              name="clientSecret"
              required
              [(ngModel)]="templateModel.clientSecret"
            />
          </c8y-form-group>
        </div>

        <div
          class="col-sm-6"
          *ngIf="shouldShow('clientId')"
        >
          <c8y-form-group>
            <label
              class="control-label"
              for="clientId"
              translate
            >
              Client ID
            </label>
            <input
              class="form-control"
              id="clientId"
              name="clientId"
              required
              [(ngModel)]="templateModel.clientId"
              [placeholder]="
                'e.g. {{ example }}' | translate : { example: '254234981c-78a8-4588…' }
              "
            />
          </c8y-form-group>
        </div>

        <div
          class="col-sm-6"
          *ngIf="shouldShow('issuer')"
        >
          <c8y-form-group>
            <label
              class="control-label"
              for="issuer"
              translate
            >
              Token issuer
            </label>
            <input
              class="form-control"
              id="issuer"
              name="issuer"
              required
              [(ngModel)]="templateModel.issuer"
              [placeholder]="
                'e.g. {{ example }}'
                  | translate : { example: 'https://login.microsoftonline.de/237652-3727' }
              "
            />
          </c8y-form-group>
        </div>
        <div
          class="col-sm-6"
          *ngIf="shouldShow('scopeId')"
        >
          <c8y-form-group>
            <label
              class="control-label"
              for="scopeId"
              translate
            >
              Scope ID
            </label>
            <input
              class="form-control"
              id="scopeId"
              name="scopeId"
              [(ngModel)]="templateModel.scopeId"
              [placeholder]="'e.g. {{ example }}' | translate: { example: '237652-3727' }"
            />
          </c8y-form-group>
        </div>

        <div
          class="col-sm-6"
          *ngIf="shouldShow('buttonName')"
        >
          <c8y-form-group>
            <label
              class="control-label"
              for="buttonName"
              translate
            >
              Button name
            </label>
            <input
              class="form-control"
              id="buttonName"
              name="buttonName"
              required
              [(ngModel)]="templateModel.buttonName"
              [placeholder]="'e.g. Log in with Azure AD' | translate"
            />
          </c8y-form-group>
        </div>

        <div
          class="col-sm-6"
          *ngIf="shouldShow('providerName')"
        >
          <c8y-form-group>
            <label
              class="control-label"
              for="providerName"
              translate
            >
              Provider name
            </label>
            <input
              class="form-control"
              id="providerName"
              name="providerName"
              required
              [(ngModel)]="templateModel.providerName"
              [placeholder]="'e.g. {{ example }}' | translate : { example: 'Azure AD' }"
            />
          </c8y-form-group>
        </div>

        <div
          class="col-sm-6"
          *ngIf="shouldShow('audience')"
        >
          <c8y-form-group>
            <label
              class="control-label"
              for="audience"
              translate
            >
              Audience
            </label>
            <input
              class="form-control"
              id="audience"
              name="audience"
              required
              [(ngModel)]="templateModel.audience"
              [placeholder]="
                'e.g. {{ example }}' | translate : { example: 'https://test.example.com' }
              "
            />
          </c8y-form-group>
        </div>
      </div>

      <div
        class="row"
        *ngIf="shouldShow('visibleOnLoginPage')"
      >
        <div class="col-sm-6">
          <label
            class="c8y-switch"
            title="{{ 'Visible on login page' | translate }}"
            for="visibleOnLoginPage"
          >
            <input
              id="visibleOnLoginPage"
              name="visibleOnLoginPage"
              type="checkbox"
              [(ngModel)]="templateModel.visibleOnLoginPage"
            />
            <span></span>
            <span class="control-label">{{ 'Visible on login page' | translate }}</span>
          </label>
        </div>
      </div>
    </div>
  </div>
</fieldset>

results matching ""

    No results matching ""