{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "auth": {
      "type": "object",
      "properties": {
        "providers": {
          "type": "object",
          "properties": {
            "cfaccess": {
              "type": "object",
              "properties": {
                "teamName": {
                  "type": "string"
                },
                "audience": {
                  "type": "string",
                  "description": "The Application Audience (AUD) Tag of the Cloudflare Access application."
                },
                "serviceTokens": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "token": {
                        "type": "string"
                      },
                      "subject": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "token",
                      "subject"
                    ]
                  },
                  "deepVisibility": "secret"
                },
                "jwtHeaderName": {
                  "type": "string"
                },
                "authorizationCookieName": {
                  "type": "string"
                },
                "signIn": {
                  "type": "object",
                  "properties": {
                    "resolvers": {
                      "type": "array",
                      "items": {
                        "anyOf": [
                          {
                            "type": "object",
                            "properties": {
                              "resolver": {
                                "type": "string",
                                "const": "emailLocalPartMatchingUserEntityName"
                              },
                              "allowedDomains": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                }
                              },
                              "dangerouslyAllowSignInWithoutUserInCatalog": {
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "resolver"
                            ]
                          },
                          {
                            "type": "object",
                            "properties": {
                              "resolver": {
                                "type": "string",
                                "const": "emailMatchingUserEntityProfileEmail"
                              },
                              "dangerouslyAllowSignInWithoutUserInCatalog": {
                                "type": "boolean"
                              }
                            },
                            "required": [
                              "resolver"
                            ]
                          }
                        ]
                      }
                    }
                  },
                  "required": [
                    "resolvers"
                  ]
                }
              },
              "required": [
                "teamName",
                "audience"
              ],
              "visibility": "frontend"
            },
            "backstageTokenExpiration": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "years": {
                      "type": "number"
                    },
                    "months": {
                      "type": "number"
                    },
                    "weeks": {
                      "type": "number"
                    },
                    "days": {
                      "type": "number"
                    },
                    "hours": {
                      "type": "number"
                    },
                    "minutes": {
                      "type": "number"
                    },
                    "seconds": {
                      "type": "number"
                    },
                    "milliseconds": {
                      "type": "number"
                    }
                  },
                  "description": "Human friendly durations object."
                },
                {
                  "type": "string"
                }
              ],
              "description": "The backstage token expiration."
            },
            "sessionDuration": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "years": {
                      "type": "number"
                    },
                    "months": {
                      "type": "number"
                    },
                    "weeks": {
                      "type": "number"
                    },
                    "days": {
                      "type": "number"
                    },
                    "hours": {
                      "type": "number"
                    },
                    "minutes": {
                      "type": "number"
                    },
                    "seconds": {
                      "type": "number"
                    },
                    "milliseconds": {
                      "type": "number"
                    }
                  },
                  "description": "Human friendly durations object."
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        }
      }
    }
  }
}
