Keycloak Single Sign-On (SSO) TYPO3 OAuth & OpenID | TYPO3 Keycloak SSO

Keycloak Single Sign-On (SSO) TYPO3 OAuth & OpenID | TYPO3 Keycloak SSO


Integration of Keycloak Login (Keycloak OAuth Single Sign-On) with Typo3 using OAuth 2.0 Protocol. The Typo3 OAuth / OpenID Connect Single Sign-On (SSO) extension makes it easy to use OAuth2 to set up Keycloak Login on Typo3 (Keycloak Single Sign on).

The extension can be set up using other Social Media sources, as well as custom OAuth and OIDC providers. It contains a lot of Single Sign-On (SSO) features, like Attribute Mapping for user profiles, Role Mapping, and so on. In this guide, we'll go over how to set up SSO between Typo3 and Keycloak. At the end of this article, users should be able to log into Typo3 using Keycloak. Click here to read more about the Typo3 OAuth Single Sign-On (OAuth & OpenID Connect Client) extensions extra features.

The Typo3 OAuth & OpenID Connect Single Sign-On (SSO) extension makes it possible to log into Typo3 securely using Keycloak as an OAuth and OpenID Connect provider. You can also use alternative Oauth providers, such as Azure B2C, Office 365, and other custom providers, to configure the plugin. Advanced Single Sign-On features such as user profile Attribute Mapping, Role Mapping, and so on are supported. We'll go over how to set up SSO between Typo3 and Keycloak in this article. Users should be able to log in to Typo3 through Keycloak by the end of this guide.

Click here to know more about other features we provide in Typo3 OAuth Single Sign-On ( OAuth & OpenID Connect Client ) extension

Pre-requisites : Download And Installation

  • Log into your Typo3 instance as an admin.
  • Navigate to Extensions tab from left pane.
  • Select Get Extension from the dropdown and search for miniOrange OAuth and install the extension.
  • Now select Installed Extensions from the dropdown menu and search for OAuth and activate the extension.

Steps to configure Keycloak OAuth & OpenID Single Sign-On (SSO) Login into Typo3

1. Setup Keycloak as OAuth Provider

Follow the steps below to configure Keycloak as OAuth Provider

miniorange img Configure Keycloak as OAuth Provider
  • First of all, Download Keycloak and install it.
  • Start Server: Start the keycloak server by running the _standalone.sh_ file

    Root Directory of keycloak/bin/standalone.sh

  • Add Realm: Now login to keycloak administration console and navigate to your desired realm. You can add new realm by selecting Add Realm option.
  • Keycloak SSO Typo3 OAuth SSO add realm
  • Create Realm: Enter Realm Name and click on CREATE to add realm.
  • Create Role: The Role will be used by your applications to define which users will be authorized to access the application. Click on the Roles and choose Add Role.
  • Typo3 Keycloak SSO OAuth openid connect Add Role
  • Add User: We need to add users to realm who will be able to access the resources of realm. Click on the Users and choose to Add a new User.
  • Keycloak Typo3 login OAuth Typo3 SSO Add User
  • User Configuration: After user is created following action needs to be performed on it.
    • Setting a password for it so click on Credentials and set a new Password for the user.
    • Keycloak SSO OAuth Typo3 Credentials

      NOTE : Disabling Temporary will make user password permanent


  • Map User: We need to map user to a role. Click on Role Mappings and assign the user desired role from available roles and clicking on add selected.
  • Typo3 Keycloak SSO OAuth Role Mapping
  • Create groups: Click on the Groups and choose New to create a new group.
  • Keycloak OAuth openid connect SSO for Typo3 Create Group
  • Assign user to group: Select the user whom you want to add in group. Choose Groups option from tab and then select the group-name and click on join.
  • Keycloak SSO OAuth openid connect  Assign User to Group
  • Create OpenID client: Click on the Clients and choose create to create a new client. Enter any random string as Client ID and keep it handy because you will need it in the next step. Select client protocol openeid-connect and select Save.
  • Keycloak SSO OAuth Openid connect  Create Openid Client
  • Enter Change Access Type: Afterclient is created change it's access type to confidential
  • Jboss Keycloak Typo3 SSO Change Access Type
  • Enter Valid Redirect URLs: Copy callback URL (Enter from miniOrange Typo3 OAuth Single Sign On (SSO) plugin which you copied in the last step) in the last step and then click on SAVE.
    Ex -- https://oauth/callback
  • Keycloak Group Mapper: Now to get group details we need to perform its client mapping with group membership else group details will not be fetched. So in client select Mappers and then click on create. Select mapper type Group Membership and enter name and token claim-name i.e the attribute name corresponding which groups will be fetched and click on Save Group mapper Typo3 Keycloak Group Mapper

    Note: -- If full path is on group path will be fetched else group name will be fetched.

  • Get Client Secret: Now we need to get client secret. So select Clients and select credentials and copy your secret from here.
  • Client secret Oauth SSO redentials Typo3 SSO

You have successfully configured Keycloak as OAuth Provider for achieving Keycloak Single Sign-On (SSO) with Typo3 for user authentication.

2. Configuring Typo3 as OAuth Client

  • After successfully configuring OAuth Provider, enter the OAuth Provider Name, Client ID, Client Secret, Scope and provided endpoints.

    Please refer below Endpoints to configure the OAuth client


    Scope: email profile
    Authorize Endpoint: <Keycloak base URL>/realms/{realm-name}/protocol/openid-connect/auth
    Access Token Endpoint: <Keycloak base URL>/realms/{realm-name}/protocol/openid-connect/token
    Get User Info Endpoint: <Keycloak base URL>/realms/{realm-name}/protocol/openid-connect/userinfo
  • Click on the Save button to save the settings.
  • Typo3 OAuth 2.0 SSO credentials Keycloak SSO
  • Click on the Test Configuration button.
  • Typo3 OAuth credentials Keycloak SSO OAuth
  • You will see all the values returned by your OAuth Provider to Typo3 in a table. If you don't see value for First Name, Last Name, Email or Username, make the required settings in your OAuth Provider to return this information.
  • You have successfully configured your Typo3 as an OAuth Client. You will see the SSO button on your frontend. Click on the button and test the SSO.
  • Typo3 OAuth 2.0 SSO Keycloak SSO

3: Attribute Mapping (Optional). *This is Premium feature.

  • You can map attributes in the Attribute Mapping tab. Only username and email are allowed to be mapped in free version of the extension. However, in the premium version of the extension, you can map various attributes coming from your OAuth Provider to the attributes present in your Typo3 site.
  • Typo3 OAuth attribute mapping Typo3 SSO

4: Group Mapping (Optional). *This is Premium feature.

  • You can specify a default role in the free extension that will be allocated to all non-admin users when they conduct SSO.
  • Go to Group mapping tab and navigate to Group Mapping section.
  • Select the Default Role and click on the Save button.
  • Keycloak Typo3 SSO - Keycloak Single Sign-On(SSO) Login in Typo3 - role mapping

By configuring Keycloak as an OAuth Provider and Typo3 as an OAuth Client using our Typo3 OAuth Client extension, you have successfully installed Typo3 Keycloak Single Sign-On (SSO). Within minutes, you'll be able to provide safe access to your Typo3 site utilising Keycloak login credentials thanks to this solution.

Additional Resources


If you are looking for anything which you cannot find, please drop us an email on info@xecurify.com

Hello there!

Need Help? We are right here!

support
Contact miniOrange Support
success

Thanks for your inquiry.

If you dont hear from us within 24 hours, please feel free to send a follow up email to info@xecurify.com