schemas.schema-form.json Maven / Gradle / Ivy
{
"type" : "object",
"id" : "urn:jsonschema:io:gravitee:am:identityprovider:jdbc:JdbcIdentityProviderConfiguration",
"properties" : {
"host" : {
"type" : "string",
"title": "Database connection host",
"description": "IP address or DNS of the database server."
},
"port" : {
"type": "number",
"title": "Database connection port",
"description": "Database server port number."
},
"protocol" : {
"type": "string",
"enum": ["postgresql", "mysql", "sqlserver", "mariadb"],
"title": "Database driver identifier",
"description": "Type of your relational database (RDBMS). PostgreSQL, MySQL, SQL Server, MariaDB, ..."
},
"database" : {
"type" : "string",
"title": "The database used to run query",
"description": "The database used to run query to search for users."
},
"usersTable" : {
"type" : "string",
"default": "users",
"title": "The table used to run query",
"description": "The table used to run query to search for users."
},
"user" : {
"type" : "string",
"title": "Authentication user",
"description": "User to access database."
},
"password" : {
"type" : "string",
"title": "Authentication password",
"description": "User password.",
"widget": "password",
"sensitive": true
},
"selectUserByUsernameQuery" : {
"type" : "string",
"default": "SELECT * FROM users WHERE username = %s",
"widget": "textarea",
"title": "Query to find for a user using its identifier (username)",
"description": "The query which is executed to search for an user using its identifier (username)."
},
"selectUserByMultipleFieldsQuery" : {
"type": "string",
"widget": "textarea",
"title": "Query to find for a user using multiple fields (username or email)",
"description": "The query which is executed to search for an user using its identifier (username) or another field (email). If this field isn't specified, the findUserByUsernameQuery is used"
},
"selectUserByEmailQuery" : {
"type" : "string",
"default": "SELECT * FROM users WHERE email = %s",
"widget": "textarea",
"title": "Query to find for a user using its email (email)",
"description": "The query which is executed to search for an user using its email (email)."
},
"identifierAttribute": {
"type": "string",
"title": "User identifier attribute",
"default": "id",
"description": "Identifier field of your users"
},
"usernameAttribute" : {
"type" : "string",
"default": "username",
"title": "User username attribute",
"description": "Username field of your users"
},
"emailAttribute" : {
"type" : "string",
"default": "email",
"title": "User email attribute",
"description": "Email field of your users"
},
"passwordAttribute" : {
"type" : "string",
"default": "password",
"title": "User password attribute",
"description": "Password field of your users"
},
"passwordEncoder" : {
"type": "string",
"enum": ["BCrypt", "SHA", "SHA-1", "SHA-256", "SHA-384", "SHA-512", "MD5", "SHA-256+MD5", "None"],
"default": "BCrypt",
"title": "Password encoder",
"description": "The encoding mechanism used to store user password value."
},
"passwordEncoding" : {
"type": "string",
"title": "Password binary-to-text encoding",
"description": "This property will cause the encoded pass to be returned as encoding text representation",
"enum" : ["Base64", "Hex"]
},
"useDedicatedSalt" : {
"type": "boolean",
"title": "Separate salt from the password value ?"
},
"passwordSaltAttribute" : {
"type" : "string",
"title": "User password salt attribute",
"description": "Password salt field of your users if any (make sure the column exists in your datatable)"
},
"passwordSaltLength" : {
"type" : "number",
"default" : 32,
"title": "User password salt length in bytes",
"description": "Password salt length in bytes"
},
"userProvider" : {
"type" : "boolean",
"default": true,
"title": "Allow CRUD operations",
"description": "When enable, the user profile provided by the identity provider can be managed (CRUD operations)"
},
"options" : {
"title": "Connection options",
"type": "array",
"items": {
"type": "object",
"properties": {
"option": {
"title": "Option",
"description": "Connection option name (https://r2dbc.io/ for more information)",
"type": "string"
},
"value": {
"title": "Value",
"description": "Connection option value (https://r2dbc.io/ for more information)",
"type": "string"
}
}
}
}
},
"required": [
"host",
"protocol",
"database",
"usersTable",
"user",
"selectUserByUsernameQuery",
"selectUserByEmailQuery",
"identifierAttribute",
"usernameAttribute",
"passwordAttribute",
"passwordEncoder"
]
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy