schemas.schema-form.json Maven / Gradle / Ivy
{
"type" : "object",
"id" : "urn:jsonschema:io:gravitee:am:identityprovider:mongo:MongoIdentityProviderConfiguration",
"properties" : {
"uri" : {
"type" : "string",
"default": "mongodb://localhost:27017",
"title": "MongoDB connection URI",
"description": "Connection URI used to connect to a MongoDB instance.",
"sensitive-uri": true
},
"host" : {
"type" : "string",
"default": "localhost",
"title": "MongoDB connection host",
"description": "Not required if the MongoDB connection URI is set."
},
"port" : {
"type": "number",
"default": 27017,
"minimum": 1,
"title": "MongoDB connection port",
"description": "Not required if the MongoDB connection URI is set."
},
"enableCredentials" : {
"type" : "boolean",
"default": false,
"title": "Secure access to MongoDB",
"description": "If MongoDB database need an authentication, this flag must be enabled."
},
"databaseCredentials" : {
"type" : "string",
"title": "Authentication database",
"description": "Database used for authentication."
},
"usernameCredentials" : {
"type" : "string",
"title": "Authentication user",
"description": "User used to authenticate."
},
"passwordCredentials" : {
"type" : "string",
"title": "Authentication password",
"description": "Password used to authenticate.",
"widget": "password",
"sensitive": true
},
"database" : {
"type" : "string",
"title": "The database used to run query",
"description": "The MongoDB database used to run query to search for users."
},
"usersCollection" : {
"type" : "string",
"default": "users",
"title": "The collection used to run query",
"description": "The collection which is containing all the users."
},
"findUserByUsernameQuery" : {
"type" : "string",
"default": "{username: ?}",
"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)."
},
"findUserByMultipleFieldsQuery" : {
"type" : "string",
"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"
},
"findUserByEmailQuery" : {
"type" : "string",
"default": "{email: ?}",
"title": "Query to find for a user using its email",
"description": "The query which is executed to search for an user using its email."
},
"usernameField" : {
"type" : "string",
"default": "username",
"title": "Username field",
"description": "The user username field (must be in the same collection as the users)."
},
"passwordField" : {
"type" : "string",
"default": "password",
"title": "Password field",
"description": "The user password field (must be in the same collection as the 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 to store 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"
},
"passwordSaltLength" : {
"type" : "number",
"default" : 32,
"title": "User password salt length in bytes",
"description": "Password salt length in bytes"
},
"passwordSaltFormat" : {
"type" : "string",
"default" : "DIGEST",
"enum": ["DIGEST", "APPENDING", "PREPENDING"],
"title": "How is salt added to password ?",
"description": "Password + salt format"
},
"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)"
},
"usernameCaseSensitive" : {
"type" : "boolean",
"title": "Handle username with sensitive case",
"description": "The case of the username to create, authenticate and search for the user (applies both to findUserByUsername and findUserByMultipleFields). Default is false",
"default": false
}
},
"required": [
"database",
"usersCollection",
"findUserByUsernameQuery",
"findUserByEmailQuery",
"usernameField",
"passwordField",
"passwordEncoder"
]
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy