This article explains how to configure Google as an OIDC Identity Provider (IdP) for the Zyxel USG FLEX H Series firewall.
OpenID Connect (OIDC) allows users to authenticate to the Zyxel firewall using their Google account. The Zyxel firewall redirects the user to Google for authentication and receives the authentication result after a successful sign-in.
In addition to the basic OIDC configuration and validation, this article also demonstrates how to use Google OIDC with the Zyxel Captive Portal. The guide covers the complete authentication flow, including Google authentication, Captive Portal configuration, HTTPS certificate settings, and optional DNS configuration.
The configuration in this article was tested using Google Cloud and a Zyxel USG FLEX H Series firewall in a test environment.
The configuration in this article uses Google Cloud and a Zyxel USG FLEX H Series firewall in a test environment.
Before starting the configuration, make sure you have:
A Zyxel USG FLEX H Series firewall with uOS 1.39 or later.
A Google Cloud account with permission to create and manage applications.
A test Google account for authentication.
Administrative access to the Zyxel firewall.
A publicly reachable FQDN for the Zyxel firewall.
HTTPS access to the Zyxel firewall.
Note: The Google account used for testing must be able to sign in to the configured Google application.
1. Create a Google Cloud Project
Create a new project in Google Cloud for the OIDC configuration.
Enter a project name, for example:
Zyxel OIDC Google
Leave the automatically generated Project ID unchanged.
Select the required Billing account.
Select your Organization.
Keep the selected Parent resource.
Click Create.
Note: The Organization and Parent resource depend on your Google Cloud environment. If your account belongs to an organization, select the appropriate organization instead of using No organization.
After creating the project, select Zyxel OIDC Google from the project list to make it the active Google Cloud project.
Note: Make sure the correct project is selected before configuring Google Auth Platform. All OIDC settings created in the following steps will belong to this project.
2. Open Google Auth Platform
Open the newly created project.
Go to Google Auth Platform.
Click Get started.
3. Configure App Information
Under App Information, enter the App name and select the User support email. Click Next.
Under Audience, select External and click Next.
Note: Select External when users outside your Google organization need to authenticate through this OIDC configuration. The application is initially placed in testing mode.
Under Contact Information, enter the email address that Google can use to contact the application owner. Click Next. Under Finish, select I agree to the Google API Services: User Data Policy and click Continue.
Click Create to complete the configuration.
4. Create an OAuth Client
In Google Auth Platform Click Create client.
For Application type, select Web application. Enter a name for the OAuth client, for example: Zyxel OIDC Google OAuth client ID
Leave Authorized JavaScript origins empty.
Under Authorized redirect URIs, click Add URI and enter the Redirect URI configured on the Zyxel firewall:
https://h200.zylab.uk:1003/oauth2/callback
Click Create.
After the OAuth client is created, Google displays the Client ID and Client secret.
Important: Copy and securely store the Client ID and Client secret immediately. Google will no longer display the client secret after this dialog is closed.
Click OK. The newly created OAuth client should appear under OAuth 2.0 Client IDs.
5. Add Test Users
Go to Google Auth Platform → Audience.
Under Test users, click Add users.
Enter the Google account that will be used for testing.
Click Save.
Verify that the account appears in the Test users list.
Note: Keep the application in Testing status during the initial configuration and testing. Only users added under Test users can authenticate while the application is in this mode.
6. Configure Google OIDC on the Zyxel Firewall
Log in to the Zyxel USG FLEX H Web Configurator.
Go to: User & Authentication → User Authentication → AAA Server
Setting
Value
Name
Google_OIDC
Description
Google OIDC authentication
Issuer URL
https://accounts.google.com
Client ID
Enter the Client ID generated in Google Cloud
Client Secret
Enter the Client Secret generated in Google Cloud
Redirect Address
h200.zylab.uk
Additional Scope
email
Login Name Attribute
email
Group Attribute
Leave empty
Click Add and select OIDC Server. Configure the OIDC server with the following settings.
Note: The Redirect Address must be the FQDN of the Zyxel firewall. The Zyxel-generated Redirect URI is based on this address. For this example, the generated Redirect URI is https://h200.zylab.uk:1003/oauth2/callback. This exact URI must be configured under Authorized redirect URIs in the Google OAuth client.
Click Apply to save the configuration.
6.1. Test the OIDC Configuration
After applying the configuration, scroll down to Configuration Validation.
Click Test.
A new browser tab opens and redirects you to the Google sign-in page.
Select the Google account that was previously added under Test users.
Complete the Google authentication.
After successful authentication, verify that the Zyxel page displays
Verify that the user's email address is displayed as the Username and that the email claim is detected as the Login Name Attribute.
In our test environment, the authentication was successful and Google returned the expected OIDC claims, including iss, sub, email, and email_verified.
Note: If the test result shows group_list: Request had insufficient authentication scopes, this does not indicate an OIDC authentication failure. The user authentication itself is successful, but group information cannot be retrieved with the scopes currently configured. For this basic Google OIDC authentication test, leave Group Attribute empty.
Note: The Advanced Settings at USG FLEX H GUI are optional.
7. Configure Captive Portal Authentication
Log in to the Zyxel USG FLEX H Web Configurator.
Go to: Captive Portal → Authentication Policy
Click Add and configure the authentication policy as follows:
Setting
Value
Enable
Enabled
Name
OIDC-Google
Description
Google OIDC test
Incoming
ge3
Source Address
any
Destination Address
any
Enable Walled Garden
Enabled
Trusted Identity Provider
Google Cloud Identity / Workspace
Sign-in Method
Sign-on With
OIDC Provider
OIDC / Google_OIDC
Portal Type
Internal
For the Exempt List, add the DNS service.
Leave the Walled Garden List empty for this basic test.
Under Advanced Settings, leave the default values unchanged.
Click Apply to save the configuration.
Note: The Incoming interface must match the network interface/VLAN from which the clients access the Captive Portal. In this example, clients are connected through ge3.
Note: The Advanced Settings at the USG FLEX H GUI are optional. They are not required for basic Google OIDC authentication.
7.1. Configure Captive Portal HTTPS Settings
Go to:
Captive Portal → Authentication Policy → Settings
Configure the server settings as follows:
Setting
Value
Server Address
6.6.6.6
Redirect FQDN
h200.zylab.uk
HTTP
Enabled
HTTP Port
1080
Redirect HTTPS
Enabled
HTTPS
Enabled
HTTPS Port
1443
Authenticate Client Certificates
Disabled
Server Certificate
RemoteAccessDefaultCert
Note: The Server Certificate must match the FQDN used for the Captive Portal. In this example, the portal is accessed through h200.zylab.uk.
8. Test Captive Portal Authentication
Connect a client device to the interface configured in the Captive Portal policy (ge3).
Open a web browser and access an HTTP or HTTPS website.
The client should be redirected to the Zyxel Captive Portal.
Click Sign in and authenticate using the Google account configured as a test user.
After successful authentication, Google redirects the user back to the Zyxel Captive Portal.
Note: During testing, the browser may display a Not secure warning when accessing the Captive Portal over HTTPS. This is caused by the certificate currently configured for the Captive Portal HTTPS service. The OIDC authentication itself is not affected and can still be completed successfully.
The certificate configuration is covered in the next section.
9. Configure the HTTPS Certificate
To provide secure HTTPS access for OIDC authentication and the Captive Portal, configure a valid certificate for the firewall FQDN.
In our test environment, the firewall FQDN is:
h200.zylab.uk
A certificate with the subject CN=h200.zylab.uk was configured for the Captive Portal HTTPS service.
9.1. Configure the Certificate for OIDC Authentication
Log in to the Zyxel USG FLEX H Web Configurator.
Go to:
User & Authentication → User Authentication → Advanced
Note: The hostname used in the OIDC Redirect URI must match the FQDN configured for the certificate. In this example, the OIDC Redirect URI uses h200.zylab.uk.
Important: The Zyxel OIDC configuration requires the Authentication Proxy to be available for OIDC operations. For Captive Portal/remote access scenarios, make sure the Authentication Proxy and its HTTPS port are configured appropriately before testing. Zyxel's current guidance uses HTTPS port 1003 for this OIDC flow.
This certificate is used by the Authentication Proxy for the OIDC authentication flow.
9.2. Configure the Certificate for the Captive Portal
Go to:
Captive Portal → Authentication Policy → Settings
Under Server Settings, configure:
Setting
Value
Redirect FQDN
h200.zylab.uk
HTTPS
Enabled
HTTPS Port
1443
Server Certificate
RemoteAccessDefaultCert
The Redirect FQDN must match the hostname included in the server certificate. In our test environment, both the FQDN and certificate use h200.zylab.uk.
Note: The Captive Portal uses HTTPS port 1443 in our test environment. The certificate RemoteAccessDefaultCert is selected to provide HTTPS access to the Captive Portal.
9.3. Certificate Warning During Testing
During our test, the Captive Portal was successfully displayed and Google authentication worked, but the browser showed a Not secure warning when accessing:
https://h200.zylab.uk:1443
This warning does not indicate an OIDC authentication problem. It means that the certificate presented by the Captive Portal is not trusted by the client browser.
For a production deployment, use a certificate issued by a trusted Certificate Authority (CA) and ensure that the certificate contains the Captive Portal FQDN (h200.zylab.uk) in the Subject Alternative Name (SAN).
10. DNS Configuration
A local DNS record for the Captive Portal FQDN is optional. It is not required for the basic Google OIDC authentication flow.
In our test environment, Google OIDC authentication and Captive Portal worked successfully without adding a local DNS record.
A local DNS record can be useful when the Zyxel firewall is used as the DNS server for LAN clients. In this case, the Captive Portal FQDN can be resolved locally to the Captive Portal service address.
Setting
Value
Hostname
Leave empty
Domain
h200.zylab.uk
IP Address
6.6.6.6
System → DNS & DDNS → DNS → Address Record → Add
Add the record and apply the configuration.
Note: This local DNS record does not replace or modify the existing Cloudflare DDNS configuration. The public DNS record continues to resolve h200.zylab.uk to the public WAN IP address.
Important: If the existing DNS infrastructure already resolves the Captive Portal FQDN correctly, this local DNS record does not need to be added.
Your device was identified as a product purchased through an
Internet Service Provider (ISP),
a Mobile Network Provider, or
a retail shop that obtained the device through one of these providers.
Please contact the
Internet Service Provider (ISP),
Mobile Network Provider, or the
shop where you purchased the device
for Support or Warranty services.
Important notice: Zyxel Networks (mysupport.zyxel.com) is not responsible for providing
support or warranty services for this product, as it was originally designed
for exclusive distribution agreements with the partners mentioned above.
Zyxel Communications, the entity responsible for this product line,
accepts support requests only through the official support channels of the ISP,
Mobile Network Provider, or reseller.
If you are unsure which
provider or
shop to contact, please refer to the article below:
We were unable to verify the
Support and
Warranty status of your device using the
provided Serial Number.
If your device is supported in the US region, including:
American Samoa, Belize, Bolivia, Canada, Colombia, Costa Rica, Cuba,
Dominican Republic, El Salvador, Guam, Guatemala, Haiti, Honduras,
Jamaica, Nicaragua, Northern Mariana Islands, Panama, Puerto Rico,
U.S. Virgin Islands, or the United States of America,
please select the button “Contact US Support”.
For all other regions, please select
“Contact Support Other Regions”.
Please note that this portal is
exclusively intended for products and services sold in the EMEA region.
Please attach an invoice of your defective device(s) as proof of purchase.
Dear Zyxel Customer,
We are currently experiencing issues with the Serial Number check, which may result in a timeout. Please try again later. In the meantime, you can sign in or continue using the options below without entering a Serial Number.
Thank you for your understanding.
Comments
0 commentsPlease sign in to leave a comment.