Nexeed
    • Introduction
    • User manual
      • Basic operation
      • Getting started
      • User
      • Groups
      • Roles
      • Organizations
      • Contracts
      • Modules
      • Identity providers
        • General Settings for the Identity Provider
        • Mapper Overview
      • Reports
      • Activity log
      • My Account
        • Overview: Login Tab
      • Configuration
        • Contents of the configuration file
        • How to work with the configuration file
    • Operations manual
      • Overview
      • System Architecture and Interfaces
      • System Requirements
        • macma/macma-webapp-backend
        • macma/macma-core
        • macma/macma-keycloak-mssql
      • Migration from Previous Versions
        • Migration to 1.37+
        • Migration to 1.34+
        • Migration to 1.33+
        • Migration to 1.32+
        • Migration to 1.31+
        • Migration to 1.29+
        • Migration to 1.28+
        • Migration to 1.27+
        • Migration to 1.26+
        • Migration to 1.25+
        • Migration to 1.21+
        • Migration to 1.20+
        • Migration to 1.19+
        • Migration to 1.18+
        • Migration to 1.17+
        • Migration to 1.16.0
        • Migration to 1.15.0
      • Setup and Configuration
        • Helm Configuration
        • macma/macma-core Configuration
        • macma/macma-keycloak-mssql Configuration
        • macma/macma-webapp-backend Configuration
        • Installation guide
        • Identity provider integration
        • Optional Configuration
        • Recommendations
        • Module Health Verification Endpoints and K8S Probes
      • Start and Shutdown
      • Regular Operations
        • Registering a new application in MACMA
          • Allowing application to use other applications
        • Change client secret of an application
      • Logging and Monitoring
        • Required Monitoring
        • Security Logging
          • Macma Security Events
          • Keycloak Security Events
          • Security Logging Format
        • Activity Logging
          • Activity Log Events
      • Known Limitations
        • Performance
        • General
        • Allowed characters and Internationalization
    • Developer documentation
      • Concepts
        • Authentication
        • Authorization
        • Resources
        • Roles
        • Sharing
      • Getting started
        • Registration
        • Authentication
        • Authorization
        • Multitenancy
      • How-to
        • Get & handle tokens
        • OAuth 2.0 for Mobile and Native Apps
        • Evolve authorization in your application lifecycle
        • Use Web Core for user login
        • Handle our integration events
        • Frequent How-To Questions for Application Developers
        • Do automated testing
        • Advertise things to colleagues
        • Integrate with additional environments
      • Deep dives
        • OAuth2 and its flows
        • OpenID Connect endpoints
    • Troubleshooting
      • Startup and availability
      • Identity provider integration
      • Resource deletion
      • Authentication
      • Authorization
    • API documentation
      • HTTP API
      • Event API
    • Glossary
Multitenant Access Control
  • Industrial Application System
  • Core Services
    • Block Management
    • Deviation Processor
    • ID Builder
    • Multitenant Access Control
    • Notification Service
    • Ticket Management
    • Web Portal
  • Shopfloor Management
    • Andon Live
    • Global Production Overview
    • KPI Reporting
    • Operational Routines
    • Shift Book
    • Shopfloor Management Administration
  • Product & Quality
    • Product Setup Management
    • Part Traceability
    • Process Quality
    • Setup Specs
  • Execution
    • Line Control
    • Material Management
    • Order Management
    • Packaging Control
    • Rework Control
  • Intralogistics
    • AGV Control Center
    • Stock Management
    • Transport Management
  • Machine & Equipment
    • Condition Monitoring
    • Device Portal
    • Maintenance Management
    • Tool Management
  • Enterprise & Shopfloor Integration
    • Archiving Bridge
    • Data Publisher
    • Direct Data Link
    • Engineering UI
    • ERP Connectivity
    • Gateway
    • Information Router
    • Master Data Management
    • Orchestrator

Nexeed Learning Portal

  • Multitenant Access Control
  • Operations manual
  • Known Limitations
  • Allowed characters and Internationalization
1.37.1 1.37.0

Allowed characters and Internationalization

Entity Field Supports utf8 characters length Keycloak limitation MACMA limitation

tenant

id

No

limited to 36 characters

name

Yes

255

this is actually the display name in Keycloak. the name is a UUID generated by MACMA. limited by regular expression "\\p{IsAlphabetic}\\p{IsDigit}/\\-_+=()\\[\\]#.@&%!:,;'$?/*"

application

clientId

No

50

not selectable by user input

name

No

255

limited to 255 characters

limited to regexp ="a-zA-Z0-9\\-_+=()\\[\\]#.@&%!',;$"varchar(255)

displayName

Yes

255

limited to 255 characters

limited to regexp ="a-zA-Z0-9ßüöäÜÖÄ\\-_+=()\\[\\]#.@&%!',;$"

clientSecret

Yes

200

limited by regular expression "\\p{IsAlphabetic}\\p{IsDigit}/\\-_+=()\\[\\]#.@&%!:,;'$?/*"

redirectUris[]

-

255

limited to 255 characters

java.net.URL constructor is used to validate the string

webOrigins[]

-

255

limited to 255 characters

java.net.URL constructor is used to validate the string

application-role

type

-

not selectable

name

No

200

Keycloak works with international characters

limited to regexp = "^[a-zA-Z0-9_\\-]+$"

displayName

Yes

255

limited to 255 characters

limited by regular expression "\\p{IsAlphabetic}\\p{IsDigit}/\\-_+=()\\[\\]#.@&%!:,;'$?/*"

description

255

limited to 255 characters

limited by regular expression "\\p{IsAlphabetic}\\p{IsDigit}/\\-_+=()\\[\\]#.@&%!:,;'$?/*"

resource

id

No

255

limited to regexp ="A-Za-z0-9()+,\\-.:=@;$_!*'%/?#"

type

No

255

limited to regexp ="A-Za-z0-9()+,\\-.:=@;$_!*'%/?#"

name

Yes

255

limited to regexp ="a-zA-Z0-9ßüöäÜÖÄ\\-_+=()\\[\\]#.@&%!',;$"

description

Yes

255

limited by regular expression "\\p{IsAlphabetic}\\p{IsDigit}/\\-_+=()\\[\\]#.@&%!:,;'$?/*"

iconUri

-

255

limited to 255 characters

checked by trying to create a java.net.URI

permission

resourceId

No

255

limited to regexp ="A-Za-z0-9()+,\\-.:=@;$_!*'%/?#"

resourceType

No

255

limited to regexp ="A-Za-z0-9()+,\\-.:=@;$_!*'%/?#"

tenant-role

type

-

not selectable

name

No

200

Keycloak can work with international characters

limited by regexp = "^[a-zA-Z0-9_\\-]+$"

displayName

No

255

Keycloak can work with international characters

limited by regular expression "\\p{IsAlphabetic}\\p{IsDigit}/\\-_+=()\\[\\]#.@&%!:,;'$?/*"

description

No

255

Keycloak can work with international characters

limited by regular expression "\\p{IsAlphabetic}\\p{IsDigit}/\\-_+=()\\[\\]#.@&%!:,;'$?/*"

user

username

Yes

1..255

converted to lowercase

limited by regular expression "\\p{IsAlphabetic}\\p{IsDigit}/\\-_+=()\\[\\]#.@&%!:,;'$?/*"

firstName

Yes

1..255

limited by regular expression "\\p{IsAlphabetic}\\p{IsDigit}/\\-_+=()\\[\\]#.@&%!:,;'$?/*"

lastName

Yes

1..255

limited by regular expression "\\p{IsAlphabetic}\\p{IsDigit}/\\-_+=()\\[\\]#.@&%!:,;'$?/*"

email

No

1..255

  • limited to 76 chars

  • converted to lowercase

  • Keycloak accepts emailWithSpecialCharacters = "'_\$%+~#?={}&!*/@

limited by regular expression "\\p{IsAlphabetic}\\p{IsDigit}/\\-_+=()\\[\\]#.@&%!:,;'$?/*"

password

Yes

5..200

because only a hash is stored, the length can be even more than 1000 characters,minimum requirement managed by Keycloak policy

limited by regular expression "\\p{IsAlphabetic}\\p{IsDigit}/\\-_+=()\\[\\]#.@&%!:,;'$?/*"

group

name

No

1..255

Keycloak can work with international characters

group name is limited to
"^[a-zA-Z0-9ßüöäÜÖÄ\\-_+=()\\[\\]#.@&%!',;$]+([ ]+[a-zA-Z0-9ßüöäÜÖÄ\\-_+=()\\[\\]#.@&%!',;$]+)*$"

contract

name

Yes

1..255

not stored in Keycloak

limited by regular expression "\\p{IsAlphabetic}\\p{IsDigit}/\\-_+=()\\[\\]#.@&%!:,;'$?/*"

description

Yes

255

not stored in Keycloak

limited by regular expression "\\p{IsAlphabetic}\\p{IsDigit}/\\-_+=()\\[\\]#.@&%!:,;'$?/*"

Keycloak has a limitation on string size to 255 for the following Keycloak: + entities:
  • resource name

  • policy name

  • scope name

  • permission name

  • Since we need uniqueness in Keycloak for those entities, we are creating names for permissions like "access-manager/$all.applications/urn:com:bosch:bci:macma:entity:applications/permission", containing the role, the resource and urn. Having large role or resource names, might be result in an issue, since we are here limited to 255 chars as well.

Contents

© Robert Bosch Manufacturing Solutions GmbH 2023-2025, all rights reserved

Changelog Corporate information Legal notice Data protection notice Third party licenses