All Downloads are FREE. Search and download functionalities are using the official Maven repository.

schemas.schema-form.json Maven / Gradle / Ivy

There is a newer version: 4.6.0-alpha.2
Show newest version
{
  "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