Citrix Gateway

Configuring Citrix Gateway Virtual Server for Microsoft ADAL Token Authentication

To configure a Citrix Gateway virtual server for monitoring Microsoft ADAL token authentication, you need the following information:

  • certEndpoint: URL of the endpoint that contains Json Web Key (JWK) for ADAL token verification.
  • Audience: FQDN of the Citrix ADC virtual server to which the app sends the ADAL token.
  • Issuer: Name of the AAD issuer. Gets populated by default.
  • TenantID: Tenant ID for Azure ADAL registration.
  • ClientID: A unique ID given to the Gateway app as part of ADAL registration.
  • ClientSecret: A secret key given to the Gateway app as part of ADAL registration.
  1. Create an OAuthAction:

    add authentication OAuthAction <oauth_action_name> -OAuthType INTUNE –clientid <client_id> - clientsecret <client_secret> -audience <audience> -tenantid <tenantID> -issuer <issuer_name> - userNameField upn-certEndpoint <certEndpoint_name>

    Example:

    add authentication OAuthAction tmp_action -OAuthType INTUNE -clientid id 1204 -clientsecret a -audience “ http://hello” -tenantid xxxx -issuer “ https://hello” -userNameField upn -certEndpoint https://login.microsoftonline.com/common/discovery/v2.0/keys

  2. Create an authentication policy to associate with the newly created OAuth:

    add authentication Policy <policy_name> -rule true -action <oauth intune action>

    Example:

    add authentication Policy oauth_intune_pol -rule true -action tmp_action

  3. Bind the newly created OAuth to AuthVS:

    bind authentication vserver <auth_vserver> -policy <oauth_intune_policy> -priority 2 -gotoPriorityExpression END

    Example:

    bind authentication vserver auth_vs_for_gw1_intune -policy oauth_pol -priority 2 -gotoPriorityExpression END

  4. Create a LoginSchema:

    add authentication loginSchema <loginSchemaName> -authenticationSchema <authenticationSchema”location”>

    add authentication loginSchemaPolicy <loginSchemaPolicyName> -rule true -action <loginSchemaName>

    Example:

    add authentication loginSchema oauth_loginschema -authenticationSchema “/nsconfig/loginschema/LoginSchema/OnlyOAuthToken.xml”

    add authentication loginSchemaPolicy oauth_loginschema_pol -rule true -action oauth_loginschema​

  5. Bind AuthVS with LoginSchema:

    bind authentication vserver <auth_vs> -policy <oauth _pol> -priority 2 -gotoPriorityExpression END

    Example:

    bind authentication vserver auth_vs_for_gw1_intune -policy oauth_loginschema_pol -priority 2 -gotoPriorityExpression END

  6. Add an authnprofile and assign it to a VPN virtual server:

    add authnprofile <nfactor_profile_name>-authnvsName <authvserver>

    set vpn vserver <vserverName>-authnprofile <nfactor_profile_name​>

    Example:

    add authnprofile nfactor_prof_intune -authnvsName auth_vs_for_gw1_intune

    set vpn vserver gw1_intune-authnprofile nfactor_prof_intune

Configuring Citrix Gateway Virtual Server for Microsoft ADAL Token Authentication