diff --git a/.bundle/config b/.bundle/config deleted file mode 100644 index 7745e9f3f..000000000 --- a/.bundle/config +++ /dev/null @@ -1,4 +0,0 @@ ---- -BUNDLE_JOBS: "3" -BUNDLE_BIN: "bin" -BUNDLE_RETRY: "3" \ No newline at end of file diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile deleted file mode 100644 index 18c1b4255..000000000 --- a/.devcontainer/Dockerfile +++ /dev/null @@ -1,19 +0,0 @@ -# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.245.2/containers/ruby/.devcontainer/base.Dockerfile - -# [Choice] Ruby version (use -bullseye variants on local arm64/Apple Silicon): 3, 3.1, 3.0, 2, 2.7, 3-bullseye, 3.1-bullseye, 3.0-bullseye, 2-bullseye, 2.7-bullseye, 3-buster, 3.1-buster, 3.0-buster, 2-buster, 2.7-buster -ARG VARIANT="3.2-bullseye" -FROM mcr.microsoft.com/vscode/devcontainers/ruby:0-${VARIANT} - -# [Choice] Node.js version: none, lts/*, 16, 14, 12, 10 -ARG NODE_VERSION="none" -RUN if [ "${NODE_VERSION}" != "none" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi - -# [Optional] Uncomment this section to install additional OS packages. -# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ -# && apt-get -y install --no-install-recommends - -# [Optional] Uncomment this line to install additional gems. -# RUN gem install - -# [Optional] Uncomment this line to install global node packages. -# RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && npm install -g " 2>&1 \ No newline at end of file diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json deleted file mode 100644 index ab30c2d5c..000000000 --- a/.devcontainer/devcontainer.json +++ /dev/null @@ -1,37 +0,0 @@ -// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at: -// https://github.com/microsoft/vscode-dev-containers/tree/v0.245.2/containers/ruby -{ - "name": "Ruby", - "build": { - "dockerfile": "Dockerfile", - "args": { - // Update 'VARIANT' to pick a Ruby version: 3, 3.1, 3.0, 2, 2.7 - // Append -bullseye or -buster to pin to an OS version. - // Use -bullseye variants on local on arm64/Apple Silicon. - "VARIANT": "3.2", - // Options - "NODE_VERSION": "lts/*" - } - }, - - // Configure tool-specific properties. - "customizations": { - // Configure properties specific to VS Code. - "vscode": { - // Add the IDs of extensions you want installed when the container is created. - "extensions": [ - "rebornix.Ruby" - ] - } - }, - - // Use 'forwardPorts' to make a list of ports inside the container available locally. - // "forwardPorts": [], - - // Use 'postCreateCommand' to run commands after the container is created. - // "postCreateCommand": "ruby --version", - - // Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root. - "remoteUser": "vscode" - -} diff --git a/.env.example b/.env.example deleted file mode 100644 index 11e3ff912..000000000 --- a/.env.example +++ /dev/null @@ -1,2 +0,0 @@ -DOMAIN= -CLIENT_ID= \ No newline at end of file diff --git a/.fern/metadata.json b/.fern/metadata.json new file mode 100644 index 000000000..6ebf68e81 --- /dev/null +++ b/.fern/metadata.json @@ -0,0 +1,18 @@ +{ + "cliVersion": "5.75.6", + "generatorName": "fernapi/fern-ruby-sdk", + "generatorVersion": "1.17.8", + "generatorConfig": { + "clientModuleName": "Management", + "package-name": "auth0", + "useProvidedDefaults": true, + "enableWireTests": true, + "offsetSemantics": "page-index", + "useDefaultRequestParameterValues": true + }, + "originGitCommit": "8857b12c5a5345e87088f8d57ba9cffdb82ed9fe", + "originGitCommitIsDirty": false, + "invokedBy": "ci", + "ciProvider": "github", + "sdkVersion": "5.20.1" +} \ No newline at end of file diff --git a/.fern/replay.lock b/.fern/replay.lock new file mode 100644 index 000000000..1e75c65a6 --- /dev/null +++ b/.fern/replay.lock @@ -0,0 +1,34 @@ +# DO NOT EDIT MANUALLY - Managed by Fern Replay +version: "1.0" +generations: + - commit_sha: 78ff190749feb3803b4e9629d57294e4b09d3ead + tree_hash: c3e180060dcea59de5c4290a242c66639e5cecff + timestamp: 2026-07-14T04:31:08.668Z + cli_version: unknown + generator_versions: {} + - commit_sha: 6caf043a4469185ba0f690eb2da7c6889138f4d7 + tree_hash: dbc1a9fac4f5566751f2760dc8e1191d47892bd5 + timestamp: 2026-07-14T04:31:09.152Z + cli_version: unknown + generator_versions: + fernapi/fern-ruby-sdk: 1.13.1 + - commit_sha: 428032101d1791fe97573af36427e664fe4e1e88 + tree_hash: 231d5c443ba4120855bd439d858060fc178043cd + timestamp: 2026-07-15T09:11:13.405Z + cli_version: unknown + generator_versions: + fernapi/fern-ruby-sdk: 1.13.1 + - commit_sha: d8a88028849ce519e8fdc20765c78e367f372110 + tree_hash: 3e4eff170915344776a2c1e921a378a13c54afd1 + timestamp: 2026-07-21T07:06:12.329Z + cli_version: unknown + generator_versions: + fernapi/fern-ruby-sdk: 1.17.8 + - commit_sha: ff82f16a518e8ee51b23570ed1a303f3c070ff02 + tree_hash: 6b4ba82c8dbe3556b6c8e7dd4f7c4d32671aa12a + timestamp: 2026-08-04T06:22:44.311Z + cli_version: unknown + generator_versions: + fernapi/fern-ruby-sdk: 1.17.8 +current_generation: ff82f16a518e8ee51b23570ed1a303f3c070ff02 +patches: [] diff --git a/.fernignore b/.fernignore new file mode 100644 index 000000000..fa77c44c9 --- /dev/null +++ b/.fernignore @@ -0,0 +1,62 @@ +# Specify files that shouldn't be modified by Fern + +# Custom SDK files +lib/auth0/auth_client.rb +lib/auth0/exception.rb +lib/auth0/algorithm.rb +lib/auth0/client_assertion.rb +lib/auth0/version.rb +lib/auth0/environment.rb +lib/auth0/mixins.rb +lib/auth0/mixins/ +lib/auth0/api/ +lib/auth0/errors/ +lib/auth0_client.rb + +# Internal infrastructure (custom HTTP, iterators, JSON, multipart) +lib/auth0/internal/ + +# Telemetry customization +lib/auth0/internal/http/raw_client.rb + +# Packaging & build +auth0.gemspec +custom.gemspec.rb +Gemfile +Gemfile.custom +Gemfile.lock +Rakefile + +# Project configuration +.gitignore +.version +.shiprc +.snyk +.rubocop.yml +codecov.yml +LICENSE + +# Documentation +README.md +CHANGELOG.md +EXAMPLES.md +DEVELOPMENT.md +DEPLOYMENT.md +CODE_OF_CONDUCT.md +RUBYGEM.md +v6_MIGRATION_GUIDE.md +reference.md + +# GitHub (entire directory - workflows, actions, templates, CODEOWNERS) +.github/ + +# Tests (custom only - Fern owns test/wire/) +test/unit/ +test/test_helper.rb +test/custom.test.rb + +# Examples +examples/ +.fern/replay.lock +.fern/replay.yml +.gitattributes diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 000000000..74928d6a4 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +.fern/replay.lock linguist-generated=true diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index d5f6563e3..e7add0173 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -9,6 +9,7 @@ on: push: branches: - master + - v5 schedule: - cron: "37 10 * * 2" @@ -19,7 +20,7 @@ permissions: concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} - cancel-in-progress: ${{ github.ref != 'refs/heads/master' }} + cancel-in-progress: ${{ github.ref != 'refs/heads/master' && github.ref != 'refs/heads/v5' }} jobs: analyze: diff --git a/.github/workflows/matrix.json b/.github/workflows/matrix.json index a0c8a97c0..e2a69468a 100644 --- a/.github/workflows/matrix.json +++ b/.github/workflows/matrix.json @@ -1,3 +1,3 @@ { - "include": [{ "ruby": "3.1" }, { "ruby": "3.2" }, { "ruby": "3.3" }] + "include": [{ "ruby": "3.3" }, { "ruby": "3.4" }] } diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a3ccabf6c..4fa3367b0 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -17,7 +17,7 @@ jobs: rl-scanner: uses: ./.github/workflows/rl-scanner.yml with: - ruby-version: 3.2 + ruby-version: 3.3 secrets: RLSECURE_LICENSE: ${{ secrets.RLSECURE_LICENSE }} RLSECURE_SITE_KEY: ${{ secrets.RLSECURE_SITE_KEY }} @@ -30,7 +30,7 @@ jobs: uses: ./.github/workflows/ruby-release.yml needs: rl-scanner with: - ruby-version: 3.2 + ruby-version: 3.3 secrets: github-token: ${{ secrets.GITHUB_TOKEN }} rubygems-token: ${{ secrets.RUBYGEMS_AUTH_TOKEN }} diff --git a/.github/workflows/sca_scan.yml b/.github/workflows/sca_scan.yml new file mode 100644 index 000000000..30c7bf9bc --- /dev/null +++ b/.github/workflows/sca_scan.yml @@ -0,0 +1,15 @@ +name: SCA +on: + push: + branches: ["master", "v5"] + pull_request: + branches: ["master", "v5"] +jobs: + snyk-cli: + uses: auth0/devsecops-tooling/.github/workflows/sca-scan.yml@main + with: + ruby-version: "3.4" + additional-arguments: "--exclude=README.md,.jfrog,examples" + pre-scan-commands: | + bundle install + secrets: inherit \ No newline at end of file diff --git a/.github/workflows/snyk.yml b/.github/workflows/snyk.yml deleted file mode 100644 index e1d3f36ec..000000000 --- a/.github/workflows/snyk.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: Snyk - -on: - merge_group: - workflow_dispatch: - pull_request: - types: - - opened - - synchronize - push: - branches: - - master - schedule: - - cron: "30 0 1,15 * *" - -permissions: - contents: read - -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} - cancel-in-progress: ${{ github.ref != 'refs/heads/master' }} - -jobs: - check: - name: Check for Vulnerabilities - runs-on: ubuntu-latest - - steps: - - if: github.actor == 'dependabot[bot]' || github.event_name == 'merge_group' - run: exit 0 # Skip unnecessary test runs for dependabot and merge queues. Artifically flag as successful, as this is a required check for branch protection. - - - uses: actions/checkout@v6 - with: - ref: ${{ github.event.pull_request.head.sha || github.ref }} - - - run: npm install -g snyk - - - run: snyk test - env: - SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 815ce251d..d4999f520 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -6,16 +6,18 @@ on: pull_request: branches: - master + - v5 push: branches: - master + - v5 permissions: contents: read concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} - cancel-in-progress: ${{ github.ref != 'refs/heads/master' }} + cancel-in-progress: ${{ github.ref != 'refs/heads/master' && github.ref != 'refs/heads/v5' }} env: CACHE_KEY: "${{ github.ref }}-${{ github.run_id }}-${{ github.run_attempt }}" @@ -46,10 +48,6 @@ jobs: matrix: ${{ fromJson(needs.configure.outputs.matrix) }} env: - DOMAIN: example.auth0.dev - CLIENT_ID: example-client - CLIENT_SECRET: example-secret - MASTER_JWT: example-jwt BUNDLE_PATH: vendor/bundle steps: @@ -62,7 +60,7 @@ jobs: ruby: ${{ matrix.ruby }} - name: Run tests - run: bundle exec rake test + run: RUN_WIRE_TESTS=true bundle exec rake test - name: Upload coverage if: matrix.ruby == '3.2' || matrix.ruby == '3.3' diff --git a/.gitignore b/.gitignore index a69cf058d..94268bdef 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,4 @@ bin/ -!examples/ruby-on-rails-api/bin/ vendor/ doc/ .DS_Store @@ -9,11 +8,10 @@ coverage .ruby-gemset *.swp *.swo -spec/auth0.yml .env -/.yardoc/checksums -/.yardoc/complete -/.yardoc/object_types -/.yardoc/objects/root.dat -/.yardoc/proxy_types +/.yardoc/ +test-script/ + +# AI tools .claude/ +.copilot/ diff --git a/.rspec b/.rspec deleted file mode 100644 index a6c7b7317..000000000 --- a/.rspec +++ /dev/null @@ -1,3 +0,0 @@ ---color ---format Fuubar ---color \ No newline at end of file diff --git a/.rubocop.yml b/.rubocop.yml index 917e982d9..a7e3f3745 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -1,10 +1,88 @@ -inherit_from: .rubocop_todo.yml -require: - - rubocop-rails -Rails: - Enabled: true +plugins: + - rubocop-minitest + AllCops: - Exclude: - - bin/**/* - - vendor/**/* - - auth0.gemspec + TargetRubyVersion: 3.3 + NewCops: enable + # Files ported verbatim from the legacy ruby-auth0 SDK (authentication API). + # Excluded to preserve exact compatibility with the original source. + Exclude: + - "examples/**/*" + - "lib/auth0/exception.rb" + - "lib/auth0/mixins/access_token_struct.rb" + - "lib/auth0/mixins/api_token_struct.rb" + - "lib/auth0/mixins/permission_struct.rb" + - "lib/auth0/client_assertion.rb" + - "lib/auth0/mixins/headers.rb" + - "lib/auth0/mixins/httpproxy.rb" + - "lib/auth0/mixins/token_management.rb" + - "lib/auth0/mixins/validation.rb" + - "lib/auth0/algorithm.rb" + - "lib/auth0/api/authentication_endpoints.rb" + +Style/StringLiterals: + EnforcedStyle: double_quotes + +Style/StringLiteralsInInterpolation: + EnforcedStyle: double_quotes + +Style/AccessModifierDeclarations: + Enabled: false + +Lint/ConstantDefinitionInBlock: + Enabled: false + +Metrics/AbcSize: + Enabled: false + +Metrics/BlockLength: + Enabled: false + +Metrics/ClassLength: + Enabled: false + +Metrics/MethodLength: + Enabled: false + +Metrics/ParameterLists: + Enabled: false + +Metrics/PerceivedComplexity: + Enabled: false + +Metrics/CyclomaticComplexity: + Enabled: false + +Metrics/ModuleLength: + Enabled: false + +Layout/LineLength: + Enabled: false + +Naming/VariableNumber: + EnforcedStyle: normalcase + +Style/Documentation: + Enabled: false + +Style/OneClassPerFile: + Exclude: + - "test/**/*" + +Style/Lambda: + EnforcedStyle: literal + +Minitest/MultipleAssertions: + Enabled: false + +Minitest/UselessAssertion: + Enabled: false + +# Dynamic snippets are code samples for documentation, not standalone Ruby files. +Style/FrozenStringLiteralComment: + Exclude: + - "dynamic-snippets/**/*" + +Layout/FirstHashElementIndentation: + Exclude: + - "dynamic-snippets/**/*" diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml deleted file mode 100644 index 02b5e688e..000000000 --- a/.rubocop_todo.yml +++ /dev/null @@ -1,5 +0,0 @@ -Metrics/MethodLength: - Max: 15 - -Metrics/LineLength: - Max: 121 diff --git a/.semgrepignore b/.semgrepignore deleted file mode 100644 index 6d31860a7..000000000 --- a/.semgrepignore +++ /dev/null @@ -1,6 +0,0 @@ -.bundle/ -.circleci/ -.devcontainer/ -.github/ -examples/ -spec/ diff --git a/.version b/.version index 300ac65cb..5c77d55e0 100644 --- a/.version +++ b/.version @@ -1 +1 @@ -v5.20.0 \ No newline at end of file +v6.0.0.beta.5 diff --git a/CHANGELOG.md b/CHANGELOG.md index f5673ea84..b8535646d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,37 @@ # Change Log +## [v6.0.0.beta.5](https://github.com/auth0/ruby-auth0/tree/v6.0.0.beta.5) (2026-08-05) +[Full Changelog](https://github.com/auth0/ruby-auth0/compare/v6.0.0.beta.4...v6.0.0.beta.5) + +**Added** +- feat: add Agents and Organization Clients clients, Organization Level Roles, and Org-to-App Entitlement [\#777](https://github.com/auth0/ruby-auth0/pull/777) ([fern-api[bot]](https://github.com/apps/fern-api)) + +## [v6.0.0.beta.4](https://github.com/auth0/ruby-auth0/tree/v6.0.0.beta.4) (2026-07-22) +[Full Changelog](https://github.com/auth0/ruby-auth0/compare/v6.0.0.beta.3...v6.0.0.beta.4) + +**Added** +- feat: add Organization Role Members, Connection event streams, and Token Vault access grants [\#762](https://github.com/auth0/ruby-auth0/pull/762) ([fern-api[bot]](https://github.com/apps/fern-api)) +- feat: add Events and Rate Limit Policies clients, remove Federated Connections Tokensets [\#767](https://github.com/auth0/ruby-auth0/pull/767) ([fern-api[bot]](https://github.com/apps/fern-api)) +- feat: add Cross App Access and Identity Assertion grants, Branding Theme Identifiers, and Session actor [\#771](https://github.com/auth0/ruby-auth0/pull/771) ([fern-api[bot]](https://github.com/apps/fern-api)) + +**Breaking Changes** +- Rename `ConnectionAttributeIdentifier` to `EmailAttributeIdentifier`; the `identifier` field on email, phone, and username attributes is now `EmailAttributeIdentifier`, `PhoneAttributeIdentifier`, and `UsernameAttributeIdentifier` respectively [\#762](https://github.com/auth0/ruby-auth0/pull/762) +- Replace the `none` member on `PhoneProviderProtectionBackoffStrategyEnum` with `default` [\#762](https://github.com/auth0/ruby-auth0/pull/762) +- `start`, `limit`, and `total` on `ListRolesOffsetPaginatedResponseContent` are now required [\#762](https://github.com/auth0/ruby-auth0/pull/762) +- Remove the Federated Connections Tokensets client (`users.federated_connections_tokensets`) and the `FederatedConnectionTokenSet` type [\#767](https://github.com/auth0/ruby-auth0/pull/767) + +## [v6.0.0.beta.3](https://github.com/auth0/ruby-auth0/tree/v6.0.0.beta.3) (2026-06-29) +[Full Changelog](https://github.com/auth0/ruby-auth0/compare/v6.0.0.beta.2...v6.0.0.beta.3) + +**Added** +- feat: add Phone Provider Protection, Token Vault IP allowlist, and Cross App Access requesting app [\#758](https://github.com/auth0/ruby-auth0/pull/758) ([fern-api[bot]](https://github.com/apps/fern-api)) + +## [v6.0.0.beta.2](https://github.com/auth0/ruby-auth0/tree/v6.0.0.beta.2) (2026-06-12) +[Full Changelog](https://github.com/auth0/ruby-auth0/compare/v6.0.0.beta.1...v6.0.0.beta.2) + +**Added** +- feat: add Tenant Security Headers and Connection Session Expiry; remove Branding Phone Display [\#751](https://github.com/auth0/ruby-auth0/pull/751) ([fern-api[bot]](https://github.com/apps/fern-api)) + ## [v5.20.0](https://github.com/auth0/ruby-auth0/tree/v5.20.0) (2026-05-29) [Full Changelog](https://github.com/auth0/ruby-auth0/compare/v5.19.0...v5.20.0) @@ -12,6 +44,13 @@ **Security** - chore(deps): bump jwt from 3.1.2 to 3.2.0 [\#745](https://github.com/auth0/ruby-auth0/pull/745) ([dependabot[bot]](https://github.com/apps/dependabot)) +## [v6.0.0.beta.1](https://github.com/auth0/ruby-auth0/tree/v6.0.0.beta.1) (2026-05-28) +[Full Changelog](https://github.com/auth0/ruby-auth0/compare/v6.0.0.beta.0...v6.0.0.beta.1) + +**Added** +- feat: Events API, Rate Limit Policies, refresh token revocation, FedCM, DPoP GA [\#732](https://github.com/auth0/ruby-auth0/pull/732) ([fern-api[bot]](https://github.com/apps/fern-api)) +- feat: add SCIM Groups RBAC, User Effective Permissions/Roles, and Tenant Country Codes [\#742](https://github.com/auth0/ruby-auth0/pull/742) ([fern-api[bot]](https://github.com/apps/fern-api)) + ## [v5.19.0](https://github.com/auth0/ruby-auth0/tree/v5.19.0) (2026-05-08) [Full Changelog](https://github.com/auth0/ruby-auth0/compare/v5.18.1...v5.19.0) @@ -21,6 +60,36 @@ **Fixed** - Ship only runtime files in packaged gem to eliminate scanner false positives [\#721](https://github.com/auth0/ruby-auth0/pull/721) ([tmertens](https://github.com/tmertens)) +## 6.0.0-beta.0 (2026-04-30) + +[Full Changelog](https://github.com/auth0/ruby-auth0/compare/v5.18.1...v6.0.0.beta.0) + +This beta release completely rewrites the Management API client using [Fern](https://buildwithfern.com/) code generation from the Auth0 OpenAPI specification. The Authentication API is ported from v5 and maintains full feature parity. + +**Breaking Changes** +- Management API client rewritten using Fern code generation +- `Auth0Client` replaced by `Auth0::Client` (unified client for Auth + Management APIs) +- Management API methods accessed via namespaced sub-clients (`client.users.list` instead of `client.users`) +- API methods return strongly-typed response objects instead of raw hashes +- List methods return paginated iterators instead of arrays +- Non-2xx responses raise typed exceptions (`Auth0::Errors::NotFoundError`, etc.) instead of returning error hashes +- `rest-client` dependency removed; uses `net/http` internally +- Minimum Ruby version raised to 3.3 + +**Added** +- Auto-generated Management API with complete endpoint coverage from Auth0 OpenAPI spec +- Automatic OAuth 2.0 client credentials token management +- Built-in retry with exponential backoff for rate-limited (429) responses +- Configurable timeouts per request via `request_options` +- Offset-based pagination with `each` iterators for all list endpoints +- Telemetry headers on Management API requests +- Wire tests (WireMock-based) for all Management API endpoints +- New examples (Sinatra API and Rails 7 API) +- `v6_MIGRATION_GUIDE.md` for upgrading from v5 + +**Unchanged** +- Authentication API (login, signup, token exchange, passwordless, MFA) — ported from v5 with identical interface + ## [v5.18.1](https://github.com/auth0/ruby-auth0/tree/v5.18.1) (2026-03-13) [Full Changelog](https://github.com/auth0/ruby-auth0/compare/v5.18.0...v5.18.1) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 000000000..95c10ea91 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,120 @@ +# Contributing + +Thanks for your interest in contributing to this SDK! This document provides guidelines for contributing to the project. + +## Getting Started + +### Prerequisites + +- Ruby 3.0+ +- Bundler + +### Installation + +Install the project dependencies: + +```bash +bundle install +``` + +### Building + +Build the gem: + +```bash +gem build *.gemspec +``` + +### Testing + +Run the test suite: + +```bash +bundle exec rspec +``` + +### Linting and Formatting + +Check code style: + +```bash +bundle exec rubocop +``` + +Fix code style issues: + +```bash +bundle exec rubocop -a +``` + +## About Generated Code + +**Important**: Most files in this SDK are automatically generated by [Fern](https://buildwithfern.com) from the API definition. Direct modifications to generated files will be overwritten the next time the SDK is generated. + +### Generated Files + +The following directories contain generated code: +- `lib/` - API client classes and types +- Most Ruby files in the project + +### How to Customize + +If you need to customize the SDK, you have two options: + +#### Option 1: Use `.fernignore` + +For custom code that should persist across SDK regenerations: + +1. Create a `.fernignore` file in the project root +2. Add file patterns for files you want to preserve (similar to `.gitignore` syntax) +3. Add your custom code to those files + +Files listed in `.fernignore` will not be overwritten when the SDK is regenerated. + +For more information, see the [Fern documentation on custom code](https://buildwithfern.com/learn/sdks/overview/custom-code). + +#### Option 2: Contribute to the Generator + +If you want to change how code is generated for all users of this SDK: + +1. The Ruby SDK generator lives in the [Fern repository](https://github.com/fern-api/fern) +2. Generator code is located at `generators/ruby-v2/` +3. Follow the [Fern contributing guidelines](https://github.com/fern-api/fern/blob/main/CONTRIBUTING.md) +4. Submit a pull request with your changes to the generator + +This approach is best for: +- Bug fixes in generated code +- New features that would benefit all users +- Improvements to code generation patterns + +## Making Changes + +### Workflow + +1. Create a new branch for your changes +2. Make your modifications +3. Run tests to ensure nothing breaks: `bundle exec rspec` +4. Run linting: `bundle exec rubocop` +5. Build the gem: `gem build *.gemspec` +6. Commit your changes with a clear commit message +7. Push your branch and create a pull request + +### Commit Messages + +Write clear, descriptive commit messages that explain what changed and why. + +### Code Style + +This project uses RuboCop for code formatting. Run `bundle exec rubocop` before committing to ensure your code meets the project's style guidelines. + +## Questions or Issues? + +If you have questions or run into issues: + +1. Check the [Fern documentation](https://buildwithfern.com) +2. Search existing [GitHub issues](https://github.com/fern-api/fern/issues) +3. Open a new issue if your question hasn't been addressed + +## License + +By contributing to this project, you agree that your contributions will be licensed under the same license as the project. diff --git a/DEPLOYMENT.md b/DEPLOYMENT.md index ec31f8941..c6f0c646e 100644 --- a/DEPLOYMENT.md +++ b/DEPLOYMENT.md @@ -4,58 +4,50 @@ Make sure you have access in https://rubygems.org/gems/auth0/ and that your Ruby Gems tokens are set in `~/.gem/credentials`. -In order to generate the required changelog entry, define an environment variable `GITHUB_READ_TOKEN` with a Github API token that has READ access to `repo:public_repo`. You can generate a Github API Token [here](https://github.com/settings/tokens/new?description=GitHub%20Changelog%20Generator%20token). - -Create a new Github Milestone with the version name prefixed with `v`. i.e. `v4.10.2`. Assign every Issue and Pull Request to be included on this release to that Milestone, and tag them with the `CH:xxxxxx` labels, depending on the type of change fixed or introduced there. - -Finally, follow the next steps: +## Release process ```bash -# Install gems for exec commands +# Install gems bundle install # Run all tests bundle exec rake test # Create a release branch -git checkout master +git checkout main git pull git checkout -b release-X.X.X git push --set-upstream origin release-X.X.X -# Update the version number -# This will create a commit with the new version -bundle exec gem bump --version X.X.X +# Update the version number in lib/auth0/version.rb +# Commit the version bump +git commit -am "Bump version to X.X.X" # Make sure the Gemfile.lock is up-to-date bundle update git commit -am "Update gems" -# Generate the changelog -github_changelog_generator -t $GITHUB_READ_TOKEN -# ... or similar. -# Review the changelog -# Remove "unreleased" section -# Make sure the tags are ordered - # Commit, push, and create a PR for this release -git commit -am "Update CHANGELOG.md" git push -# Add related milestone # Create PR on GitHub and assign for review -# Merge/rebase and delete branch once approved +# Merge and delete branch once approved # Create and add a tag -git checkout master +git checkout main git pull -bundle exec gem tag +git tag vX.X.X git push origin vX.X.X -# Create a new release from this tag on GitHub using markdown from the changelog -# Make sure you are an author for this gem here https://rubygems.org/gems/auth0/ -# Rubygems token can be updated in ~/.gem/credentials -bundle exec gem release +# Create a new release from this tag on GitHub + +# Publish to RubyGems +# Make sure you are an author for this gem: https://rubygems.org/gems/auth0/ +gem build auth0.gemspec +gem push auth0-X.X.X.gem ``` -The steps above were tested with Ruby `v2.5.7`. +## Notes + +- The Management API client is generated by [Fern](https://buildwithfern.com). Run `fern generate` to update it. After regeneration, check for new management resource accessors and update `lib/auth0/auth_client.rb` accordingly. +- Files listed in `.fernignore` are not overwritten by Fern regeneration. diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md index 846682e7d..9f9b140d5 100644 --- a/DEVELOPMENT.md +++ b/DEVELOPMENT.md @@ -1,9 +1,17 @@ # Development -In order to set up the local environment you'd have to have Ruby installed and a few global gems used to run and record the unit tests. A working Ruby version can be taken from the [CI script](/.circleci/config.yml). At the moment of this writting we're using Ruby `2.5.7`. +In order to set up the local environment you'll need to have Ruby installed. Check the `.ruby-version` file or CI configuration for the recommended Ruby version. > It is expected that every Pull Request introducing a fix, change or feature contains enough test coverage to assert the new behavior. +## Architecture + +This SDK combines a Fern-generated Management API client with a hand-written Authentication API client: + +- **Management API** (`Auth0::Management`) - Auto-generated by [Fern](https://buildwithfern.com). Source files live in `lib/auth0/` (except those listed in `.fernignore`). Do not edit generated files directly; changes will be overwritten on regeneration. +- **Authentication API** (`Auth0::Api::AuthenticationEndpoints`) - Hand-written, ported from the original ruby-auth0 SDK. Source files are listed in `.fernignore` to protect them from Fern regeneration. +- **Unified Client** (`Auth0::Client`) - Defined in `lib/auth0/auth_client.rb`, combines both APIs via mixins (authentication) and delegation (management). + ## Running the tests Install the gems required for this project. @@ -12,7 +20,7 @@ Install the gems required for this project. bundle install ``` -Finally, run the tests. +Run all tests: ```bash bundle exec rake test @@ -20,16 +28,31 @@ bundle exec rake test ### Running only unit tests -You can run only the unit tests and ignore the integration tests by running the following: - ```bash bundle exec rake spec ``` -### Running only integration tests - -You can run only the unit tests and ignore the integration tests by running the following: +### Running rubocop ```bash -bundle exec rake integration +bundle exec rubocop ``` + +Note: Verbatim-ported files from the original SDK are excluded from rubocop checks via `.rubocop.yml`. + +## Files protected by .fernignore + +The following files are protected from Fern regeneration and can be edited directly: + +- `lib/auth0/client.rb` - `Auth0::Management` class (copied from Fern output, with `require_relative "auth_client"` appended) +- `lib/auth0/auth_client.rb` - `Auth0::Client` unified class +- `lib/auth0/mixins/` - Authentication infrastructure (initializer, token management, HTTP proxy, etc.) +- `lib/auth0/api/` - Authentication API endpoints +- `lib/auth0/exception.rb` - Authentication error classes +- `lib/auth0/algorithm.rb` - JWT algorithm helpers +- `lib/auth0/client_assertion.rb` - Client assertion JWT signing +- `custom.gemspec.rb` - Additional gem dependencies +- `test/unit/authentication_endpoints_test.rb` - Authentication endpoint tests +- All documentation files (`README.md`, `EXAMPLES.md`, etc.) + +When Fern regenerates the SDK, check for new management resource accessors in the generated `lib/auth0/client.rb` and add them to both `Auth0::Management` and the `MANAGEMENT_ACCESSORS` list in `lib/auth0/auth_client.rb`. diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index 4695660e5..000000000 --- a/Dockerfile +++ /dev/null @@ -1,5 +0,0 @@ -FROM ruby:2.5 - -WORKDIR /home/app - -COPY . /home/app diff --git a/EXAMPLES.md b/EXAMPLES.md index fe5f2fd90..33050fbc5 100644 --- a/EXAMPLES.md +++ b/EXAMPLES.md @@ -1,25 +1,24 @@ -# Examples using ruby-auth0 +# Examples ## Build a URL to Universal Login Page ```ruby require 'auth0' -client = Auth0Client.new( +client = Auth0::Client.new( client_id: ENV['AUTH0_RUBY_CLIENT_ID'], client_secret: ENV['AUTH0_RUBY_CLIENT_SECRET'], domain: ENV['AUTH0_RUBY_DOMAIN'], ) -client.authorize_url 'http://localhost:3000' - -> => # +client.authorization_url 'http://localhost:3000' +# => # ``` ## Management API Client -As a simple example of how to get started with the management API, we'll create an admin route to point to a list of all users from Auth0: +As a simple example of how to get started with the Management API, we'll create an admin route to point to a list of all users from Auth0: ```ruby # config/routes.rb @@ -39,26 +38,24 @@ require 'auth0' class AllUsersController < ApplicationController # Get all users from Auth0 with "auth0" in their email. def index - @params = { + @users = auth0_client.users.list( q: "email:*auth0*", - fields: 'email,user_id,name', + fields: "email,user_id,name", include_fields: true, page: 0, per_page: 50 - } - @users = auth0_client.users @params + ) end private # Setup the Auth0 API connection. def auth0_client - @auth0_client ||= Auth0Client.new( + @auth0_client ||= Auth0::Client.new( client_id: ENV['AUTH0_RUBY_CLIENT_ID'], client_secret: ENV['AUTH0_RUBY_CLIENT_SECRET'], domain: ENV['AUTH0_RUBY_DOMAIN'], - api_version: 2, - timeout: 15 # optional, defaults to 10 + management_timeout: 15 # optional, defaults to 60 ) end end @@ -71,11 +68,59 @@ Finally, we'll add a view to display the results: ```ruby # app/views/all_users/index.html.erb

Users

-<%= debug @params %> <%= debug @users %> ``` -This should show the parameters passed to the `users` method and a list of users that matched the query (or an empty array if none). +### More Management API examples + +```ruby +# Create a user +client.users.create( + connection: 'Username-Password-Authentication', + email: 'newuser@example.com', + password: 'SecurePassword123!' +) + +# Get a user by ID +user = client.users.get(id: 'auth0|123456') + +# Update a user +client.users.update( + id: 'auth0|123456', + user_metadata: { preferred_language: 'en' } +) + +# Delete a user +client.users.delete(id: 'auth0|123456') + +# List roles +client.roles.list(per_page: 10) + +# Create a role +client.roles.create(name: 'editor', description: 'Content editor') + +# List connections +client.connections.list(per_page: 10) + +# Access the underlying Auth0::Management instance directly +management = client.management +management.users.list(per_page: 5) +``` + +### Using Auth0::Management directly + +If you only need the Management API and already have a token, you can skip `Auth0::Client` entirely: + +```ruby +management = Auth0::Management.new( + token: ENV['AUTH0_MANAGEMENT_API_TOKEN'], + base_url: 'https://YOUR_DOMAIN.auth0.com/api/v2' +) + +management.users.list(q: 'email:*auth0*', per_page: 10) +management.roles.create(name: 'admin', description: 'Administrator') +management.organizations.list(take: 20) +``` ## Organizations @@ -90,7 +135,7 @@ Configure the Authentication API client and pass your Organization ID or name to ```ruby require 'auth0' -@auth0_client ||= Auth0Client.new( +@auth0_client ||= Auth0::Client.new( client_id: '{YOUR_APPLICATION_CLIENT_ID}', client_secret: '{YOUR_APPLICATION_CLIENT_SECRET}', domain: '{YOUR_TENANT}.auth0.com', @@ -109,7 +154,7 @@ Auth0 Organizations allow users to be invited using emailed links, which will di ```ruby require 'auth0' -@auth0_client ||= Auth0Client.new( +@auth0_client ||= Auth0::Client.new( client_id: '{YOUR_APPLICATION_CLIENT_ID}', client_secret: '{YOUR_APPLICATION_CLIENT_ID}', domain: '{YOUR_TENANT}.auth0.com', @@ -124,6 +169,34 @@ universal_login_url = @auth0_client.authorization_url("https://{YOUR_APPLICATION # redirect_to universal_login_url ``` +### Managing Organizations via Management API + +```ruby +# List organizations +client.organizations.list(take: 50) + +# Create an organization +org = client.organizations.create( + name: 'acme-corp', + display_name: 'Acme Corporation' +) + +# Get an organization by name +org = client.organizations.get_by_name(name: 'acme-corp') + +# Add members to an organization +client.organizations.members.create( + id: org[:id], + members: ['auth0|user_id_1', 'auth0|user_id_2'] +) + +# List organization members +client.organizations.members.list(id: org[:id], take: 50) + +# Delete an organization +client.organizations.delete(id: org[:id]) +``` + ## ID Token Validation An ID token may be present in the credentials received after authentication. This token contains information associated with the user that has just logged in, provided the scope used contained `openid`. You can [read more about ID tokens here](https://auth0.com/docs/tokens/concepts/id-tokens). @@ -172,7 +245,7 @@ end ### Organization claim validation -If an `org_id` or `org_name` claim is present in the access token, then the claim should be validated by the API to ensure that the value received is expected or known. +If an `org_id` or `org_name` claim is present in the access token, then the claim should be validated by the API to ensure that the value received is expected or known. In particular: @@ -208,7 +281,7 @@ Specify the client assertion key when creating the Auth0 client as in the follow key_string = File.read 'key.pem' key = OpenSSL::PKey::RSA.new key_string -client = Auth0Client.new( +client = Auth0::Client.new( domain: 'AUTH0_DOMAIN', client_id: 'AUTH0_CLIENT_ID', client_assertion_signing_key: key, @@ -220,3 +293,20 @@ Some notes: * If both `client_secret` and `client_assertion_signing_key` are specified, `client_assertion_signing_key` takes precedence * `client_assertion_signing_alg` is optional and defaults to `RS256` if omitted * Only `RS256`, `RS384` and `PS256` algorithms are supported by Auth0 currently + +## Custom token provider + +If you have your own mechanism for obtaining Management API tokens, you can provide a custom token provider: + +```ruby +client = Auth0::Client.new( + domain: ENV['AUTH0_RUBY_DOMAIN'], + token_provider: -> { + # Fetch a token from your vault, cache, or other source + MyVault.get_auth0_token + } +) + +# The token provider will be called whenever a new token is needed +client.users.list(per_page: 10) +``` diff --git a/Gemfile b/Gemfile index 1245d4cc6..29b144d77 100644 --- a/Gemfile +++ b/Gemfile @@ -1,18 +1,23 @@ -source 'https://rubygems.org' +# frozen_string_literal: true + +source "https://rubygems.org" -# Specify your gem's dependencies in auth0.gemspec gemspec -group :development do - gem 'terminal-notifier-guard', require: false unless ENV['CIRCLECI'] - gem 'rubocop', require: false - gem 'rubocop-rails', require: false -end +group :test, :development do + gem "rake", "~> 13.0" + + gem "minitest", "~> 5.16" + gem "minitest-rg" -group :test do - gem 'webmock', require: false - gem 'vcr', require: false - gem 'simplecov-cobertura' - gem 'timecop', require: false - gem 'pp' + gem "rubocop", "~> 1.21" + gem "rubocop-minitest" + + gem "pry" + + gem "webmock" end + +# Load custom Gemfile configuration if it exists +custom_gemfile = File.join(__dir__, "Gemfile.custom") +eval_gemfile(custom_gemfile) if File.exist?(custom_gemfile) diff --git a/Gemfile.custom b/Gemfile.custom new file mode 100644 index 000000000..11bdfaf13 --- /dev/null +++ b/Gemfile.custom @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +# Custom Gemfile configuration file +# This file is automatically loaded by the main Gemfile. You can add custom gems, +# groups, or other Gemfile configurations here. If you do make changes to this file, +# you will need to add it to the .fernignore file to prevent your changes from being +# overwritten by the generator. + +# Example usage: +# group :test, :development do +# gem 'custom-gem', '~> 2.0' +# end + +# Add your custom gem dependencies here \ No newline at end of file diff --git a/Gemfile.lock b/Gemfile.lock index 5e620c17d..a2c19e73f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: . specs: - auth0 (5.20.0) + auth0 (6.0.0.beta.5) addressable (~> 2.8) jwt (>= 2.7, < 4.0) rest-client (~> 2.1) @@ -11,105 +11,45 @@ PATH GEM remote: https://rubygems.org/ specs: - activesupport (8.1.3) - base64 - bigdecimal - concurrent-ruby (~> 1.0, >= 1.3.1) - connection_pool (>= 2.2.5) - drb - i18n (>= 1.6, < 2) - json - logger (>= 1.4.2) - minitest (>= 5.1) - securerandom (>= 0.3) - tzinfo (~> 2.0, >= 2.0.5) - uri (>= 0.13.1) - addressable (2.9.0) + addressable (2.8.9) public_suffix (>= 2.0.2, < 8.0) ast (2.4.3) base64 (0.3.0) - bigdecimal (4.1.2) + bigdecimal (4.0.1) coderay (1.1.3) - concurrent-ruby (1.3.6) - connection_pool (3.0.2) crack (1.0.1) bigdecimal rexml - diff-lcs (1.6.2) - docile (1.4.1) domain_name (0.6.20240107) - dotenv (3.2.0) - drb (2.2.3) - faker (2.23.0) - i18n (>= 1.8.11, < 2) - ffi (1.17.4-aarch64-linux-gnu) - ffi (1.17.4-aarch64-linux-musl) - ffi (1.17.4-arm-linux-gnu) - ffi (1.17.4-arm-linux-musl) - ffi (1.17.4-arm64-darwin) - ffi (1.17.4-x86-linux-gnu) - ffi (1.17.4-x86-linux-musl) - ffi (1.17.4-x86_64-darwin) - ffi (1.17.4-x86_64-linux-gnu) - ffi (1.17.4-x86_64-linux-musl) - formatador (1.2.3) - reline - fuubar (2.5.1) - rspec-core (~> 3.0) - ruby-progressbar (~> 1.4) - guard (2.20.1) - formatador (>= 0.2.4) - listen (>= 2.7, < 4.0) - logger (~> 1.6) - lumberjack (>= 1.0.12, < 2.0) - nenv (~> 0.1) - notiffany (~> 0.0) - pry (>= 0.13.0) - shellany (~> 0.0) - thor (>= 0.18.1) - guard-compat (1.2.1) - guard-rspec (4.7.3) - guard (~> 2.1) - guard-compat (~> 1.1) - rspec (>= 2.99.0, < 4.0) hashdiff (1.2.1) http-accept (1.7.0) - http-cookie (1.1.6) + http-cookie (1.1.0) domain_name (~> 0.5) - i18n (1.14.8) - concurrent-ruby (~> 1.0) io-console (0.8.2) - json (2.19.7) - jwt (3.2.0) + json (2.19.1) + json-schema (6.2.0) + addressable (~> 2.8) + bigdecimal (>= 3.1, < 5) + jwt (2.10.2) base64 language_server-protocol (3.17.0.5) lint_roller (1.1.0) - listen (3.10.0) - logger - rb-fsevent (~> 0.10, >= 0.10.3) - rb-inotify (~> 0.9, >= 0.9.10) logger (1.7.0) - lumberjack (1.4.2) + mcp (0.8.0) + json-schema (>= 4.1) method_source (1.1.0) mime-types (3.7.0) logger mime-types-data (~> 3.2025, >= 3.2025.0507) - mime-types-data (3.2026.0414) - minitest (6.0.6) - drb (~> 2.0) - prism (~> 1.5) - nenv (0.3.0) + mime-types-data (3.2026.0303) + minitest (5.27.0) + minitest-rg (5.4.0) + minitest (>= 5.0, < 7) netrc (0.11.0) - notiffany (0.1.3) - nenv (~> 0.1) - shellany (~> 0.0) - parallel (2.1.0) - parser (3.3.11.1) + parallel (1.27.0) + parser (3.3.10.2) ast (~> 2.4.1) racc - pp (0.6.3) - prettyprint - prettyprint (0.2.0) prism (1.9.0) pry (0.16.0) coderay (~> 1.1) @@ -117,13 +57,9 @@ GEM reline (>= 0.6.0) public_suffix (7.0.5) racc (1.8.1) - rack (3.2.6) rainbow (3.1.1) - rake (13.4.2) - rb-fsevent (0.11.2) - rb-inotify (0.11.1) - ffi (~> 1.0) - regexp_parser (2.12.0) + rake (13.3.1) + regexp_parser (2.11.3) reline (0.6.3) io-console (~> 0.5) rest-client (2.1.0) @@ -133,24 +69,12 @@ GEM netrc (~> 0.8) retryable (3.0.5) rexml (3.4.4) - rspec (3.13.2) - rspec-core (~> 3.13.0) - rspec-expectations (~> 3.13.0) - rspec-mocks (~> 3.13.0) - rspec-core (3.13.6) - rspec-support (~> 3.13.0) - rspec-expectations (3.13.5) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.13.0) - rspec-mocks (3.13.8) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.13.0) - rspec-support (3.13.7) - rubocop (1.86.2) + rubocop (1.85.1) json (~> 2.3) language_server-protocol (~> 3.17.0.2) lint_roller (~> 1.1.0) - parallel (>= 1.10) + mcp (~> 0.6) + parallel (~> 1.10) parser (>= 3.3.0.2) rainbow (>= 2.2.2, < 4.0) regexp_parser (>= 2.9.3, < 3.0) @@ -160,35 +84,15 @@ GEM rubocop-ast (1.49.1) parser (>= 3.3.7.2) prism (~> 1.7) - rubocop-rails (2.35.3) - activesupport (>= 4.2.0) + rubocop-minitest (0.39.1) lint_roller (~> 1.1) - rack (>= 1.1) rubocop (>= 1.75.0, < 2.0) - rubocop-ast (>= 1.44.0, < 2.0) + rubocop-ast (>= 1.38.0, < 2.0) ruby-progressbar (1.13.0) - securerandom (0.4.1) - shellany (0.0.1) - simplecov (0.22.0) - docile (~> 1.1) - simplecov-html (~> 0.11) - simplecov_json_formatter (~> 0.1) - simplecov-cobertura (3.1.0) - rexml - simplecov (~> 0.19) - simplecov-html (0.13.2) - simplecov_json_formatter (0.1.4) - terminal-notifier-guard (1.7.0) - thor (1.5.0) - timecop (0.9.11) - tzinfo (2.0.6) - concurrent-ruby (~> 1.0) unicode-display_width (3.2.0) unicode-emoji (~> 4.1) unicode-emoji (4.2.0) - uri (1.1.1) - vcr (6.4.0) - webmock (3.26.2) + webmock (3.26.1) addressable (>= 2.8.0) crack (>= 0.3.2) hashdiff (>= 0.4.0, < 2.0.0) @@ -212,21 +116,12 @@ PLATFORMS DEPENDENCIES auth0! - bundler - dotenv (~> 3.0) - faker (~> 2.0) - fuubar (~> 2.0) - guard-rspec (~> 4.5) - pp + minitest (~> 5.16) + minitest-rg + pry rake (~> 13.0) - rspec (~> 3.11) - rubocop - rubocop-rails - simplecov (~> 0.9) - simplecov-cobertura - terminal-notifier-guard - timecop - vcr + rubocop (~> 1.21) + rubocop-minitest webmock BUNDLED WITH diff --git a/Guardfile b/Guardfile deleted file mode 100644 index 666003480..000000000 --- a/Guardfile +++ /dev/null @@ -1,37 +0,0 @@ -scope group: :unit_test - -group :unit_test do - guard 'rspec', cmd: - "bundle exec rspec -P \"spec/lib/auth0/**/*#{ENV['PATTERN']}*_spec.rb\"--drb --format Fuubar --color" do - # run every updated spec file - watch(%r{^spec/.+_spec\.rb$}) - # run the lib specs when a file in lib/ changes - watch(%r{^lib/(.+)\.rb$}) { 'spec' } - # run all test for helper changes - watch('spec/spec_helper.rb') { 'spec' } - end -end - -group :integration do - guard 'rspec', cmd: - "MODE=full bundle exec rspec -P \"spec/integration/**/*#{ENV['PATTERN']}*_spec.rb\" --drb --format Fuubar --color" do - # run every updated spec file - watch(%r{^spec/.+_spec\.rb$}) - # run the lib specs when a file in lib/ changes - watch(%r{^lib/(.+)\.rb$}) { 'spec' } - # run all test for helper changes - watch('spec/spec_helper.rb') { 'spec' } - end -end - -group :full do - guard 'rspec', cmd: - 'MODE=full bundle exec rspec --drb --format Fuubar --color' do - # run every updated spec file - watch(%r{^spec/.+_spec\.rb$}) - # run the lib specs when a file in lib/ changes - watch(%r{^lib/(.+)\.rb$}) { 'spec' } - # run all test for helper changes - watch('spec/spec_helper.rb') { 'spec' } - end -end diff --git a/README.md b/README.md index 2e9f92794..a27e75aeb 100644 --- a/README.md +++ b/README.md @@ -2,15 +2,11 @@ Ruby API client for the [Auth0](https://auth0.com) platform. -[![CircleCI](https://img.shields.io/circleci/project/github/auth0/ruby-auth0/master.svg)](https://circleci.com/gh/auth0/ruby-auth0) [![Gem Version](https://badge.fury.io/rb/auth0.svg)](http://badge.fury.io/rb/auth0) -[![codecov](https://codecov.io/gh/auth0/ruby-auth0/branch/master/graph/badge.svg)](https://codecov.io/gh/auth0/ruby-auth0) -[![Yard Docs](http://img.shields.io/badge/yard-docs-blue.svg)](http://www.rubydoc.info/github/auth0/ruby-auth0/master/frames) [![MIT licensed](https://img.shields.io/dub/l/vibe-d.svg?style=flat)](https://github.com/auth0/ruby-auth0/blob/master/LICENSE) -[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/auth0/ruby-auth0) > [!NOTE] @@ -26,8 +22,8 @@ Ruby API client for the [Auth0](https://auth0.com) platform. ## Documentation -- [API documentation](https://www.rubydoc.info/gems/auth0) - documentation auto-generated from the code comments that explains all the available features -- [Examples](https://github.com/auth0/ruby-auth0/blob/master/EXAMPLES.md) - examples that demonstrate the different ways in which this SDK can be used +- [API reference](./reference.md) - auto-generated reference for all Management API methods +- [Examples](./EXAMPLES.md) - examples that demonstrate the different ways in which this SDK can be used - [Docs Site](https://auth0.com/docs) - explore our Docs site and learn more about Auth0 ## Getting Started @@ -37,7 +33,7 @@ Ruby API client for the [Auth0](https://auth0.com) platform. This gem can be installed directly: ```bash -$ gem install auth0 +gem install auth0 ``` or with [Bundler](https://bundler.io/man/bundle-add.1.html): @@ -48,15 +44,17 @@ bundle add auth0 ### Usage -Create an instance of `Auth0Client` to access properties and methods of the authentication and management APIs: +#### Unified Client (Authentication + Management) + +Create an instance of `Auth0::Client` to access both the Authentication and Management APIs: ```ruby require 'auth0' -client = Auth0Client.new( +client = Auth0::Client.new( client_id: ENV['AUTH0_RUBY_CLIENT_ID'], client_secret: ENV['AUTH0_RUBY_CLIENT_SECRET'], - domain: ENV['AUTH0_RUBY_DOMAIN'], + domain: ENV['AUTH0_RUBY_DOMAIN'] # If you pass in a client_secret value, the SDK will automatically try to get a # Management API token for this application. Make sure your Application can make a # Client Credentials grant (Application settings in Auth0 > Advanced > Grant Types @@ -67,8 +65,8 @@ client = Auth0Client.new( # access using the key below. # token: ENV['AUTH0_RUBY_API_TOKEN'], # - # When passing a token, you can also specify when the token expires in seconds from epoch. Otherwise, expiry is set - # by default to an hour from now. + # When passing a token, you can also specify when the token expires in seconds from epoch. + # Otherwise, expiry is set by default to an hour from now. # token_expires_at: Time.now.to_i + 86400 ) ``` @@ -77,11 +75,100 @@ If `token` is omitted, the SDK will attempt to fetch a new token using the `clie For this to work, ensure your application can make a Client Credentials grant (Application settings in Auth0 > Advanced > Grant Types tab) and that the application is authorized for the Management API: https://auth0.com/docs/api-auth/config/using-the-auth0-dashboard +You can also provide a custom token provider callable: + +```ruby +client = Auth0::Client.new( + domain: ENV['AUTH0_RUBY_DOMAIN'], + token_provider: -> { fetch_token_from_my_vault() } +) +``` + +#### Configuration Reference + +**Required:** + +| Option | Type | Description | Default | +|--------|------|-------------|---------| +| `domain` | String | Your Auth0 tenant domain (e.g. `'example.auth0.com'`). Also accepts `namespace`. | — | + +**Authentication (choose one):** + +| Method | Options | Description | +|--------|---------|-------------| +| Client credentials | `client_id` + `client_secret` | Automatically fetches and refreshes Management API tokens via the client credentials grant. | +| Private key JWT | `client_id` + `client_assertion_signing_key` | Authenticates using a JWT signed with your private key instead of a client secret. Optionally set `client_assertion_signing_alg` (default: `'RS256'`). See [EXAMPLES.md](./EXAMPLES.md#use-a-private-key-to-authenticate-with-auth0). | +| Custom token provider | `token_provider` | A Proc/lambda that returns a token string. Called whenever a new token is needed. | +| Static token | `token` | A pre-obtained Management API token. Optionally set `token_expires_at` (seconds since epoch; defaults to 1 hour from now). Also accepts `access_token`. | + +**Optional:** + +| Option | Type | Description | Default | +|--------|------|-------------|---------| +| `organization` | String | Organization ID or name for organization-scoped authorization flows and ID token validation. See [EXAMPLES.md](./EXAMPLES.md#organizations). | `nil` | +| `api_identifier` | String | Custom audience for token requests. | `https://{domain}/api/v2/` | +| `timeout` | Integer | HTTP timeout in seconds for Authentication API calls. | `10` | +| `retry_count` | Integer | Number of retries for Authentication API calls. | `nil` | +| `management_timeout` | Float | Timeout in seconds for Management API calls. | `60` | +| `management_max_retries` | Integer | Maximum retries for Management API calls. | `2` | +| `management_additional_headers` | Hash | Additional HTTP headers for Management API calls. | `nil` | + +#### Accessing the Management Client Directly + +The underlying `Auth0::Management` instance is available via the `management` accessor. It is lazily created and automatically refreshed when the token changes: + +```ruby +client = Auth0::Client.new( + domain: ENV['AUTH0_RUBY_DOMAIN'], + client_id: ENV['AUTH0_RUBY_CLIENT_ID'], + client_secret: ENV['AUTH0_RUBY_CLIENT_SECRET'] +) + +# Access the Auth0::Management instance +management = client.management +management.users.list(per_page: 5) +``` + +`Auth0Client` is also available as a backward-compatible alias for `Auth0::Client`. + +#### Management-Only Client + +If you only need the Management API and already have a token, you can use `Auth0::Management` directly: + +```ruby +require 'auth0' + +management = Auth0::Management.new( + token: ENV['AUTH0_MANAGEMENT_API_TOKEN'], + base_url: 'https://YOUR_DOMAIN.auth0.com/api/v2' +) + +# List users +management.users.list(q: 'email:*auth0*', per_page: 10) + +# Create a role +management.roles.create(name: 'admin', description: 'Administrator role') +``` + +The `Auth0::Management` client also supports advanced options: + +```ruby +management = Auth0::Management.new( + token: 'YOUR_TOKEN', + base_url: 'https://YOUR_DOMAIN.auth0.com/api/v2', + timeout: 30, # Request timeout in seconds (default: 60) + max_retries: 3, # Retry attempts for failed requests (default: 2) + headers: { # Additional headers to include in requests + 'X-Custom-Header' => 'custom-value' + } +) +``` + ## Authentication API Client -This SDK provides access to [Authentication API](https://auth0.com/docs/api/authentication) endpoints with the `Auth0::API::AuthenticationEndpoints` module. +This SDK provides access to [Authentication API](https://auth0.com/docs/api/authentication) endpoints with the `Auth0::Api::AuthenticationEndpoints` module, mixed into `Auth0::Client`. -For basic login capability, we suggest using our OmniAuth stategy [detailed here](https://auth0.com/docs/quickstart/webapp/rails/01-login). Other authentication tasks currently supported are: +For basic login capability, we suggest using our OmniAuth strategy [detailed here](https://auth0.com/docs/quickstart/webapp/rails/01-login). Other authentication tasks currently supported are: - Register a new user with a database connection using the `signup` method. - Redirect a user to the universal login page for authentication using the `authorization_url` method. @@ -96,9 +183,135 @@ Please note that this module implements endpoints that might be deprecated for n ## Management API Client -This SDK provides access to the [Management API](https://auth0.com/docs/api/management/v2) via modules that help create clear and accurate calls. Most of the interaction is done through the `Auth0Client` class, instantiated with the required credentials. +This SDK provides access to the [Management API](https://auth0.com/docs/api/management/v2) via a Fern-generated client with typed methods for each resource. Management methods are accessed through resource-specific sub-clients: + +```ruby +# List users with a search query +users = client.users.list( + q: 'email:*auth0*', + fields: 'email,user_id,name', + include_fields: true, + page: 0, + per_page: 50 +) + +# Get a specific user +user = client.users.get(id: 'auth0|123456') + +# Create a new user +new_user = client.users.create( + connection: 'Username-Password-Authentication', + email: 'user@example.com', + password: 'SecurePassword123!' +) + +# Delete a user +client.users.delete(id: 'auth0|123456') +``` + +For more examples, see the [examples document](./EXAMPLES.md). For a full reference of all available Management API methods, see the [API reference](./reference.md). + +## Advanced + +### Retries -For an example of using the management API client to read of users, see the [examples document](https://github.com/auth0/ruby-auth0/blob/master/EXAMPLES.md). +The Management API client is instrumented with automatic retries. A request will be retried as long as the request is deemed retryable and the number of retry attempts has not grown larger than the configured retry limit (default: 2). + +A request is deemed retryable when any of the following HTTP status codes is returned: + +- [408](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/408) (Timeout) +- [429](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429) (Too Many Requests) +- [5XX](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500) (Internal Server Errors) + +Configure retries on `Auth0::Client`: + +```ruby +client = Auth0::Client.new( + domain: ENV['AUTH0_RUBY_DOMAIN'], + client_id: ENV['AUTH0_RUBY_CLIENT_ID'], + client_secret: ENV['AUTH0_RUBY_CLIENT_SECRET'], + management_max_retries: 3 +) +``` + +Or on `Auth0::Management` directly: + +```ruby +management = Auth0::Management.new( + token: 'YOUR_TOKEN', + base_url: 'https://YOUR_DOMAIN.auth0.com/api/v2', + max_retries: 3 +) +``` + +### Timeouts + +The default timeout is 60 seconds. Configure on `Auth0::Client`: + +```ruby +client = Auth0::Client.new( + domain: ENV['AUTH0_RUBY_DOMAIN'], + client_id: ENV['AUTH0_RUBY_CLIENT_ID'], + client_secret: ENV['AUTH0_RUBY_CLIENT_SECRET'], + management_timeout: 30 +) +``` + +Or on `Auth0::Management` directly: + +```ruby +management = Auth0::Management.new( + token: 'YOUR_TOKEN', + base_url: 'https://YOUR_DOMAIN.auth0.com/api/v2', + timeout: 30 +) +``` + +### Additional Headers + +Send additional headers with management API requests: + +```ruby +client = Auth0::Client.new( + domain: ENV['AUTH0_RUBY_DOMAIN'], + client_id: ENV['AUTH0_RUBY_CLIENT_ID'], + client_secret: ENV['AUTH0_RUBY_CLIENT_SECRET'], + management_additional_headers: { 'X-Custom-Header' => 'custom-value' } +) +``` + +You can also pass per-request headers using `request_options`: + +```ruby +client.users.list( + q: 'email:*auth0*', + request_options: { + additional_headers: { 'X-Custom-Header' => 'custom-value' } + } +) +``` + +### Errors + +Management API errors use the `Auth0::Errors` namespace: + +```ruby +begin + client.users.get(id: 'nonexistent') +rescue Auth0::Errors::TimeoutError + puts "Request timed out" +rescue Auth0::Errors::ServiceUnavailableError + puts "API returned 503" +rescue Auth0::Errors::ServerError + puts "API returned a 5xx error" +rescue Auth0::Errors::ResponseError => e + puts "Unexpected status: #{e.code} #{e.message}" +rescue Auth0::Errors::ApiError => e + puts "API error: #{e.message}" +end +``` + +Authentication API errors use the `Auth0` namespace (e.g. `Auth0::BadRequest`, `Auth0::Unauthorized`). ## Further reading @@ -106,7 +319,6 @@ For an example of using the management API client to read of users, see the [exa - [API authentication in Ruby](https://auth0.com/docs/quickstart/backend/ruby) - [API authentication in Rails](https://auth0.com/docs/quickstart/backend/rails) - [Managing authentication with Auth0 (blog)](https://auth0.com/blog/rails-5-with-auth0/) -- [Ruby on Rails workflow with Docker (blog)](https://auth0.com/blog/ruby-on-rails-killer-workflow-with-docker-part-1/) ## Feedback @@ -117,13 +329,15 @@ We appreciate feedback and contribution to this repo! Before you get started, pl - [Auth0's general contribution guidelines](https://github.com/auth0/open-source-template/blob/master/GENERAL-CONTRIBUTING.md) - [Auth0's code of conduct guidelines](https://github.com/auth0/open-source-template/blob/master/CODE-OF-CONDUCT.md) +Note: The Management API client in this library is generated programmatically using [Fern](https://buildwithfern.com). Changes to Management API methods should be made in the Fern configuration, not directly in the generated code. + ### Raise an issue To provide feedback or report a bug, please [raise an issue on our issue tracker](https://github.com/auth0/ruby-auth0/issues). ### Vulnerability Reporting -Please do not report security vulnerabilities on the public GitHub issue tracker. The [Responsible Disclosure Program](https://auth0.com/whitehat) details the procedure for disclosing security issues. +Please do not report security vulnerabilities on the public GitHub issue tracker. The [Responsible Disclosure Program](https://auth0.com/whitehat) details the procedure for disclosing security issues. --- @@ -138,5 +352,5 @@ Please do not report security vulnerabilities on the public GitHub issue tracker Auth0 is an easy to implement, adaptable authentication and authorization platform. To learn more checkout Why Auth0?

- This project is licensed under the MIT license. See the LICENSE file for more info. -

\ No newline at end of file + This project is licensed under the MIT license. See the LICENSE file for more info. +

diff --git a/Rakefile b/Rakefile index e2464a0e5..9bdd4a6ce 100644 --- a/Rakefile +++ b/Rakefile @@ -1,31 +1,20 @@ -#!/usr/bin/env rake -require 'bundler/gem_tasks' +# frozen_string_literal: true -begin - require 'rubocop/rake_task' +require "bundler/gem_tasks" +require "minitest/test_task" - require 'rspec/core/rake_task' +Minitest::TestTask.create - desc 'Run Rubocop' - RuboCop::RakeTask.new(:rubocop) +require "rubocop/rake_task" - desc 'Run Integration Tests' - RSpec::Core::RakeTask.new(:integration) do |t| - t.pattern = FileList["spec/integration/**/*#{ENV['PATTERN']}*_spec.rb"] - end +RuboCop::RakeTask.new - desc 'Run Unit Tests' - RSpec::Core::RakeTask.new(:spec) do |t| - t.pattern = FileList["spec/lib/auth0/**/*#{ENV['PATTERN']}*_spec.rb"] - end +task default: %i[test] - desc 'Run All Suites' - RSpec::Core::RakeTask.new(:all) +task lint: %i[rubocop] - desc 'Run unit and integration tests' - task test: [:spec, :integration] - - task default: [:rubocop, :test] -rescue LoadError - puts 'Load Error - No RSpec' +# Run only the custom test file +Minitest::TestTask.create(:customtest) do |t| + t.libs << "test" + t.test_globs = ["test/custom.test.rb"] end diff --git a/auth0.gemspec b/auth0.gemspec index 8e5cc474f..ef5ebcd4c 100644 --- a/auth0.gemspec +++ b/auth0.gemspec @@ -1,32 +1,38 @@ -# -*- encoding: utf-8 -*- -$LOAD_PATH.push File.expand_path('../lib', __FILE__) -require 'auth0/version' +# frozen_string_literal: true -Gem::Specification.new do |s| - s.name = 'auth0' - s.version = Auth0::VERSION - s.authors = ['Auth0', 'Jose Romaniello', 'Ivan Petroe', 'Patrik Ragnarsson'] - s.email = ['support@auth0.com'] - s.homepage = 'https://github.com/auth0/ruby-auth0' - s.summary = 'Auth0 API Client' - s.description = 'Ruby toolkit for Auth0 API https://auth0.com.' +require_relative "lib/auth0/version" +require_relative "custom.gemspec" - s.files = Dir['lib/**/*.rb'] + %w[LICENSE README.md CHANGELOG.md auth0.gemspec .version] - s.require_paths = ['lib'] +# NOTE: A handful of these fields are required as part of the Ruby specification. +# You can change them here or overwrite them in the custom gemspec file. +Gem::Specification.new do |spec| + spec.name = "auth0" + spec.authors = ["Auth0"] + spec.version = Auth0::VERSION + spec.summary = "Ruby client library for the Auth0 API" + spec.description = "The Auth0 Ruby library provides convenient access to the Auth0 API from Ruby." + spec.homepage = "https://github.com/auth0/ruby-auth0" + spec.license = "MIT" + spec.required_ruby_version = ">= 3.3.0" + spec.metadata["rubygems_mfa_required"] = "true" - s.add_runtime_dependency 'rest-client', '~> 2.1' - s.add_runtime_dependency 'jwt', '>= 2.7', '< 4.0' - s.add_runtime_dependency 'zache', '~> 0.12' - s.add_runtime_dependency 'addressable', '~> 2.8' - s.add_runtime_dependency 'retryable', '~> 3.0' + # Specify which files should be added to the gem when it is released. + # The `git ls-files -z` loads the files in the RubyGem that have been added into git. + gemspec = File.basename(__FILE__) + spec.files = IO.popen(%w[git ls-files -z], chdir: __dir__, err: IO::NULL) do |ls| + ls.readlines("\x0", chomp: true).reject do |f| + (f == gemspec) || + f.start_with?(*%w[bin/ test/ spec/ features/ .git appveyor Gemfile]) + end + end + spec.bindir = "exe" + spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) } + spec.require_paths = ["lib"] - s.add_development_dependency 'bundler' - s.add_development_dependency 'rake', '~> 13.0' - s.add_development_dependency 'fuubar', '~> 2.0' - s.add_development_dependency 'guard-rspec', '~> 4.5' unless ENV['CIRCLECI'] - s.add_development_dependency 'dotenv', '~> 3.0' - s.add_development_dependency 'rspec', '~> 3.11' - s.add_development_dependency 'simplecov', '~> 0.9' - s.add_development_dependency 'faker', '~> 2.0' - s.license = 'MIT' + # For more information and examples about making a new gem, check out our + # guide at: https://bundler.io/guides/creating_gem.html + + # Load custom gemspec configuration if it exists + custom_gemspec_file = File.join(__dir__, "custom.gemspec.rb") + add_custom_gemspec_data(spec) if File.exist?(custom_gemspec_file) end diff --git a/custom.gemspec.rb b/custom.gemspec.rb new file mode 100644 index 000000000..69d0b89f9 --- /dev/null +++ b/custom.gemspec.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +# Custom gemspec configuration file +# This file is automatically loaded by the main gemspec file. The 'spec' variable is available +# in this context from the main gemspec file. You can modify this file to add custom metadata, +# dependencies, or other gemspec configurations. If you do make changes to this file, you will +# need to add it to the .fernignore file to prevent your changes from being overwritten. + +def add_custom_gemspec_data(spec) + spec.add_dependency "rest-client", "~> 2.1" + spec.add_dependency "jwt", ">= 2.7", "< 4.0" + spec.add_dependency "zache", "~> 0.12" + spec.add_dependency "addressable", "~> 2.8" + spec.add_dependency "retryable", "~> 3.0" +end diff --git a/examples/ruby-api/.env.example b/examples/ruby-api/.env.example index b2a0563c9..74ae58d8d 100644 --- a/examples/ruby-api/.env.example +++ b/examples/ruby-api/.env.example @@ -1,2 +1,4 @@ -AUTH0_CLIENT_ID={CLIENT_ID} -AUTH0_CLIENT_SECRET={CLIENT_SECRET} +AUTH0_DOMAIN=your-tenant.auth0.com +AUTH0_CLIENT_ID=your-client-id +AUTH0_CLIENT_SECRET=your-client-secret +AUTH0_AUDIENCE=https://your-tenant.auth0.com/api/v2/ diff --git a/examples/ruby-api/.gitignore b/examples/ruby-api/.gitignore index 4c8d62bcb..b09b5bbc3 100644 --- a/examples/ruby-api/.gitignore +++ b/examples/ruby-api/.gitignore @@ -1,80 +1,3 @@ -### Ruby template -*.gem -*.rbc -/.config -/coverage/ -/InstalledFiles -/pkg/ -/spec/reports/ -/spec/examples.txt -/test/tmp/ -/test/version_tmp/ -/tmp/ - -## Specific to RubyMotion: -.dat* -.repl_history -build/ - -## Environment normalisation: -/.bundle/ -/vendor/bundle -/lib/bundler/man/ - -# for a library or gem, you might want to ignore these files since the code is -# intended to run in multiple environments; otherwise, check them in: -# Gemfile.lock -# .ruby-version -# .ruby-gemset - -# unless supporting rvm < 1.11.0 or doing something fancy, ignore this: -.rvmrc -### JetBrains template -# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio - -*.iml - -## Directory-based project format: -.idea/ -# if you remove the above rule, at least ignore the following: - -# User-specific stuff: -# .idea/workspace.xml -# .idea/tasks.xml -# .idea/dictionaries - -# Sensitive or high-churn files: -# .idea/dataSources.ids -# .idea/dataSources.xml -# .idea/sqlDataSources.xml -# .idea/dynamic.xml -# .idea/uiDesigner.xml - -# Gradle: -# .idea/gradle.xml -# .idea/libraries - -# Mongo Explorer plugin: -# .idea/mongoSettings.xml - -## File-based project format: -*.ipr -*.iws - -## Plugin-specific files: - -# IntelliJ -/out/ - -# mpeltonen/sbt-idea plugin -.idea_modules/ - -# JIRA plugin -atlassian-ide-plugin.xml - -# Crashlytics plugin (for Android Studio and IntelliJ) -com_crashlytics_export_strings.xml -crashlytics.properties -crashlytics-build.properties - -.env \ No newline at end of file +.env +vendor/ +Gemfile.lock diff --git a/examples/ruby-api/Gemfile b/examples/ruby-api/Gemfile index ade248912..16e6f8593 100644 --- a/examples/ruby-api/Gemfile +++ b/examples/ruby-api/Gemfile @@ -1,9 +1,10 @@ # frozen_string_literal: true -# A sample Gemfile -source 'http://rubygems.org' -# gem "rails" -gem 'sinatra', '~> 4.2' -gem 'jwt', '~> 3.2' -gem 'dotenv' -gem 'puma' +source "https://rubygems.org" + +gem "sinatra", "~> 4.0" +gem "rackup", "~> 2.1" +gem "puma", "~> 6.0" +gem "auth0", path: "../.." +gem "dotenv", "~> 3.0" +gem "jwt", "~> 2.7" diff --git a/examples/ruby-api/Gemfile.lock b/examples/ruby-api/Gemfile.lock index 4ea940ffa..3cbd35632 100644 --- a/examples/ruby-api/Gemfile.lock +++ b/examples/ruby-api/Gemfile.lock @@ -1,43 +1,74 @@ +PATH + remote: ../.. + specs: + auth0 (6.0.0.beta.5) + addressable (~> 2.8) + jwt (>= 2.7, < 4.0) + rest-client (~> 2.1) + retryable (~> 3.0) + zache (~> 0.12) + GEM - remote: http://rubygems.org/ + remote: https://rubygems.org/ specs: + addressable (2.9.0) + public_suffix (>= 2.0.2, < 8.0) base64 (0.3.0) - dotenv (2.8.1) - jwt (3.2.0) + domain_name (0.6.20240107) + dotenv (3.2.0) + http-accept (1.7.0) + http-cookie (1.1.6) + domain_name (~> 0.5) + jwt (2.10.3) base64 logger (1.7.0) - mustermann (3.0.4) - ruby2_keywords (~> 0.0.1) - nio4r (2.7.3) - puma (5.6.9) + mime-types (3.7.0) + logger + mime-types-data (~> 3.2025, >= 3.2025.0507) + mime-types-data (3.2026.0414) + mustermann (3.1.1) + netrc (0.11.0) + nio4r (2.7.5) + public_suffix (7.0.5) + puma (6.6.1) nio4r (~> 2.0) rack (3.2.6) - rack-protection (4.2.0) + rack-protection (4.2.1) base64 (>= 0.1.0) logger (>= 1.6.0) rack (>= 3.0.0, < 4) rack-session (2.1.2) base64 (>= 0.1.0) rack (>= 3.0.0) - ruby2_keywords (0.0.5) - sinatra (4.2.0) + rackup (2.3.1) + rack (>= 3) + rest-client (2.1.0) + http-accept (>= 1.7.0, < 2.0) + http-cookie (>= 1.0.2, < 2.0) + mime-types (>= 1.16, < 4.0) + netrc (~> 0.8) + retryable (3.0.5) + sinatra (4.2.1) logger (>= 1.6.0) mustermann (~> 3.0) rack (>= 3.0.0, < 4) - rack-protection (= 4.2.0) + rack-protection (= 4.2.1) rack-session (>= 2.0.0, < 3) tilt (~> 2.0) tilt (2.7.0) + zache (0.15.2) PLATFORMS - aarch64-linux - x86_64-linux + arm64-darwin-24 + ruby DEPENDENCIES - dotenv - jwt (~> 3.2) - puma - sinatra (~> 4.2) + auth0! + dotenv (~> 3.0) + jwt (~> 2.7) + puma (~> 6.0) + rackup (~> 2.1) + sinatra (~> 4.0) BUNDLED WITH - 2.3.7 + 2.6.7 diff --git a/examples/ruby-api/README.md b/examples/ruby-api/README.md index 8229ba25c..6ae630c90 100644 --- a/examples/ruby-api/README.md +++ b/examples/ruby-api/README.md @@ -1,24 +1,44 @@ -# Auth0 + Ruby API Seed +# Auth0 Ruby API Example (Sinatra) -This is the seed project you need to use if you're going to create a Ruby API. You'll mostly use this API either for a SPA or a Mobile app. +A minimal Sinatra API demonstrating authentication and management API usage with the Auth0 Ruby SDK. -# Running the example +## Setup -In order to run the example you need to have ruby installed. +1. Copy the environment file and fill in your Auth0 credentials: -You also need to set the ClientSecret and ClientId for your Auth0 app as enviroment variables with the following names respectively: AUTH0_CLIENT_SECRET and AUTH0_CLIENT_ID. + ```bash + cp .env.example .env + ``` -For that, if you just create a file named .env in the directory and set the values like the following, the app will just work: +2. Install dependencies: -````bash -# .env file -AUTH0_CLIENT_SECRET=myCoolSecret -AUTH0_CLIENT_ID=myCoolClientId -```` + ```bash + bundle install + ``` -Once you've set those 2 enviroment variables, run `bundle install`, then run `rackup -p 3001` and try calling [http://localhost:3001/ping](http://localhost:3001/ping) +3. Start the server: -You can then try to do a GET to [http://localhost:3001/secured/ping](http://localhost:3001/secured/ping) which will throw an error if you don't send the JWT in the header. + ```bash + bundle exec rackup -p 3001 + ``` -__Note:__ if you need to enable cross-origin resource sharing, check out the [sinatra-cors_origin]( -https://github.com/britg/sinatra-cross_origin) gem. +## Endpoints + +| Endpoint | Auth Required | Description | +|----------|--------------|-------------| +| `GET /api/public` | No | Returns a public message | +| `GET /api/private` | Yes | Returns a message with the authenticated user's `sub` claim | +| `GET /api/users` | Yes | Lists users from the Management API via `Auth0::Client` | + +## Testing + +```bash +# Public endpoint +curl http://localhost:3001/api/public + +# Private endpoint (replace TOKEN with a valid Auth0 access token) +curl -H "Authorization: Bearer TOKEN" http://localhost:3001/api/private + +# Management API endpoint +curl -H "Authorization: Bearer TOKEN" http://localhost:3001/api/users +``` diff --git a/examples/ruby-api/app.rb b/examples/ruby-api/app.rb new file mode 100644 index 000000000..f7fc3356d --- /dev/null +++ b/examples/ruby-api/app.rb @@ -0,0 +1,88 @@ +# frozen_string_literal: true + +require "dotenv/load" +require "sinatra/base" +require "json" +require "jwt" +require "net/http" +require "auth0" + +# Sinatra API example using the Auth0 Ruby SDK. +# +# This demonstrates: +# - A public endpoint that requires no authentication +# - A protected endpoint that validates an Auth0-issued JWT +# - Using Auth0::Client to call the Management API +class App < Sinatra::Base + set :port, 3001 + + # ---- helpers ---- + + helpers do + # Fetch the JWKS from Auth0 and cache it for the lifetime of the process. + def jwks + @jwks ||= begin + uri = URI("https://#{ENV.fetch('AUTH0_DOMAIN')}/.well-known/jwks.json") + response = Net::HTTP.get(uri) + JSON.parse(response) + end + end + + # Validate the Bearer token from the Authorization header using RS256. + def validate_token! + auth_header = request.env["HTTP_AUTHORIZATION"] + halt 401, { error: "Missing Authorization header" }.to_json unless auth_header + + token = auth_header.split(" ").last + + # Decode using the JWKS from your Auth0 tenant + decoded = JWT.decode( + token, + nil, + true, + algorithms: ["RS256"], + iss: "https://#{ENV.fetch('AUTH0_DOMAIN')}/", + aud: ENV.fetch("AUTH0_AUDIENCE"), + verify_iss: true, + verify_aud: true, + jwks: jwks + ) + + decoded.first + rescue JWT::DecodeError => e + halt 401, { error: "Invalid token: #{e.message}" }.to_json + end + + # Build an Auth0 Management API client using client credentials. + def auth0_client + @auth0_client ||= Auth0::Client.new( + domain: ENV.fetch("AUTH0_DOMAIN"), + client_id: ENV.fetch("AUTH0_CLIENT_ID"), + client_secret: ENV.fetch("AUTH0_CLIENT_SECRET") + ) + end + end + + # ---- routes ---- + + # Public endpoint -- no authentication required. + get "/api/public" do + content_type :json + { message: "Hello from a public endpoint! You don't need to be authenticated to see this." }.to_json + end + + # Protected endpoint -- requires a valid Auth0 JWT. + get "/api/private" do + content_type :json + claims = validate_token! + { message: "Hello from a private endpoint!", sub: claims["sub"] }.to_json + end + + # Management API example -- lists users via the Auth0 SDK (no auth required). + get "/api/users" do + content_type :json + users = [] + auth0_client.users.list(per_page: 5).each { |u| users << { email: u.email, user_id: u.user_id } } + users.to_json + end +end diff --git a/examples/ruby-api/config.ru b/examples/ruby-api/config.ru index 14b2ecfc3..d8576e960 100644 --- a/examples/ruby-api/config.ru +++ b/examples/ruby-api/config.ru @@ -1,2 +1,5 @@ -require './main' -run Sinatra::Application +# frozen_string_literal: true + +require_relative "app" + +run App diff --git a/examples/ruby-api/main.rb b/examples/ruby-api/main.rb deleted file mode 100644 index b0fc2bd5f..000000000 --- a/examples/ruby-api/main.rb +++ /dev/null @@ -1,33 +0,0 @@ -require 'dotenv' -require 'jwt' -require 'sinatra' -Dotenv.load '.env' -set :show_exceptions, false - -class InvalidTokenError < StandardError -end - -def validate_token(env) - auth0_client_id = ENV['AUTH0_CLIENT_ID'] - auth0_client_secret = ENV['AUTH0_CLIENT_SECRET'] - authorization = env['HTTP_AUTHORIZATION'] - raise InvalidTokenError if authorization.nil? - decoded_token = JWT.decode(authorization.split(' ').last, JWT.base64url_decode(auth0_client_secret)) - raise InvalidTokenError if auth0_client_id != decoded_token[0]['aud'] - 'You get this only if authenticated' -rescue JWT::DecodeError - raise InvalidTokenError -end - -error InvalidTokenError do - 'Invalid token' -end - -get '/secured/ping' do - validate_token env - 'All good. You can see it because token is valid' -end - -get '/ping' do - 'ping' -end diff --git a/examples/ruby-on-rails-api/.env.example b/examples/ruby-on-rails-api/.env.example index b2a0563c9..74ae58d8d 100644 --- a/examples/ruby-on-rails-api/.env.example +++ b/examples/ruby-on-rails-api/.env.example @@ -1,2 +1,4 @@ -AUTH0_CLIENT_ID={CLIENT_ID} -AUTH0_CLIENT_SECRET={CLIENT_SECRET} +AUTH0_DOMAIN=your-tenant.auth0.com +AUTH0_CLIENT_ID=your-client-id +AUTH0_CLIENT_SECRET=your-client-secret +AUTH0_AUDIENCE=https://your-tenant.auth0.com/api/v2/ diff --git a/examples/ruby-on-rails-api/.gitignore b/examples/ruby-on-rails-api/.gitignore index 4fd091003..dbdb95e47 100644 --- a/examples/ruby-on-rails-api/.gitignore +++ b/examples/ruby-on-rails-api/.gitignore @@ -1,18 +1,4 @@ -# See https://help.github.com/articles/ignoring-files for more about ignoring files. -# -# If you find yourself ignoring temporary files generated by your text editor -# or operating system, you probably want to add a global ignore instead: -# git config --global core.excludesfile '~/.gitignore_global' - -# Ignore bundler config. -/.bundle - -# Ignore the default SQLite database. -/db/*.sqlite3 -/db/*.sqlite3-journal - -# Ignore all logfiles and tempfiles. -/log/*.log -/tmp - .env +Gemfile.lock +log/ +tmp/ diff --git a/examples/ruby-on-rails-api/Gemfile b/examples/ruby-on-rails-api/Gemfile index 911cb4574..e8ad1b2aa 100644 --- a/examples/ruby-on-rails-api/Gemfile +++ b/examples/ruby-on-rails-api/Gemfile @@ -1,48 +1,9 @@ -source 'https://rubygems.org' +# frozen_string_literal: true -# Bundle edge Rails instead: gem 'rails', github: 'rails/rails' -gem 'rails', '5.0.0.1' -# Use sqlite3 as the database for Active Record -gem 'sqlite3', groups: [:development, :test] +source "https://rubygems.org" -gem 'pg' -# Use SCSS for stylesheets -gem 'sass-rails', '~> 5.0.6' -# Use Uglifier as compressor for JavaScript assets -gem 'uglifier', '>= 3.0.3' -# Use CoffeeScript for .js.coffee assets and views -gem 'coffee-rails', '~> 4.2.1' -# See https://github.com/sstephenson/execjs#readme for more supported runtimes -# gem 'therubyracer', platforms: :ruby - -# Use jquery as the JavaScript library -gem 'jquery-rails' -# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks -gem 'turbolinks' -# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder -gem 'jbuilder', '~> 2.6.0' -# bundle exec rake doc:rails generates the API under doc/api. -gem 'sdoc', '~> 0.4.2', group: :doc -# knock dependency -gem 'knock', '~> 2.0' - -# Dot env -gem 'dotenv-rails', groups: [:development, :test] - -# Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring -gem 'spring', group: :development - -gem 'pry', group: [:development, :test] - -# Use ActiveModel has_secure_password -# gem 'bcrypt', '~> 3.1.7' - -# Use unicorn as the app server -# gem 'unicorn' - -# Use Capistrano for deployment -# gem 'capistrano-rails', group: :development - -# Use debugger -# gem 'debugger', group: [:development, :test] -gem 'tzinfo-data' +gem "rails", "~> 7.1" +gem "puma", "~> 6.0" +gem "auth0", path: "../.." +gem "dotenv-rails", "~> 3.0" +gem "jwt", "~> 2.7" diff --git a/examples/ruby-on-rails-api/README.md b/examples/ruby-on-rails-api/README.md index 7893d8a47..b99b6ce83 100644 --- a/examples/ruby-on-rails-api/README.md +++ b/examples/ruby-on-rails-api/README.md @@ -1,25 +1,44 @@ -#Auth0 + Ruby on Rails API Seed +# Auth0 Ruby on Rails API Example -This is the seed project you need to use if you're going to create a Ruby on Rails API. You'll mostly use this API either for a SPA or a Mobile app. If you just want to create a Regular Ruby on Rails WebApp, please check this [other seed project](https://github.com/auth0/omniauth-auth0) +A minimal Rails API-only application demonstrating authentication and management API usage with the Auth0 Ruby SDK. -#Running the example +## Setup -In order to run the example you need to have ruby installed. +1. Copy the environment file and fill in your Auth0 credentials: -You also need to set the ClientSecret and ClientId for your Auth0 app as enviroment variables with the following names respectively: AUTH0_CLIENT_SECRET and AUTH0_CLIENT_ID. + ```bash + cp .env.example .env + ``` -For that, if you just create a file named .env in the directory and set the values like the following, the app will just work: +2. Install dependencies: -````bash -# .env file -AUTH0_CLIENT_SECRET=myCoolSecret -AUTH0_CLIENT_ID=myCoolClientId -```` + ```bash + bundle install + ``` -Once you've set those 2 enviroment variables, run `bundle install`, then run `rails s` and try calling [http://localhost:3000/ping](http://localhost:3000/ping) +3. Start the server: -You can then try to do a GET to [http://localhost:3000/secured/ping](http://localhost:3000/secured/ping) which will throw an error if you don't send the JWT in the header. + ```bash + bin/rails server -p 3000 + ``` -__Note:__ if you need to enable cross-origin resource sharing, check out the [rack-cors](https://github.com/cyu/rack-cors) gem. +## Endpoints -__Note:__ if you are using Windows, add the `tzinfo-data` gem to the gemfile. +| Endpoint | Auth Required | Description | +|----------|--------------|-------------| +| `GET /api/public` | No | Returns a public message | +| `GET /api/private` | Yes | Returns a message with the authenticated user's `sub` claim | +| `GET /api/users` | Yes | Lists users from the Management API via `Auth0::Client` | + +## Testing + +```bash +# Public endpoint +curl http://localhost:3000/api/public + +# Private endpoint (replace TOKEN with a valid Auth0 access token) +curl -H "Authorization: Bearer TOKEN" http://localhost:3000/api/private + +# Management API endpoint +curl -H "Authorization: Bearer TOKEN" http://localhost:3000/api/users +``` diff --git a/examples/ruby-on-rails-api/Rakefile b/examples/ruby-on-rails-api/Rakefile index ba6b733dd..91e7ad7f6 100644 --- a/examples/ruby-on-rails-api/Rakefile +++ b/examples/ruby-on-rails-api/Rakefile @@ -1,6 +1,4 @@ -# Add your own tasks in files placed in lib/tasks ending in .rake, -# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake. - -require File.expand_path('../config/application', __FILE__) +# frozen_string_literal: true +require_relative "config/application" Rails.application.load_tasks diff --git a/examples/ruby-on-rails-api/app/assets/images/.keep b/examples/ruby-on-rails-api/app/assets/images/.keep deleted file mode 100644 index e69de29bb..000000000 diff --git a/examples/ruby-on-rails-api/app/assets/javascripts/application.js b/examples/ruby-on-rails-api/app/assets/javascripts/application.js deleted file mode 100644 index d6925fa43..000000000 --- a/examples/ruby-on-rails-api/app/assets/javascripts/application.js +++ /dev/null @@ -1,16 +0,0 @@ -// This is a manifest file that'll be compiled into application.js, which will include all the files -// listed below. -// -// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts, -// or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path. -// -// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the -// compiled file. -// -// Read Sprockets README (https://github.com/sstephenson/sprockets#sprockets-directives) for details -// about supported directives. -// -//= require jquery -//= require jquery_ujs -//= require turbolinks -//= require_tree . diff --git a/examples/ruby-on-rails-api/app/assets/stylesheets/application.css b/examples/ruby-on-rails-api/app/assets/stylesheets/application.css deleted file mode 100644 index a443db340..000000000 --- a/examples/ruby-on-rails-api/app/assets/stylesheets/application.css +++ /dev/null @@ -1,15 +0,0 @@ -/* - * This is a manifest file that'll be compiled into application.css, which will include all the files - * listed below. - * - * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets, - * or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path. - * - * You're free to add application-wide styles to this file and they'll appear at the bottom of the - * compiled file so the styles you add here take precedence over styles defined in any styles - * defined in the other CSS/SCSS files in this directory. It is generally better to create a new - * file per style scope. - * - *= require_tree . - *= require_self - */ diff --git a/examples/ruby-on-rails-api/app/controllers/api_controller.rb b/examples/ruby-on-rails-api/app/controllers/api_controller.rb new file mode 100644 index 000000000..cc287d65a --- /dev/null +++ b/examples/ruby-on-rails-api/app/controllers/api_controller.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +class ApiController < ApplicationController + before_action :validate_token!, only: %i[private_endpoint] + + # Public endpoint -- no authentication required. + def public_endpoint + render json: { message: "Hello from a public endpoint! You don't need to be authenticated to see this." } + end + + # Protected endpoint -- requires a valid Auth0 JWT. + def private_endpoint + render json: { message: "Hello from a private endpoint!", sub: @current_claims["sub"] } + end + + # Management API example -- lists users via the Auth0 SDK. + def users + user_list = [] + auth0_client.users.list(per_page: 5).each do |u| + user_list << { email: u.email, user_id: u.user_id } + end + render json: user_list + end +end diff --git a/examples/ruby-on-rails-api/app/controllers/application_controller.rb b/examples/ruby-on-rails-api/app/controllers/application_controller.rb index a0a35dcb7..4fd6642ac 100644 --- a/examples/ruby-on-rails-api/app/controllers/application_controller.rb +++ b/examples/ruby-on-rails-api/app/controllers/application_controller.rb @@ -1,8 +1,46 @@ -# Application Controller -class ApplicationController < ActionController::Base - include Knock::Authenticable +# frozen_string_literal: true - # Prevent CSRF attacks by raising an exception. - # For APIs, you may want to use :null_session instead. - protect_from_forgery with: :null_session +class ApplicationController < ActionController::API + private + + # Fetch the JWKS from Auth0 and cache it for the lifetime of the process. + def jwks + @@jwks ||= begin + uri = URI("https://#{ENV.fetch('AUTH0_DOMAIN')}/.well-known/jwks.json") + response = Net::HTTP.get(uri) + JSON.parse(response) + end + end + + # Validate the Bearer token from the Authorization header using RS256. + # Returns the decoded claims hash or renders a 401 error. + def validate_token! + auth_header = request.headers["Authorization"] + unless auth_header + render json: { error: "Missing Authorization header" }, status: :unauthorized + return + end + + token = auth_header.split(" ").last + + decoded = JWT.decode( + token, + nil, + true, + algorithms: ["RS256"], + iss: "https://#{ENV.fetch('AUTH0_DOMAIN')}/", + aud: ENV.fetch("AUTH0_AUDIENCE"), + verify_iss: true, + verify_aud: true, + jwks: jwks + ) + + @current_claims = decoded.first + rescue JWT::DecodeError => e + render json: { error: "Invalid token: #{e.message}" }, status: :unauthorized + end + + def auth0_client + Rails.application.config.auth0_client + end end diff --git a/examples/ruby-on-rails-api/app/controllers/concerns/.keep b/examples/ruby-on-rails-api/app/controllers/concerns/.keep deleted file mode 100644 index e69de29bb..000000000 diff --git a/examples/ruby-on-rails-api/app/controllers/ping_controller.rb b/examples/ruby-on-rails-api/app/controllers/ping_controller.rb deleted file mode 100644 index 674a3e278..000000000 --- a/examples/ruby-on-rails-api/app/controllers/ping_controller.rb +++ /dev/null @@ -1,6 +0,0 @@ -# Ping Controller -class PingController < ApplicationController - def ping - render text: "All good. You don't need to be authenticated to call this" - end -end diff --git a/examples/ruby-on-rails-api/app/controllers/secured_ping_controller.rb b/examples/ruby-on-rails-api/app/controllers/secured_ping_controller.rb deleted file mode 100644 index 6c75bb757..000000000 --- a/examples/ruby-on-rails-api/app/controllers/secured_ping_controller.rb +++ /dev/null @@ -1,11 +0,0 @@ -# Secured ping Controller -class SecuredPingController < ApplicationController - before_action :authenticate_user - - def ping - render json: { - message: "All good. You only get this message if you're authenticated.", - user: current_user - } - end -end diff --git a/examples/ruby-on-rails-api/app/helpers/application_helper.rb b/examples/ruby-on-rails-api/app/helpers/application_helper.rb deleted file mode 100644 index 0b719f880..000000000 --- a/examples/ruby-on-rails-api/app/helpers/application_helper.rb +++ /dev/null @@ -1,3 +0,0 @@ -# Application Helper -module ApplicationHelper -end diff --git a/examples/ruby-on-rails-api/app/mailers/.keep b/examples/ruby-on-rails-api/app/mailers/.keep deleted file mode 100644 index e69de29bb..000000000 diff --git a/examples/ruby-on-rails-api/app/models/.keep b/examples/ruby-on-rails-api/app/models/.keep deleted file mode 100644 index e69de29bb..000000000 diff --git a/examples/ruby-on-rails-api/app/models/User.rb b/examples/ruby-on-rails-api/app/models/User.rb deleted file mode 100644 index 1bdc59fb3..000000000 --- a/examples/ruby-on-rails-api/app/models/User.rb +++ /dev/null @@ -1,5 +0,0 @@ -class User < ActiveRecord::Base - def self.from_token_payload payload - payload["sub"] - end -end \ No newline at end of file diff --git a/examples/ruby-on-rails-api/app/models/concerns/.keep b/examples/ruby-on-rails-api/app/models/concerns/.keep deleted file mode 100644 index e69de29bb..000000000 diff --git a/examples/ruby-on-rails-api/app/views/layouts/application.html.erb b/examples/ruby-on-rails-api/app/views/layouts/application.html.erb deleted file mode 100644 index c598dce9f..000000000 --- a/examples/ruby-on-rails-api/app/views/layouts/application.html.erb +++ /dev/null @@ -1,14 +0,0 @@ - - - - Auth0RorapiSample - <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %> - <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %> - <%= csrf_meta_tags %> - - - -<%= yield %> - - - diff --git a/examples/ruby-on-rails-api/bin/bundle b/examples/ruby-on-rails-api/bin/bundle deleted file mode 100644 index e3c2f622b..000000000 --- a/examples/ruby-on-rails-api/bin/bundle +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env ruby.exe -ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__) -load Gem.bin_path('bundler', 'bundle') diff --git a/examples/ruby-on-rails-api/bin/rails b/examples/ruby-on-rails-api/bin/rails old mode 100644 new mode 100755 index c9a0f3891..efc037749 --- a/examples/ruby-on-rails-api/bin/rails +++ b/examples/ruby-on-rails-api/bin/rails @@ -1,4 +1,4 @@ -#!/usr/bin/env ruby.exe -APP_PATH = File.expand_path('../../config/application', __FILE__) -require_relative '../config/boot' -require 'rails/commands' +#!/usr/bin/env ruby +APP_PATH = File.expand_path("../config/application", __dir__) +require_relative "../config/boot" +require "rails/commands" diff --git a/examples/ruby-on-rails-api/bin/rake b/examples/ruby-on-rails-api/bin/rake deleted file mode 100644 index f6ed5a2a6..000000000 --- a/examples/ruby-on-rails-api/bin/rake +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env ruby.exe -require_relative '../config/boot' -require 'rake' -Rake.application.run diff --git a/examples/ruby-on-rails-api/bin/setup b/examples/ruby-on-rails-api/bin/setup deleted file mode 100644 index 4a80f24c6..000000000 --- a/examples/ruby-on-rails-api/bin/setup +++ /dev/null @@ -1,29 +0,0 @@ -#!/usr/bin/env ruby.exe -require 'pathname' - -# path to your application root. -APP_ROOT = Pathname.new File.expand_path('../../', __FILE__) - -Dir.chdir APP_ROOT do - # This script is a starting point to setup your application. - # Add necessary setup steps to this file: - - puts '== Installing dependencies ==' - system 'gem install bundler --conservative' - system 'bundle check || bundle install' - - # puts "\n== Copying sample files ==" - # unless File.exist?("config/database.yml") - # system "cp config/database.yml.sample config/database.yml" - # end - - puts "\n== Preparing database ==" - system 'bin/rake db:setup' - - puts "\n== Removing old logs and tempfiles ==" - system 'rm -f log/*' - system 'rm -rf tmp/cache' - - puts "\n== Restarting application server ==" - system 'touch tmp/restart.txt' -end diff --git a/examples/ruby-on-rails-api/config.ru b/examples/ruby-on-rails-api/config.ru index bd83b2541..266224ab9 100644 --- a/examples/ruby-on-rails-api/config.ru +++ b/examples/ruby-on-rails-api/config.ru @@ -1,4 +1,4 @@ -# This file is used by Rack-based servers to start the application. +# frozen_string_literal: true -require ::File.expand_path('../config/environment', __FILE__) +require_relative "config/environment" run Rails.application diff --git a/examples/ruby-on-rails-api/config/application.rb b/examples/ruby-on-rails-api/config/application.rb index 8acbf600a..f999d5640 100644 --- a/examples/ruby-on-rails-api/config/application.rb +++ b/examples/ruby-on-rails-api/config/application.rb @@ -1,23 +1,16 @@ -require File.expand_path('../boot', __FILE__) +# frozen_string_literal: true -require 'rails/all' +require_relative "boot" +require "action_controller/railtie" -# Require the gems listed in Gemfile, including any gems -# you've limited to :test, :development, or :production. Bundler.require(*Rails.groups) -module Auth0RorapiSample +module Auth0RailsApiExample class Application < Rails::Application - # Settings in config/environments/* take precedence over those specified here. - # Application configuration should go into files in config/initializers - # -- all .rb files in that directory are automatically loaded. - - # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone. - # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC. - # config.time_zone = 'Central Time (US & Canada)' - - # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded. - # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s] - # config.i18n.default_locale = :de + config.load_defaults 7.1 + config.api_only = true + config.secret_key_base = ENV.fetch("SECRET_KEY_BASE", "dev-secret-#{SecureRandom.hex(32)}") + config.eager_load = false + config.logger = Logger.new($stdout) end end diff --git a/examples/ruby-on-rails-api/config/boot.rb b/examples/ruby-on-rails-api/config/boot.rb index 5e5f0c1fa..d3384d39d 100644 --- a/examples/ruby-on-rails-api/config/boot.rb +++ b/examples/ruby-on-rails-api/config/boot.rb @@ -1,4 +1,4 @@ -# Set up gems listed in the Gemfile. -ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__) +# frozen_string_literal: true -require 'bundler/setup' if File.exist?(ENV['BUNDLE_GEMFILE']) +ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../Gemfile", __dir__) +require "bundler/setup" diff --git a/examples/ruby-on-rails-api/config/database.yml b/examples/ruby-on-rails-api/config/database.yml deleted file mode 100644 index 48d23345b..000000000 --- a/examples/ruby-on-rails-api/config/database.yml +++ /dev/null @@ -1,27 +0,0 @@ -# SQLite version 3.x -# gem install sqlite3 -# -# Ensure the SQLite 3 gem is defined in your Gemfile -# gem 'sqlite3' -# -default: &default - adapter: sqlite3 - pool: 5 - timeout: 5000 - -development: - <<: *default - database: db/development.sqlite3 - -# Warning: The database defined as "test" will be erased and -# re-generated from your development database when you run "rake". -# Do not set this db to the same as development or production. -test: - <<: *default - database: db/test.sqlite3 - -production: - adapter: postgresql - database: my_database_production - pool: 5 - timeout: 5000 diff --git a/examples/ruby-on-rails-api/config/environment.rb b/examples/ruby-on-rails-api/config/environment.rb index ee8d90dc6..55ea18132 100644 --- a/examples/ruby-on-rails-api/config/environment.rb +++ b/examples/ruby-on-rails-api/config/environment.rb @@ -1,5 +1,4 @@ -# Load the Rails application. -require File.expand_path('../application', __FILE__) +# frozen_string_literal: true -# Initialize the Rails application. +require_relative "application" Rails.application.initialize! diff --git a/examples/ruby-on-rails-api/config/environments/development.rb b/examples/ruby-on-rails-api/config/environments/development.rb deleted file mode 100644 index ddf0e90cc..000000000 --- a/examples/ruby-on-rails-api/config/environments/development.rb +++ /dev/null @@ -1,37 +0,0 @@ -Rails.application.configure do - # Settings specified here will take precedence over those in config/application.rb. - - # In the development environment your application's code is reloaded on - # every request. This slows down response time but is perfect for development - # since you don't have to restart the web server when you make code changes. - config.cache_classes = false - - # Do not eager load code on boot. - config.eager_load = false - - # Show full error reports and disable caching. - config.consider_all_requests_local = true - config.action_controller.perform_caching = false - - # Don't care if the mailer can't send. - config.action_mailer.raise_delivery_errors = false - - # Print deprecation notices to the Rails logger. - config.active_support.deprecation = :log - - # Raise an error on page load if there are pending migrations. - config.active_record.migration_error = :page_load - - # Debug mode disables concatenation and preprocessing of assets. - # This option may cause significant delays in view rendering with a large - # number of complex assets. - config.assets.debug = true - - # Adds additional error checking when serving assets at runtime. - # Checks for improperly declared sprockets dependencies. - # Raises helpful error messages. - config.assets.raise_runtime_errors = true - - # Raises error for missing translations - # config.action_view.raise_on_missing_translations = true -end diff --git a/examples/ruby-on-rails-api/config/environments/production.rb b/examples/ruby-on-rails-api/config/environments/production.rb deleted file mode 100644 index ade9133be..000000000 --- a/examples/ruby-on-rails-api/config/environments/production.rb +++ /dev/null @@ -1,83 +0,0 @@ -Rails.application.configure do - # Settings specified here will take precedence over those in config/application.rb. - - # Code is not reloaded between requests. - config.cache_classes = true - - # Eager load code on boot. This eager loads most of Rails and - # your application in memory, allowing both threaded web servers - # and those relying on copy on write to perform better. - # Rake tasks automatically ignore this option for performance. - config.eager_load = true - - # Full error reports are disabled and caching is turned on. - config.consider_all_requests_local = false - config.action_controller.perform_caching = true - - # Enable Rack::Cache to put a simple HTTP cache in front of your application - # Add `rack-cache` to your Gemfile before enabling this. - # For large-scale production use, consider using a caching reverse proxy like nginx, varnish or squid. - # config.action_dispatch.rack_cache = true - - # Disable Rails's static asset server (Apache or nginx will already do this). - config.serve_static_files = false - - # Compress JavaScripts and CSS. - config.assets.js_compressor = :uglifier - # config.assets.css_compressor = :sass - - # Do not fallback to assets pipeline if a precompiled asset is missed. - config.assets.compile = false - - # Generate digests for assets URLs. - config.assets.digest = true - - # Version of your assets, change this if you want to expire all your assets. - config.assets.version = '1.0' - - # Specifies the header that your server uses for sending files. - # config.action_dispatch.x_sendfile_header = "X-Sendfile" # for apache - # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for nginx - - # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies. - # config.force_ssl = true - - # Set to :debug to see everything in the log. - config.log_level = :info - - # Prepend all log lines with the following tags. - # config.log_tags = [ :subdomain, :uuid ] - - # Use a different logger for distributed setups. - # config.logger = ActiveSupport::TaggedLogging.new(SyslogLogger.new) - - # Use a different cache store in production. - # config.cache_store = :mem_cache_store - - # Enable serving of images, stylesheets, and JavaScripts from an asset server. - # config.action_controller.asset_host = "http://assets.example.com" - - # Precompile additional assets. - # application.js, application.css, and all non-JS/CSS in app/assets folder are already added. - # config.assets.precompile += %w( search.js ) - - # Ignore bad email addresses and do not raise email delivery errors. - # Set this to true and configure the email server for immediate delivery to raise delivery errors. - # config.action_mailer.raise_delivery_errors = false - - # Enable locale fallbacks for I18n (makes lookups for any locale fall back to - # the I18n.default_locale when a translation cannot be found). - config.i18n.fallbacks = true - - # Send deprecation notices to registered listeners. - config.active_support.deprecation = :notify - - # Disable automatic flushing of the log to improve performance. - # config.autoflush_log = false - - # Use default logging formatter so that PID and timestamp are not suppressed. - config.log_formatter = ::Logger::Formatter.new - - # Do not dump schema after migrations. - config.active_record.dump_schema_after_migration = false -end diff --git a/examples/ruby-on-rails-api/config/environments/test.rb b/examples/ruby-on-rails-api/config/environments/test.rb deleted file mode 100644 index 2121620df..000000000 --- a/examples/ruby-on-rails-api/config/environments/test.rb +++ /dev/null @@ -1,41 +0,0 @@ -Rails.application.configure do - # Settings specified here will take precedence over those in config/application.rb. - - # The test environment is used exclusively to run your application's - # test suite. You never need to work with it otherwise. Remember that - # your test database is "scratch space" for the test suite and is wiped - # and recreated between test runs. Don't rely on the data there! - config.cache_classes = true - - # Do not eager load code on boot. This avoids loading your whole application - # just for the purpose of running a single test. If you are using a tool that - # preloads Rails for running tests, you may have to set it to true. - config.eager_load = false - - # Configure static asset server for tests with Cache-Control for performance. - config.serve_static_files = true - config.static_cache_control = 'public, max-age=3600' - - # Show full error reports and disable caching. - config.consider_all_requests_local = true - config.action_controller.perform_caching = false - - # Raise exceptions instead of rendering exception templates. - config.action_dispatch.show_exceptions = false - - # Disable request forgery protection in test environment. - config.action_controller.allow_forgery_protection = false - - # Tell Action Mailer not to deliver emails to the real world. - # The :test delivery method accumulates sent emails in the - # ActionMailer::Base.deliveries array. - config.action_mailer.delivery_method = :test - - # Print deprecation notices to the stderr. - config.active_support.deprecation = :stderr - - # Raises error for missing translations - # config.action_view.raise_on_missing_translations = true - - config.active_support.test_order = :sorted -end diff --git a/examples/ruby-on-rails-api/config/initializers/auth0.rb b/examples/ruby-on-rails-api/config/initializers/auth0.rb new file mode 100644 index 000000000..465d4d708 --- /dev/null +++ b/examples/ruby-on-rails-api/config/initializers/auth0.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +# Build an Auth0 Management API client using client credentials. +# Available as Rails.application.config.auth0_client throughout the app. +Rails.application.config.auth0_client = Auth0::Client.new( + domain: ENV.fetch("AUTH0_DOMAIN"), + client_id: ENV.fetch("AUTH0_CLIENT_ID"), + client_secret: ENV.fetch("AUTH0_CLIENT_SECRET") +) diff --git a/examples/ruby-on-rails-api/config/initializers/backtrace_silencers.rb b/examples/ruby-on-rails-api/config/initializers/backtrace_silencers.rb deleted file mode 100644 index 59385cdf3..000000000 --- a/examples/ruby-on-rails-api/config/initializers/backtrace_silencers.rb +++ /dev/null @@ -1,7 +0,0 @@ -# Be sure to restart your server when you modify this file. - -# You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces. -# Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ } - -# You can also remove all the silencers if you're trying to debug a problem that might stem from framework code. -# Rails.backtrace_cleaner.remove_silencers! diff --git a/examples/ruby-on-rails-api/config/initializers/cookies_serializer.rb b/examples/ruby-on-rails-api/config/initializers/cookies_serializer.rb deleted file mode 100644 index 7f70458de..000000000 --- a/examples/ruby-on-rails-api/config/initializers/cookies_serializer.rb +++ /dev/null @@ -1,3 +0,0 @@ -# Be sure to restart your server when you modify this file. - -Rails.application.config.action_dispatch.cookies_serializer = :json diff --git a/examples/ruby-on-rails-api/config/initializers/dotenv.rb b/examples/ruby-on-rails-api/config/initializers/dotenv.rb deleted file mode 100644 index fd3a0525d..000000000 --- a/examples/ruby-on-rails-api/config/initializers/dotenv.rb +++ /dev/null @@ -1,4 +0,0 @@ -if Rails.env.development? || Rails.env.test? - require 'dotenv' - Dotenv.load -end diff --git a/examples/ruby-on-rails-api/config/initializers/filter_parameter_logging.rb b/examples/ruby-on-rails-api/config/initializers/filter_parameter_logging.rb deleted file mode 100644 index 4a994e1e7..000000000 --- a/examples/ruby-on-rails-api/config/initializers/filter_parameter_logging.rb +++ /dev/null @@ -1,4 +0,0 @@ -# Be sure to restart your server when you modify this file. - -# Configure sensitive parameters which will be filtered from the log file. -Rails.application.config.filter_parameters += [:password] diff --git a/examples/ruby-on-rails-api/config/initializers/inflections.rb b/examples/ruby-on-rails-api/config/initializers/inflections.rb deleted file mode 100644 index ac033bf9d..000000000 --- a/examples/ruby-on-rails-api/config/initializers/inflections.rb +++ /dev/null @@ -1,16 +0,0 @@ -# Be sure to restart your server when you modify this file. - -# Add new inflection rules using the following format. Inflections -# are locale specific, and you may define rules for as many different -# locales as you wish. All of these examples are active by default: -# ActiveSupport::Inflector.inflections(:en) do |inflect| -# inflect.plural /^(ox)$/i, '\1en' -# inflect.singular /^(ox)en/i, '\1' -# inflect.irregular 'person', 'people' -# inflect.uncountable %w( fish sheep ) -# end - -# These inflection rules are supported but not enabled by default: -# ActiveSupport::Inflector.inflections(:en) do |inflect| -# inflect.acronym 'RESTful' -# end diff --git a/examples/ruby-on-rails-api/config/initializers/knock.rb b/examples/ruby-on-rails-api/config/initializers/knock.rb deleted file mode 100644 index bad5b84d3..000000000 --- a/examples/ruby-on-rails-api/config/initializers/knock.rb +++ /dev/null @@ -1,35 +0,0 @@ -require 'base64' -Knock.setup do |config| - - ## Expiration claim - ## ---------------- - ## - ## How long before a token is expired. - ## - ## Default: - # config.token_lifetime = 1.day - - ## Audience claim - ## -------------- - ## - ## Configure the audience claim to indentify the recipients that the token - ## is intended for. - ## - ## Default: - # config.token_audience = nil - - ## If using Auth0, uncomment the line below - config.token_audience = -> { Rails.application.secrets.auth0_client_id } - - ## Signature key - ## ------------- - ## - ## Configure the key used to sign tokens. - ## - ## Default: - # config.token_secret_signature_key = -> { Rails.application.secrets.secret_key_base } - - ## If using Auth0, uncomment the line below - config.token_secret_signature_key = -> { JWT.base64url_decode Rails.application.secrets.auth0_client_secret } - -end diff --git a/examples/ruby-on-rails-api/config/initializers/mime_types.rb b/examples/ruby-on-rails-api/config/initializers/mime_types.rb deleted file mode 100644 index dc1899682..000000000 --- a/examples/ruby-on-rails-api/config/initializers/mime_types.rb +++ /dev/null @@ -1,4 +0,0 @@ -# Be sure to restart your server when you modify this file. - -# Add new mime types for use in respond_to blocks: -# Mime::Type.register "text/richtext", :rtf diff --git a/examples/ruby-on-rails-api/config/initializers/session_store.rb b/examples/ruby-on-rails-api/config/initializers/session_store.rb deleted file mode 100644 index bc8d9df44..000000000 --- a/examples/ruby-on-rails-api/config/initializers/session_store.rb +++ /dev/null @@ -1,3 +0,0 @@ -# Be sure to restart your server when you modify this file. - -Rails.application.config.session_store :cookie_store, key: '_auth0-rorapi-sample_session' diff --git a/examples/ruby-on-rails-api/config/initializers/wrap_parameters.rb b/examples/ruby-on-rails-api/config/initializers/wrap_parameters.rb deleted file mode 100644 index 33725e95f..000000000 --- a/examples/ruby-on-rails-api/config/initializers/wrap_parameters.rb +++ /dev/null @@ -1,14 +0,0 @@ -# Be sure to restart your server when you modify this file. - -# This file contains settings for ActionController::ParamsWrapper which -# is enabled by default. - -# Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array. -ActiveSupport.on_load(:action_controller) do - wrap_parameters format: [:json] if respond_to?(:wrap_parameters) -end - -# To enable root element in JSON for ActiveRecord objects. -# ActiveSupport.on_load(:active_record) do -# self.include_root_in_json = true -# end diff --git a/examples/ruby-on-rails-api/config/locales/en.yml b/examples/ruby-on-rails-api/config/locales/en.yml deleted file mode 100644 index 065395716..000000000 --- a/examples/ruby-on-rails-api/config/locales/en.yml +++ /dev/null @@ -1,23 +0,0 @@ -# Files in the config/locales directory are used for internationalization -# and are automatically loaded by Rails. If you want to use locales other -# than English, add the necessary files in this directory. -# -# To use the locales, use `I18n.t`: -# -# I18n.t 'hello' -# -# In views, this is aliased to just `t`: -# -# <%= t('hello') %> -# -# To use a different locale, set it with `I18n.locale`: -# -# I18n.locale = :es -# -# This would use the information in config/locales/es.yml. -# -# To learn more, please read the Rails Internationalization guide -# available at http://guides.rubyonrails.org/i18n.html. - -en: - hello: "Hello world" diff --git a/examples/ruby-on-rails-api/config/routes.rb b/examples/ruby-on-rails-api/config/routes.rb index c7ac15d94..e030a80b6 100644 --- a/examples/ruby-on-rails-api/config/routes.rb +++ b/examples/ruby-on-rails-api/config/routes.rb @@ -1,58 +1,7 @@ -Rails.application.routes.draw do - get 'ping' => 'ping#ping' - get 'secured/ping' => 'secured_ping#ping' - # The priority is based upon order of creation: first created -> highest priority. - # See how all your routes lay out with "rake routes". - - # You can have the root of your site routed with "root" - # root 'welcome#index' - - # Example of regular route: - # get 'products/:id' => 'catalog#view' - - # Example of named route that can be invoked with purchase_url(id: product.id) - # get 'products/:id/purchase' => 'catalog#purchase', as: :purchase - - # Example resource route (maps HTTP verbs to controller actions automatically): - # resources :products +# frozen_string_literal: true - # Example resource route with options: - # resources :products do - # member do - # get 'short' - # post 'toggle' - # end - # - # collection do - # get 'sold' - # end - # end - - # Example resource route with sub-resources: - # resources :products do - # resources :comments, :sales - # resource :seller - # end - - # Example resource route with more complex sub-resources: - # resources :products do - # resources :comments - # resources :sales do - # get 'recent', on: :collection - # end - # end - - # Example resource route with concerns: - # concern :toggleable do - # post 'toggle' - # end - # resources :posts, concerns: :toggleable - # resources :photos, concerns: :toggleable - - # Example resource route within a namespace: - # namespace :admin do - # # Directs /admin/products/* to Admin::ProductsController - # # (app/controllers/admin/products_controller.rb) - # resources :products - # end +Rails.application.routes.draw do + get "api/public", to: "api#public_endpoint" + get "api/private", to: "api#private_endpoint" + get "api/users", to: "api#users" end diff --git a/examples/ruby-on-rails-api/config/secrets.yml b/examples/ruby-on-rails-api/config/secrets.yml deleted file mode 100644 index f859dd0fa..000000000 --- a/examples/ruby-on-rails-api/config/secrets.yml +++ /dev/null @@ -1,28 +0,0 @@ -# Be sure to restart your server when you modify this file. - -# Your secret key is used for verifying the integrity of signed cookies. -# If you change this key, all old signed cookies will become invalid! - -# Make sure the secret is at least 30 characters and all random, -# no regular words or you'll be exposed to dictionary attacks. -# You can use `rake secret` to generate a secure secret key. - -# Make sure the secrets in this file are kept private -# if you're sharing your code publicly. - -development: - secret_key_base: 3342e9faedd8fe9ea360c0af568d00a46917923791c23e144d66849b272d2ff63e743f9bb209dab7d6e732bb5f919e46e3fe552b8919140805bb89c346e68876, - auth0_client_id: <%= ENV["AUTH0_CLIENT_ID"] %> - auth0_client_secret: <%= ENV["AUTH0_CLIENT_SECRET"] %> - -test: - secret_key_base: 8e3352b5ca46c3362f54b183ee64ff4281f298eee2f5ec8154031c8e1610eab54f868d937725209d49b41534ddbc98fabb7b1a2f74bde5f0ee311a529baf3e08 - auth0_client_id: <%= ENV["AUTH0_CLIENT_ID"] %> - auth0_client_secret: <%= ENV["AUTH0_CLIENT_SECRET"] %> - -# Do not keep production secrets in the repository, -# instead read values from the environment. -production: - secret_key_base: <%= ENV["SECRET_KEY_BASE"] %> - auth0_client_id: <%= ENV["AUTH0_CLIENT_ID"] %> - auth0_client_secret: <%= ENV["AUTH0_CLIENT_SECRET"] %> diff --git a/examples/ruby-on-rails-api/db/schema.rb b/examples/ruby-on-rails-api/db/schema.rb deleted file mode 100644 index 28ac66fd2..000000000 --- a/examples/ruby-on-rails-api/db/schema.rb +++ /dev/null @@ -1,15 +0,0 @@ -# encoding: UTF-8 -# This file is auto-generated from the current state of the database. Instead -# of editing this file, please use the migrations feature of Active Record to -# incrementally modify your database, and then regenerate this schema definition. -# -# Note that this schema.rb definition is the authoritative source for your -# database schema. If you need to create the application database on another -# system, you should be using db:schema:load, not running all the migrations -# from scratch. The latter is a flawed and unsustainable approach (the more migrations -# you'll amass, the slower it'll run and the greater likelihood for issues). -# -# It's strongly recommended that you check this file into your version control system. - -ActiveRecord::Schema.define(version: 0) do -end diff --git a/examples/ruby-on-rails-api/db/seeds.rb b/examples/ruby-on-rails-api/db/seeds.rb deleted file mode 100644 index 4edb1e857..000000000 --- a/examples/ruby-on-rails-api/db/seeds.rb +++ /dev/null @@ -1,7 +0,0 @@ -# This file should contain all the record creation needed to seed the database with its default values. -# The data can then be loaded with the rake db:seed (or created alongside the db with db:setup). -# -# Examples: -# -# cities = City.create([{ name: 'Chicago' }, { name: 'Copenhagen' }]) -# Mayor.create(name: 'Emanuel', city: cities.first) diff --git a/examples/ruby-on-rails-api/lib/assets/.keep b/examples/ruby-on-rails-api/lib/assets/.keep deleted file mode 100644 index e69de29bb..000000000 diff --git a/examples/ruby-on-rails-api/lib/tasks/.keep b/examples/ruby-on-rails-api/lib/tasks/.keep deleted file mode 100644 index e69de29bb..000000000 diff --git a/examples/ruby-on-rails-api/log/.keep b/examples/ruby-on-rails-api/log/.keep deleted file mode 100644 index e69de29bb..000000000 diff --git a/examples/ruby-on-rails-api/public/404.html b/examples/ruby-on-rails-api/public/404.html deleted file mode 100644 index b612547fc..000000000 --- a/examples/ruby-on-rails-api/public/404.html +++ /dev/null @@ -1,67 +0,0 @@ - - - - The page you were looking for doesn't exist (404) - - - - - - -
-
-

The page you were looking for doesn't exist.

-

You may have mistyped the address or the page may have moved.

-
-

If you are the application owner check the logs for more information.

-
- - diff --git a/examples/ruby-on-rails-api/public/422.html b/examples/ruby-on-rails-api/public/422.html deleted file mode 100644 index a21f82b3b..000000000 --- a/examples/ruby-on-rails-api/public/422.html +++ /dev/null @@ -1,67 +0,0 @@ - - - - The change you wanted was rejected (422) - - - - - - -
-
-

The change you wanted was rejected.

-

Maybe you tried to change something you didn't have access to.

-
-

If you are the application owner check the logs for more information.

-
- - diff --git a/examples/ruby-on-rails-api/public/500.html b/examples/ruby-on-rails-api/public/500.html deleted file mode 100644 index 061abc587..000000000 --- a/examples/ruby-on-rails-api/public/500.html +++ /dev/null @@ -1,66 +0,0 @@ - - - - We're sorry, but something went wrong (500) - - - - - - -
-
-

We're sorry, but something went wrong.

-
-

If you are the application owner check the logs for more information.

-
- - diff --git a/examples/ruby-on-rails-api/public/favicon.ico b/examples/ruby-on-rails-api/public/favicon.ico deleted file mode 100644 index e69de29bb..000000000 diff --git a/examples/ruby-on-rails-api/public/robots.txt b/examples/ruby-on-rails-api/public/robots.txt deleted file mode 100644 index 3c9c7c01f..000000000 --- a/examples/ruby-on-rails-api/public/robots.txt +++ /dev/null @@ -1,5 +0,0 @@ -# See http://www.robotstxt.org/robotstxt.html for documentation on how to use the robots.txt file -# -# To ban all spiders from the entire site uncomment the next two lines: -# User-agent: * -# Disallow: / diff --git a/examples/ruby-on-rails-api/test/controllers/.keep b/examples/ruby-on-rails-api/test/controllers/.keep deleted file mode 100644 index e69de29bb..000000000 diff --git a/examples/ruby-on-rails-api/test/fixtures/.keep b/examples/ruby-on-rails-api/test/fixtures/.keep deleted file mode 100644 index e69de29bb..000000000 diff --git a/examples/ruby-on-rails-api/test/helpers/.keep b/examples/ruby-on-rails-api/test/helpers/.keep deleted file mode 100644 index e69de29bb..000000000 diff --git a/examples/ruby-on-rails-api/test/integration/.keep b/examples/ruby-on-rails-api/test/integration/.keep deleted file mode 100644 index e69de29bb..000000000 diff --git a/examples/ruby-on-rails-api/test/mailers/.keep b/examples/ruby-on-rails-api/test/mailers/.keep deleted file mode 100644 index e69de29bb..000000000 diff --git a/examples/ruby-on-rails-api/test/models/.keep b/examples/ruby-on-rails-api/test/models/.keep deleted file mode 100644 index e69de29bb..000000000 diff --git a/examples/ruby-on-rails-api/test/ping_controller_test.rb b/examples/ruby-on-rails-api/test/ping_controller_test.rb deleted file mode 100644 index e30b8c8e8..000000000 --- a/examples/ruby-on-rails-api/test/ping_controller_test.rb +++ /dev/null @@ -1,8 +0,0 @@ -require 'test_helper' -# Ping Controller Tests -class PingControllerTest < ActionController::TestCase - test 'responds with success' do - get :ping - assert_response :success - end -end diff --git a/examples/ruby-on-rails-api/test/secured_ping_controller_test.rb b/examples/ruby-on-rails-api/test/secured_ping_controller_test.rb deleted file mode 100644 index dd818e12b..000000000 --- a/examples/ruby-on-rails-api/test/secured_ping_controller_test.rb +++ /dev/null @@ -1,26 +0,0 @@ -require 'test_helper' -# Secure Ping Controller Test -class SecuredPingControllerTest < ActionController::TestCase - def with_a_valid_token - @user = { id: 1 } - @token = Knock::AuthToken.new(payload: { sub: @user[:id] }).token - @request.env['HTTP_AUTHORIZATION'] = "Bearer #{@token}" - end - - test 'responds with unauthorized' do - get :ping - assert_response :unauthorized - end - - test 'responds with success when passing a valid token' do - with_a_valid_token - get :ping - assert_response :success - end - - test '@current_user is set when passing a valid token' do - with_a_valid_token - get :ping - assert_equal @user[:id], @controller.current_user[:id] - end -end diff --git a/examples/ruby-on-rails-api/test/test_helper.rb b/examples/ruby-on-rails-api/test/test_helper.rb deleted file mode 100644 index a8302219d..000000000 --- a/examples/ruby-on-rails-api/test/test_helper.rb +++ /dev/null @@ -1,16 +0,0 @@ -ENV['RAILS_ENV'] ||= 'test' -require File.expand_path('../../config/environment', __FILE__) -require 'rails/test_help' -# Active Support -class ActiveSupport - # Test Case - class TestCase - # Setup all fixtures in test/fixtures/*.yml for all tests in alphabetical order. - # - # Note: You'll currently still have to declare fixtures explicitly in integration tests - # -- they do not yet inherit this setting - fixtures :all - - # Add more helper methods to be used by all tests here... - end -end diff --git a/lib/auth0.rb b/lib/auth0.rb index d888e2f69..f928617b9 100644 --- a/lib/auth0.rb +++ b/lib/auth0.rb @@ -1,9 +1,3573 @@ -require 'auth0/version' -require 'auth0/mixins' -require 'auth0/exception' -require 'auth0/algorithm' -require 'auth0/client' -require 'auth0_client' -# Namespace for ruby-auth0 logic -module Auth0 -end +# frozen_string_literal: true + +require "json" +require "net/http" +require "securerandom" + +require_relative "auth0/internal/json/serializable" +require_relative "auth0/internal/types/type" +require_relative "auth0/internal/types/utils" +require_relative "auth0/internal/types/union" +require_relative "auth0/internal/errors/constraint_error" +require_relative "auth0/internal/errors/type_error" +require_relative "auth0/internal/http/base_request" +require_relative "auth0/internal/json/request" +require_relative "auth0/internal/http/raw_client" +require_relative "auth0/internal/multipart/multipart_encoder" +require_relative "auth0/internal/multipart/multipart_form_data_part" +require_relative "auth0/internal/multipart/multipart_form_data" +require_relative "auth0/internal/multipart/multipart_request" +require_relative "auth0/internal/types/model/field" +require_relative "auth0/internal/types/model" +require_relative "auth0/internal/types/array" +require_relative "auth0/internal/types/boolean" +require_relative "auth0/internal/types/enum" +require_relative "auth0/internal/types/hash" +require_relative "auth0/internal/types/unknown" +require_relative "auth0/errors/api_error" +require_relative "auth0/errors/response_error" +require_relative "auth0/errors/client_error" +require_relative "auth0/errors/redirect_error" +require_relative "auth0/errors/server_error" +require_relative "auth0/errors/timeout_error" +require_relative "auth0/internal/iterators/item_iterator" +require_relative "auth0/internal/iterators/cursor_item_iterator" +require_relative "auth0/internal/iterators/offset_item_iterator" +require_relative "auth0/internal/iterators/cursor_page_iterator" +require_relative "auth0/internal/iterators/offset_page_iterator" +require_relative "auth0/types/event_stream_action_configuration" +require_relative "auth0/types/event_stream_action_destination_type_enum" +require_relative "auth0/types/event_stream_action_destination" +require_relative "auth0/types/event_stream_status_enum" +require_relative "auth0/types/event_stream_subscription" +require_relative "auth0/types/create_event_stream_action_request_content" +require_relative "auth0/types/event_stream_event_bridge_aws_region_enum" +require_relative "auth0/types/event_stream_event_bridge_configuration" +require_relative "auth0/types/event_stream_event_bridge_destination_type_enum" +require_relative "auth0/types/event_stream_event_bridge_destination" +require_relative "auth0/types/create_event_stream_event_bridge_request_content" +require_relative "auth0/types/event_stream_webhook_basic_auth_method_enum" +require_relative "auth0/types/event_stream_webhook_basic_auth" +require_relative "auth0/types/event_stream_webhook_bearer_auth_method_enum" +require_relative "auth0/types/event_stream_webhook_bearer_auth" +require_relative "auth0/types/event_stream_webhook_custom_header_auth_method_enum" +require_relative "auth0/types/event_stream_webhook_custom_header_auth" +require_relative "auth0/types/event_stream_webhook_authorization_response" +require_relative "auth0/types/event_stream_webhook_configuration" +require_relative "auth0/types/event_stream_webhook_destination_type_enum" +require_relative "auth0/types/event_stream_webhook_destination" +require_relative "auth0/types/create_event_stream_web_hook_request_content" +require_relative "auth0/event_streams/types/event_streams_create_request" +require_relative "auth0/types/get_job_import_user_error" +require_relative "auth0/types/get_job_user_error" +require_relative "auth0/types/get_job_error_response_content" +require_relative "auth0/types/get_job_generic_error_response_content" +require_relative "auth0/jobs/errors/types/errors_get_response" +require_relative "auth0/types/oauth_scope" +require_relative "auth0/types/too_many_requests_error_body_error" +require_relative "auth0/types/too_many_requests_error_body" +require_relative "auth0/types/not_found_error_body_error" +require_relative "auth0/types/not_found_error_body" +require_relative "auth0/types/action_binding_type_enum" +require_relative "auth0/types/action_trigger_type_enum" +require_relative "auth0/types/action_trigger_compatible_trigger" +require_relative "auth0/types/action_trigger" +require_relative "auth0/types/action_base" +require_relative "auth0/types/action_build_status_enum" +require_relative "auth0/types/action_error" +require_relative "auth0/types/action_module_reference" +require_relative "auth0/types/action_secret_response" +require_relative "auth0/types/action_version_build_status_enum" +require_relative "auth0/types/action_version_dependency" +require_relative "auth0/types/action_deployed_version" +require_relative "auth0/types/integration_feature_type_enum" +require_relative "auth0/types/integration_required_param_option" +require_relative "auth0/types/integration_required_param_type_enum" +require_relative "auth0/types/integration_required_param" +require_relative "auth0/types/integration_sem_ver" +require_relative "auth0/types/integration_release" +require_relative "auth0/types/integration" +require_relative "auth0/types/action" +require_relative "auth0/types/action_binding" +require_relative "auth0/types/action_binding_ref_type_enum" +require_relative "auth0/types/action_binding_ref" +require_relative "auth0/types/action_secret_request" +require_relative "auth0/types/action_binding_with_ref" +require_relative "auth0/types/action_execution_result" +require_relative "auth0/types/action_execution_status_enum" +require_relative "auth0/types/action_module_action" +require_relative "auth0/types/action_module_dependency" +require_relative "auth0/types/action_module_dependency_request" +require_relative "auth0/types/action_module_secret" +require_relative "auth0/types/action_module_list_item" +require_relative "auth0/types/action_module_secret_request" +require_relative "auth0/types/action_module_version" +require_relative "auth0/types/action_module_version_reference" +require_relative "auth0/types/action_version" +require_relative "auth0/types/acul_client_filter_by_id" +require_relative "auth0/types/acul_client_metadata" +require_relative "auth0/types/acul_client_filter_by_metadata" +require_relative "auth0/types/acul_client_filter" +require_relative "auth0/types/acul_context_enum" +require_relative "auth0/types/acul_context_configuration_item" +require_relative "auth0/types/acul_context_configuration" +require_relative "auth0/types/acul_domain_filter_by_id" +require_relative "auth0/types/acul_domain_metadata" +require_relative "auth0/types/acul_domain_filter_by_metadata" +require_relative "auth0/types/acul_domain_filter" +require_relative "auth0/types/acul_match_type_enum" +require_relative "auth0/types/acul_organization_filter_by_id" +require_relative "auth0/types/acul_organization_metadata" +require_relative "auth0/types/acul_organization_filter_by_metadata" +require_relative "auth0/types/acul_organization_filter" +require_relative "auth0/types/acul_filters" +require_relative "auth0/types/acul_head_tag_attributes" +require_relative "auth0/types/acul_head_tag_content" +require_relative "auth0/types/acul_head_tag" +require_relative "auth0/types/acul_rendering_mode_enum" +require_relative "auth0/types/prompt_group_name_enum" +require_relative "auth0/types/screen_group_name_enum" +require_relative "auth0/types/acul_configs_item" +require_relative "auth0/types/acul_configs" +require_relative "auth0/types/organization_connection_information" +require_relative "auth0/types/add_organization_connection_response_content" +require_relative "auth0/types/agent_metadata" +require_relative "auth0/types/agent_response_content" +require_relative "auth0/types/anomaly_ip_format" +require_relative "auth0/types/app_metadata" +require_relative "auth0/types/assessors_type_enum" +require_relative "auth0/types/organization_usage_enum" +require_relative "auth0/types/associate_organization_client_grant_response_content" +require_relative "auth0/types/async_approval_notifications_channels_enum" +require_relative "auth0/types/attack_protection_captcha_arkose_response_content" +require_relative "auth0/types/attack_protection_captcha_auth_challenge_request" +require_relative "auth0/types/attack_protection_captcha_auth_challenge_response_content" +require_relative "auth0/types/attack_protection_captcha_friendly_captcha_response_content" +require_relative "auth0/types/attack_protection_captcha_hcaptcha_response_content" +require_relative "auth0/types/attack_protection_captcha_provider_id" +require_relative "auth0/types/attack_protection_captcha_recaptcha_enterprise_response_content" +require_relative "auth0/types/attack_protection_captcha_recaptcha_v2response_content" +require_relative "auth0/types/attack_protection_captcha_simple_captcha_response_content" +require_relative "auth0/types/attack_protection_update_captcha_arkose" +require_relative "auth0/types/attack_protection_update_captcha_friendly_captcha" +require_relative "auth0/types/attack_protection_update_captcha_hcaptcha" +require_relative "auth0/types/attack_protection_update_captcha_recaptcha_enterprise" +require_relative "auth0/types/attack_protection_update_captcha_recaptcha_v2" +require_relative "auth0/types/authentication_method_type_enum" +require_relative "auth0/types/authentication_type_enum" +require_relative "auth0/types/bad_request_schema_error" +require_relative "auth0/types/bad_request_schema" +require_relative "auth0/types/bot_detection_ip_address_or_cidr_block" +require_relative "auth0/types/bot_detection_allowlist" +require_relative "auth0/types/bot_detection_challenge_policy_password_flow_enum" +require_relative "auth0/types/bot_detection_challenge_policy_password_reset_flow_enum" +require_relative "auth0/types/bot_detection_challenge_policy_passwordless_flow_enum" +require_relative "auth0/types/bot_detection_cidr_block" +require_relative "auth0/types/bot_detection_i_pv4" +require_relative "auth0/types/bot_detection_i_pv6" +require_relative "auth0/types/bot_detection_i_pv6cidr_block" +require_relative "auth0/types/bot_detection_level_enum" +require_relative "auth0/types/bot_detection_monitoring_mode_enabled" +require_relative "auth0/types/branding_page_background" +require_relative "auth0/types/branding_colors" +require_relative "auth0/types/branding_font" +require_relative "auth0/types/branding_theme_borders_buttons_style_enum" +require_relative "auth0/types/branding_theme_borders_inputs_style_enum" +require_relative "auth0/types/branding_theme_borders" +require_relative "auth0/types/branding_theme_colors_captcha_widget_theme_enum" +require_relative "auth0/types/branding_theme_colors" +require_relative "auth0/types/branding_theme_font_body_text" +require_relative "auth0/types/branding_theme_font_buttons_text" +require_relative "auth0/types/branding_theme_font_input_labels" +require_relative "auth0/types/branding_theme_font_links" +require_relative "auth0/types/branding_theme_font_links_style_enum" +require_relative "auth0/types/branding_theme_font_subtitle" +require_relative "auth0/types/branding_theme_font_title" +require_relative "auth0/types/branding_theme_fonts" +require_relative "auth0/types/branding_theme_identifiers_login_display_enum" +require_relative "auth0/types/branding_theme_identifiers_phone_display_formatting_enum" +require_relative "auth0/types/branding_theme_identifiers_phone_display_masking_enum" +require_relative "auth0/types/branding_theme_identifiers_phone_display" +require_relative "auth0/types/branding_theme_identifiers" +require_relative "auth0/types/branding_theme_page_background_page_layout_enum" +require_relative "auth0/types/branding_theme_page_background" +require_relative "auth0/types/branding_theme_widget_header_text_alignment_enum" +require_relative "auth0/types/branding_theme_widget_logo_position_enum" +require_relative "auth0/types/branding_theme_widget_social_buttons_layout_enum" +require_relative "auth0/types/branding_theme_widget" +require_relative "auth0/types/breached_password_detection_admin_notification_frequency_enum" +require_relative "auth0/types/breached_password_detection_method_enum" +require_relative "auth0/types/breached_password_detection_pre_change_password_shields_enum" +require_relative "auth0/types/breached_password_detection_pre_change_password_stage" +require_relative "auth0/types/breached_password_detection_pre_user_registration_shields_enum" +require_relative "auth0/types/breached_password_detection_pre_user_registration_stage" +require_relative "auth0/types/breached_password_detection_shields_enum" +require_relative "auth0/types/breached_password_detection_stage" +require_relative "auth0/types/brute_force_protection_mode_enum" +require_relative "auth0/types/brute_force_protection_shields_enum" +require_relative "auth0/types/bulk_update_acul_response_content" +require_relative "auth0/types/certificate_subject_dn_credential_type_enum" +require_relative "auth0/types/certificate_subject_dn_credential" +require_relative "auth0/types/identity_provider_only_auth0enum" +require_relative "auth0/types/change_password_ticket_identity" +require_relative "auth0/types/change_password_ticket_response_content" +require_relative "auth0/types/cimd_mapped_private_key_jwt_credential" +require_relative "auth0/types/cimd_mapped_client_authentication_methods_private_key_jwt" +require_relative "auth0/types/cimd_mapped_client_authentication_methods" +require_relative "auth0/types/cimd_mapped_client_fields" +require_relative "auth0/types/cimd_validation_result" +require_relative "auth0/types/client_addon_aws" +require_relative "auth0/types/client_addon_azure_blob" +require_relative "auth0/types/client_addon_azure_sb" +require_relative "auth0/types/client_addon_box" +require_relative "auth0/types/client_addon_cloud_bees" +require_relative "auth0/types/client_addon_concur" +require_relative "auth0/types/client_addon_dropbox" +require_relative "auth0/types/client_addon_echo_sign" +require_relative "auth0/types/client_addon_egnyte" +require_relative "auth0/types/client_addon_firebase" +require_relative "auth0/types/client_addon_layer" +require_relative "auth0/types/client_addon_mscrm" +require_relative "auth0/types/client_addon_new_relic" +require_relative "auth0/types/client_addon_oag" +require_relative "auth0/types/client_addon_office365" +require_relative "auth0/types/client_addon_rms" +require_relative "auth0/types/client_addon_saml_mapping" +require_relative "auth0/types/client_addon_saml" +require_relative "auth0/types/client_addon_sapapi" +require_relative "auth0/types/client_addon_sso_integration" +require_relative "auth0/types/client_addon_salesforce" +require_relative "auth0/types/client_addon_salesforce_api" +require_relative "auth0/types/client_addon_salesforce_sandbox_api" +require_relative "auth0/types/client_addon_sentry" +require_relative "auth0/types/client_addon_share_point_external_url" +require_relative "auth0/types/client_addon_share_point" +require_relative "auth0/types/client_addon_slack" +require_relative "auth0/types/client_addon_spring_cm" +require_relative "auth0/types/client_addon_wams" +require_relative "auth0/types/client_addon_ws_fed" +require_relative "auth0/types/client_addon_zendesk" +require_relative "auth0/types/client_addon_zoom" +require_relative "auth0/types/client_addons" +require_relative "auth0/types/client_app_type_enum" +require_relative "auth0/types/client_async_approval_notifications_channels_api_post_configuration" +require_relative "auth0/types/credential_id" +require_relative "auth0/types/client_authentication_method_private_key_jwt_credentials" +require_relative "auth0/types/client_authentication_method_private_key_jwt" +require_relative "auth0/types/client_authentication_method_self_signed_tls_client_auth_credentials" +require_relative "auth0/types/client_authentication_method_self_signed_tls_client_auth" +require_relative "auth0/types/client_authentication_method_tls_client_auth_credentials" +require_relative "auth0/types/client_authentication_method_tls_client_auth" +require_relative "auth0/types/client_authentication_method" +require_relative "auth0/types/client_compliance_level_enum" +require_relative "auth0/types/client_default_organization_flows_enum" +require_relative "auth0/types/client_default_organization" +require_relative "auth0/types/client_encryption_key" +require_relative "auth0/types/client_external_metadata_created_by_enum" +require_relative "auth0/types/client_external_metadata_type_enum" +require_relative "auth0/types/client_jwt_configuration_scopes" +require_relative "auth0/types/signing_algorithm_enum" +require_relative "auth0/types/client_jwt_configuration" +require_relative "auth0/types/client_metadata" +require_relative "auth0/types/client_mobile_android" +require_relative "auth0/types/client_mobilei_os" +require_relative "auth0/types/client_mobile" +require_relative "auth0/types/client_my_organization_configuration_allowed_strategies_enum" +require_relative "auth0/types/client_my_organization_deletion_behavior_enum" +require_relative "auth0/types/client_my_organization_response_configuration" +require_relative "auth0/types/client_oidc_backchannel_logout_initiators_enum" +require_relative "auth0/types/client_oidc_backchannel_logout_initiators_mode_enum" +require_relative "auth0/types/client_oidc_backchannel_logout_initiators" +require_relative "auth0/types/client_oidc_backchannel_logout_session_metadata" +require_relative "auth0/types/client_oidc_backchannel_logout_settings" +require_relative "auth0/types/client_organization_discovery_enum" +require_relative "auth0/types/client_organization_require_behavior_enum" +require_relative "auth0/types/client_organization_usage_enum" +require_relative "auth0/types/client_redirection_policy_enum" +require_relative "auth0/types/client_refresh_token_policy" +require_relative "auth0/types/refresh_token_expiration_type_enum" +require_relative "auth0/types/refresh_token_rotation_type_enum" +require_relative "auth0/types/client_refresh_token_configuration" +require_relative "auth0/types/client_session_transfer_allowed_authentication_methods_enum" +require_relative "auth0/types/client_session_transfer_delegation_device_binding_enum" +require_relative "auth0/types/client_session_transfer_delegation_configuration" +require_relative "auth0/types/client_session_transfer_device_binding_enum" +require_relative "auth0/types/client_session_transfer_configuration" +require_relative "auth0/types/client_signed_request_object_with_credential_id" +require_relative "auth0/types/client_signing_key" +require_relative "auth0/types/client_signing_keys" +require_relative "auth0/types/client_third_party_security_mode_enum" +require_relative "auth0/types/client_token_endpoint_auth_method_enum" +require_relative "auth0/types/client_token_exchange_type_enum" +require_relative "auth0/types/client_token_exchange_configuration" +require_relative "auth0/types/token_vault_privileged_access_grant" +require_relative "auth0/types/token_vault_privileged_access_ip_allowlist_entry" +require_relative "auth0/types/client_token_vault_privileged_access_with_credential_id" +require_relative "auth0/types/linked_client_configuration" +require_relative "auth0/types/express_configuration" +require_relative "auth0/types/fed_cm_login_google" +require_relative "auth0/types/fed_cm_login" +require_relative "auth0/types/identity_assertion_authorization_grant" +require_relative "auth0/types/native_social_login_apple" +require_relative "auth0/types/native_social_login_facebook" +require_relative "auth0/types/native_social_login_google" +require_relative "auth0/types/native_social_login" +require_relative "auth0/types/token_quota_client_credentials" +require_relative "auth0/types/token_quota" +require_relative "auth0/types/client" +require_relative "auth0/types/client_async_approval_notifications_channels_api_patch_configuration" +require_relative "auth0/types/public_key_credential_algorithm_enum" +require_relative "auth0/types/public_key_credential_type_enum" +require_relative "auth0/types/public_key_credential" +require_relative "auth0/types/client_create_authentication_method_private_key_jwt_credentials" +require_relative "auth0/types/client_create_authentication_method_private_key_jwt" +require_relative "auth0/types/client_create_authentication_method_tls_client_auth_credentials" +require_relative "auth0/types/client_create_authentication_method_tls_client_auth" +require_relative "auth0/types/x509certificate_credential_type_enum" +require_relative "auth0/types/x509certificate_credential" +require_relative "auth0/types/create_client_authentication_method_self_signed_tls_client_auth_credentials" +require_relative "auth0/types/create_client_authentication_method_self_signed_tls_client_auth" +require_relative "auth0/types/client_create_authentication_method" +require_relative "auth0/types/client_credential_algorithm_enum" +require_relative "auth0/types/client_credential_type_enum" +require_relative "auth0/types/client_credential" +require_relative "auth0/types/client_grant_allow_any_organization_enum" +require_relative "auth0/types/client_grant_default_for_enum" +require_relative "auth0/types/client_grant_organization_nullable_usage_enum" +require_relative "auth0/types/client_grant_organization_usage_enum" +require_relative "auth0/types/client_grant_subject_type_enum" +require_relative "auth0/types/client_grant_response_content" +require_relative "auth0/types/client_my_organization_patch_configuration" +require_relative "auth0/types/client_my_organization_post_configuration" +require_relative "auth0/types/client_organization_require_behavior_patch_enum" +require_relative "auth0/types/client_organization_usage_patch_enum" +require_relative "auth0/types/client_signed_request_object_with_public_key" +require_relative "auth0/types/client_token_endpoint_auth_method_or_null_enum" +require_relative "auth0/types/client_token_exchange_configuration_or_null" +require_relative "auth0/types/client_token_vault_privileged_access_with_public_key" +require_relative "auth0/types/conflict_schema_error" +require_relative "auth0/types/conflict_schema" +require_relative "auth0/types/connected_account_access_type_enum" +require_relative "auth0/types/connected_account" +require_relative "auth0/types/connection_https_url_with_http_fallback255" +require_relative "auth0/types/connection_access_token_urlo_auth1" +require_relative "auth0/types/connection_acr_values_supported" +require_relative "auth0/types/connection_admin_access_token_expires_in_google_apps" +require_relative "auth0/types/connection_admin_access_token_google_apps" +require_relative "auth0/types/connection_admin_refresh_token_google_apps" +require_relative "auth0/types/connection_agent_ipad" +require_relative "auth0/types/connection_agent_mode_ad" +require_relative "auth0/types/connection_agent_version_ad" +require_relative "auth0/types/connection_allowed_audiences_google_o_auth2" +require_relative "auth0/types/connection_api_behavior_enum" +require_relative "auth0/types/connection_api_enable_groups" +require_relative "auth0/types/connection_api_enable_groups_google_apps" +require_relative "auth0/types/connection_api_enable_users" +require_relative "auth0/types/connection_api_enable_users_google_apps" +require_relative "auth0/types/connection_app_domain_azure_ad" +require_relative "auth0/types/connection_assertion_decryption_algorithm_profile_enum" +require_relative "auth0/types/connection_assertion_decryption_settings" +require_relative "auth0/types/connection_attribute_map_attributes" +require_relative "auth0/types/connection_attribute_map_userinfo_scope" +require_relative "auth0/types/connection_mapping_mode_enum_oidc" +require_relative "auth0/types/connection_attribute_map_oidc" +require_relative "auth0/types/connection_mapping_mode_enum_okta" +require_relative "auth0/types/connection_attribute_map_okta" +require_relative "auth0/types/default_method_email_identifier_enum" +require_relative "auth0/types/default_method_phone_number_identifier_enum" +require_relative "auth0/types/email_attribute_identifier" +require_relative "auth0/types/signup_status_enum" +require_relative "auth0/types/signup_verification" +require_relative "auth0/types/signup_verified" +require_relative "auth0/types/verification_method_enum" +require_relative "auth0/types/email_attribute" +require_relative "auth0/types/phone_attribute_identifier" +require_relative "auth0/types/phone_attribute" +require_relative "auth0/types/signup_schema" +require_relative "auth0/types/username_allowed_types" +require_relative "auth0/types/username_attribute_identifier" +require_relative "auth0/types/username_validation" +require_relative "auth0/types/username_attribute" +require_relative "auth0/types/connection_attributes" +require_relative "auth0/types/connection_auth_params_additional_properties_o_auth2" +require_relative "auth0/types/connection_auth_params_email" +require_relative "auth0/types/connection_auth_params_map" +require_relative "auth0/types/connection_auth_params_o_auth2" +require_relative "auth0/types/connection_email_otp_authentication_method" +require_relative "auth0/types/connection_passkey_authentication_method" +require_relative "auth0/types/connection_signup_behavior_enum" +require_relative "auth0/types/connection_password_authentication_method" +require_relative "auth0/types/connection_phone_otp_authentication_method" +require_relative "auth0/types/connection_authentication_methods" +require_relative "auth0/types/connection_authentication_purpose" +require_relative "auth0/types/connection_authorization_endpoint" +require_relative "auth0/types/connection_base_url_exact" +require_relative "auth0/types/connection_brute_force_protection" +require_relative "auth0/types/connection_sha1thumbprint" +require_relative "auth0/types/connection_calculated_thumbprint_saml" +require_relative "auth0/types/connection_certs_ad" +require_relative "auth0/types/connection_claim_types_supported" +require_relative "auth0/types/connection_claims_locales_supported" +require_relative "auth0/types/connection_claims_parameter_supported" +require_relative "auth0/types/connection_claims_supported" +require_relative "auth0/types/connection_client_id_bitbucket" +require_relative "auth0/types/connection_client_id" +require_relative "auth0/types/connection_client_id_amazon" +require_relative "auth0/types/connection_client_id_azure_ad" +require_relative "auth0/types/connection_client_id_exact" +require_relative "auth0/types/connection_client_id_facebook" +require_relative "auth0/types/connection_client_id_google_apps" +require_relative "auth0/types/connection_client_id_google_o_auth2" +require_relative "auth0/types/connection_client_id_line" +require_relative "auth0/types/connection_client_id_linkedin" +require_relative "auth0/types/connection_client_id_o_auth1" +require_relative "auth0/types/connection_client_id_o_auth2" +require_relative "auth0/types/connection_client_id_oidc" +require_relative "auth0/types/connection_client_id_paypal" +require_relative "auth0/types/connection_client_id_salesforce" +require_relative "auth0/types/connection_client_id_windows_live" +require_relative "auth0/types/connection_options_idp_initiated_client_protocol_enum_saml" +require_relative "auth0/types/connection_client_protocol_saml" +require_relative "auth0/types/connection_client_secret" +require_relative "auth0/types/connection_client_secret_amazon" +require_relative "auth0/types/connection_client_secret_azure_ad" +require_relative "auth0/types/connection_client_secret_bitbucket" +require_relative "auth0/types/connection_client_secret_exact" +require_relative "auth0/types/connection_client_secret_facebook" +require_relative "auth0/types/connection_client_secret_google_apps" +require_relative "auth0/types/connection_client_secret_google_o_auth2" +require_relative "auth0/types/connection_client_secret_line" +require_relative "auth0/types/connection_client_secret_linkedin" +require_relative "auth0/types/connection_client_secret_o_auth1" +require_relative "auth0/types/connection_client_secret_o_auth2" +require_relative "auth0/types/connection_client_secret_oidc" +require_relative "auth0/types/connection_client_secret_paypal" +require_relative "auth0/types/connection_client_secret_salesforce" +require_relative "auth0/types/connection_client_secret_windows_live" +require_relative "auth0/types/connection_display_name" +require_relative "auth0/types/connection_enabled_clients" +require_relative "auth0/types/connection_is_domain_connection" +require_relative "auth0/types/connections_metadata" +require_relative "auth0/types/connection_common" +require_relative "auth0/types/connection_https_url_with_http_fallback" +require_relative "auth0/types/connection_community_base_url_salesforce" +require_relative "auth0/types/connection_configuration" +require_relative "auth0/types/connection_connected_accounts_purpose" +require_relative "auth0/types/connection_connected_accounts_purpose_xaa" +require_relative "auth0/types/connection_connection_settings_pkce_enum" +require_relative "auth0/types/connection_connection_settings" +require_relative "auth0/types/connection_cross_app_access_resource_app_status_enum" +require_relative "auth0/types/connection_cross_app_access_resource_app" +require_relative "auth0/types/connection_custom_headers_o_auth2" +require_relative "auth0/types/connection_custom_scripts" +require_relative "auth0/types/connection_debug_saml" +require_relative "auth0/types/connection_decryption_key_saml_cert" +require_relative "auth0/types/connection_decryption_key_saml" +require_relative "auth0/types/connection_destination_url_saml" +require_relative "auth0/types/connection_digest_algorithm_enum_saml" +require_relative "auth0/types/connection_digest_algorithm_saml" +require_relative "auth0/types/connection_disable_self_service_change_password" +require_relative "auth0/types/connection_disable_signup" +require_relative "auth0/types/connection_disable_signup_sms" +require_relative "auth0/types/connection_discovery_url" +require_relative "auth0/types/connection_display_values_supported" +require_relative "auth0/types/connection_domain_aliases_items_one" +require_relative "auth0/types/connection_domain_aliases" +require_relative "auth0/types/connection_domain_aliases_ad" +require_relative "auth0/types/connection_domain_aliases_azure_ad" +require_relative "auth0/types/connection_domain_aliases_saml" +require_relative "auth0/types/connection_domain_google_apps" +require_relative "auth0/types/connection_domain_okta" +require_relative "auth0/types/connection_dpop_signing_alg_enum" +require_relative "auth0/types/connection_dpop_signing_alg_values_supported" +require_relative "auth0/types/connection_email_body_email" +require_relative "auth0/types/connection_email_email_syntax" +require_relative "auth0/types/connection_email_from_email" +require_relative "auth0/types/connection_email_subject_email" +require_relative "auth0/types/connection_email_email" +require_relative "auth0/types/connection_enable_script_context" +require_relative "auth0/types/connection_enabled_client" +require_relative "auth0/types/connection_enabled_database_customization" +require_relative "auth0/types/connection_end_session_endpoint" +require_relative "auth0/types/connection_entity_id_saml" +require_relative "auth0/types/connection_ext_admin" +require_relative "auth0/types/connection_ext_agreed_terms" +require_relative "auth0/types/connection_ext_agreed_terms_google_apps" +require_relative "auth0/types/connection_ext_assigned_plans" +require_relative "auth0/types/connection_ext_groups" +require_relative "auth0/types/connection_ext_groups_azure_ad" +require_relative "auth0/types/connection_ext_groups_google_apps" +require_relative "auth0/types/connection_ext_is_admin_google_apps" +require_relative "auth0/types/connection_ext_is_suspended" +require_relative "auth0/types/connection_ext_is_suspended_google_apps" +require_relative "auth0/types/connection_ext_profile" +require_relative "auth0/types/connection_fields_map" +require_relative "auth0/types/connection_fields_map_saml_value" +require_relative "auth0/types/connection_fields_map_saml" +require_relative "auth0/types/connection_options" +require_relative "auth0/types/cross_app_access_requesting_app" +require_relative "auth0/types/cross_app_access_resource_app_status_enum" +require_relative "auth0/types/cross_app_access_resource_app" +require_relative "auth0/types/connection_for_list" +require_relative "auth0/types/connection_for_organization" +require_relative "auth0/types/connection_forward_req_info_sms" +require_relative "auth0/types/connection_scope_item" +require_relative "auth0/types/connection_scope_array" +require_relative "auth0/types/connection_freeform_scopes_amazon" +require_relative "auth0/types/connection_freeform_scopes_google_o_auth2" +require_relative "auth0/types/connection_freeform_scopes_linkedin" +require_relative "auth0/types/connection_freeform_scopes_paypal" +require_relative "auth0/types/connection_freeform_scopes_salesforce" +require_relative "auth0/types/connection_freeform_scopes_windows_live" +require_relative "auth0/types/connection_from_sms" +require_relative "auth0/types/connection_gateway_authentication" +require_relative "auth0/types/connection_gateway_authentication_audience_sms" +require_relative "auth0/types/connection_gateway_authentication_method_sms" +require_relative "auth0/types/connection_gateway_authentication_subject_sms" +require_relative "auth0/types/connection_gateway_authentication_sms" +require_relative "auth0/types/connection_gateway_url_sms" +require_relative "auth0/types/connection_global_token_revocation_jwt_iss_saml" +require_relative "auth0/types/connection_global_token_revocation_jwt_sub_saml" +require_relative "auth0/types/connection_grant_types_supported" +require_relative "auth0/types/connection_handle_login_from_social_google_apps" +require_relative "auth0/types/connection_https_url_with_http_fallback2048" +require_relative "auth0/types/connection_icon_url" +require_relative "auth0/types/connection_icon_url_adfs" +require_relative "auth0/types/connection_icon_url_azure_ad" +require_relative "auth0/types/connection_icon_url_google_apps" +require_relative "auth0/types/connection_icon_url_google_o_auth2" +require_relative "auth0/types/connection_icon_url_saml" +require_relative "auth0/types/connection_id" +require_relative "auth0/types/connection_id_token_encryption_alg_values_supported" +require_relative "auth0/types/connection_id_token_encryption_enc_values_supported" +require_relative "auth0/types/connection_id_token_session_expiry_supported" +require_relative "auth0/types/connection_id_token_signed_response_alg_enum" +require_relative "auth0/types/connection_id_token_signed_response_algs" +require_relative "auth0/types/connection_id_token_signing_alg_values_supported" +require_relative "auth0/types/connection_identifier_precedence_enum" +require_relative "auth0/types/connection_identifier_precedence" +require_relative "auth0/types/connection_identity_api_enum_azure_ad" +require_relative "auth0/types/connection_identity_api_azure_ad" +require_relative "auth0/types/connection_identity_provider_enum" +require_relative "auth0/types/connection_import_mode" +require_relative "auth0/types/connection_ips_ad" +require_relative "auth0/types/connection_issuer" +require_relative "auth0/types/connection_jwks_uri" +require_relative "auth0/types/connection_key_use_enum" +require_relative "auth0/types/connection_key" +require_relative "auth0/types/connection_max_groups_to_retrieve" +require_relative "auth0/types/connection_messaging_service_sid_sms" +require_relative "auth0/types/connection_metadata_url_saml" +require_relative "auth0/types/connection_metadata_xml" +require_relative "auth0/types/connection_metadata_xml_adfs" +require_relative "auth0/types/connection_metadata_xml_saml" +require_relative "auth0/types/connection_mfa" +require_relative "auth0/types/connection_name" +require_relative "auth0/types/connection_name_prefix_template" +require_relative "auth0/types/connection_non_persistent_attrs" +require_relative "auth0/types/connection_op_policy_uri" +require_relative "auth0/types/connection_op_tos_uri" +require_relative "auth0/types/connection_options_common" +require_relative "auth0/types/connection_set_user_root_attributes_enum" +require_relative "auth0/types/connection_sign_in_endpoint_ad" +require_relative "auth0/types/connection_tenant_domain_ad" +require_relative "auth0/types/connection_thumbprints_ad" +require_relative "auth0/types/connection_upstream_alias_enum" +require_relative "auth0/types/connection_upstream_alias" +require_relative "auth0/types/connection_upstream_value" +require_relative "auth0/types/connection_upstream_additional_properties" +require_relative "auth0/types/connection_upstream_params" +require_relative "auth0/types/connection_options_ad" +require_relative "auth0/types/connection_should_trust_email_verified_connection_enum" +require_relative "auth0/types/connection_sign_in_endpoint_adfs" +require_relative "auth0/types/connection_tenant_domain" +require_relative "auth0/types/connection_thumbprints" +require_relative "auth0/types/connection_options_adfs" +require_relative "auth0/types/connection_scope_amazon" +require_relative "auth0/types/connection_options_amazon" +require_relative "auth0/types/connection_options_apple" +require_relative "auth0/types/connection_passkey_challenge_ui_enum" +require_relative "auth0/types/connection_passkey_options" +require_relative "auth0/types/connection_password_complexity_options" +require_relative "auth0/types/connection_password_dictionary_options" +require_relative "auth0/types/connection_password_history_options" +require_relative "auth0/types/connection_password_no_personal_info_options" +require_relative "auth0/types/password_character_type_enum" +require_relative "auth0/types/password_character_type_rule_policy_enum" +require_relative "auth0/types/password_identical_characters_policy_enum" +require_relative "auth0/types/password_max_length_exceeded_policy_enum" +require_relative "auth0/types/password_sequential_characters_policy_enum" +require_relative "auth0/types/connection_password_options_complexity" +require_relative "auth0/types/password_default_dictionaries_enum" +require_relative "auth0/types/connection_password_options_dictionary" +require_relative "auth0/types/connection_password_options_history" +require_relative "auth0/types/connection_password_options_profile_data" +require_relative "auth0/types/connection_password_options" +require_relative "auth0/types/connection_password_policy_enum" +require_relative "auth0/types/connection_realm_fallback" +require_relative "auth0/types/connection_requires_username" +require_relative "auth0/types/connection_username_validation_options" +require_relative "auth0/types/connection_validation_options" +require_relative "auth0/types/connection_options_auth0" +require_relative "auth0/types/connection_options_auth0oidc" +require_relative "auth0/types/connection_scope_azure_ad" +require_relative "auth0/types/connection_tenant_domain_azure_ad_one" +require_relative "auth0/types/connection_tenant_id_azure_ad" +require_relative "auth0/types/connection_use_common_endpoint_azure_ad" +require_relative "auth0/types/connection_userid_attribute_enum_azure_ad" +require_relative "auth0/types/connection_userid_attribute_azure_ad" +require_relative "auth0/types/connection_waad_protocol_enum_azure_ad" +require_relative "auth0/types/connection_waad_protocol" +require_relative "auth0/types/connection_options_azure_ad" +require_relative "auth0/types/connection_scope_o_auth2" +require_relative "auth0/types/connection_options_o_auth2common" +require_relative "auth0/types/connection_options_baidu" +require_relative "auth0/types/connection_profile_bitbucket" +require_relative "auth0/types/connection_options_bitbucket" +require_relative "auth0/types/connection_options_bitly" +require_relative "auth0/types/connection_options_box" +require_relative "auth0/types/connection_options_client_id_github" +require_relative "auth0/types/connection_options_client_id_twitter" +require_relative "auth0/types/connection_options_client_secret_github" +require_relative "auth0/types/connection_options_client_secret_twitter" +require_relative "auth0/types/connection_registration_endpoint" +require_relative "auth0/types/connection_request_object_encryption_alg_values_supported" +require_relative "auth0/types/connection_request_object_encryption_enc_values_supported" +require_relative "auth0/types/connection_request_object_signing_alg_values_supported" +require_relative "auth0/types/connection_request_parameter_supported" +require_relative "auth0/types/connection_request_uri_parameter_supported" +require_relative "auth0/types/connection_require_request_uri_registration" +require_relative "auth0/types/connection_response_modes_supported" +require_relative "auth0/types/connection_response_types_supported" +require_relative "auth0/types/connection_scopes_supported" +require_relative "auth0/types/connection_service_documentation" +require_relative "auth0/types/connection_subject_types_supported" +require_relative "auth0/types/connection_token_endpoint" +require_relative "auth0/types/connection_token_endpoint_auth_methods_supported" +require_relative "auth0/types/connection_token_endpoint_auth_signing_alg_values_supported" +require_relative "auth0/types/connection_ui_locales_supported" +require_relative "auth0/types/connection_userinfo_encryption_alg_values_supported" +require_relative "auth0/types/connection_userinfo_encryption_enc_values_supported" +require_relative "auth0/types/connection_userinfo_endpoint" +require_relative "auth0/types/connection_userinfo_signing_alg_values_supported" +require_relative "auth0/types/connection_options_oidc_metadata" +require_relative "auth0/types/connection_scope_oidc" +require_relative "auth0/types/connection_send_back_channel_nonce" +require_relative "auth0/types/connection_token_endpoint_auth_method_enum" +require_relative "auth0/types/connection_token_endpoint_auth_signing_alg_enum" +require_relative "auth0/types/connection_token_endpoint_jwtca_aud_format_enum_oidc" +require_relative "auth0/types/connection_options_common_oidc" +require_relative "auth0/types/connection_options_idpinitiated_saml" +require_relative "auth0/types/connection_protocol_binding_enum_saml" +require_relative "auth0/types/connection_protocol_binding_saml" +require_relative "auth0/types/connection_sign_in_endpoint_saml" +require_relative "auth0/types/connection_sign_saml_request_saml" +require_relative "auth0/types/connection_signature_algorithm_enum_saml" +require_relative "auth0/types/connection_signature_algorithm_saml" +require_relative "auth0/types/connection_signing_certificate_der_saml" +require_relative "auth0/types/connection_tenant_domain_saml" +require_relative "auth0/types/connection_thumbprints_saml" +require_relative "auth0/types/connection_options_common_saml" +require_relative "auth0/types/connection_options_custom" +require_relative "auth0/types/connection_options_daccount" +require_relative "auth0/types/connection_options_deflate_saml" +require_relative "auth0/types/connection_options_dropbox" +require_relative "auth0/types/connection_options_dwolla" +require_relative "auth0/types/connection_totp_length_passwordless" +require_relative "auth0/types/connection_totp_length_email" +require_relative "auth0/types/connection_totp_time_step_passwordless" +require_relative "auth0/types/connection_totp_time_step_email" +require_relative "auth0/types/connection_totp_email" +require_relative "auth0/types/connection_options_email" +require_relative "auth0/types/connection_options_o_auth1common" +require_relative "auth0/types/connection_options_evernote" +require_relative "auth0/types/connection_options_exact" +require_relative "auth0/types/connection_scope_array_facebook" +require_relative "auth0/types/connection_scope_facebook" +require_relative "auth0/types/connection_upstream_params_facebook" +require_relative "auth0/types/connection_options_facebook" +require_relative "auth0/types/connection_options_fitbit" +require_relative "auth0/types/connection_options_freeform_scopes_github" +require_relative "auth0/types/connection_options_scope_github" +require_relative "auth0/types/connection_options_git_hub" +require_relative "auth0/types/connection_scope_item_google_apps" +require_relative "auth0/types/connection_scope_google_apps" +require_relative "auth0/types/connection_tenant_domain_google_apps" +require_relative "auth0/types/connection_options_google_apps" +require_relative "auth0/types/connection_scope_google_o_auth2" +require_relative "auth0/types/connection_options_google_o_auth2" +require_relative "auth0/types/connection_options_ip" +require_relative "auth0/types/connection_options_instagram" +require_relative "auth0/types/connection_options_line" +require_relative "auth0/types/connection_scope_linkedin" +require_relative "auth0/types/connection_strategy_version_enum_linkedin" +require_relative "auth0/types/connection_options_linkedin" +require_relative "auth0/types/connection_request_token_urlo_auth1" +require_relative "auth0/types/connection_scripts_o_auth1" +require_relative "auth0/types/connection_signature_method_o_auth1" +require_relative "auth0/types/connection_user_authorization_urlo_auth1" +require_relative "auth0/types/connection_options_o_auth1" +require_relative "auth0/types/connection_scripts_o_auth2" +require_relative "auth0/types/connection_options_o_auth2" +require_relative "auth0/types/connection_type_enum_oidc" +require_relative "auth0/types/connection_options_oidc" +require_relative "auth0/types/connection_options_office365" +require_relative "auth0/types/connection_type_enum_okta" +require_relative "auth0/types/connection_options_okta" +require_relative "auth0/types/connection_scope_paypal" +require_relative "auth0/types/connection_options_paypal" +require_relative "auth0/types/connection_ping_federate_base_url_ping_federate" +require_relative "auth0/types/connection_ping_federate_base_url" +require_relative "auth0/types/connection_signing_certificate_pem_ping_federate" +require_relative "auth0/types/connection_options_ping_federate" +require_relative "auth0/types/connection_options_planning_center" +require_relative "auth0/types/connection_options_protocol_enum_twitter" +require_relative "auth0/types/connection_recipient_url_saml" +require_relative "auth0/types/connection_request_template_saml" +require_relative "auth0/types/connection_sign_out_endpoint_saml" +require_relative "auth0/types/connection_signing_certificate_pem_saml" +require_relative "auth0/types/connection_signing_cert_saml" +require_relative "auth0/types/connection_signing_key_saml" +require_relative "auth0/types/connection_user_id_attribute_saml" +require_relative "auth0/types/connection_options_saml" +require_relative "auth0/types/connection_provider_enum_sms" +require_relative "auth0/types/connection_provider_sms" +require_relative "auth0/types/connection_template_sms" +require_relative "auth0/types/connection_template_syntax_enum_sms" +require_relative "auth0/types/connection_totp_length_sms" +require_relative "auth0/types/connection_totp_time_step_sms" +require_relative "auth0/types/connection_totp_sms" +require_relative "auth0/types/connection_twilio_sid_sms" +require_relative "auth0/types/connection_twilio_token_sms" +require_relative "auth0/types/connection_options_sms" +require_relative "auth0/types/connection_scope_salesforce" +require_relative "auth0/types/connection_options_salesforce" +require_relative "auth0/types/connection_options_salesforce_community" +require_relative "auth0/types/connection_options_scope_twitter" +require_relative "auth0/types/connection_options_sharepoint" +require_relative "auth0/types/connection_options_shop" +require_relative "auth0/types/connection_options_shopify" +require_relative "auth0/types/connection_options_soundcloud" +require_relative "auth0/types/connection_options_thirty_seven_signals" +require_relative "auth0/types/connection_options_twitter" +require_relative "auth0/types/connection_options_untappd" +require_relative "auth0/types/connection_options_vkontakte" +require_relative "auth0/types/connection_options_weibo" +require_relative "auth0/types/connection_scope_array_windows_live" +require_relative "auth0/types/connection_strategy_version_enum_windows_live" +require_relative "auth0/types/connection_options_windows_live" +require_relative "auth0/types/connection_options_wordpress" +require_relative "auth0/types/connection_options_yahoo" +require_relative "auth0/types/connection_options_yandex" +require_relative "auth0/types/connection_profile_config" +require_relative "auth0/types/enabled_features_enum" +require_relative "auth0/types/connection_profile_enabled_features" +require_relative "auth0/types/connection_profile_id" +require_relative "auth0/types/connection_profile_name" +require_relative "auth0/types/connection_profile_organization_assign_membership_on_login_enum" +require_relative "auth0/types/connection_profile_organization_show_as_button_enum" +require_relative "auth0/types/connection_profile_organization" +require_relative "auth0/types/connection_profile_strategy_overrides_connection_config" +require_relative "auth0/types/connection_profile_strategy_overrides_enabled_features" +require_relative "auth0/types/connection_profile_strategy_override" +require_relative "auth0/types/connection_profile_strategy_overrides" +require_relative "auth0/types/connection_profile" +require_relative "auth0/types/connection_profile_template" +require_relative "auth0/types/connection_profile_template_item" +require_relative "auth0/types/connections_discovery_url" +require_relative "auth0/types/connections_oidc_metadata" +require_relative "auth0/types/connection_properties_options" +require_relative "auth0/types/connection_provisioning_ticket_url" +require_relative "auth0/types/connection_purposes" +require_relative "auth0/types/connection_realms" +require_relative "auth0/types/create_connection_common" +require_relative "auth0/types/connection_response_common" +require_relative "auth0/types/connection_response_content_ad_strategy" +require_relative "auth0/types/connection_response_content_ad" +require_relative "auth0/types/connection_response_content_adfs_strategy" +require_relative "auth0/types/connection_show_as_button" +require_relative "auth0/types/connection_response_content_adfs" +require_relative "auth0/types/connection_response_content_amazon_strategy" +require_relative "auth0/types/connection_response_content_amazon" +require_relative "auth0/types/connection_response_content_apple_strategy" +require_relative "auth0/types/connection_response_content_apple" +require_relative "auth0/types/connection_response_content_auth0strategy" +require_relative "auth0/types/connection_response_content_auth0" +require_relative "auth0/types/connection_response_content_auth0oidc_strategy" +require_relative "auth0/types/connection_response_content_auth0oidc" +require_relative "auth0/types/connection_response_content_azure_ad_strategy" +require_relative "auth0/types/connection_response_content_azure_ad" +require_relative "auth0/types/connection_response_content_baidu_strategy" +require_relative "auth0/types/connection_response_content_baidu" +require_relative "auth0/types/connection_response_content_bitbucket_strategy" +require_relative "auth0/types/connection_response_content_bitbucket" +require_relative "auth0/types/connection_response_content_bitly_strategy" +require_relative "auth0/types/connection_response_content_bitly" +require_relative "auth0/types/connection_response_content_box_strategy" +require_relative "auth0/types/connection_response_content_box" +require_relative "auth0/types/connection_response_content_custom_strategy" +require_relative "auth0/types/connection_response_content_custom" +require_relative "auth0/types/connection_response_content_daccount_strategy" +require_relative "auth0/types/connection_response_content_daccount" +require_relative "auth0/types/connection_response_content_dropbox_strategy" +require_relative "auth0/types/connection_response_content_dropbox" +require_relative "auth0/types/connection_response_content_dwolla_strategy" +require_relative "auth0/types/connection_response_content_dwolla" +require_relative "auth0/types/connection_response_content_email_strategy" +require_relative "auth0/types/connection_response_content_email" +require_relative "auth0/types/connection_response_content_evernote_strategy" +require_relative "auth0/types/connection_response_content_evernote" +require_relative "auth0/types/connection_response_content_evernote_sandbox_strategy" +require_relative "auth0/types/connection_response_content_evernote_sandbox" +require_relative "auth0/types/connection_response_content_exact_strategy" +require_relative "auth0/types/connection_response_content_exact" +require_relative "auth0/types/connection_response_content_facebook_strategy" +require_relative "auth0/types/connection_response_content_facebook" +require_relative "auth0/types/connection_response_content_fitbit_strategy" +require_relative "auth0/types/connection_response_content_fitbit" +require_relative "auth0/types/connection_response_content_git_hub_strategy" +require_relative "auth0/types/connection_response_content_git_hub" +require_relative "auth0/types/connection_response_content_google_apps_strategy" +require_relative "auth0/types/connection_response_content_google_apps" +require_relative "auth0/types/connection_response_content_google_o_auth2strategy" +require_relative "auth0/types/connection_response_content_google_o_auth2" +require_relative "auth0/types/connection_response_content_ip_strategy" +require_relative "auth0/types/connection_response_content_ip" +require_relative "auth0/types/connection_response_content_instagram_strategy" +require_relative "auth0/types/connection_response_content_instagram" +require_relative "auth0/types/connection_response_content_line_strategy" +require_relative "auth0/types/connection_response_content_line" +require_relative "auth0/types/connection_response_content_linkedin_strategy" +require_relative "auth0/types/connection_response_content_linkedin" +require_relative "auth0/types/connection_response_content_o_auth1strategy" +require_relative "auth0/types/connection_response_content_o_auth1" +require_relative "auth0/types/connection_response_content_o_auth2strategy" +require_relative "auth0/types/connection_response_content_o_auth2" +require_relative "auth0/types/connection_response_content_oidc_strategy" +require_relative "auth0/types/connection_response_content_oidc" +require_relative "auth0/types/connection_response_content_office365strategy" +require_relative "auth0/types/connection_response_content_office365" +require_relative "auth0/types/connection_response_content_okta_strategy" +require_relative "auth0/types/connection_response_content_okta" +require_relative "auth0/types/connection_response_content_paypal_strategy" +require_relative "auth0/types/connection_response_content_paypal" +require_relative "auth0/types/connection_response_content_paypal_sandbox_strategy" +require_relative "auth0/types/connection_response_content_paypal_sandbox" +require_relative "auth0/types/connection_response_content_ping_federate_strategy" +require_relative "auth0/types/connection_response_content_ping_federate" +require_relative "auth0/types/connection_response_content_planning_center_strategy" +require_relative "auth0/types/connection_response_content_planning_center" +require_relative "auth0/types/connection_response_content_saml_strategy" +require_relative "auth0/types/connection_response_content_saml" +require_relative "auth0/types/connection_response_content_sms_strategy" +require_relative "auth0/types/connection_response_content_sms" +require_relative "auth0/types/connection_response_content_salesforce_strategy" +require_relative "auth0/types/connection_response_content_salesforce" +require_relative "auth0/types/connection_response_content_salesforce_community_strategy" +require_relative "auth0/types/connection_response_content_salesforce_community" +require_relative "auth0/types/connection_response_content_salesforce_sandbox_strategy" +require_relative "auth0/types/connection_response_content_salesforce_sandbox" +require_relative "auth0/types/connection_response_content_sharepoint_strategy" +require_relative "auth0/types/connection_response_content_sharepoint" +require_relative "auth0/types/connection_response_content_shop_strategy" +require_relative "auth0/types/connection_response_content_shop" +require_relative "auth0/types/connection_response_content_shopify_strategy" +require_relative "auth0/types/connection_response_content_shopify" +require_relative "auth0/types/connection_response_content_soundcloud_strategy" +require_relative "auth0/types/connection_response_content_soundcloud" +require_relative "auth0/types/connection_response_content_thirty_seven_signals_strategy" +require_relative "auth0/types/connection_response_content_thirty_seven_signals" +require_relative "auth0/types/connection_response_content_twitter_strategy" +require_relative "auth0/types/connection_response_content_twitter" +require_relative "auth0/types/connection_response_content_untappd_strategy" +require_relative "auth0/types/connection_response_content_untappd" +require_relative "auth0/types/connection_response_content_vkontakte_strategy" +require_relative "auth0/types/connection_response_content_vkontakte" +require_relative "auth0/types/connection_response_content_weibo_strategy" +require_relative "auth0/types/connection_response_content_weibo" +require_relative "auth0/types/connection_response_content_windows_live_strategy" +require_relative "auth0/types/connection_response_content_windows_live" +require_relative "auth0/types/connection_response_content_wordpress_strategy" +require_relative "auth0/types/connection_response_content_wordpress" +require_relative "auth0/types/connection_response_content_yahoo_strategy" +require_relative "auth0/types/connection_response_content_yahoo" +require_relative "auth0/types/connection_response_content_yandex_strategy" +require_relative "auth0/types/connection_response_content_yandex" +require_relative "auth0/types/connection_strategy_enum" +require_relative "auth0/types/csp_directives" +require_relative "auth0/types/csp_flag" +require_relative "auth0/types/csp_flags" +require_relative "auth0/types/csp_policy_mode" +require_relative "auth0/types/csp_policy_reporting" +require_relative "auth0/types/csp_policy" +require_relative "auth0/types/csp_policies" +require_relative "auth0/types/csp_report_to_endpoint" +require_relative "auth0/types/csp_report_to_endpoints" +require_relative "auth0/types/csp_report_to" +require_relative "auth0/types/csp_reporting_endpoints" +require_relative "auth0/types/csp_reporting_infrastructure" +require_relative "auth0/types/content_security_policy_config" +require_relative "auth0/types/create_action_module_response_content" +require_relative "auth0/types/create_action_module_version_response_content" +require_relative "auth0/types/create_action_response_content" +require_relative "auth0/types/custom_provider_delivery_method_enum" +require_relative "auth0/types/custom_provider_configuration" +require_relative "auth0/types/phone_provider_channel_enum" +require_relative "auth0/types/twilio_provider_delivery_method_enum" +require_relative "auth0/types/twilio_provider_configuration" +require_relative "auth0/types/phone_provider_configuration" +require_relative "auth0/types/phone_provider_name_enum" +require_relative "auth0/types/create_branding_phone_provider_response_content" +require_relative "auth0/types/create_branding_theme_response_content" +require_relative "auth0/types/create_client_grant_response_content" +require_relative "auth0/types/create_client_response_content" +require_relative "auth0/types/create_connection_profile_response_content" +require_relative "auth0/types/create_connection_request_content_ad_strategy" +require_relative "auth0/types/create_connection_request_content_ad" +require_relative "auth0/types/create_connection_request_content_adfs_strategy" +require_relative "auth0/types/create_connection_request_content_adfs" +require_relative "auth0/types/create_connection_request_content_amazon_strategy" +require_relative "auth0/types/create_connection_request_content_amazon" +require_relative "auth0/types/create_connection_request_content_apple_strategy" +require_relative "auth0/types/create_connection_request_content_apple" +require_relative "auth0/types/create_connection_request_content_auth0strategy" +require_relative "auth0/types/create_connection_request_content_auth0" +require_relative "auth0/types/create_connection_request_content_auth0oidc_strategy" +require_relative "auth0/types/create_connection_request_content_auth0oidc" +require_relative "auth0/types/create_connection_request_content_azure_ad_strategy" +require_relative "auth0/types/create_connection_request_content_azure_ad" +require_relative "auth0/types/create_connection_request_content_baidu_strategy" +require_relative "auth0/types/create_connection_request_content_baidu" +require_relative "auth0/types/create_connection_request_content_bitbucket_strategy" +require_relative "auth0/types/create_connection_request_content_bitbucket" +require_relative "auth0/types/create_connection_request_content_bitly_strategy" +require_relative "auth0/types/create_connection_request_content_bitly" +require_relative "auth0/types/create_connection_request_content_box_strategy" +require_relative "auth0/types/create_connection_request_content_box" +require_relative "auth0/types/create_connection_request_content_custom_strategy" +require_relative "auth0/types/create_connection_request_content_custom" +require_relative "auth0/types/create_connection_request_content_daccount_strategy" +require_relative "auth0/types/create_connection_request_content_daccount" +require_relative "auth0/types/create_connection_request_content_dropbox_strategy" +require_relative "auth0/types/create_connection_request_content_dropbox" +require_relative "auth0/types/create_connection_request_content_dwolla_strategy" +require_relative "auth0/types/create_connection_request_content_dwolla" +require_relative "auth0/types/create_connection_request_content_email_strategy" +require_relative "auth0/types/create_connection_request_content_email" +require_relative "auth0/types/create_connection_request_content_evernote_strategy" +require_relative "auth0/types/create_connection_request_content_evernote" +require_relative "auth0/types/create_connection_request_content_evernote_sandbox_strategy" +require_relative "auth0/types/create_connection_request_content_evernote_sandbox" +require_relative "auth0/types/create_connection_request_content_exact_strategy" +require_relative "auth0/types/create_connection_request_content_exact" +require_relative "auth0/types/create_connection_request_content_facebook_strategy" +require_relative "auth0/types/create_connection_request_content_facebook" +require_relative "auth0/types/create_connection_request_content_fitbit_strategy" +require_relative "auth0/types/create_connection_request_content_fitbit" +require_relative "auth0/types/create_connection_request_content_git_hub_strategy" +require_relative "auth0/types/create_connection_request_content_git_hub" +require_relative "auth0/types/create_connection_request_content_google_apps_strategy" +require_relative "auth0/types/create_connection_request_content_google_apps" +require_relative "auth0/types/create_connection_request_content_google_o_auth2strategy" +require_relative "auth0/types/create_connection_request_content_google_o_auth2" +require_relative "auth0/types/create_connection_request_content_ip_strategy" +require_relative "auth0/types/create_connection_request_content_ip" +require_relative "auth0/types/create_connection_request_content_instagram_strategy" +require_relative "auth0/types/create_connection_request_content_instagram" +require_relative "auth0/types/create_connection_request_content_line_strategy" +require_relative "auth0/types/create_connection_request_content_line" +require_relative "auth0/types/create_connection_request_content_linkedin_strategy" +require_relative "auth0/types/create_connection_request_content_linkedin" +require_relative "auth0/types/create_connection_request_content_o_auth1strategy" +require_relative "auth0/types/create_connection_request_content_o_auth1" +require_relative "auth0/types/create_connection_request_content_o_auth2strategy" +require_relative "auth0/types/create_connection_request_content_o_auth2" +require_relative "auth0/types/create_connection_request_content_oidc_strategy" +require_relative "auth0/types/create_connection_request_content_oidc" +require_relative "auth0/types/create_connection_request_content_office365strategy" +require_relative "auth0/types/create_connection_request_content_office365" +require_relative "auth0/types/create_connection_request_content_okta_strategy" +require_relative "auth0/types/create_connection_request_content_okta" +require_relative "auth0/types/create_connection_request_content_paypal_strategy" +require_relative "auth0/types/create_connection_request_content_paypal" +require_relative "auth0/types/create_connection_request_content_paypal_sandbox_strategy" +require_relative "auth0/types/create_connection_request_content_paypal_sandbox" +require_relative "auth0/types/create_connection_request_content_ping_federate_strategy" +require_relative "auth0/types/create_connection_request_content_ping_federate" +require_relative "auth0/types/create_connection_request_content_planning_center_strategy" +require_relative "auth0/types/create_connection_request_content_planning_center" +require_relative "auth0/types/create_connection_request_content_saml_strategy" +require_relative "auth0/types/create_connection_request_content_saml" +require_relative "auth0/types/create_connection_request_content_sms_strategy" +require_relative "auth0/types/create_connection_request_content_sms" +require_relative "auth0/types/create_connection_request_content_salesforce_strategy" +require_relative "auth0/types/create_connection_request_content_salesforce" +require_relative "auth0/types/create_connection_request_content_salesforce_community_strategy" +require_relative "auth0/types/create_connection_request_content_salesforce_community" +require_relative "auth0/types/create_connection_request_content_salesforce_sandbox_strategy" +require_relative "auth0/types/create_connection_request_content_salesforce_sandbox" +require_relative "auth0/types/create_connection_request_content_sharepoint_strategy" +require_relative "auth0/types/create_connection_request_content_sharepoint" +require_relative "auth0/types/create_connection_request_content_shop_strategy" +require_relative "auth0/types/create_connection_request_content_shop" +require_relative "auth0/types/create_connection_request_content_shopify_strategy" +require_relative "auth0/types/create_connection_request_content_shopify" +require_relative "auth0/types/create_connection_request_content_soundcloud_strategy" +require_relative "auth0/types/create_connection_request_content_soundcloud" +require_relative "auth0/types/create_connection_request_content_thirty_seven_signals_strategy" +require_relative "auth0/types/create_connection_request_content_thirty_seven_signals" +require_relative "auth0/types/create_connection_request_content_twitter_strategy" +require_relative "auth0/types/create_connection_request_content_twitter" +require_relative "auth0/types/create_connection_request_content_untappd_strategy" +require_relative "auth0/types/create_connection_request_content_untappd" +require_relative "auth0/types/create_connection_request_content_vkontakte_strategy" +require_relative "auth0/types/create_connection_request_content_vkontakte" +require_relative "auth0/types/create_connection_request_content_weibo_strategy" +require_relative "auth0/types/create_connection_request_content_weibo" +require_relative "auth0/types/create_connection_request_content_windows_live_strategy" +require_relative "auth0/types/create_connection_request_content_windows_live" +require_relative "auth0/types/create_connection_request_content_wordpress_strategy" +require_relative "auth0/types/create_connection_request_content_wordpress" +require_relative "auth0/types/create_connection_request_content_yahoo_strategy" +require_relative "auth0/types/create_connection_request_content_yahoo" +require_relative "auth0/types/create_connection_request_content_yandex_strategy" +require_relative "auth0/types/create_connection_request_content_yandex" +require_relative "auth0/types/create_connection_response_content" +require_relative "auth0/types/create_cross_app_access_resource_app" +require_relative "auth0/types/custom_domain_status_filter_enum" +require_relative "auth0/types/custom_domain_type_enum" +require_relative "auth0/types/domain_certificate_authority_enum" +require_relative "auth0/types/domain_certificate_status_enum" +require_relative "auth0/types/domain_certificate" +require_relative "auth0/types/domain_metadata" +require_relative "auth0/types/domain_verification_method_name_enum" +require_relative "auth0/types/domain_verification_method" +require_relative "auth0/types/domain_verification_status_enum" +require_relative "auth0/types/domain_verification" +require_relative "auth0/types/create_custom_domain_response_content" +require_relative "auth0/types/directory_provisioning_mapping_item" +require_relative "auth0/types/synchronize_groups_enum" +require_relative "auth0/types/create_directory_provisioning_request_content" +require_relative "auth0/types/create_directory_provisioning_response_content" +require_relative "auth0/types/create_directory_synchronization_response_content" +require_relative "auth0/types/email_provider_credentials" +require_relative "auth0/types/email_provider_settings" +require_relative "auth0/types/create_email_provider_response_content" +require_relative "auth0/types/email_template_name_enum" +require_relative "auth0/types/create_email_template_response_content" +require_relative "auth0/types/encryption_key_public_wrapping_algorithm" +require_relative "auth0/types/create_encryption_key_public_wrapping_response_content" +require_relative "auth0/types/encryption_key_state" +require_relative "auth0/types/encryption_key_type" +require_relative "auth0/types/create_encryption_key_response_content" +require_relative "auth0/types/create_encryption_key_type" +require_relative "auth0/types/event_stream_delivery_status_enum" +require_relative "auth0/types/event_stream_event_type_enum" +require_relative "auth0/types/create_event_stream_redelivery_response_content" +require_relative "auth0/types/event_stream_action_response_content" +require_relative "auth0/types/event_stream_event_bridge_response_content" +require_relative "auth0/types/event_stream_webhook_response_content" +require_relative "auth0/types/create_event_stream_response_content" +require_relative "auth0/types/event_stream_cloud_event_data" +require_relative "auth0/types/event_stream_cloud_event" +require_relative "auth0/types/event_stream_delivery_attempt" +require_relative "auth0/types/event_stream_delivery_event_type_enum" +require_relative "auth0/types/create_event_stream_test_event_response_content" +require_relative "auth0/types/create_export_users_fields" +require_relative "auth0/types/job_file_format_enum" +require_relative "auth0/types/create_export_users_response_content" +require_relative "auth0/types/flow_action_activecampaign_list_contacts_type" +require_relative "auth0/types/flow_action_activecampaign_list_contacts_action" +require_relative "auth0/types/flow_action_activecampaign_list_contacts_params" +require_relative "auth0/types/flow_action_activecampaign_list_contacts" +require_relative "auth0/types/flow_action_activecampaign_upsert_contact_type" +require_relative "auth0/types/flow_action_activecampaign_upsert_contact_action" +require_relative "auth0/types/flow_action_activecampaign_upsert_contact_params_custom_fields" +require_relative "auth0/types/flow_action_activecampaign_upsert_contact_params" +require_relative "auth0/types/flow_action_activecampaign_upsert_contact" +require_relative "auth0/types/flow_action_activecampaign" +require_relative "auth0/types/flow_action_airtable_create_record_type" +require_relative "auth0/types/flow_action_airtable_create_record_action" +require_relative "auth0/types/flow_action_airtable_create_record_params_fields" +require_relative "auth0/types/flow_action_airtable_create_record_params" +require_relative "auth0/types/flow_action_airtable_create_record" +require_relative "auth0/types/flow_action_airtable_list_records_type" +require_relative "auth0/types/flow_action_airtable_list_records_action" +require_relative "auth0/types/flow_action_airtable_list_records_params" +require_relative "auth0/types/flow_action_airtable_list_records" +require_relative "auth0/types/flow_action_airtable_update_record_type" +require_relative "auth0/types/flow_action_airtable_update_record_action" +require_relative "auth0/types/flow_action_airtable_update_record_params_fields" +require_relative "auth0/types/flow_action_airtable_update_record_params" +require_relative "auth0/types/flow_action_airtable_update_record" +require_relative "auth0/types/flow_action_airtable" +require_relative "auth0/types/flow_action_auth0create_user_type" +require_relative "auth0/types/flow_action_auth0create_user_action" +require_relative "auth0/types/flow_action_auth0create_user_params_payload" +require_relative "auth0/types/flow_action_auth0create_user_params" +require_relative "auth0/types/flow_action_auth0create_user" +require_relative "auth0/types/flow_action_auth0get_user_type" +require_relative "auth0/types/flow_action_auth0get_user_action" +require_relative "auth0/types/flow_action_auth0get_user_params" +require_relative "auth0/types/flow_action_auth0get_user" +require_relative "auth0/types/flow_action_auth0make_call_type" +require_relative "auth0/types/flow_action_auth0make_call_action" +require_relative "auth0/types/flow_action_auth0make_call_params_custom_vars" +require_relative "auth0/types/flow_action_auth0make_call_params" +require_relative "auth0/types/flow_action_auth0make_call" +require_relative "auth0/types/flow_action_auth0send_email_type" +require_relative "auth0/types/flow_action_auth0send_email_action" +require_relative "auth0/types/flow_action_auth0send_email_params_from_email" +require_relative "auth0/types/flow_action_auth0send_email_params_from" +require_relative "auth0/types/flow_action_auth0send_email_params_to" +require_relative "auth0/types/flow_action_auth0send_request_params_custom_vars" +require_relative "auth0/types/flow_action_auth0send_email_params" +require_relative "auth0/types/flow_action_auth0send_email" +require_relative "auth0/types/flow_action_auth0send_request_type" +require_relative "auth0/types/flow_action_auth0send_request_action" +require_relative "auth0/types/flow_action_auth0send_request_params_method" +require_relative "auth0/types/flow_action_auth0send_request_params_headers" +require_relative "auth0/types/flow_action_auth0send_request_params_payload_object" +require_relative "auth0/types/flow_action_auth0send_request_params_payload" +require_relative "auth0/types/flow_action_auth0send_request_params_query_params_value" +require_relative "auth0/types/flow_action_auth0send_request_params_query_params" +require_relative "auth0/types/flow_action_auth0send_request_params" +require_relative "auth0/types/flow_action_auth0send_request" +require_relative "auth0/types/flow_action_auth0send_sms_type" +require_relative "auth0/types/flow_action_auth0send_sms_action" +require_relative "auth0/types/flow_action_auth0send_sms_params_custom_vars" +require_relative "auth0/types/flow_action_auth0send_sms_params" +require_relative "auth0/types/flow_action_auth0send_sms" +require_relative "auth0/types/flow_action_auth0update_user_type" +require_relative "auth0/types/flow_action_auth0update_user_action" +require_relative "auth0/types/flow_action_auth0update_user_params_changes" +require_relative "auth0/types/flow_action_auth0update_user_params" +require_relative "auth0/types/flow_action_auth0update_user" +require_relative "auth0/types/flow_action_auth0" +require_relative "auth0/types/flow_action_bigquery_insert_rows_type" +require_relative "auth0/types/flow_action_bigquery_insert_rows_action" +require_relative "auth0/types/flow_action_bigquery_insert_rows_params_data" +require_relative "auth0/types/flow_action_bigquery_insert_rows_params" +require_relative "auth0/types/flow_action_bigquery_insert_rows" +require_relative "auth0/types/flow_action_bigquery" +require_relative "auth0/types/flow_action_clearbit_find_company_type" +require_relative "auth0/types/flow_action_clearbit_find_company_action" +require_relative "auth0/types/flow_action_clearbit_find_company_params" +require_relative "auth0/types/flow_action_clearbit_find_company" +require_relative "auth0/types/flow_action_clearbit_find_person_type" +require_relative "auth0/types/flow_action_clearbit_find_person_action" +require_relative "auth0/types/flow_action_clearbit_find_person_params" +require_relative "auth0/types/flow_action_clearbit_find_person" +require_relative "auth0/types/flow_action_clearbit" +require_relative "auth0/types/flow_action_email_verify_email_type" +require_relative "auth0/types/flow_action_email_verify_email_action" +require_relative "auth0/types/flow_action_email_verify_email_params_rules" +require_relative "auth0/types/flow_action_email_verify_email_params" +require_relative "auth0/types/flow_action_email_verify_email" +require_relative "auth0/types/flow_action_email" +require_relative "auth0/types/flow_action_flow_boolean_condition_type" +require_relative "auth0/types/flow_action_flow_boolean_condition_action" +require_relative "auth0/types/flow_action_flow_delay_flow_type" +require_relative "auth0/types/flow_action_flow_delay_flow_action" +require_relative "auth0/types/flow_action_flow_delay_flow_params_units" +require_relative "auth0/types/flow_action_flow_delay_flow_params_number" +require_relative "auth0/types/flow_action_flow_delay_flow_params" +require_relative "auth0/types/flow_action_flow_delay_flow" +require_relative "auth0/types/flow_action_flow_do_nothing_type" +require_relative "auth0/types/flow_action_flow_do_nothing_action" +require_relative "auth0/types/flow_action_flow_do_nothing_params" +require_relative "auth0/types/flow_action_flow_do_nothing" +require_relative "auth0/types/flow_action_flow_error_message_type" +require_relative "auth0/types/flow_action_flow_error_message_action" +require_relative "auth0/types/flow_action_flow_error_message_params" +require_relative "auth0/types/flow_action_flow_error_message" +require_relative "auth0/types/flow_action_flow_map_value_type" +require_relative "auth0/types/flow_action_flow_map_value_action" +require_relative "auth0/types/flow_action_flow_map_value_params_cases" +require_relative "auth0/types/flow_action_flow_map_value_params_fallback_object" +require_relative "auth0/types/flow_action_flow_map_value_params_fallback" +require_relative "auth0/types/flow_action_flow_map_value_params_input" +require_relative "auth0/types/flow_action_flow_map_value_params" +require_relative "auth0/types/flow_action_flow_map_value" +require_relative "auth0/types/flow_action_flow_return_json_type" +require_relative "auth0/types/flow_action_flow_return_json_action" +require_relative "auth0/types/flow_action_flow_return_json_params_payload_object" +require_relative "auth0/types/flow_action_flow_return_json_params_payload" +require_relative "auth0/types/flow_action_flow_return_json_params" +require_relative "auth0/types/flow_action_flow_return_json" +require_relative "auth0/types/flow_action_flow_store_vars_type" +require_relative "auth0/types/flow_action_flow_store_vars_action" +require_relative "auth0/types/flow_action_flow_store_vars_params_vars" +require_relative "auth0/types/flow_action_flow_store_vars_params" +require_relative "auth0/types/flow_action_flow_store_vars" +require_relative "auth0/types/flow_action_google_sheets_add_row_type" +require_relative "auth0/types/flow_action_google_sheets_add_row_action" +require_relative "auth0/types/flow_action_google_sheets_add_row_params_sheet_id" +require_relative "auth0/types/flow_action_google_sheets_add_row_params_values" +require_relative "auth0/types/flow_action_google_sheets_add_row_params" +require_relative "auth0/types/flow_action_google_sheets_add_row" +require_relative "auth0/types/flow_action_google_sheets" +require_relative "auth0/types/flow_action_http_send_request_type" +require_relative "auth0/types/flow_action_http_send_request_action" +require_relative "auth0/types/flow_action_http_send_request_params_method" +require_relative "auth0/types/flow_action_http_send_request_params_content_type" +require_relative "auth0/types/flow_action_http_send_request_params_basic_auth" +require_relative "auth0/types/flow_action_http_send_request_params_headers" +require_relative "auth0/types/flow_action_http_send_request_params_payload_object" +require_relative "auth0/types/flow_action_http_send_request_params_payload" +require_relative "auth0/types/flow_action_http_send_request_params_query_params_value" +require_relative "auth0/types/flow_action_http_send_request_params_query_params" +require_relative "auth0/types/flow_action_http_send_request_params" +require_relative "auth0/types/flow_action_http_send_request" +require_relative "auth0/types/flow_action_http" +require_relative "auth0/types/flow_action_hubspot_enroll_contact_type" +require_relative "auth0/types/flow_action_hubspot_enroll_contact_action" +require_relative "auth0/types/flow_action_hubspot_enroll_contact_params_workflow_id" +require_relative "auth0/types/flow_action_hubspot_enroll_contact_params" +require_relative "auth0/types/flow_action_hubspot_enroll_contact" +require_relative "auth0/types/flow_action_hubspot_get_contact_type" +require_relative "auth0/types/flow_action_hubspot_get_contact_action" +require_relative "auth0/types/flow_action_hubspot_get_contact_params" +require_relative "auth0/types/flow_action_hubspot_get_contact" +require_relative "auth0/types/flow_action_hubspot_upsert_contact_type" +require_relative "auth0/types/flow_action_hubspot_upsert_contact_action" +require_relative "auth0/types/flow_action_hubspot_upsert_contact_params_property" +require_relative "auth0/types/flow_action_hubspot_upsert_contact_params" +require_relative "auth0/types/flow_action_hubspot_upsert_contact" +require_relative "auth0/types/flow_action_hubspot" +require_relative "auth0/types/flow_action_json_create_json_type" +require_relative "auth0/types/flow_action_json_create_json_action" +require_relative "auth0/types/flow_action_json_create_json_params_object" +require_relative "auth0/types/flow_action_json_create_json_params" +require_relative "auth0/types/flow_action_json_create_json" +require_relative "auth0/types/flow_action_json_parse_json_type" +require_relative "auth0/types/flow_action_json_parse_json_action" +require_relative "auth0/types/flow_action_json_parse_json_params" +require_relative "auth0/types/flow_action_json_parse_json" +require_relative "auth0/types/flow_action_json_serialize_json_type" +require_relative "auth0/types/flow_action_json_serialize_json_action" +require_relative "auth0/types/flow_action_json_serialize_json_params_object_object" +require_relative "auth0/types/flow_action_json_serialize_json_params_object" +require_relative "auth0/types/flow_action_json_serialize_json_params" +require_relative "auth0/types/flow_action_json_serialize_json" +require_relative "auth0/types/flow_action_json" +require_relative "auth0/types/flow_action_jwt_decode_jwt_type" +require_relative "auth0/types/flow_action_jwt_decode_jwt_action" +require_relative "auth0/types/flow_action_jwt_decode_jwt_params" +require_relative "auth0/types/flow_action_jwt_decode_jwt" +require_relative "auth0/types/flow_action_jwt_sign_jwt_type" +require_relative "auth0/types/flow_action_jwt_sign_jwt_action" +require_relative "auth0/types/flow_action_jwt_sign_jwt_params_payload" +require_relative "auth0/types/flow_action_jwt_sign_jwt_params" +require_relative "auth0/types/flow_action_jwt_sign_jwt" +require_relative "auth0/types/flow_action_jwt_verify_jwt_type" +require_relative "auth0/types/flow_action_jwt_verify_jwt_action" +require_relative "auth0/types/flow_action_jwt_verify_jwt_params" +require_relative "auth0/types/flow_action_jwt_verify_jwt" +require_relative "auth0/types/flow_action_jwt" +require_relative "auth0/types/flow_action_mailchimp_upsert_member_type" +require_relative "auth0/types/flow_action_mailchimp_upsert_member_action" +require_relative "auth0/types/flow_action_mailchimp_upsert_member_params_member_merge_fields" +require_relative "auth0/types/flow_action_mailchimp_upsert_member_params_member" +require_relative "auth0/types/flow_action_mailchimp_upsert_member_params" +require_relative "auth0/types/flow_action_mailchimp_upsert_member" +require_relative "auth0/types/flow_action_mailchimp" +require_relative "auth0/types/flow_action_mailjet_send_email_type" +require_relative "auth0/types/flow_action_mailjet_send_email_action" +require_relative "auth0/types/flow_action_mailjet_send_email_params_content" +require_relative "auth0/types/flow_action_mailjet_send_email_params_template_id" +require_relative "auth0/types/flow_action_mailjet_send_email_params" +require_relative "auth0/types/flow_action_mailjet_send_email" +require_relative "auth0/types/flow_action_mailjet" +require_relative "auth0/types/flow_action_otp_generate_code_type" +require_relative "auth0/types/flow_action_otp_generate_code_action" +require_relative "auth0/types/flow_action_otp_generate_code_params" +require_relative "auth0/types/flow_action_otp_generate_code" +require_relative "auth0/types/flow_action_otp_verify_code_type" +require_relative "auth0/types/flow_action_otp_verify_code_action" +require_relative "auth0/types/flow_action_otp_verify_code_params_code" +require_relative "auth0/types/flow_action_otp_verify_code_params" +require_relative "auth0/types/flow_action_otp_verify_code" +require_relative "auth0/types/flow_action_otp" +require_relative "auth0/types/flow_action_pipedrive_add_deal_type" +require_relative "auth0/types/flow_action_pipedrive_add_deal_action" +require_relative "auth0/types/flow_action_pipedrive_add_deal_params_fields" +require_relative "auth0/types/flow_action_pipedrive_add_deal_params_organization_id" +require_relative "auth0/types/flow_action_pipedrive_add_deal_params_person_id" +require_relative "auth0/types/flow_action_pipedrive_add_deal_params_stage_id" +require_relative "auth0/types/flow_action_pipedrive_add_deal_params_user_id" +require_relative "auth0/types/flow_action_pipedrive_add_deal_params" +require_relative "auth0/types/flow_action_pipedrive_add_deal" +require_relative "auth0/types/flow_action_pipedrive_add_organization_type" +require_relative "auth0/types/flow_action_pipedrive_add_organization_action" +require_relative "auth0/types/flow_action_pipedrive_add_organization_params_fields" +require_relative "auth0/types/flow_action_pipedrive_add_organization_params_owner_id" +require_relative "auth0/types/flow_action_pipedrive_add_organization_params" +require_relative "auth0/types/flow_action_pipedrive_add_organization" +require_relative "auth0/types/flow_action_pipedrive_add_person_type" +require_relative "auth0/types/flow_action_pipedrive_add_person_action" +require_relative "auth0/types/flow_action_pipedrive_add_person_params_fields" +require_relative "auth0/types/flow_action_pipedrive_add_person_params_organization_id" +require_relative "auth0/types/flow_action_pipedrive_add_person_params_owner_id" +require_relative "auth0/types/flow_action_pipedrive_add_person_params" +require_relative "auth0/types/flow_action_pipedrive_add_person" +require_relative "auth0/types/flow_action_pipedrive" +require_relative "auth0/types/flow_action_salesforce_create_lead_type" +require_relative "auth0/types/flow_action_salesforce_create_lead_action" +require_relative "auth0/types/flow_action_salesforce_create_lead_params_payload" +require_relative "auth0/types/flow_action_salesforce_create_lead_params" +require_relative "auth0/types/flow_action_salesforce_create_lead" +require_relative "auth0/types/flow_action_salesforce_get_lead_type" +require_relative "auth0/types/flow_action_salesforce_get_lead_action" +require_relative "auth0/types/flow_action_salesforce_get_lead_params" +require_relative "auth0/types/flow_action_salesforce_get_lead" +require_relative "auth0/types/flow_action_salesforce_search_leads_type" +require_relative "auth0/types/flow_action_salesforce_search_leads_action" +require_relative "auth0/types/flow_action_salesforce_search_leads_params_search_field" +require_relative "auth0/types/flow_action_salesforce_search_leads_params" +require_relative "auth0/types/flow_action_salesforce_search_leads" +require_relative "auth0/types/flow_action_salesforce_update_lead_type" +require_relative "auth0/types/flow_action_salesforce_update_lead_action" +require_relative "auth0/types/flow_action_salesforce_update_lead_params_payload" +require_relative "auth0/types/flow_action_salesforce_update_lead_params" +require_relative "auth0/types/flow_action_salesforce_update_lead" +require_relative "auth0/types/flow_action_salesforce" +require_relative "auth0/types/flow_action_sendgrid_send_email_type" +require_relative "auth0/types/flow_action_sendgrid_send_email_action" +require_relative "auth0/types/flow_action_sendgrid_send_email_params_person" +require_relative "auth0/types/flow_action_sendgrid_send_email_params" +require_relative "auth0/types/flow_action_sendgrid_send_email" +require_relative "auth0/types/flow_action_sendgrid" +require_relative "auth0/types/flow_action_slack_post_message_type" +require_relative "auth0/types/flow_action_slack_post_message_action" +require_relative "auth0/types/flow_action_slack_post_message_params_attachment_color" +require_relative "auth0/types/flow_action_slack_post_message_params_attachment_field" +require_relative "auth0/types/flow_action_slack_post_message_params_attachment" +require_relative "auth0/types/flow_action_slack_post_message_params" +require_relative "auth0/types/flow_action_slack_post_message" +require_relative "auth0/types/flow_action_slack" +require_relative "auth0/types/flow_action_stripe_add_tax_id_type" +require_relative "auth0/types/flow_action_stripe_add_tax_id_action" +require_relative "auth0/types/flow_action_stripe_add_tax_id_params" +require_relative "auth0/types/flow_action_stripe_add_tax_id" +require_relative "auth0/types/flow_action_stripe_address" +require_relative "auth0/types/flow_action_stripe_create_customer_type" +require_relative "auth0/types/flow_action_stripe_create_customer_action" +require_relative "auth0/types/flow_action_stripe_metadata" +require_relative "auth0/types/flow_action_stripe_tax_id" +require_relative "auth0/types/flow_action_stripe_create_customer_params" +require_relative "auth0/types/flow_action_stripe_create_customer" +require_relative "auth0/types/flow_action_stripe_create_portal_session_type" +require_relative "auth0/types/flow_action_stripe_create_portal_session_action" +require_relative "auth0/types/flow_action_stripe_create_portal_session_params" +require_relative "auth0/types/flow_action_stripe_create_portal_session" +require_relative "auth0/types/flow_action_stripe_delete_tax_id_type" +require_relative "auth0/types/flow_action_stripe_delete_tax_id_action" +require_relative "auth0/types/flow_action_stripe_delete_tax_id_params" +require_relative "auth0/types/flow_action_stripe_delete_tax_id" +require_relative "auth0/types/flow_action_stripe_find_customers_type" +require_relative "auth0/types/flow_action_stripe_find_customers_action" +require_relative "auth0/types/flow_action_stripe_find_customers_params" +require_relative "auth0/types/flow_action_stripe_find_customers" +require_relative "auth0/types/flow_action_stripe_get_customer_type" +require_relative "auth0/types/flow_action_stripe_get_customer_action" +require_relative "auth0/types/flow_action_stripe_get_customer_params" +require_relative "auth0/types/flow_action_stripe_get_customer" +require_relative "auth0/types/flow_action_stripe_update_customer_type" +require_relative "auth0/types/flow_action_stripe_update_customer_action" +require_relative "auth0/types/flow_action_stripe_update_customer_params" +require_relative "auth0/types/flow_action_stripe_update_customer" +require_relative "auth0/types/flow_action_stripe" +require_relative "auth0/types/flow_action_telegram_send_message_type" +require_relative "auth0/types/flow_action_telegram_send_message_action" +require_relative "auth0/types/flow_action_telegram_send_message_params" +require_relative "auth0/types/flow_action_telegram_send_message" +require_relative "auth0/types/flow_action_telegram" +require_relative "auth0/types/flow_action_twilio_make_call_type" +require_relative "auth0/types/flow_action_twilio_make_call_action" +require_relative "auth0/types/flow_action_twilio_make_call_params" +require_relative "auth0/types/flow_action_twilio_make_call" +require_relative "auth0/types/flow_action_twilio_send_sms_type" +require_relative "auth0/types/flow_action_twilio_send_sms_action" +require_relative "auth0/types/flow_action_twilio_send_sms_params" +require_relative "auth0/types/flow_action_twilio_send_sms" +require_relative "auth0/types/flow_action_twilio" +require_relative "auth0/types/flow_action_whatsapp_send_message_type" +require_relative "auth0/types/flow_action_whatsapp_send_message_action" +require_relative "auth0/types/flow_action_whatsapp_send_message_params_type" +require_relative "auth0/types/flow_action_whatsapp_send_message_params_payload_object" +require_relative "auth0/types/flow_action_whatsapp_send_message_params_payload" +require_relative "auth0/types/flow_action_whatsapp_send_message_params" +require_relative "auth0/types/flow_action_whatsapp_send_message" +require_relative "auth0/types/flow_action_whatsapp" +require_relative "auth0/types/flow_action_xml_parse_xml_type" +require_relative "auth0/types/flow_action_xml_parse_xml_action" +require_relative "auth0/types/flow_action_xml_parse_xml_params" +require_relative "auth0/types/flow_action_xml_parse_xml" +require_relative "auth0/types/flow_action_xml_serialize_xml_type" +require_relative "auth0/types/flow_action_xml_serialize_xml_action" +require_relative "auth0/types/flow_action_xml_serialize_xml_params_object_object" +require_relative "auth0/types/flow_action_xml_serialize_xml_params_object" +require_relative "auth0/types/flow_action_xml_serialize_xml_params" +require_relative "auth0/types/flow_action_xml_serialize_xml" +require_relative "auth0/types/flow_action_xml" +require_relative "auth0/types/flow_action_zapier_trigger_webhook_type" +require_relative "auth0/types/flow_action_zapier_trigger_webhook_action" +require_relative "auth0/types/flow_action_zapier_trigger_webhook_params_method" +require_relative "auth0/types/flow_action_zapier_trigger_webhook_params" +require_relative "auth0/types/flow_action_zapier_trigger_webhook" +require_relative "auth0/types/flow_action_zapier" +require_relative "auth0/types/flow_action_flow_boolean_condition_params" +require_relative "auth0/types/flow_action_flow_boolean_condition" +require_relative "auth0/types/flow_action_flow" +require_relative "auth0/types/flow_action" +require_relative "auth0/types/create_flow_response_content" +require_relative "auth0/types/flows_vault_connectio_setup_type_api_key_enum" +require_relative "auth0/types/flows_vault_connectio_setup_api_key_with_base_url" +require_relative "auth0/types/flows_vault_connection_app_id_activecampaign_enum" +require_relative "auth0/types/create_flows_vault_connection_activecampaign_api_key" +require_relative "auth0/types/create_flows_vault_connection_activecampaign_uninitialized" +require_relative "auth0/types/create_flows_vault_connection_activecampaign" +require_relative "auth0/types/flows_vault_connectio_setup_api_key" +require_relative "auth0/types/flows_vault_connection_app_id_airtable_enum" +require_relative "auth0/types/create_flows_vault_connection_airtable_api_key" +require_relative "auth0/types/create_flows_vault_connection_airtable_uninitialized" +require_relative "auth0/types/create_flows_vault_connection_airtable" +require_relative "auth0/types/flows_vault_connectio_setup_type_oauth_app_enum" +require_relative "auth0/types/flows_vault_connectio_setup_oauth_app" +require_relative "auth0/types/flows_vault_connection_app_id_auth0enum" +require_relative "auth0/types/create_flows_vault_connection_auth0oauth_app" +require_relative "auth0/types/create_flows_vault_connection_auth0uninitialized" +require_relative "auth0/types/create_flows_vault_connection_auth0" +require_relative "auth0/types/flows_vault_connectio_setup_type_oauth_jwt_enum" +require_relative "auth0/types/flows_vault_connectio_setup_bigquery_oauth_jwt" +require_relative "auth0/types/flows_vault_connection_app_id_bigquery_enum" +require_relative "auth0/types/create_flows_vault_connection_bigquery_jwt" +require_relative "auth0/types/create_flows_vault_connection_bigquery_uninitialized" +require_relative "auth0/types/create_flows_vault_connection_bigquery" +require_relative "auth0/types/flows_vault_connectio_setup_secret_api_key" +require_relative "auth0/types/flows_vault_connection_app_id_clearbit_enum" +require_relative "auth0/types/create_flows_vault_connection_clearbit_api_key" +require_relative "auth0/types/create_flows_vault_connection_clearbit_uninitialized" +require_relative "auth0/types/create_flows_vault_connection_clearbit" +require_relative "auth0/types/flows_vault_connectio_setup_type_oauth_code_enum" +require_relative "auth0/types/flows_vault_connectio_setup_oauth_code" +require_relative "auth0/types/flows_vault_connection_app_id_docusign_enum" +require_relative "auth0/types/create_flows_vault_connection_docusign_oauth_code" +require_relative "auth0/types/create_flows_vault_connection_docusign_uninitialized" +require_relative "auth0/types/create_flows_vault_connection_docusign" +require_relative "auth0/types/flows_vault_connection_app_id_google_sheets_enum" +require_relative "auth0/types/create_flows_vault_connection_google_sheets_oauth_code" +require_relative "auth0/types/create_flows_vault_connection_google_sheets_uninitialized" +require_relative "auth0/types/create_flows_vault_connection_google_sheets" +require_relative "auth0/types/flows_vault_connection_app_id_http_enum" +require_relative "auth0/types/flows_vault_connection_http_api_key_setup_in_enum" +require_relative "auth0/types/flows_vault_connection_setup_type_api_key_enum" +require_relative "auth0/types/flows_vault_connection_http_api_key_setup" +require_relative "auth0/types/create_flows_vault_connection_http_api_key" +require_relative "auth0/types/flows_vault_connection_setup_type_basic_auth_enum" +require_relative "auth0/types/flows_vault_connection_http_basic_auth_setup" +require_relative "auth0/types/create_flows_vault_connection_http_basic_auth" +require_relative "auth0/types/flows_vault_connectio_setup_type_bearer_enum" +require_relative "auth0/types/flows_vault_connectio_setup_http_bearer" +require_relative "auth0/types/create_flows_vault_connection_http_bearer" +require_relative "auth0/types/flows_vault_connection_setup_type_oauth_client_credentials_enum" +require_relative "auth0/types/flows_vault_connection_http_oauth_client_credentials_setup" +require_relative "auth0/types/create_flows_vault_connection_http_oauth_client_credentials" +require_relative "auth0/types/create_flows_vault_connection_http_uninitialized" +require_relative "auth0/types/create_flows_vault_connection_http" +require_relative "auth0/types/flows_vault_connection_app_id_hubspot_enum" +require_relative "auth0/types/create_flows_vault_connection_hubspot_api_key" +require_relative "auth0/types/create_flows_vault_connection_hubspot_oauth_code" +require_relative "auth0/types/create_flows_vault_connection_hubspot_uninitialized" +require_relative "auth0/types/create_flows_vault_connection_hubspot" +require_relative "auth0/types/flows_vault_connectio_setup_jwt_algorithm_enum" +require_relative "auth0/types/flows_vault_connectio_setup_type_jwt_enum" +require_relative "auth0/types/flows_vault_connectio_setup_jwt" +require_relative "auth0/types/flows_vault_connection_app_id_jwt_enum" +require_relative "auth0/types/create_flows_vault_connection_jwt_jwt" +require_relative "auth0/types/create_flows_vault_connection_jwt_uninitialized" +require_relative "auth0/types/create_flows_vault_connection_jwt" +require_relative "auth0/types/flows_vault_connection_app_id_mailchimp_enum" +require_relative "auth0/types/create_flows_vault_connection_mailchimp_api_key" +require_relative "auth0/types/create_flows_vault_connection_mailchimp_oauth_code" +require_relative "auth0/types/create_flows_vault_connection_mailchimp_uninitialized" +require_relative "auth0/types/create_flows_vault_connection_mailchimp" +require_relative "auth0/types/flows_vault_connectio_setup_mailjet_api_key" +require_relative "auth0/types/flows_vault_connection_app_id_mailjet_enum" +require_relative "auth0/types/create_flows_vault_connection_mailjet_api_key" +require_relative "auth0/types/create_flows_vault_connection_mailjet_uninitialized" +require_relative "auth0/types/create_flows_vault_connection_mailjet" +require_relative "auth0/types/flows_vault_connection_app_id_pipedrive_enum" +require_relative "auth0/types/create_flows_vault_connection_pipedrive_oauth_code" +require_relative "auth0/types/flows_vault_connectio_setup_type_token_enum" +require_relative "auth0/types/flows_vault_connectio_setup_token" +require_relative "auth0/types/create_flows_vault_connection_pipedrive_token" +require_relative "auth0/types/create_flows_vault_connection_pipedrive_uninitialized" +require_relative "auth0/types/create_flows_vault_connection_pipedrive" +require_relative "auth0/types/flows_vault_connection_app_id_salesforce_enum" +require_relative "auth0/types/create_flows_vault_connection_salesforce_oauth_code" +require_relative "auth0/types/create_flows_vault_connection_salesforce_uninitialized" +require_relative "auth0/types/create_flows_vault_connection_salesforce" +require_relative "auth0/types/flows_vault_connection_app_id_sendgrid_enum" +require_relative "auth0/types/create_flows_vault_connection_sendgrid_api_key" +require_relative "auth0/types/create_flows_vault_connection_sendgrid_uninitialized" +require_relative "auth0/types/create_flows_vault_connection_sendgrid" +require_relative "auth0/types/flows_vault_connection_app_id_slack_enum" +require_relative "auth0/types/create_flows_vault_connection_slack_oauth_code" +require_relative "auth0/types/create_flows_vault_connection_slack_uninitialized" +require_relative "auth0/types/flows_vault_connectio_setup_type_webhook_enum" +require_relative "auth0/types/flows_vault_connectio_setup_webhook" +require_relative "auth0/types/create_flows_vault_connection_slack_webhook" +require_relative "auth0/types/create_flows_vault_connection_slack" +require_relative "auth0/types/flows_vault_connectio_setup_type_key_pair_enum" +require_relative "auth0/types/flows_vault_connectio_setup_stripe_key_pair" +require_relative "auth0/types/flows_vault_connection_app_id_stripe_enum" +require_relative "auth0/types/create_flows_vault_connection_stripe_key_pair" +require_relative "auth0/types/create_flows_vault_connection_stripe_oauth_code" +require_relative "auth0/types/create_flows_vault_connection_stripe_uninitialized" +require_relative "auth0/types/create_flows_vault_connection_stripe" +require_relative "auth0/types/flows_vault_connection_app_id_telegram_enum" +require_relative "auth0/types/create_flows_vault_connection_telegram_token" +require_relative "auth0/types/create_flows_vault_connection_telegram_uninitialized" +require_relative "auth0/types/create_flows_vault_connection_telegram" +require_relative "auth0/types/flows_vault_connectio_setup_twilio_api_key" +require_relative "auth0/types/flows_vault_connection_app_id_twilio_enum" +require_relative "auth0/types/create_flows_vault_connection_twilio_api_key" +require_relative "auth0/types/create_flows_vault_connection_twilio_uninitialized" +require_relative "auth0/types/create_flows_vault_connection_twilio" +require_relative "auth0/types/flows_vault_connection_app_id_whatsapp_enum" +require_relative "auth0/types/create_flows_vault_connection_whatsapp_token" +require_relative "auth0/types/create_flows_vault_connection_whatsapp_uninitialized" +require_relative "auth0/types/create_flows_vault_connection_whatsapp" +require_relative "auth0/types/flows_vault_connection_app_id_zapier_enum" +require_relative "auth0/types/create_flows_vault_connection_zapier_uninitialized" +require_relative "auth0/types/create_flows_vault_connection_zapier_webhook" +require_relative "auth0/types/create_flows_vault_connection_zapier" +require_relative "auth0/types/create_flows_vault_connection_request_content" +require_relative "auth0/types/create_flows_vault_connection_response_content" +require_relative "auth0/types/form_block_divider_config" +require_relative "auth0/types/form_block_type_divider_const" +require_relative "auth0/types/form_component_category_block_const" +require_relative "auth0/types/form_block_divider" +require_relative "auth0/types/form_block_html_config" +require_relative "auth0/types/form_block_type_html_const" +require_relative "auth0/types/form_block_html" +require_relative "auth0/types/form_block_image_config_position_enum" +require_relative "auth0/types/form_block_image_config" +require_relative "auth0/types/form_block_type_image_const" +require_relative "auth0/types/form_block_image" +require_relative "auth0/types/form_block_jump_button_config_style" +require_relative "auth0/types/form_ending_node_id" +require_relative "auth0/types/form_node_pointer" +require_relative "auth0/types/form_block_jump_button_config" +require_relative "auth0/types/form_block_type_jump_button_const" +require_relative "auth0/types/form_block_jump_button" +require_relative "auth0/types/form_block_next_button_config" +require_relative "auth0/types/form_block_type_next_button_const" +require_relative "auth0/types/form_block_next_button" +require_relative "auth0/types/form_block_previous_button_config" +require_relative "auth0/types/form_block_type_previous_button_const" +require_relative "auth0/types/form_block_previous_button" +require_relative "auth0/types/form_block_resend_button_config_text_alignment_enum" +require_relative "auth0/types/form_block_resend_button_config" +require_relative "auth0/types/form_block_type_resend_button_const" +require_relative "auth0/types/form_block_resend_button" +require_relative "auth0/types/form_block_rich_text_config" +require_relative "auth0/types/form_block_type_rich_text_const" +require_relative "auth0/types/form_block_rich_text" +require_relative "auth0/types/form_block" +require_relative "auth0/types/form_component_category_field_const" +require_relative "auth0/types/form_component_category_widget_const" +require_relative "auth0/types/form_field_boolean_config_options" +require_relative "auth0/types/form_field_boolean_config" +require_relative "auth0/types/form_field_type_boolean_const" +require_relative "auth0/types/form_field_boolean" +require_relative "auth0/types/form_field_cards_config_option" +require_relative "auth0/types/form_field_cards_config" +require_relative "auth0/types/form_field_type_cards_const" +require_relative "auth0/types/form_field_cards" +require_relative "auth0/types/form_field_choice_config_allow_other_enabled_true_enum" +require_relative "auth0/types/form_field_choice_config_allow_other" +require_relative "auth0/types/form_field_choice_config_option" +require_relative "auth0/types/form_field_choice_config" +require_relative "auth0/types/form_field_type_choice_const" +require_relative "auth0/types/form_field_choice" +require_relative "auth0/types/form_field_custom_config_params" +require_relative "auth0/types/form_field_custom_config_schema" +require_relative "auth0/types/form_field_custom_config" +require_relative "auth0/types/form_field_type_custom_const" +require_relative "auth0/types/form_field_custom" +require_relative "auth0/types/form_field_date_config_format_enum" +require_relative "auth0/types/form_field_date_config" +require_relative "auth0/types/form_field_type_date_const" +require_relative "auth0/types/form_field_date" +require_relative "auth0/types/form_field_dropdown_config_option" +require_relative "auth0/types/form_field_dropdown_config" +require_relative "auth0/types/form_field_type_dropdown_const" +require_relative "auth0/types/form_field_dropdown" +require_relative "auth0/types/form_field_email_config" +require_relative "auth0/types/form_field_type_email_const" +require_relative "auth0/types/form_field_email" +require_relative "auth0/types/form_field_file_config_category_enum" +require_relative "auth0/types/form_field_file_config_storage_type_enum" +require_relative "auth0/types/form_field_file_config_storage" +require_relative "auth0/types/form_field_file_config" +require_relative "auth0/types/form_field_type_file_const" +require_relative "auth0/types/form_field_file" +require_relative "auth0/types/form_field_legal_config" +require_relative "auth0/types/form_field_type_legal_const" +require_relative "auth0/types/form_field_legal" +require_relative "auth0/types/form_field_number_config" +require_relative "auth0/types/form_field_type_number_const" +require_relative "auth0/types/form_field_number" +require_relative "auth0/types/form_field_password_config_hash_enum" +require_relative "auth0/types/form_field_password_config" +require_relative "auth0/types/form_field_type_password_const" +require_relative "auth0/types/form_field_password" +require_relative "auth0/types/form_field_payment_config_charge_type_subscription_const" +require_relative "auth0/types/form_field_payment_config_subscription" +require_relative "auth0/types/form_field_payment_config_charge_subscription" +require_relative "auth0/types/form_field_payment_config_charge_one_off_currency_enum" +require_relative "auth0/types/form_field_payment_config_charge_one_off_one_off_amount" +require_relative "auth0/types/form_field_payment_config_charge_one_off_one_off" +require_relative "auth0/types/form_field_payment_config_charge_type_one_off_const" +require_relative "auth0/types/form_field_payment_config_charge_one_off" +require_relative "auth0/types/form_field_payment_config_charge" +require_relative "auth0/types/form_field_payment_config_credentials" +require_relative "auth0/types/form_field_payment_config_customer" +require_relative "auth0/types/form_field_payment_config_field_properties" +require_relative "auth0/types/form_field_payment_config_fields" +require_relative "auth0/types/form_field_payment_config_provider_enum" +require_relative "auth0/types/form_field_payment_config" +require_relative "auth0/types/form_field_type_payment_const" +require_relative "auth0/types/form_field_payment" +require_relative "auth0/types/form_field_social_config" +require_relative "auth0/types/form_field_type_social_const" +require_relative "auth0/types/form_field_social" +require_relative "auth0/types/form_field_tel_config_strings" +require_relative "auth0/types/form_field_tel_config" +require_relative "auth0/types/form_field_type_tel_const" +require_relative "auth0/types/form_field_tel" +require_relative "auth0/types/form_field_text_config" +require_relative "auth0/types/form_field_type_text_const" +require_relative "auth0/types/form_field_text" +require_relative "auth0/types/form_field_type_url_const" +require_relative "auth0/types/form_field_url_config" +require_relative "auth0/types/form_field_url" +require_relative "auth0/types/form_field" +require_relative "auth0/types/form_widget_auth0verifiable_credentials_config" +require_relative "auth0/types/form_widget_type_auth0verifiable_credentials_const" +require_relative "auth0/types/form_widget_auth0verifiable_credentials" +require_relative "auth0/types/form_widget_g_maps_address_config" +require_relative "auth0/types/form_widget_type_g_maps_address_const" +require_relative "auth0/types/form_widget_g_maps_address" +require_relative "auth0/types/form_widget_recaptcha_config" +require_relative "auth0/types/form_widget_type_recaptcha_const" +require_relative "auth0/types/form_widget_recaptcha" +require_relative "auth0/types/form_widget" +require_relative "auth0/types/form_component" +require_relative "auth0/types/form_ending_node_after_submit" +require_relative "auth0/types/form_ending_node_redirection" +require_relative "auth0/types/form_ending_node_resume_flow_true_const" +require_relative "auth0/types/form_node_coordinates" +require_relative "auth0/types/form_ending_node" +require_relative "auth0/types/form_flow_config" +require_relative "auth0/types/form_node_type_flow_const" +require_relative "auth0/types/form_flow" +require_relative "auth0/types/form_hidden_field" +require_relative "auth0/types/form_languages" +require_relative "auth0/types/form_messages_custom" +require_relative "auth0/types/form_messages_error" +require_relative "auth0/types/form_messages" +require_relative "auth0/types/form_node_type_router_const" +require_relative "auth0/types/form_node_type_step_const" +require_relative "auth0/types/form_router_rule" +require_relative "auth0/types/form_router_config" +require_relative "auth0/types/form_router" +require_relative "auth0/types/form_step_component_list" +require_relative "auth0/types/form_step_config" +require_relative "auth0/types/form_step" +require_relative "auth0/types/form_node" +require_relative "auth0/types/form_node_list" +require_relative "auth0/types/form_start_node" +require_relative "auth0/types/form_style" +require_relative "auth0/types/form_translations" +require_relative "auth0/types/create_form_response_content" +require_relative "auth0/types/create_guardian_enrollment_ticket_response_content" +require_relative "auth0/types/hook_dependencies" +require_relative "auth0/types/create_hook_response_content" +require_relative "auth0/types/create_hook_secret_request_content" +require_relative "auth0/types/create_identity_assertion_authorization_grant" +require_relative "auth0/types/create_import_users_response_content" +require_relative "auth0/types/log_stream_datadog_enum" +require_relative "auth0/types/log_stream_datadog_region_enum" +require_relative "auth0/types/log_stream_datadog_sink" +require_relative "auth0/types/log_stream_filter_group_name_enum" +require_relative "auth0/types/log_stream_filter_type_enum" +require_relative "auth0/types/log_stream_filter" +require_relative "auth0/types/log_stream_pii_algorithm_enum" +require_relative "auth0/types/log_stream_pii_log_fields_enum" +require_relative "auth0/types/log_stream_pii_method_enum" +require_relative "auth0/types/log_stream_pii_config" +require_relative "auth0/types/create_log_stream_datadog_request_body" +require_relative "auth0/types/log_stream_event_bridge_enum" +require_relative "auth0/types/log_stream_event_bridge_sink_region_enum" +require_relative "auth0/types/log_stream_event_bridge_sink" +require_relative "auth0/types/create_log_stream_event_bridge_request_body" +require_relative "auth0/types/log_stream_event_grid_enum" +require_relative "auth0/types/log_stream_event_grid_region_enum" +require_relative "auth0/types/log_stream_event_grid_sink" +require_relative "auth0/types/create_log_stream_event_grid_request_body" +require_relative "auth0/types/http_custom_header" +require_relative "auth0/types/log_stream_http_content_format_enum" +require_relative "auth0/types/log_stream_http_enum" +require_relative "auth0/types/log_stream_http_sink" +require_relative "auth0/types/create_log_stream_http_request_body" +require_relative "auth0/types/log_stream_mixpanel_enum" +require_relative "auth0/types/log_stream_mixpanel_region_enum" +require_relative "auth0/types/log_stream_mixpanel_sink" +require_relative "auth0/types/create_log_stream_mixpanel_request_body" +require_relative "auth0/types/log_stream_segment_enum" +require_relative "auth0/types/log_stream_segment_sink_write_key" +require_relative "auth0/types/create_log_stream_segment_request_body" +require_relative "auth0/types/log_stream_splunk_enum" +require_relative "auth0/types/log_stream_splunk_sink" +require_relative "auth0/types/create_log_stream_splunk_request_body" +require_relative "auth0/types/log_stream_sumo_enum" +require_relative "auth0/types/log_stream_sumo_sink" +require_relative "auth0/types/create_log_stream_sumo_request_body" +require_relative "auth0/types/create_log_stream_request_content" +require_relative "auth0/types/log_stream_status_enum" +require_relative "auth0/types/log_stream_datadog_response_schema" +require_relative "auth0/types/log_stream_event_bridge_response_schema" +require_relative "auth0/types/log_stream_event_grid_response_schema" +require_relative "auth0/types/log_stream_http_response_schema" +require_relative "auth0/types/log_stream_mixpanel_response_schema" +require_relative "auth0/types/log_stream_segment_response_schema" +require_relative "auth0/types/log_stream_splunk_response_schema" +require_relative "auth0/types/log_stream_sumo_response_schema" +require_relative "auth0/types/create_log_stream_response_content" +require_relative "auth0/types/organization_access_level_enum" +require_relative "auth0/types/create_organization_all_connection_response_content" +require_relative "auth0/types/create_organization_client_request_item" +require_relative "auth0/types/organization_client_metadata_organization_usage_enum" +require_relative "auth0/types/organization_client_metadata" +require_relative "auth0/types/organization_client" +require_relative "auth0/types/create_organization_clients_response_content" +require_relative "auth0/types/organization_discovery_domain_status" +require_relative "auth0/types/create_organization_discovery_domain_response_content" +require_relative "auth0/types/organization_invitation_invitee" +require_relative "auth0/types/organization_invitation_inviter" +require_relative "auth0/types/user_metadata" +require_relative "auth0/types/create_organization_invitation_response_content" +require_relative "auth0/types/organization_branding_colors" +require_relative "auth0/types/organization_branding" +require_relative "auth0/types/organization_client_association" +require_relative "auth0/types/organization_enabled_connection" +require_relative "auth0/types/organization_metadata" +require_relative "auth0/types/organization_third_party_client_access_enum" +require_relative "auth0/types/create_organization_response_content" +require_relative "auth0/types/create_phone_provider_send_test_response_content" +require_relative "auth0/types/phone_template_body" +require_relative "auth0/types/phone_template_content" +require_relative "auth0/types/phone_template_notification_type_enum" +require_relative "auth0/types/create_phone_template_response_content" +require_relative "auth0/types/create_phone_template_test_notification_response_content" +require_relative "auth0/types/create_public_key_device_credential_response_content" +require_relative "auth0/types/rate_limit_policy_configuration_zero_action" +require_relative "auth0/types/rate_limit_policy_configuration_zero" +require_relative "auth0/types/rate_limit_policy_configuration_one_action" +require_relative "auth0/types/rate_limit_policy_configuration_one" +require_relative "auth0/types/rate_limit_policy_configuration_action_action" +require_relative "auth0/types/rate_limit_policy_configuration_action" +require_relative "auth0/types/rate_limit_policy_configuration" +require_relative "auth0/types/rate_limit_policy_consumer_enum" +require_relative "auth0/types/rate_limit_policy_resource_enum" +require_relative "auth0/types/create_rate_limit_policy_response_content" +require_relative "auth0/types/resource_server_authorization_policy" +require_relative "auth0/types/resource_server_consent_policy_enum" +require_relative "auth0/types/resource_server_proof_of_possession_mechanism_enum" +require_relative "auth0/types/resource_server_proof_of_possession_required_for_enum" +require_relative "auth0/types/resource_server_proof_of_possession" +require_relative "auth0/types/resource_server_scope" +require_relative "auth0/types/resource_server_subject_type_authorization_client_policy_enum" +require_relative "auth0/types/resource_server_subject_type_authorization_client" +require_relative "auth0/types/resource_server_subject_type_authorization_user_policy_enum" +require_relative "auth0/types/resource_server_subject_type_authorization_user" +require_relative "auth0/types/resource_server_subject_type_authorization" +require_relative "auth0/types/resource_server_token_dialect_response_enum" +require_relative "auth0/types/resource_server_token_encryption_algorithm_enum" +require_relative "auth0/types/resource_server_token_encryption_format_enum" +require_relative "auth0/types/resource_server_token_encryption_key" +require_relative "auth0/types/resource_server_token_encryption" +require_relative "auth0/types/create_resource_server_response_content" +require_relative "auth0/types/role_type_enum" +require_relative "auth0/types/create_role_response_content" +require_relative "auth0/types/create_rule_response_content" +require_relative "auth0/types/scim_mapping_item" +require_relative "auth0/types/create_scim_configuration_request_content" +require_relative "auth0/types/create_scim_configuration_response_content" +require_relative "auth0/types/create_scim_token_response_content" +require_relative "auth0/types/self_service_profile_allowed_strategy_enum" +require_relative "auth0/types/self_service_profile_branding_colors" +require_relative "auth0/types/self_service_profile_branding_properties" +require_relative "auth0/types/self_service_profile_user_attribute" +require_relative "auth0/types/create_self_service_profile_response_content" +require_relative "auth0/types/create_self_service_profile_sso_ticket_response_content" +require_relative "auth0/types/token_exchange_profile_type_enum" +require_relative "auth0/types/create_token_exchange_profile_response_content" +require_relative "auth0/types/create_token_quota" +require_relative "auth0/types/user_attribute_profile_id" +require_relative "auth0/types/user_attribute_profile_name" +require_relative "auth0/types/user_attribute_profile_oidc_mapping" +require_relative "auth0/types/user_attribute_profile_saml_mapping" +require_relative "auth0/types/user_attribute_profile_strategy_overrides_mapping" +require_relative "auth0/types/user_attribute_profile_strategy_overrides" +require_relative "auth0/types/user_attribute_profile_user_id_oidc_strategy_override_mapping" +require_relative "auth0/types/user_attribute_profile_strategy_overrides_user_id_mapping" +require_relative "auth0/types/user_attribute_profile_strategy_overrides_user_id" +require_relative "auth0/types/user_attribute_profile_user_attribute_additional_properties" +require_relative "auth0/types/user_attribute_profile_user_attributes" +require_relative "auth0/types/user_attribute_profile_user_id_oidc_mapping_enum" +require_relative "auth0/types/user_attribute_profile_user_id_saml_mapping" +require_relative "auth0/types/user_attribute_profile_user_id" +require_relative "auth0/types/create_user_attribute_profile_response_content" +require_relative "auth0/types/created_user_authentication_method_type_enum" +require_relative "auth0/types/credential_device_type_enum" +require_relative "auth0/types/preferred_authentication_method_enum" +require_relative "auth0/types/user_authentication_method_properties_enum" +require_relative "auth0/types/user_authentication_method_properties" +require_relative "auth0/types/create_user_authentication_method_response_content" +require_relative "auth0/types/user_app_metadata_schema" +require_relative "auth0/types/user_id" +require_relative "auth0/types/user_identity_provider_enum" +require_relative "auth0/types/user_profile_data" +require_relative "auth0/types/user_identity_schema" +require_relative "auth0/types/user_metadata_schema" +require_relative "auth0/types/create_user_response_content" +require_relative "auth0/types/mdl_presentation_properties" +require_relative "auth0/types/mdl_presentation_request_properties" +require_relative "auth0/types/mdl_presentation_request" +require_relative "auth0/types/create_verifiable_credential_template_response_content" +require_relative "auth0/types/create_verification_email_response_content" +require_relative "auth0/types/created_authentication_method_type_enum" +require_relative "auth0/types/custom_domain" +require_relative "auth0/types/custom_domain_custom_client_ip_header_enum" +require_relative "auth0/types/custom_domain_custom_client_ip_header" +require_relative "auth0/types/custom_domain_provisioning_type_enum" +require_relative "auth0/types/custom_domain_tls_policy_enum" +require_relative "auth0/types/custom_domain_verification_method_enum" +require_relative "auth0/types/custom_provider_credentials" +require_relative "auth0/types/custom_signing_key_algorithm_enum" +require_relative "auth0/types/custom_signing_key_curve_enum" +require_relative "auth0/types/custom_signing_key_operation_enum" +require_relative "auth0/types/custom_signing_key_type_enum" +require_relative "auth0/types/custom_signing_key_use_enum" +require_relative "auth0/types/custom_signing_key_jwk" +require_relative "auth0/types/daily_stats" +require_relative "auth0/types/token_quota_configuration" +require_relative "auth0/types/default_token_quota" +require_relative "auth0/types/delete_hook_secret_request_content" +require_relative "auth0/types/delete_user_identity_response_content_item" +require_relative "auth0/types/delete_user_identity_response_content" +require_relative "auth0/types/deploy_action_response_content" +require_relative "auth0/types/deploy_action_version_request_content" +require_relative "auth0/types/deploy_action_version_response_content" +require_relative "auth0/types/device_credential_type_enum" +require_relative "auth0/types/device_credential" +require_relative "auth0/types/device_credential_public_key_type_enum" +require_relative "auth0/types/directory_provisioning" +require_relative "auth0/types/email_mailgun_region_enum" +require_relative "auth0/types/email_provider_credentials_schema_zero" +require_relative "auth0/types/email_provider_credentials_schema_access_key_id" +require_relative "auth0/types/email_smtp_host" +require_relative "auth0/types/email_provider_credentials_schema_smtp_host" +require_relative "auth0/types/email_spark_post_region_enum" +require_relative "auth0/types/email_provider_credentials_schema_three" +require_relative "auth0/types/email_provider_credentials_schema_api_key" +require_relative "auth0/types/email_provider_credentials_schema_connection_string" +require_relative "auth0/types/email_provider_credentials_schema_client_id" +require_relative "auth0/types/extensibility_email_provider_credentials" +require_relative "auth0/types/email_provider_credentials_schema" +require_relative "auth0/types/email_provider_name_enum" +require_relative "auth0/types/email_specific_provider_settings_with_additional_properties" +require_relative "auth0/types/encryption_key" +require_relative "auth0/types/event_stream_cloud_event_a0purpose_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_created_cloud_event_type_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object0authentication" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object0connected_accounts" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object0metadata" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object0options_attribute_map_attributes" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object0options_attribute_map_mapping_mode_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object0options_attribute_map" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object0options_connection_settings_pkce_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object0options_connection_settings" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object0options_dpop_signing_alg_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object0options_federated_connections_access_tokens" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object0options_id_token_signed_response_algs_i_b52125" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object0options_oidc_metadata" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object0options_schema_version_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object0options_set_user_root_attributes_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object0options_token_endpoint_auth_method_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object0options_token_endpoint_auth_signing_alg_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object0options_token_endpoint_jwtca_aud_format_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object0options_type_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object0options_upstream_params" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object0options" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object0strategy_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object0" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object1authentication" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object1connected_accounts" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object1metadata" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object1options_attribute_map_attributes" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object1options_attribute_map_mapping_mode_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object1options_attribute_map" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object1options_connection_settings_pkce_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object1options_connection_settings" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object1options_dpop_signing_alg_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object1options_federated_connections_access_tokens" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object1options_id_token_signed_response_algs_i_905fa1" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object1options_oidc_metadata" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object1options_schema_version_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object1options_set_user_root_attributes_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object1options_token_endpoint_auth_method_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object1options_token_endpoint_auth_signing_alg_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object1options_token_endpoint_jwtca_aud_format_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object1options_type_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object1options_upstream_params" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object1options" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object1strategy_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object1" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object2authentication" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object2connected_accounts" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object2metadata" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object2options_assertion_decryption_settings_a_70e6de" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object2options_assertion_decryption_settings" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object2options_digest_algorithm_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object2options_fields_map" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object2options_idpinitiated_client_protocol_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object2options_idpinitiated" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object2options_protocol_binding_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object2options_set_user_root_attributes_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object2options_signature_algorithm_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object2options_subject" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object2options_upstream_params" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object2options" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object2strategy_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object2" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object3authentication" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object3connected_accounts" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object3metadata" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object3options_assertion_decryption_settings_a_beacec" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object3options_assertion_decryption_settings" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object3options_digest_algorithm_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object3options_idpinitiated_client_protocol_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object3options_idpinitiated" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object3options_protocol_binding_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object3options_set_user_root_attributes_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object3options_signature_algorithm_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object3options_subject" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object3options_upstream_params" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object3options" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object3strategy_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object3" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object4authentication" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object4connected_accounts" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object4metadata" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object4options_set_user_root_attributes_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object4options_should_trust_email_verified_con_a36fe0" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object4options_upstream_params" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object4options" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object4strategy_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object4" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object5authentication" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object5connected_accounts" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object5metadata" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object5options_set_user_root_attributes_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object5options_upstream_params" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object5options" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object5strategy_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object5" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object6authentication" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object6connected_accounts" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object6metadata" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object6options_federated_connections_access_tokens" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object6options_set_user_root_attributes_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object6options_upstream_params" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object6options" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object6strategy_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object6" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object7authentication" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object7connected_accounts" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object7metadata" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object7options_federated_connections_access_tokens" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object7options_identity_api_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object7options_set_user_root_attributes_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object7options_should_trust_email_verified_con_cf1a4c" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object7options_tenant_domain_one" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object7options_upstream_params" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object7options_userid_attribute_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object7options_waad_protocol_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object7options" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object7strategy_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object7" +require_relative "auth0/types/event_stream_cloud_event_connection_created_object" +require_relative "auth0/types/event_stream_cloud_event_context_client_metadata" +require_relative "auth0/types/event_stream_cloud_event_context_client" +require_relative "auth0/types/event_stream_cloud_event_context_connection" +require_relative "auth0/types/event_stream_cloud_event_context_request_geo" +require_relative "auth0/types/event_stream_cloud_event_context_request" +require_relative "auth0/types/event_stream_cloud_event_context_tenant" +require_relative "auth0/types/event_stream_cloud_event_context" +require_relative "auth0/types/event_stream_cloud_event_connection_created_data" +require_relative "auth0/types/event_stream_cloud_event_spec_version_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_created_cloud_event" +require_relative "auth0/types/event_stream_cloud_event_connection_created" +require_relative "auth0/types/event_stream_cloud_event_connection_created_type_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_cloud_event_type_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object0authentication" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object0connected_accounts" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object0metadata" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object0options_attribute_map_attributes" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object0options_attribute_map_mapping_mode_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object0options_attribute_map" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object0options_connection_settings_pkce_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object0options_connection_settings" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object0options_dpop_signing_alg_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object0options_federated_connections_access_tokens" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object0options_id_token_signed_response_algs_i_fcd928" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object0options_oidc_metadata" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object0options_schema_version_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object0options_set_user_root_attributes_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object0options_token_endpoint_auth_method_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object0options_token_endpoint_auth_signing_alg_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object0options_token_endpoint_jwtca_aud_format_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object0options_type_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object0options_upstream_params" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object0options" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object0strategy_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object0" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object1authentication" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object1connected_accounts" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object1metadata" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object1options_attribute_map_attributes" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object1options_attribute_map_mapping_mode_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object1options_attribute_map" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object1options_connection_settings_pkce_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object1options_connection_settings" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object1options_dpop_signing_alg_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object1options_federated_connections_access_tokens" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object1options_id_token_signed_response_algs_i_8a1b49" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object1options_oidc_metadata" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object1options_schema_version_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object1options_set_user_root_attributes_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object1options_token_endpoint_auth_method_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object1options_token_endpoint_auth_signing_alg_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object1options_token_endpoint_jwtca_aud_format_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object1options_type_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object1options_upstream_params" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object1options" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object1strategy_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object1" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object2authentication" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object2connected_accounts" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object2metadata" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object2options_assertion_decryption_settings_a_1d3ce5" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object2options_assertion_decryption_settings" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object2options_digest_algorithm_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object2options_fields_map" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object2options_idpinitiated_client_protocol_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object2options_idpinitiated" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object2options_protocol_binding_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object2options_set_user_root_attributes_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object2options_signature_algorithm_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object2options_subject" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object2options_upstream_params" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object2options" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object2strategy_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object2" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object3authentication" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object3connected_accounts" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object3metadata" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object3options_assertion_decryption_settings_a_03ff04" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object3options_assertion_decryption_settings" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object3options_digest_algorithm_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object3options_idpinitiated_client_protocol_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object3options_idpinitiated" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object3options_protocol_binding_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object3options_set_user_root_attributes_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object3options_signature_algorithm_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object3options_subject" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object3options_upstream_params" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object3options" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object3strategy_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object3" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object4authentication" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object4connected_accounts" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object4metadata" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object4options_set_user_root_attributes_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object4options_should_trust_email_verified_con_b74f01" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object4options_upstream_params" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object4options" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object4strategy_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object4" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object5authentication" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object5connected_accounts" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object5metadata" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object5options_set_user_root_attributes_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object5options_upstream_params" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object5options" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object5strategy_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object5" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object6authentication" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object6connected_accounts" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object6metadata" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object6options_federated_connections_access_tokens" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object6options_set_user_root_attributes_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object6options_upstream_params" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object6options" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object6strategy_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object6" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object7authentication" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object7connected_accounts" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object7metadata" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object7options_federated_connections_access_tokens" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object7options_identity_api_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object7options_set_user_root_attributes_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object7options_should_trust_email_verified_con_0c40ad" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object7options_tenant_domain_one" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object7options_upstream_params" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object7options_userid_attribute_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object7options_waad_protocol_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object7options" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object7strategy_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object7" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_object" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_data" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_cloud_event" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted" +require_relative "auth0/types/event_stream_cloud_event_connection_deleted_type_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_cloud_event_type_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object0authentication" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object0connected_accounts" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object0metadata" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object0options_attribute_map_attributes" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object0options_attribute_map_mapping_mode_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object0options_attribute_map" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object0options_connection_settings_pkce_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object0options_connection_settings" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object0options_dpop_signing_alg_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object0options_federated_connections_access_tokens" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object0options_id_token_signed_response_algs_i_5fe7b1" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object0options_oidc_metadata" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object0options_schema_version_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object0options_set_user_root_attributes_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object0options_token_endpoint_auth_method_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object0options_token_endpoint_auth_signing_alg_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object0options_token_endpoint_jwtca_aud_format_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object0options_type_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object0options_upstream_params" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object0options" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object0strategy_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object0" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object1authentication" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object1connected_accounts" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object1metadata" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object1options_attribute_map_attributes" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object1options_attribute_map_mapping_mode_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object1options_attribute_map" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object1options_connection_settings_pkce_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object1options_connection_settings" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object1options_dpop_signing_alg_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object1options_federated_connections_access_tokens" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object1options_id_token_signed_response_algs_i_d5434c" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object1options_oidc_metadata" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object1options_schema_version_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object1options_set_user_root_attributes_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object1options_token_endpoint_auth_method_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object1options_token_endpoint_auth_signing_alg_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object1options_token_endpoint_jwtca_aud_format_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object1options_type_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object1options_upstream_params" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object1options" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object1strategy_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object1" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object2authentication" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object2connected_accounts" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object2metadata" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object2options_assertion_decryption_settings_a_715c3e" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object2options_assertion_decryption_settings" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object2options_digest_algorithm_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object2options_fields_map" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object2options_idpinitiated_client_protocol_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object2options_idpinitiated" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object2options_protocol_binding_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object2options_set_user_root_attributes_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object2options_signature_algorithm_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object2options_subject" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object2options_upstream_params" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object2options" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object2strategy_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object2" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object3authentication" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object3connected_accounts" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object3metadata" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object3options_assertion_decryption_settings_a_f31c8e" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object3options_assertion_decryption_settings" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object3options_digest_algorithm_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object3options_idpinitiated_client_protocol_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object3options_idpinitiated" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object3options_protocol_binding_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object3options_set_user_root_attributes_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object3options_signature_algorithm_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object3options_subject" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object3options_upstream_params" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object3options" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object3strategy_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object3" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object4authentication" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object4connected_accounts" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object4metadata" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object4options_set_user_root_attributes_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object4options_should_trust_email_verified_con_1c0d52" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object4options_upstream_params" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object4options" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object4strategy_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object4" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object5authentication" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object5connected_accounts" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object5metadata" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object5options_set_user_root_attributes_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object5options_upstream_params" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object5options" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object5strategy_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object5" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object6authentication" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object6connected_accounts" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object6metadata" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object6options_federated_connections_access_tokens" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object6options_set_user_root_attributes_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object6options_upstream_params" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object6options" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object6strategy_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object6" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object7authentication" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object7connected_accounts" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object7metadata" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object7options_federated_connections_access_tokens" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object7options_identity_api_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object7options_set_user_root_attributes_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object7options_should_trust_email_verified_con_df9f65" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object7options_tenant_domain_one" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object7options_upstream_params" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object7options_userid_attribute_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object7options_waad_protocol_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object7options" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object7strategy_enum" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object7" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_object" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_data" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_cloud_event" +require_relative "auth0/types/event_stream_cloud_event_connection_updated" +require_relative "auth0/types/event_stream_cloud_event_connection_updated_type_enum" +require_relative "auth0/types/event_stream_cloud_event_error_code_enum" +require_relative "auth0/types/event_stream_cloud_event_error_detail" +require_relative "auth0/types/event_stream_cloud_event_error_message" +require_relative "auth0/types/event_stream_cloud_event_error_message_type_enum" +require_relative "auth0/types/event_stream_cloud_event_group_created_cloud_event_type_enum" +require_relative "auth0/types/event_stream_cloud_event_group_created_object0type_enum" +require_relative "auth0/types/event_stream_cloud_event_group_created_object0" +require_relative "auth0/types/event_stream_cloud_event_group_created_object1type_enum" +require_relative "auth0/types/event_stream_cloud_event_group_created_object1" +require_relative "auth0/types/event_stream_cloud_event_group_created_object2type_enum" +require_relative "auth0/types/event_stream_cloud_event_group_created_object2" +require_relative "auth0/types/event_stream_cloud_event_group_created_object" +require_relative "auth0/types/event_stream_cloud_event_group_created_data" +require_relative "auth0/types/event_stream_cloud_event_group_created_cloud_event" +require_relative "auth0/types/event_stream_cloud_event_group_created" +require_relative "auth0/types/event_stream_cloud_event_group_created_type_enum" +require_relative "auth0/types/event_stream_cloud_event_group_deleted_cloud_event_type_enum" +require_relative "auth0/types/event_stream_cloud_event_group_deleted_object0type_enum" +require_relative "auth0/types/event_stream_cloud_event_group_deleted_object0" +require_relative "auth0/types/event_stream_cloud_event_group_deleted_object1type_enum" +require_relative "auth0/types/event_stream_cloud_event_group_deleted_object1" +require_relative "auth0/types/event_stream_cloud_event_group_deleted_object2type_enum" +require_relative "auth0/types/event_stream_cloud_event_group_deleted_object2" +require_relative "auth0/types/event_stream_cloud_event_group_deleted_object" +require_relative "auth0/types/event_stream_cloud_event_group_deleted_data" +require_relative "auth0/types/event_stream_cloud_event_group_deleted_cloud_event" +require_relative "auth0/types/event_stream_cloud_event_group_deleted" +require_relative "auth0/types/event_stream_cloud_event_group_deleted_type_enum" +require_relative "auth0/types/event_stream_cloud_event_group_member_added_cloud_event_type_enum" +require_relative "auth0/types/event_stream_cloud_event_group_member_added_object_group0type_enum" +require_relative "auth0/types/event_stream_cloud_event_group_member_added_object_group0" +require_relative "auth0/types/event_stream_cloud_event_group_member_added_object_group1type_enum" +require_relative "auth0/types/event_stream_cloud_event_group_member_added_object_group1" +require_relative "auth0/types/event_stream_cloud_event_group_member_added_object_group2type_enum" +require_relative "auth0/types/event_stream_cloud_event_group_member_added_object_group2" +require_relative "auth0/types/event_stream_cloud_event_group_member_added_object_group" +require_relative "auth0/types/event_stream_cloud_event_group_member_added_object_member0member_type_enum" +require_relative "auth0/types/event_stream_cloud_event_group_member_added_object_member0" +require_relative "auth0/types/event_stream_cloud_event_group_member_added_object_member1member_type_enum" +require_relative "auth0/types/event_stream_cloud_event_group_member_added_object_member1" +require_relative "auth0/types/event_stream_cloud_event_group_member_added_object_member" +require_relative "auth0/types/event_stream_cloud_event_group_member_added_object" +require_relative "auth0/types/event_stream_cloud_event_group_member_added_data" +require_relative "auth0/types/event_stream_cloud_event_group_member_added_cloud_event" +require_relative "auth0/types/event_stream_cloud_event_group_member_added" +require_relative "auth0/types/event_stream_cloud_event_group_member_added_type_enum" +require_relative "auth0/types/event_stream_cloud_event_group_member_deleted_cloud_event_type_enum" +require_relative "auth0/types/event_stream_cloud_event_group_member_deleted_object_group0type_enum" +require_relative "auth0/types/event_stream_cloud_event_group_member_deleted_object_group0" +require_relative "auth0/types/event_stream_cloud_event_group_member_deleted_object_group1type_enum" +require_relative "auth0/types/event_stream_cloud_event_group_member_deleted_object_group1" +require_relative "auth0/types/event_stream_cloud_event_group_member_deleted_object_group2type_enum" +require_relative "auth0/types/event_stream_cloud_event_group_member_deleted_object_group2" +require_relative "auth0/types/event_stream_cloud_event_group_member_deleted_object_group" +require_relative "auth0/types/event_stream_cloud_event_group_member_deleted_object_member0member_type_enum" +require_relative "auth0/types/event_stream_cloud_event_group_member_deleted_object_member0" +require_relative "auth0/types/event_stream_cloud_event_group_member_deleted_object_member1member_type_enum" +require_relative "auth0/types/event_stream_cloud_event_group_member_deleted_object_member1" +require_relative "auth0/types/event_stream_cloud_event_group_member_deleted_object_member" +require_relative "auth0/types/event_stream_cloud_event_group_member_deleted_object" +require_relative "auth0/types/event_stream_cloud_event_group_member_deleted_data" +require_relative "auth0/types/event_stream_cloud_event_group_member_deleted_cloud_event" +require_relative "auth0/types/event_stream_cloud_event_group_member_deleted" +require_relative "auth0/types/event_stream_cloud_event_group_member_deleted_type_enum" +require_relative "auth0/types/event_stream_cloud_event_group_role_assigned_cloud_event_type_enum" +require_relative "auth0/types/event_stream_cloud_event_group_role_assigned_object_group0type_enum" +require_relative "auth0/types/event_stream_cloud_event_group_role_assigned_object_group0" +require_relative "auth0/types/event_stream_cloud_event_group_role_assigned_object_group1type_enum" +require_relative "auth0/types/event_stream_cloud_event_group_role_assigned_object_group1" +require_relative "auth0/types/event_stream_cloud_event_group_role_assigned_object_group2type_enum" +require_relative "auth0/types/event_stream_cloud_event_group_role_assigned_object_group2" +require_relative "auth0/types/event_stream_cloud_event_group_role_assigned_object_group" +require_relative "auth0/types/event_stream_cloud_event_group_role_assigned_object_role" +require_relative "auth0/types/event_stream_cloud_event_group_role_assigned_object" +require_relative "auth0/types/event_stream_cloud_event_group_role_assigned_data" +require_relative "auth0/types/event_stream_cloud_event_group_role_assigned_cloud_event" +require_relative "auth0/types/event_stream_cloud_event_group_role_assigned" +require_relative "auth0/types/event_stream_cloud_event_group_role_assigned_type_enum" +require_relative "auth0/types/event_stream_cloud_event_group_role_deleted_cloud_event_type_enum" +require_relative "auth0/types/event_stream_cloud_event_group_role_deleted_object_group0type_enum" +require_relative "auth0/types/event_stream_cloud_event_group_role_deleted_object_group0" +require_relative "auth0/types/event_stream_cloud_event_group_role_deleted_object_group1type_enum" +require_relative "auth0/types/event_stream_cloud_event_group_role_deleted_object_group1" +require_relative "auth0/types/event_stream_cloud_event_group_role_deleted_object_group2type_enum" +require_relative "auth0/types/event_stream_cloud_event_group_role_deleted_object_group2" +require_relative "auth0/types/event_stream_cloud_event_group_role_deleted_object_group" +require_relative "auth0/types/event_stream_cloud_event_group_role_deleted_object_role" +require_relative "auth0/types/event_stream_cloud_event_group_role_deleted_object" +require_relative "auth0/types/event_stream_cloud_event_group_role_deleted_data" +require_relative "auth0/types/event_stream_cloud_event_group_role_deleted_cloud_event" +require_relative "auth0/types/event_stream_cloud_event_group_role_deleted" +require_relative "auth0/types/event_stream_cloud_event_group_role_deleted_type_enum" +require_relative "auth0/types/event_stream_cloud_event_group_updated_cloud_event_type_enum" +require_relative "auth0/types/event_stream_cloud_event_group_updated_object0type_enum" +require_relative "auth0/types/event_stream_cloud_event_group_updated_object0" +require_relative "auth0/types/event_stream_cloud_event_group_updated_object1type_enum" +require_relative "auth0/types/event_stream_cloud_event_group_updated_object1" +require_relative "auth0/types/event_stream_cloud_event_group_updated_object2type_enum" +require_relative "auth0/types/event_stream_cloud_event_group_updated_object2" +require_relative "auth0/types/event_stream_cloud_event_group_updated_object" +require_relative "auth0/types/event_stream_cloud_event_group_updated_data" +require_relative "auth0/types/event_stream_cloud_event_group_updated_cloud_event" +require_relative "auth0/types/event_stream_cloud_event_group_updated" +require_relative "auth0/types/event_stream_cloud_event_group_updated_type_enum" +require_relative "auth0/types/event_stream_cloud_event_offset_only_message" +require_relative "auth0/types/event_stream_cloud_event_offset_only_message_type_enum" +require_relative "auth0/types/event_stream_cloud_event_org_connection_added_cloud_event_type_enum" +require_relative "auth0/types/event_stream_cloud_event_org_connection_added_object_connection" +require_relative "auth0/types/event_stream_cloud_event_org_connection_added_object_organization" +require_relative "auth0/types/event_stream_cloud_event_org_connection_added_object" +require_relative "auth0/types/event_stream_cloud_event_org_connection_added_data" +require_relative "auth0/types/event_stream_cloud_event_org_connection_added_cloud_event" +require_relative "auth0/types/event_stream_cloud_event_org_connection_added" +require_relative "auth0/types/event_stream_cloud_event_org_connection_added_type_enum" +require_relative "auth0/types/event_stream_cloud_event_org_connection_removed_cloud_event_type_enum" +require_relative "auth0/types/event_stream_cloud_event_org_connection_removed_object_connection" +require_relative "auth0/types/event_stream_cloud_event_org_connection_removed_object_organization" +require_relative "auth0/types/event_stream_cloud_event_org_connection_removed_object" +require_relative "auth0/types/event_stream_cloud_event_org_connection_removed_data" +require_relative "auth0/types/event_stream_cloud_event_org_connection_removed_cloud_event" +require_relative "auth0/types/event_stream_cloud_event_org_connection_removed" +require_relative "auth0/types/event_stream_cloud_event_org_connection_removed_type_enum" +require_relative "auth0/types/event_stream_cloud_event_org_connection_updated_cloud_event_type_enum" +require_relative "auth0/types/event_stream_cloud_event_org_connection_updated_object_connection" +require_relative "auth0/types/event_stream_cloud_event_org_connection_updated_object_organization" +require_relative "auth0/types/event_stream_cloud_event_org_connection_updated_object" +require_relative "auth0/types/event_stream_cloud_event_org_connection_updated_data" +require_relative "auth0/types/event_stream_cloud_event_org_connection_updated_cloud_event" +require_relative "auth0/types/event_stream_cloud_event_org_connection_updated" +require_relative "auth0/types/event_stream_cloud_event_org_connection_updated_type_enum" +require_relative "auth0/types/event_stream_cloud_event_org_created_cloud_event_type_enum" +require_relative "auth0/types/event_stream_cloud_event_org_created_object_branding_colors" +require_relative "auth0/types/event_stream_cloud_event_org_created_object_branding" +require_relative "auth0/types/event_stream_cloud_event_org_created_object_metadata" +require_relative "auth0/types/event_stream_cloud_event_org_created_object" +require_relative "auth0/types/event_stream_cloud_event_org_created_data" +require_relative "auth0/types/event_stream_cloud_event_org_created_cloud_event" +require_relative "auth0/types/event_stream_cloud_event_org_created" +require_relative "auth0/types/event_stream_cloud_event_org_created_type_enum" +require_relative "auth0/types/event_stream_cloud_event_org_deleted_cloud_event_type_enum" +require_relative "auth0/types/event_stream_cloud_event_org_deleted_object_metadata" +require_relative "auth0/types/event_stream_cloud_event_org_deleted_object" +require_relative "auth0/types/event_stream_cloud_event_org_deleted_data" +require_relative "auth0/types/event_stream_cloud_event_org_deleted_cloud_event" +require_relative "auth0/types/event_stream_cloud_event_org_deleted" +require_relative "auth0/types/event_stream_cloud_event_org_deleted_type_enum" +require_relative "auth0/types/event_stream_cloud_event_org_group_role_assigned_cloud_event_type_enum" +require_relative "auth0/types/event_stream_cloud_event_org_group_role_assigned_object_group0type_enum" +require_relative "auth0/types/event_stream_cloud_event_org_group_role_assigned_object_group0" +require_relative "auth0/types/event_stream_cloud_event_org_group_role_assigned_object_group1type_enum" +require_relative "auth0/types/event_stream_cloud_event_org_group_role_assigned_object_group1" +require_relative "auth0/types/event_stream_cloud_event_org_group_role_assigned_object_group2type_enum" +require_relative "auth0/types/event_stream_cloud_event_org_group_role_assigned_object_group2" +require_relative "auth0/types/event_stream_cloud_event_org_group_role_assigned_object_group" +require_relative "auth0/types/event_stream_cloud_event_org_group_role_assigned_object_organization" +require_relative "auth0/types/event_stream_cloud_event_org_group_role_assigned_object_role" +require_relative "auth0/types/event_stream_cloud_event_org_group_role_assigned_object" +require_relative "auth0/types/event_stream_cloud_event_org_group_role_assigned_data" +require_relative "auth0/types/event_stream_cloud_event_org_group_role_assigned_cloud_event" +require_relative "auth0/types/event_stream_cloud_event_org_group_role_assigned" +require_relative "auth0/types/event_stream_cloud_event_org_group_role_assigned_type_enum" +require_relative "auth0/types/event_stream_cloud_event_org_group_role_deleted_cloud_event_type_enum" +require_relative "auth0/types/event_stream_cloud_event_org_group_role_deleted_object_group0type_enum" +require_relative "auth0/types/event_stream_cloud_event_org_group_role_deleted_object_group0" +require_relative "auth0/types/event_stream_cloud_event_org_group_role_deleted_object_group1type_enum" +require_relative "auth0/types/event_stream_cloud_event_org_group_role_deleted_object_group1" +require_relative "auth0/types/event_stream_cloud_event_org_group_role_deleted_object_group2type_enum" +require_relative "auth0/types/event_stream_cloud_event_org_group_role_deleted_object_group2" +require_relative "auth0/types/event_stream_cloud_event_org_group_role_deleted_object_group" +require_relative "auth0/types/event_stream_cloud_event_org_group_role_deleted_object_organization" +require_relative "auth0/types/event_stream_cloud_event_org_group_role_deleted_object_role" +require_relative "auth0/types/event_stream_cloud_event_org_group_role_deleted_object" +require_relative "auth0/types/event_stream_cloud_event_org_group_role_deleted_data" +require_relative "auth0/types/event_stream_cloud_event_org_group_role_deleted_cloud_event" +require_relative "auth0/types/event_stream_cloud_event_org_group_role_deleted" +require_relative "auth0/types/event_stream_cloud_event_org_group_role_deleted_type_enum" +require_relative "auth0/types/event_stream_cloud_event_org_member_added_cloud_event_type_enum" +require_relative "auth0/types/event_stream_cloud_event_org_member_added_object_organization" +require_relative "auth0/types/event_stream_cloud_event_org_member_added_object_user" +require_relative "auth0/types/event_stream_cloud_event_org_member_added_object" +require_relative "auth0/types/event_stream_cloud_event_org_member_added_data" +require_relative "auth0/types/event_stream_cloud_event_org_member_added_cloud_event" +require_relative "auth0/types/event_stream_cloud_event_org_member_added" +require_relative "auth0/types/event_stream_cloud_event_org_member_added_type_enum" +require_relative "auth0/types/event_stream_cloud_event_org_member_deleted_cloud_event_type_enum" +require_relative "auth0/types/event_stream_cloud_event_org_member_deleted_object_organization" +require_relative "auth0/types/event_stream_cloud_event_org_member_deleted_object_user" +require_relative "auth0/types/event_stream_cloud_event_org_member_deleted_object" +require_relative "auth0/types/event_stream_cloud_event_org_member_deleted_data" +require_relative "auth0/types/event_stream_cloud_event_org_member_deleted_cloud_event" +require_relative "auth0/types/event_stream_cloud_event_org_member_deleted" +require_relative "auth0/types/event_stream_cloud_event_org_member_deleted_type_enum" +require_relative "auth0/types/event_stream_cloud_event_org_member_role_assigned_cloud_event_type_enum" +require_relative "auth0/types/event_stream_cloud_event_org_member_role_assigned_object_organization" +require_relative "auth0/types/event_stream_cloud_event_org_member_role_assigned_object_role" +require_relative "auth0/types/event_stream_cloud_event_org_member_role_assigned_object_user" +require_relative "auth0/types/event_stream_cloud_event_org_member_role_assigned_object" +require_relative "auth0/types/event_stream_cloud_event_org_member_role_assigned_data" +require_relative "auth0/types/event_stream_cloud_event_org_member_role_assigned_cloud_event" +require_relative "auth0/types/event_stream_cloud_event_org_member_role_assigned" +require_relative "auth0/types/event_stream_cloud_event_org_member_role_assigned_type_enum" +require_relative "auth0/types/event_stream_cloud_event_org_member_role_deleted_cloud_event_type_enum" +require_relative "auth0/types/event_stream_cloud_event_org_member_role_deleted_object_organization" +require_relative "auth0/types/event_stream_cloud_event_org_member_role_deleted_object_role" +require_relative "auth0/types/event_stream_cloud_event_org_member_role_deleted_object_user" +require_relative "auth0/types/event_stream_cloud_event_org_member_role_deleted_object" +require_relative "auth0/types/event_stream_cloud_event_org_member_role_deleted_data" +require_relative "auth0/types/event_stream_cloud_event_org_member_role_deleted_cloud_event" +require_relative "auth0/types/event_stream_cloud_event_org_member_role_deleted" +require_relative "auth0/types/event_stream_cloud_event_org_member_role_deleted_type_enum" +require_relative "auth0/types/event_stream_cloud_event_org_updated_cloud_event_type_enum" +require_relative "auth0/types/event_stream_cloud_event_org_updated_object_branding_colors" +require_relative "auth0/types/event_stream_cloud_event_org_updated_object_branding" +require_relative "auth0/types/event_stream_cloud_event_org_updated_object_metadata" +require_relative "auth0/types/event_stream_cloud_event_org_updated_object" +require_relative "auth0/types/event_stream_cloud_event_org_updated_data" +require_relative "auth0/types/event_stream_cloud_event_org_updated_cloud_event" +require_relative "auth0/types/event_stream_cloud_event_org_updated" +require_relative "auth0/types/event_stream_cloud_event_org_updated_type_enum" +require_relative "auth0/types/event_stream_cloud_event_user_created_cloud_event_type_enum" +require_relative "auth0/types/event_stream_cloud_event_user_created_object_app_metadata" +require_relative "auth0/types/event_stream_cloud_event_user_created_object_identities_item_custom_is_social_enum" +require_relative "auth0/types/event_stream_cloud_event_user_created_object_identities_item_custom_profile_data" +require_relative "auth0/types/event_stream_cloud_event_user_created_object_identities_item_custom_provider_enum" +require_relative "auth0/types/event_stream_cloud_event_user_created_object_identities_item_custom_user_id" +require_relative "auth0/types/event_stream_cloud_event_user_created_object_identities_item_custom" +require_relative "auth0/types/event_stream_cloud_event_user_created_object_identities_item_database_is_social_enum" +require_relative "auth0/types/event_stream_cloud_event_user_created_object_identities_item_database_profile_data" +require_relative "auth0/types/event_stream_cloud_event_user_created_object_identities_item_database_provider_enum" +require_relative "auth0/types/event_stream_cloud_event_user_created_object_identities_item_database_user_id" +require_relative "auth0/types/event_stream_cloud_event_user_created_object_identities_item_database" +require_relative "auth0/types/event_stream_cloud_event_user_created_object_identities_item_enterprise_is_social_enum" +require_relative "auth0/types/event_stream_cloud_event_user_created_object_identities_item_enterprise_profile_data" +require_relative "auth0/types/event_stream_cloud_event_user_created_object_identities_item_enterprise_provider_enum" +require_relative "auth0/types/event_stream_cloud_event_user_created_object_identities_item_enterprise_user_id" +require_relative "auth0/types/event_stream_cloud_event_user_created_object_identities_item_enterprise" +require_relative "auth0/types/event_stream_cloud_event_user_created_object_identities_item_passwordless_is_social_enum" +require_relative "auth0/types/event_stream_cloud_event_user_created_object_identities_item_passwordless_profile_data" +require_relative "auth0/types/event_stream_cloud_event_user_created_object_identities_item_passwordless_provider_enum" +require_relative "auth0/types/event_stream_cloud_event_user_created_object_identities_item_passwordless_user_id" +require_relative "auth0/types/event_stream_cloud_event_user_created_object_identities_item_passwordless" +require_relative "auth0/types/event_stream_cloud_event_user_created_object_identities_item_social_is_social_enum" +require_relative "auth0/types/event_stream_cloud_event_user_created_object_identities_item_social_profile_data" +require_relative "auth0/types/event_stream_cloud_event_user_created_object_identities_item_social_provider_enum" +require_relative "auth0/types/event_stream_cloud_event_user_created_object_identities_item_social_user_id" +require_relative "auth0/types/event_stream_cloud_event_user_created_object_identities_item_social" +require_relative "auth0/types/event_stream_cloud_event_user_created_object_identities_item" +require_relative "auth0/types/event_stream_cloud_event_user_created_object_user_metadata" +require_relative "auth0/types/event_stream_cloud_event_user_created_object" +require_relative "auth0/types/event_stream_cloud_event_user_created_data" +require_relative "auth0/types/event_stream_cloud_event_user_created_cloud_event" +require_relative "auth0/types/event_stream_cloud_event_user_created" +require_relative "auth0/types/event_stream_cloud_event_user_created_type_enum" +require_relative "auth0/types/event_stream_cloud_event_user_deleted_cloud_event_type_enum" +require_relative "auth0/types/event_stream_cloud_event_user_deleted_object_app_metadata" +require_relative "auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_custom_is_social_enum" +require_relative "auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_custom_profile_data" +require_relative "auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_custom_provider_enum" +require_relative "auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_custom_user_id" +require_relative "auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_custom" +require_relative "auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_database_is_social_enum" +require_relative "auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_database_profile_data" +require_relative "auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_database_provider_enum" +require_relative "auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_database_user_id" +require_relative "auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_database" +require_relative "auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_enterprise_is_social_enum" +require_relative "auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_enterprise_profile_data" +require_relative "auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_enterprise_provider_enum" +require_relative "auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_enterprise_user_id" +require_relative "auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_enterprise" +require_relative "auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_passwordless_is_social_enum" +require_relative "auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_passwordless_profile_data" +require_relative "auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_passwordless_provider_enum" +require_relative "auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_passwordless_user_id" +require_relative "auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_passwordless" +require_relative "auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_social_is_social_enum" +require_relative "auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_social_profile_data" +require_relative "auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_social_provider_enum" +require_relative "auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_social_user_id" +require_relative "auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_social" +require_relative "auth0/types/event_stream_cloud_event_user_deleted_object_identities_item" +require_relative "auth0/types/event_stream_cloud_event_user_deleted_object_user_metadata" +require_relative "auth0/types/event_stream_cloud_event_user_deleted_object" +require_relative "auth0/types/event_stream_cloud_event_user_deleted_data" +require_relative "auth0/types/event_stream_cloud_event_user_deleted_cloud_event" +require_relative "auth0/types/event_stream_cloud_event_user_deleted" +require_relative "auth0/types/event_stream_cloud_event_user_deleted_type_enum" +require_relative "auth0/types/event_stream_cloud_event_user_updated_cloud_event_type_enum" +require_relative "auth0/types/event_stream_cloud_event_user_updated_object_app_metadata" +require_relative "auth0/types/event_stream_cloud_event_user_updated_object_identities_item_custom_is_social_enum" +require_relative "auth0/types/event_stream_cloud_event_user_updated_object_identities_item_custom_profile_data" +require_relative "auth0/types/event_stream_cloud_event_user_updated_object_identities_item_custom_provider_enum" +require_relative "auth0/types/event_stream_cloud_event_user_updated_object_identities_item_custom_user_id" +require_relative "auth0/types/event_stream_cloud_event_user_updated_object_identities_item_custom" +require_relative "auth0/types/event_stream_cloud_event_user_updated_object_identities_item_database_is_social_enum" +require_relative "auth0/types/event_stream_cloud_event_user_updated_object_identities_item_database_profile_data" +require_relative "auth0/types/event_stream_cloud_event_user_updated_object_identities_item_database_provider_enum" +require_relative "auth0/types/event_stream_cloud_event_user_updated_object_identities_item_database_user_id" +require_relative "auth0/types/event_stream_cloud_event_user_updated_object_identities_item_database" +require_relative "auth0/types/event_stream_cloud_event_user_updated_object_identities_item_enterprise_is_social_enum" +require_relative "auth0/types/event_stream_cloud_event_user_updated_object_identities_item_enterprise_profile_data" +require_relative "auth0/types/event_stream_cloud_event_user_updated_object_identities_item_enterprise_provider_enum" +require_relative "auth0/types/event_stream_cloud_event_user_updated_object_identities_item_enterprise_user_id" +require_relative "auth0/types/event_stream_cloud_event_user_updated_object_identities_item_enterprise" +require_relative "auth0/types/event_stream_cloud_event_user_updated_object_identities_item_passwordless_is_social_enum" +require_relative "auth0/types/event_stream_cloud_event_user_updated_object_identities_item_passwordless_profile_data" +require_relative "auth0/types/event_stream_cloud_event_user_updated_object_identities_item_passwordless_provider_enum" +require_relative "auth0/types/event_stream_cloud_event_user_updated_object_identities_item_passwordless_user_id" +require_relative "auth0/types/event_stream_cloud_event_user_updated_object_identities_item_passwordless" +require_relative "auth0/types/event_stream_cloud_event_user_updated_object_identities_item_social_is_social_enum" +require_relative "auth0/types/event_stream_cloud_event_user_updated_object_identities_item_social_profile_data" +require_relative "auth0/types/event_stream_cloud_event_user_updated_object_identities_item_social_provider_enum" +require_relative "auth0/types/event_stream_cloud_event_user_updated_object_identities_item_social_user_id" +require_relative "auth0/types/event_stream_cloud_event_user_updated_object_identities_item_social" +require_relative "auth0/types/event_stream_cloud_event_user_updated_object_identities_item" +require_relative "auth0/types/event_stream_cloud_event_user_updated_object_user_metadata" +require_relative "auth0/types/event_stream_cloud_event_user_updated_object" +require_relative "auth0/types/event_stream_cloud_event_user_updated_data" +require_relative "auth0/types/event_stream_cloud_event_user_updated_cloud_event" +require_relative "auth0/types/event_stream_cloud_event_user_updated" +require_relative "auth0/types/event_stream_cloud_event_user_updated_type_enum" +require_relative "auth0/types/event_stream_delivery" +require_relative "auth0/types/event_stream_destination_patch" +require_relative "auth0/types/event_stream_response_content" +require_relative "auth0/types/event_stream_subscribe_events_event_type_enum" +require_relative "auth0/types/event_stream_subscribe_events_event_type_param" +require_relative "auth0/types/event_stream_subscribe_events_response_content" +require_relative "auth0/types/event_stream_test_event_type_enum" +require_relative "auth0/types/express_configuration_or_null" +require_relative "auth0/types/fed_cm_login_google_patch" +require_relative "auth0/types/fed_cm_login_patch" +require_relative "auth0/types/flow_execution_debug" +require_relative "auth0/types/flow_execution_summary" +require_relative "auth0/types/flow_summary" +require_relative "auth0/types/flows_vault_connection_summary" +require_relative "auth0/types/forbidden_schema_error" +require_relative "auth0/types/forbidden_schema" +require_relative "auth0/types/form_ending_node_nullable" +require_relative "auth0/types/form_languages_nullable" +require_relative "auth0/types/form_messages_nullable" +require_relative "auth0/types/form_node_list_nullable" +require_relative "auth0/types/form_start_node_nullable" +require_relative "auth0/types/form_style_nullable" +require_relative "auth0/types/form_summary" +require_relative "auth0/types/form_translations_nullable" +require_relative "auth0/types/forms_request_parameters_hydrate_enum" +require_relative "auth0/types/get_action_execution_response_content" +require_relative "auth0/types/get_action_module_actions_response_content" +require_relative "auth0/types/get_action_module_response_content" +require_relative "auth0/types/get_action_module_version_response_content" +require_relative "auth0/types/get_action_module_versions_response_content" +require_relative "auth0/types/get_action_modules_response_content" +require_relative "auth0/types/get_action_response_content" +require_relative "auth0/types/get_action_version_response_content" +require_relative "auth0/types/get_active_users_count_stats_response_content" +require_relative "auth0/types/get_acul_response_content" +require_relative "auth0/types/get_attack_protection_captcha_response_content" +require_relative "auth0/types/get_bot_detection_settings_response_content" +require_relative "auth0/types/get_branding_default_theme_response_content" +require_relative "auth0/types/get_branding_phone_provider_response_content" +require_relative "auth0/types/get_branding_response_content" +require_relative "auth0/types/get_branding_theme_response_content" +require_relative "auth0/types/get_breached_password_detection_settings_response_content" +require_relative "auth0/types/get_brute_force_settings_response_content" +require_relative "auth0/types/get_client_credential_response_content" +require_relative "auth0/types/get_client_grant_response_content" +require_relative "auth0/types/get_client_response_content" +require_relative "auth0/types/get_connection_enabled_clients_response_content" +require_relative "auth0/types/get_connection_profile_response_content" +require_relative "auth0/types/get_connection_profile_template_response_content" +require_relative "auth0/types/get_connection_response_content" +require_relative "auth0/types/get_custom_domain_response_content" +require_relative "auth0/types/get_custom_signing_keys_response_content" +require_relative "auth0/types/get_custom_texts_by_language_response_content" +require_relative "auth0/types/get_default_canonical_domain_response_content" +require_relative "auth0/types/get_default_custom_domain_response_content" +require_relative "auth0/types/get_default_domain_response_content" +require_relative "auth0/types/get_directory_provisioning_default_mapping_response_content" +require_relative "auth0/types/get_directory_provisioning_response_content" +require_relative "auth0/types/get_email_provider_response_content" +require_relative "auth0/types/get_email_template_response_content" +require_relative "auth0/types/get_encryption_key_response_content" +require_relative "auth0/types/get_event_stream_delivery_history_response_content" +require_relative "auth0/types/get_event_stream_response_content" +require_relative "auth0/types/get_flow_execution_request_parameters_hydrate_enum" +require_relative "auth0/types/get_flow_execution_response_content" +require_relative "auth0/types/get_flow_request_parameters_hydrate_enum" +require_relative "auth0/types/get_flow_response_content" +require_relative "auth0/types/get_flows_vault_connection_response_content" +require_relative "auth0/types/get_form_response_content" +require_relative "auth0/types/group_member_type_enum" +require_relative "auth0/types/group_type_enum" +require_relative "auth0/types/group_member" +require_relative "auth0/types/get_group_members_response_content" +require_relative "auth0/types/get_group_response_content" +require_relative "auth0/types/guardian_enrollment_date" +require_relative "auth0/types/guardian_enrollment_status" +require_relative "auth0/types/get_guardian_enrollment_response_content" +require_relative "auth0/types/get_guardian_factor_duo_settings_response_content" +require_relative "auth0/types/guardian_factor_phone_factor_message_type_enum" +require_relative "auth0/types/get_guardian_factor_phone_message_types_response_content" +require_relative "auth0/types/get_guardian_factor_phone_templates_response_content" +require_relative "auth0/types/get_guardian_factor_sms_templates_response_content" +require_relative "auth0/types/get_guardian_factors_provider_apns_response_content" +require_relative "auth0/types/guardian_factors_provider_sms_provider_enum" +require_relative "auth0/types/get_guardian_factors_provider_phone_response_content" +require_relative "auth0/types/get_guardian_factors_provider_phone_twilio_response_content" +require_relative "auth0/types/guardian_factors_provider_push_notification_provider_data_enum" +require_relative "auth0/types/get_guardian_factors_provider_push_notification_response_content" +require_relative "auth0/types/get_guardian_factors_provider_sms_response_content" +require_relative "auth0/types/get_guardian_factors_provider_sms_twilio_response_content" +require_relative "auth0/types/get_guardian_factors_provider_sns_response_content" +require_relative "auth0/types/get_hook_response_content" +require_relative "auth0/types/get_hook_secret_response_content" +require_relative "auth0/types/get_job_summary" +require_relative "auth0/types/get_job_response_content" +require_relative "auth0/types/log_date_object" +require_relative "auth0/types/log_date" +require_relative "auth0/types/log_details" +require_relative "auth0/types/log_location_info" +require_relative "auth0/types/log_security_context" +require_relative "auth0/types/get_log_response_content" +require_relative "auth0/types/get_log_stream_response_content" +require_relative "auth0/types/network_acl_match_connecting_ipv4cidr" +require_relative "auth0/types/network_acl_match_connecting_ipv6cidr" +require_relative "auth0/types/network_acl_match_ipv4cidr" +require_relative "auth0/types/network_acl_match_ipv6cidr" +require_relative "auth0/types/network_acl_action_allow_enum" +require_relative "auth0/types/network_acl_action_block_enum" +require_relative "auth0/types/network_acl_action_log_enum" +require_relative "auth0/types/network_acl_action_redirect_enum" +require_relative "auth0/types/network_acl_action" +require_relative "auth0/types/network_acl_match" +require_relative "auth0/types/network_acl_rule_scope_enum" +require_relative "auth0/types/network_acl_rule" +require_relative "auth0/types/get_network_acls_response_content" +require_relative "auth0/types/get_organization_all_connection_response_content" +require_relative "auth0/types/get_organization_by_name_response_content" +require_relative "auth0/types/get_organization_client_response_content" +require_relative "auth0/types/get_organization_connection_response_content" +require_relative "auth0/types/get_organization_discovery_domain_by_name_response_content" +require_relative "auth0/types/get_organization_discovery_domain_response_content" +require_relative "auth0/types/get_organization_invitation_response_content" +require_relative "auth0/types/get_organization_response_content" +require_relative "auth0/types/get_partials_response_content" +require_relative "auth0/types/phone_provider_protection_backoff_strategy_enum" +require_relative "auth0/types/get_phone_provider_protection_response_content" +require_relative "auth0/types/get_phone_template_response_content" +require_relative "auth0/types/get_rate_limit_policy_response_content" +require_relative "auth0/types/refresh_token_date_object" +require_relative "auth0/types/refresh_token_date" +require_relative "auth0/types/refresh_token_device" +require_relative "auth0/types/refresh_token_metadata" +require_relative "auth0/types/refresh_token_resource_server" +require_relative "auth0/types/refresh_token_session_id" +require_relative "auth0/types/get_refresh_token_response_content" +require_relative "auth0/types/refresh_token_response_content" +require_relative "auth0/types/get_refresh_tokens_paginated_response_content" +require_relative "auth0/types/get_resource_server_response_content" +require_relative "auth0/types/get_risk_assessments_settings_new_device_response_content" +require_relative "auth0/types/get_risk_assessments_settings_response_content" +require_relative "auth0/types/get_role_response_content" +require_relative "auth0/types/get_rule_response_content" +require_relative "auth0/types/get_scim_configuration_default_mapping_response_content" +require_relative "auth0/types/get_scim_configuration_response_content" +require_relative "auth0/types/scim_token_item" +require_relative "auth0/types/get_scim_tokens_response_content" +require_relative "auth0/types/get_self_service_profile_response_content" +require_relative "auth0/types/session_actor_metadata" +require_relative "auth0/types/session_date" +require_relative "auth0/types/session_authentication_signal" +require_relative "auth0/types/session_authentication_signals" +require_relative "auth0/types/session_client_metadata" +require_relative "auth0/types/session_cookie_metadata_mode_enum" +require_relative "auth0/types/session_cookie_metadata" +require_relative "auth0/types/session_ip" +require_relative "auth0/types/session_device_metadata" +require_relative "auth0/types/session_metadata" +require_relative "auth0/types/get_session_response_content" +require_relative "auth0/types/universal_login_experience_enum" +require_relative "auth0/types/get_settings_response_content" +require_relative "auth0/types/signing_keys_date" +require_relative "auth0/types/get_signing_keys_response_content" +require_relative "auth0/types/get_supplemental_signals_response_content" +require_relative "auth0/types/suspicious_ip_throttling_allowlist_item" +require_relative "auth0/types/suspicious_ip_throttling_allowlist" +require_relative "auth0/types/suspicious_ip_throttling_pre_custom_token_exchange_stage" +require_relative "auth0/types/suspicious_ip_throttling_pre_login_stage" +require_relative "auth0/types/suspicious_ip_throttling_pre_user_registration_stage" +require_relative "auth0/types/suspicious_ip_throttling_shields_enum" +require_relative "auth0/types/suspicious_ip_throttling_stage" +require_relative "auth0/types/get_suspicious_ip_throttling_settings_response_content" +require_relative "auth0/types/session_cookie_mode_enum" +require_relative "auth0/types/session_cookie_schema" +require_relative "auth0/types/supported_locales" +require_relative "auth0/types/tenant_oidc_logout_settings" +require_relative "auth0/types/tenant_settings_country_codes_mode_response" +require_relative "auth0/types/tenant_settings_country_codes_response" +require_relative "auth0/types/tenant_settings_device_flow_charset" +require_relative "auth0/types/tenant_settings_device_flow" +require_relative "auth0/types/tenant_settings_dynamic_client_registration_security_mode" +require_relative "auth0/types/tenant_settings_error_page" +require_relative "auth0/types/tenant_settings_flags" +require_relative "auth0/types/tenant_settings_guardian_page" +require_relative "auth0/types/tenant_settings_mtls" +require_relative "auth0/types/xss_protection_mode" +require_relative "auth0/types/xss_protection_config" +require_relative "auth0/types/tenant_settings_nullable_security_headers" +require_relative "auth0/types/tenant_settings_password_page" +require_relative "auth0/types/tenant_settings_resource_parameter_profile" +require_relative "auth0/types/tenant_settings_sessions" +require_relative "auth0/types/get_tenant_settings_response_content" +require_relative "auth0/types/get_token_exchange_profile_response_content" +require_relative "auth0/types/get_universal_login_template" +require_relative "auth0/types/get_universal_login_template_response_content" +require_relative "auth0/types/get_user_attribute_profile_response_content" +require_relative "auth0/types/user_attribute_profile_template" +require_relative "auth0/types/get_user_attribute_profile_template_response_content" +require_relative "auth0/types/get_user_authentication_method_response_content" +require_relative "auth0/types/group" +require_relative "auth0/types/user_groups_response_schema" +require_relative "auth0/types/get_user_groups_paginated_response_content" +require_relative "auth0/types/get_user_response_content" +require_relative "auth0/types/get_verifiable_credential_template_response_content" +require_relative "auth0/types/guardian_enrollment_factor_enum" +require_relative "auth0/types/guardian_factor_name_enum" +require_relative "auth0/types/guardian_factor_settings" +require_relative "auth0/types/guardian_factor" +require_relative "auth0/types/hook" +require_relative "auth0/types/hook_trigger_id_enum" +require_relative "auth0/types/identity_provider_enum" +require_relative "auth0/types/identity" +require_relative "auth0/types/import_encryption_key_response_content" +require_relative "auth0/types/list_action_bindings_paginated_response_content" +require_relative "auth0/types/list_action_triggers_response_content" +require_relative "auth0/types/list_action_versions_paginated_response_content" +require_relative "auth0/types/list_actions_paginated_response_content" +require_relative "auth0/types/list_aculs_response_content_item" +require_relative "auth0/types/list_aculs_offset_paginated_response_content" +require_relative "auth0/types/list_agents_response_content" +require_relative "auth0/types/phone_provider_schema_masked" +require_relative "auth0/types/list_branding_phone_providers_response_content" +require_relative "auth0/types/list_client_connections_response_content" +require_relative "auth0/types/organization" +require_relative "auth0/types/list_client_grant_organizations_paginated_response_content" +require_relative "auth0/types/list_client_grant_paginated_response_content" +require_relative "auth0/types/list_clients_offset_paginated_response_content" +require_relative "auth0/types/list_connection_profile_template_response_content" +require_relative "auth0/types/list_connection_profiles_paginated_response_content" +require_relative "auth0/types/list_connections_checkpoint_paginated_response_content" +require_relative "auth0/types/list_custom_domains_response_content" +require_relative "auth0/types/list_device_credentials_offset_paginated_response_content" +require_relative "auth0/types/list_directory_provisionings_response_content" +require_relative "auth0/types/list_encryption_key_offset_paginated_response_content" +require_relative "auth0/types/list_event_stream_deliveries_response_content" +require_relative "auth0/types/list_event_streams_response_content" +require_relative "auth0/types/list_flow_executions_paginated_response_content" +require_relative "auth0/types/list_flows_offset_paginated_response_content" +require_relative "auth0/types/list_flows_request_parameters_hydrate_enum" +require_relative "auth0/types/list_flows_vault_connections_offset_paginated_response_content" +require_relative "auth0/types/list_forms_offset_paginated_response_content" +require_relative "auth0/types/role" +require_relative "auth0/types/list_group_roles_response_content" +require_relative "auth0/types/list_groups_paginated_response_content" +require_relative "auth0/types/mfa_policy_enum" +require_relative "auth0/types/list_guardian_policies_response_content" +require_relative "auth0/types/list_hooks_offset_paginated_response_content" +require_relative "auth0/types/log" +require_relative "auth0/types/list_log_offset_paginated_response_content" +require_relative "auth0/types/network_acls_response_content" +require_relative "auth0/types/list_network_acls_offset_paginated_response_content" +require_relative "auth0/types/organization_all_connection_post" +require_relative "auth0/types/list_organization_all_connections_offset_paginated_response_content" +require_relative "auth0/types/organization_client_grant" +require_relative "auth0/types/list_organization_client_grants_offset_paginated_response_content" +require_relative "auth0/types/list_organization_clients_response_content" +require_relative "auth0/types/organization_connection" +require_relative "auth0/types/list_organization_connections_offset_paginated_response_content" +require_relative "auth0/types/organization_discovery_domain" +require_relative "auth0/types/list_organization_discovery_domains_response_content" +require_relative "auth0/types/list_organization_group_roles_response_content" +require_relative "auth0/types/list_organization_groups_response_content" +require_relative "auth0/types/organization_invitation" +require_relative "auth0/types/list_organization_invitations_offset_paginated_response_content" +require_relative "auth0/types/organization_member_effective_role_source" +require_relative "auth0/types/organization_member_effective_role" +require_relative "auth0/types/list_organization_member_effective_roles_response_content" +require_relative "auth0/types/list_organization_member_role_source_groups_response_content" +require_relative "auth0/types/list_organization_member_roles_offset_paginated_response_content" +require_relative "auth0/types/organization_member_role" +require_relative "auth0/types/organization_member" +require_relative "auth0/types/list_organization_members_paginated_response_content" +require_relative "auth0/types/role_group" +require_relative "auth0/types/list_organization_role_groups_response_content" +require_relative "auth0/types/role_member" +require_relative "auth0/types/list_organization_role_members_response_content" +require_relative "auth0/types/list_organizations_paginated_response_content" +require_relative "auth0/types/phone_template" +require_relative "auth0/types/list_phone_templates_response_content" +require_relative "auth0/types/rate_limit_policy" +require_relative "auth0/types/list_rate_limit_policies_paginated_response_content" +require_relative "auth0/types/list_refresh_tokens_paginated_response_content" +require_relative "auth0/types/resource_server" +require_relative "auth0/types/list_resource_server_offset_paginated_response_content" +require_relative "auth0/types/list_role_groups_response_content" +require_relative "auth0/types/permissions_response_payload" +require_relative "auth0/types/list_role_permissions_offset_paginated_response_content" +require_relative "auth0/types/role_user" +require_relative "auth0/types/list_role_users_paginated_response_content" +require_relative "auth0/types/list_roles_offset_paginated_response_content" +require_relative "auth0/types/rule" +require_relative "auth0/types/list_rules_offset_paginated_response_content" +require_relative "auth0/types/scim_configuration" +require_relative "auth0/types/list_scim_configurations_response_content" +require_relative "auth0/types/list_self_service_profile_custom_text_response_content" +require_relative "auth0/types/self_service_profile" +require_relative "auth0/types/list_self_service_profiles_paginated_response_content" +require_relative "auth0/types/synchronized_group_payload" +require_relative "auth0/types/list_synchronized_groups_response_content" +require_relative "auth0/types/token_exchange_profile_response_content" +require_relative "auth0/types/list_token_exchange_profile_response_content" +require_relative "auth0/types/user_attribute_profile_template_item" +require_relative "auth0/types/list_user_attribute_profile_template_response_content" +require_relative "auth0/types/user_attribute_profile" +require_relative "auth0/types/list_user_attribute_profiles_paginated_response_content" +require_relative "auth0/types/user_authentication_method" +require_relative "auth0/types/list_user_authentication_methods_offset_paginated_response_content" +require_relative "auth0/types/user_block_identifier" +require_relative "auth0/types/list_user_blocks_by_identifier_response_content" +require_relative "auth0/types/list_user_blocks_response_content" +require_relative "auth0/types/list_user_connected_accounts_response_content" +require_relative "auth0/types/user_effective_permission_role_source_enum" +require_relative "auth0/types/user_effective_permission_role_source_response_content" +require_relative "auth0/types/list_user_effective_permission_role_sources_response_content" +require_relative "auth0/types/user_effective_permission_source_enum" +require_relative "auth0/types/user_effective_permission_response_content" +require_relative "auth0/types/list_user_effective_permissions_response_content" +require_relative "auth0/types/user_effective_role_source" +require_relative "auth0/types/user_effective_role" +require_relative "auth0/types/list_user_effective_roles_response_content" +require_relative "auth0/types/user_grant" +require_relative "auth0/types/list_user_grants_offset_paginated_response_content" +require_relative "auth0/types/list_user_organizations_offset_paginated_response_content" +require_relative "auth0/types/user_permission_schema" +require_relative "auth0/types/list_user_permissions_offset_paginated_response_content" +require_relative "auth0/types/list_user_role_source_groups_response_content" +require_relative "auth0/types/list_user_roles_offset_paginated_response_content" +require_relative "auth0/types/session_response_content" +require_relative "auth0/types/list_user_sessions_paginated_response_content" +require_relative "auth0/types/user_response_schema" +require_relative "auth0/types/list_users_offset_paginated_response_content" +require_relative "auth0/types/verifiable_credential_template_response" +require_relative "auth0/types/list_verifiable_credential_templates_paginated_response_content" +require_relative "auth0/types/log_stream_mixpanel_sink_patch" +require_relative "auth0/types/log_stream_response_schema" +require_relative "auth0/types/log_stream_segment_sink" +require_relative "auth0/types/log_stream_sink_patch" +require_relative "auth0/types/native_social_login_apple_patch" +require_relative "auth0/types/native_social_login_facebook_patch" +require_relative "auth0/types/native_social_login_google_patch" +require_relative "auth0/types/native_social_login_patch" +require_relative "auth0/types/not_found_schema_error" +require_relative "auth0/types/not_found_schema" +require_relative "auth0/types/organization_access_level_enum_with_null" +require_relative "auth0/types/partial_groups_enum" +require_relative "auth0/types/partial_phone_template_content" +require_relative "auth0/types/patch_client_credential_response_content" +require_relative "auth0/types/patch_phone_provider_protection_response_content" +require_relative "auth0/types/patch_rate_limit_policy_configuration_request_content_zero_action" +require_relative "auth0/types/patch_rate_limit_policy_configuration_request_content_zero" +require_relative "auth0/types/patch_rate_limit_policy_configuration_request_content_one_action" +require_relative "auth0/types/patch_rate_limit_policy_configuration_request_content_one" +require_relative "auth0/types/patch_rate_limit_policy_configuration_request_content_action_action" +require_relative "auth0/types/patch_rate_limit_policy_configuration_request_content_action" +require_relative "auth0/types/patch_rate_limit_policy_configuration_request_content" +require_relative "auth0/types/patch_supplemental_signals_response_content" +require_relative "auth0/types/permission_request_payload" +require_relative "auth0/types/twilio_provider_credentials" +require_relative "auth0/types/phone_provider_credentials" +require_relative "auth0/types/phone_provider_delivery_method_enum" +require_relative "auth0/types/post_client_credential_response_content" +require_relative "auth0/types/post_connection_keys_alg_enum" +require_relative "auth0/types/post_connection_keys_request_content" +require_relative "auth0/types/post_connections_keys_response_content_item" +require_relative "auth0/types/post_connections_keys_response_content" +require_relative "auth0/types/preview_cimd_metadata_response_content" +require_relative "auth0/types/prompt_language_enum" +require_relative "auth0/types/regenerate_users_recovery_code_response_content" +require_relative "auth0/types/register_cimd_client_response_content" +require_relative "auth0/types/reset_phone_template_request_content" +require_relative "auth0/types/reset_phone_template_response_content" +require_relative "auth0/types/resource_server_token_dialect_schema_enum" +require_relative "auth0/types/resource_server_verification_key_pem_certificate" +require_relative "auth0/types/revoked_signing_keys_response_content" +require_relative "auth0/types/rollback_action_module_response_content" +require_relative "auth0/types/rotate_client_secret_response_content" +require_relative "auth0/types/rotate_connection_keys_signing_alg_enum" +require_relative "auth0/types/rotate_connection_keys_request_content" +require_relative "auth0/types/rotate_connections_keys_response_content" +require_relative "auth0/types/rotate_signing_keys_response_content" +require_relative "auth0/types/rules_config" +require_relative "auth0/types/search_engine_versions_enum" +require_relative "auth0/types/self_service_profile_branding" +require_relative "auth0/types/self_service_profile_custom_text_language_enum" +require_relative "auth0/types/self_service_profile_custom_text_page_enum" +require_relative "auth0/types/self_service_profile_description" +require_relative "auth0/types/self_service_profile_sso_ticket_idp_initiated_client_protocol_enum" +require_relative "auth0/types/self_service_profile_sso_ticket_idp_initiated_options" +require_relative "auth0/types/self_service_profile_sso_ticket_connection_options" +require_relative "auth0/types/self_service_profile_sso_ticket_connection_config" +require_relative "auth0/types/self_service_profile_sso_ticket_domain_verification_enum" +require_relative "auth0/types/self_service_profile_sso_ticket_domain_aliases_config" +require_relative "auth0/types/self_service_profile_sso_ticket_enabled_features" +require_relative "auth0/types/self_service_profile_sso_ticket_enabled_organization" +require_relative "auth0/types/self_service_profile_sso_ticket_google_workspace_config" +require_relative "auth0/types/self_service_profile_sso_ticket_provisioning_scope_enum" +require_relative "auth0/types/self_service_profile_sso_ticket_provisioning_config" +require_relative "auth0/types/self_service_profile_user_attributes" +require_relative "auth0/types/session_actor_claim_value" +require_relative "auth0/types/set_custom_signing_keys_response_content" +require_relative "auth0/types/set_email_template_response_content" +require_relative "auth0/types/set_guardian_factor_duo_settings_response_content" +require_relative "auth0/types/set_guardian_factor_phone_message_types_response_content" +require_relative "auth0/types/set_guardian_factor_phone_templates_response_content" +require_relative "auth0/types/set_guardian_factor_response_content" +require_relative "auth0/types/set_guardian_factor_sms_templates_response_content" +require_relative "auth0/types/set_guardian_factors_provider_phone_response_content" +require_relative "auth0/types/set_guardian_factors_provider_phone_twilio_response_content" +require_relative "auth0/types/set_guardian_factors_provider_push_notification_apns_response_content" +require_relative "auth0/types/set_guardian_factors_provider_push_notification_fcm_response_content" +require_relative "auth0/types/set_guardian_factors_provider_push_notification_fcmv1response_content" +require_relative "auth0/types/set_guardian_factors_provider_push_notification_response_content" +require_relative "auth0/types/set_guardian_factors_provider_push_notification_sns_response_content" +require_relative "auth0/types/set_guardian_factors_provider_sms_response_content" +require_relative "auth0/types/set_guardian_factors_provider_sms_twilio_response_content" +require_relative "auth0/types/set_guardian_policies_request_content" +require_relative "auth0/types/set_guardian_policies_response_content" +require_relative "auth0/types/set_network_acls_response_content" +require_relative "auth0/types/set_partials_request_content" +require_relative "auth0/types/set_rules_config_response_content" +require_relative "auth0/types/set_self_service_profile_custom_text_request_content" +require_relative "auth0/types/set_self_service_profile_custom_text_response_content" +require_relative "auth0/types/set_user_authentication_method_response_content" +require_relative "auth0/types/set_user_authentication_methods" +require_relative "auth0/types/set_user_authentication_methods_request_content" +require_relative "auth0/types/sets_custom_texts_by_language_request_content" +require_relative "auth0/types/signing_keys" +require_relative "auth0/types/synchronized_group_selection_id" +require_relative "auth0/types/tenant_settings_country_codes_mode" +require_relative "auth0/types/tenant_settings_country_codes" +require_relative "auth0/types/tenant_settings_supported_locales_enum" +require_relative "auth0/types/test_action_payload" +require_relative "auth0/types/test_action_result_payload" +require_relative "auth0/types/test_action_response_content" +require_relative "auth0/types/test_custom_domain_response_content" +require_relative "auth0/types/test_event_data_content" +require_relative "auth0/types/third_party_client_access_config" +require_relative "auth0/types/too_many_requests_schema_error" +require_relative "auth0/types/too_many_requests_schema" +require_relative "auth0/types/unauthorized_schema_error" +require_relative "auth0/types/unauthorized_schema" +require_relative "auth0/types/update_action_bindings_response_content" +require_relative "auth0/types/update_action_module_response_content" +require_relative "auth0/types/update_action_response_content" +require_relative "auth0/types/update_acul_response_content" +require_relative "auth0/types/update_attack_protection_captcha_response_content" +require_relative "auth0/types/update_bot_detection_settings_response_content" +require_relative "auth0/types/update_branding_page_background" +require_relative "auth0/types/update_branding_colors" +require_relative "auth0/types/update_branding_font" +require_relative "auth0/types/update_branding_phone_provider_response_content" +require_relative "auth0/types/update_branding_response_content" +require_relative "auth0/types/update_branding_theme_response_content" +require_relative "auth0/types/update_breached_password_detection_settings_response_content" +require_relative "auth0/types/update_brute_force_settings_response_content" +require_relative "auth0/types/update_client_grant_response_content" +require_relative "auth0/types/update_client_response_content" +require_relative "auth0/types/update_connection_options" +require_relative "auth0/types/update_connection_profile_response_content" +require_relative "auth0/types/update_connection_request_content_ad" +require_relative "auth0/types/update_connection_request_content_adfs" +require_relative "auth0/types/update_connection_request_content_amazon" +require_relative "auth0/types/update_connection_request_content_apple" +require_relative "auth0/types/update_connection_request_content_auth0" +require_relative "auth0/types/update_connection_request_content_auth0oidc" +require_relative "auth0/types/update_connection_request_content_azure_ad" +require_relative "auth0/types/update_connection_request_content_baidu" +require_relative "auth0/types/update_connection_request_content_bitbucket" +require_relative "auth0/types/update_connection_request_content_bitly" +require_relative "auth0/types/update_connection_request_content_box" +require_relative "auth0/types/update_connection_request_content_custom" +require_relative "auth0/types/update_connection_request_content_daccount" +require_relative "auth0/types/update_connection_request_content_dropbox" +require_relative "auth0/types/update_connection_request_content_dwolla" +require_relative "auth0/types/update_connection_request_content_email" +require_relative "auth0/types/update_connection_request_content_evernote" +require_relative "auth0/types/update_connection_request_content_evernote_sandbox" +require_relative "auth0/types/update_connection_request_content_exact" +require_relative "auth0/types/update_connection_request_content_facebook" +require_relative "auth0/types/update_connection_request_content_fitbit" +require_relative "auth0/types/update_connection_request_content_git_hub" +require_relative "auth0/types/update_connection_request_content_google_apps" +require_relative "auth0/types/update_connection_request_content_google_o_auth2" +require_relative "auth0/types/update_connection_request_content_ip" +require_relative "auth0/types/update_connection_request_content_instagram" +require_relative "auth0/types/update_connection_request_content_line" +require_relative "auth0/types/update_connection_request_content_linkedin" +require_relative "auth0/types/update_connection_request_content_o_auth1" +require_relative "auth0/types/update_connection_request_content_o_auth2" +require_relative "auth0/types/update_connection_request_content_oidc" +require_relative "auth0/types/update_connection_request_content_office365" +require_relative "auth0/types/update_connection_request_content_okta" +require_relative "auth0/types/update_connection_request_content_paypal" +require_relative "auth0/types/update_connection_request_content_paypal_sandbox" +require_relative "auth0/types/update_connection_request_content_ping_federate" +require_relative "auth0/types/update_connection_request_content_planning_center" +require_relative "auth0/types/update_connection_request_content_saml" +require_relative "auth0/types/update_connection_request_content_sms" +require_relative "auth0/types/update_connection_request_content_salesforce" +require_relative "auth0/types/update_connection_request_content_salesforce_community" +require_relative "auth0/types/update_connection_request_content_salesforce_sandbox" +require_relative "auth0/types/update_connection_request_content_sharepoint" +require_relative "auth0/types/update_connection_request_content_shop" +require_relative "auth0/types/update_connection_request_content_shopify" +require_relative "auth0/types/update_connection_request_content_soundcloud" +require_relative "auth0/types/update_connection_request_content_thirty_seven_signals" +require_relative "auth0/types/update_connection_request_content_twitter" +require_relative "auth0/types/update_connection_request_content_untappd" +require_relative "auth0/types/update_connection_request_content_vkontakte" +require_relative "auth0/types/update_connection_request_content_weibo" +require_relative "auth0/types/update_connection_request_content_windows_live" +require_relative "auth0/types/update_connection_request_content_wordpress" +require_relative "auth0/types/update_connection_request_content_yahoo" +require_relative "auth0/types/update_connection_request_content_yandex" +require_relative "auth0/types/update_connection_response_content" +require_relative "auth0/types/update_cross_app_access_resource_app" +require_relative "auth0/types/update_custom_domain_response_content" +require_relative "auth0/types/update_default_canonical_domain_response_content" +require_relative "auth0/types/update_default_custom_domain_response_content" +require_relative "auth0/types/update_default_domain_response_content" +require_relative "auth0/types/update_directory_provisioning_request_content" +require_relative "auth0/types/update_directory_provisioning_response_content" +require_relative "auth0/types/update_email_provider_response_content" +require_relative "auth0/types/update_email_template_response_content" +require_relative "auth0/types/update_enabled_client_connections_request_content_item" +require_relative "auth0/types/update_enabled_client_connections_request_content" +require_relative "auth0/types/update_event_stream_response_content" +require_relative "auth0/types/update_flow_response_content" +require_relative "auth0/types/update_flows_vault_connection_response_content" +require_relative "auth0/types/update_flows_vault_connection_setup" +require_relative "auth0/types/update_form_response_content" +require_relative "auth0/types/update_guardian_factor_duo_settings_response_content" +require_relative "auth0/types/update_guardian_factors_provider_push_notification_apns_response_content" +require_relative "auth0/types/update_guardian_factors_provider_push_notification_fcm_response_content" +require_relative "auth0/types/update_guardian_factors_provider_push_notification_fcmv1response_content" +require_relative "auth0/types/update_guardian_factors_provider_push_notification_sns_response_content" +require_relative "auth0/types/update_hook_response_content" +require_relative "auth0/types/update_hook_secret_request_content" +require_relative "auth0/types/update_identity_assertion_authorization_grant" +require_relative "auth0/types/update_log_stream_response_content" +require_relative "auth0/types/update_network_acl_response_content" +require_relative "auth0/types/update_organization_all_connection_response_content" +require_relative "auth0/types/update_organization_client_response_content" +require_relative "auth0/types/update_organization_connection_response_content" +require_relative "auth0/types/update_organization_discovery_domain_response_content" +require_relative "auth0/types/update_organization_response_content" +require_relative "auth0/types/update_phone_template_response_content" +require_relative "auth0/types/update_rate_limit_policy_response_content" +require_relative "auth0/types/update_refresh_token_response_content" +require_relative "auth0/types/update_resource_server_response_content" +require_relative "auth0/types/update_risk_assessments_settings_new_device_response_content" +require_relative "auth0/types/update_risk_assessments_settings_response_content" +require_relative "auth0/types/update_role_response_content" +require_relative "auth0/types/update_rule_response_content" +require_relative "auth0/types/update_scim_configuration_response_content" +require_relative "auth0/types/update_self_service_profile_response_content" +require_relative "auth0/types/update_session_response_content" +require_relative "auth0/types/update_settings_response_content" +require_relative "auth0/types/update_suspicious_ip_throttling_settings_response_content" +require_relative "auth0/types/update_tenant_settings_response_content" +require_relative "auth0/types/update_token_quota" +require_relative "auth0/types/update_universal_login_template_request_content_template" +require_relative "auth0/types/update_universal_login_template_request_content" +require_relative "auth0/types/update_user_attribute_profile_response_content" +require_relative "auth0/types/update_user_authentication_method_response_content" +require_relative "auth0/types/update_user_response_content" +require_relative "auth0/types/update_verifiable_credential_template_response_content" +require_relative "auth0/types/user_attribute_profile_patch_user_id" +require_relative "auth0/types/user_enrollment_auth_method_enum" +require_relative "auth0/types/user_enrollment_status_enum" +require_relative "auth0/types/user_identity" +require_relative "auth0/types/user_list_log_offset_paginated_response_content" +require_relative "auth0/types/user_multifactor_provider_enum" +require_relative "auth0/types/users_enrollment" +require_relative "auth0/types/verify_custom_domain_response_content" +require_relative "auth0/types/verify_email_ticket_response_content" +require_relative "auth0/client" +require_relative "auth0/actions/client" +require_relative "auth0/actions/types/list_actions_request_parameters" +require_relative "auth0/actions/types/create_action_request_content" +require_relative "auth0/actions/types/delete_action_request_parameters" +require_relative "auth0/actions/types/update_action_request_content" +require_relative "auth0/actions/types/test_action_request_content" +require_relative "auth0/agents/client" +require_relative "auth0/agents/types/list_agents_request_parameters" +require_relative "auth0/agents/types/create_agent_request_content" +require_relative "auth0/agents/types/patch_agent_request_parameters" +require_relative "auth0/branding/client" +require_relative "auth0/branding/types/update_branding_request_content" +require_relative "auth0/client_grants/client" +require_relative "auth0/client_grants/types/list_client_grants_request_parameters" +require_relative "auth0/client_grants/types/create_client_grant_request_content" +require_relative "auth0/client_grants/types/update_client_grant_request_content" +require_relative "auth0/clients/client" +require_relative "auth0/clients/types/list_clients_request_parameters" +require_relative "auth0/clients/types/create_client_request_content" +require_relative "auth0/clients/types/preview_cimd_metadata_request_content" +require_relative "auth0/clients/types/register_cimd_client_request_content" +require_relative "auth0/clients/types/get_client_request_parameters" +require_relative "auth0/clients/types/update_client_request_content" +require_relative "auth0/connection_profiles/client" +require_relative "auth0/connection_profiles/types/list_connection_profile_request_parameters" +require_relative "auth0/connection_profiles/types/create_connection_profile_request_content" +require_relative "auth0/connection_profiles/types/update_connection_profile_request_content" +require_relative "auth0/connections/client" +require_relative "auth0/connections/types/list_connections_query_parameters" +require_relative "auth0/connections/types/create_connection_request_content" +require_relative "auth0/connections/types/get_connection_request_parameters" +require_relative "auth0/connections/types/update_connection_request_content" +require_relative "auth0/custom_domains/client" +require_relative "auth0/custom_domains/types/list_custom_domains_request_parameters" +require_relative "auth0/custom_domains/types/create_custom_domain_request_content" +require_relative "auth0/custom_domains/types/set_default_custom_domain_request_content" +require_relative "auth0/custom_domains/types/update_custom_domain_request_content" +require_relative "auth0/device_credentials/client" +require_relative "auth0/device_credentials/types/list_device_credentials_request_parameters" +require_relative "auth0/device_credentials/types/create_public_key_device_credential_request_content" +require_relative "auth0/email_templates/client" +require_relative "auth0/email_templates/types/create_email_template_request_content" +require_relative "auth0/email_templates/types/set_email_template_request_content" +require_relative "auth0/email_templates/types/update_email_template_request_content" +require_relative "auth0/event_streams/client" +require_relative "auth0/event_streams/types/list_event_streams_request_parameters" +require_relative "auth0/event_streams/types/update_event_stream_request_content" +require_relative "auth0/event_streams/types/create_event_stream_test_event_request_content" +require_relative "auth0/events/client" +require_relative "auth0/events/types/subscribe_events_request_parameters" +require_relative "auth0/flows/client" +require_relative "auth0/flows/types/list_flows_request_parameters" +require_relative "auth0/flows/types/create_flow_request_content" +require_relative "auth0/flows/types/get_flow_request_parameters" +require_relative "auth0/flows/types/update_flow_request_content" +require_relative "auth0/forms/client" +require_relative "auth0/forms/types/list_forms_request_parameters" +require_relative "auth0/forms/types/create_form_request_content" +require_relative "auth0/forms/types/get_form_request_parameters" +require_relative "auth0/forms/types/update_form_request_content" +require_relative "auth0/user_grants/client" +require_relative "auth0/user_grants/types/list_user_grants_request_parameters" +require_relative "auth0/user_grants/types/delete_user_grant_by_user_id_request_parameters" +require_relative "auth0/groups/client" +require_relative "auth0/groups/types/list_groups_request_parameters" +require_relative "auth0/hooks/client" +require_relative "auth0/hooks/types/list_hooks_request_parameters" +require_relative "auth0/hooks/types/create_hook_request_content" +require_relative "auth0/hooks/types/get_hook_request_parameters" +require_relative "auth0/hooks/types/update_hook_request_content" +require_relative "auth0/jobs/client" +require_relative "auth0/log_streams/client" +require_relative "auth0/log_streams/types/update_log_stream_request_content" +require_relative "auth0/logs/client" +require_relative "auth0/logs/types/list_logs_request_parameters" +require_relative "auth0/network_acls/client" +require_relative "auth0/network_acls/types/list_network_acls_request_parameters" +require_relative "auth0/network_acls/types/create_network_acl_request_content" +require_relative "auth0/network_acls/types/set_network_acl_request_content" +require_relative "auth0/network_acls/types/update_network_acl_request_content" +require_relative "auth0/organizations/client" +require_relative "auth0/organizations/types/list_organizations_request_parameters" +require_relative "auth0/organizations/types/create_organization_request_content" +require_relative "auth0/organizations/types/update_organization_request_content" +require_relative "auth0/prompts/client" +require_relative "auth0/prompts/types/update_settings_request_content" +require_relative "auth0/rate_limit_policies/client" +require_relative "auth0/rate_limit_policies/types/list_rate_limit_policies_request_parameters" +require_relative "auth0/rate_limit_policies/types/create_rate_limit_policy_request_content" +require_relative "auth0/rate_limit_policies/types/patch_rate_limit_policy_request_content" +require_relative "auth0/refresh_tokens/client" +require_relative "auth0/refresh_tokens/types/get_refresh_tokens_request_parameters" +require_relative "auth0/refresh_tokens/types/revoke_refresh_tokens_request_content" +require_relative "auth0/refresh_tokens/types/update_refresh_token_request_content" +require_relative "auth0/resource_servers/client" +require_relative "auth0/resource_servers/types/list_resource_server_request_parameters" +require_relative "auth0/resource_servers/types/create_resource_server_request_content" +require_relative "auth0/resource_servers/types/get_resource_server_request_parameters" +require_relative "auth0/resource_servers/types/update_resource_server_request_content" +require_relative "auth0/roles/client" +require_relative "auth0/roles/types/list_roles_request_parameters" +require_relative "auth0/roles/types/create_role_request_content" +require_relative "auth0/roles/types/update_role_request_content" +require_relative "auth0/rules/client" +require_relative "auth0/rules/types/list_rules_request_parameters" +require_relative "auth0/rules/types/create_rule_request_content" +require_relative "auth0/rules/types/get_rule_request_parameters" +require_relative "auth0/rules/types/update_rule_request_content" +require_relative "auth0/rules_configs/client" +require_relative "auth0/rules_configs/types/set_rules_config_request_content" +require_relative "auth0/self_service_profiles/client" +require_relative "auth0/self_service_profiles/types/list_self_service_profiles_request_parameters" +require_relative "auth0/self_service_profiles/types/create_self_service_profile_request_content" +require_relative "auth0/self_service_profiles/types/update_self_service_profile_request_content" +require_relative "auth0/sessions/client" +require_relative "auth0/sessions/types/update_session_request_content" +require_relative "auth0/stats/client" +require_relative "auth0/stats/types/get_daily_stats_request_parameters" +require_relative "auth0/supplemental_signals/client" +require_relative "auth0/supplemental_signals/types/update_supplemental_signals_request_content" +require_relative "auth0/tickets/client" +require_relative "auth0/tickets/types/verify_email_ticket_request_content" +require_relative "auth0/tickets/types/change_password_ticket_request_content" +require_relative "auth0/token_exchange_profiles/client" +require_relative "auth0/token_exchange_profiles/types/token_exchange_profiles_list_request" +require_relative "auth0/token_exchange_profiles/types/create_token_exchange_profile_request_content" +require_relative "auth0/token_exchange_profiles/types/update_token_exchange_profile_request_content" +require_relative "auth0/user_attribute_profiles/client" +require_relative "auth0/user_attribute_profiles/types/list_user_attribute_profile_request_parameters" +require_relative "auth0/user_attribute_profiles/types/create_user_attribute_profile_request_content" +require_relative "auth0/user_attribute_profiles/types/update_user_attribute_profile_request_content" +require_relative "auth0/user_blocks/client" +require_relative "auth0/user_blocks/types/list_user_blocks_by_identifier_request_parameters" +require_relative "auth0/user_blocks/types/delete_user_blocks_by_identifier_request_parameters" +require_relative "auth0/user_blocks/types/list_user_blocks_request_parameters" +require_relative "auth0/users/client" +require_relative "auth0/users/types/list_users_request_parameters" +require_relative "auth0/users/types/create_user_request_content" +require_relative "auth0/users/types/list_users_by_email_request_parameters" +require_relative "auth0/users/types/get_user_request_parameters" +require_relative "auth0/users/types/update_user_request_content" +require_relative "auth0/users/types/revoke_user_access_request_content" +require_relative "auth0/actions/versions/client" +require_relative "auth0/actions/versions/types/list_action_versions_request_parameters" +require_relative "auth0/actions/executions/client" +require_relative "auth0/actions/modules/client" +require_relative "auth0/actions/modules/types/get_action_modules_request_parameters" +require_relative "auth0/actions/modules/types/create_action_module_request_content" +require_relative "auth0/actions/modules/types/update_action_module_request_content" +require_relative "auth0/actions/modules/types/get_action_module_actions_request_parameters" +require_relative "auth0/actions/modules/types/rollback_action_module_request_parameters" +require_relative "auth0/actions/triggers/client" +require_relative "auth0/actions/modules/versions/client" +require_relative "auth0/actions/modules/versions/types/get_action_module_versions_request_parameters" +require_relative "auth0/actions/triggers/bindings/client" +require_relative "auth0/actions/triggers/bindings/types/list_action_trigger_bindings_request_parameters" +require_relative "auth0/actions/triggers/bindings/types/update_action_bindings_request_content" +require_relative "auth0/anomaly/client" +require_relative "auth0/anomaly/blocks/client" +require_relative "auth0/attack_protection/client" +require_relative "auth0/attack_protection/bot_detection/client" +require_relative "auth0/attack_protection/bot_detection/types/update_bot_detection_settings_request_content" +require_relative "auth0/attack_protection/breached_password_detection/client" +require_relative "auth0/attack_protection/breached_password_detection/types/update_breached_password_detection_settings_request_content" +require_relative "auth0/attack_protection/brute_force_protection/client" +require_relative "auth0/attack_protection/brute_force_protection/types/update_brute_force_settings_request_content" +require_relative "auth0/attack_protection/captcha/client" +require_relative "auth0/attack_protection/captcha/types/update_attack_protection_captcha_request_content" +require_relative "auth0/attack_protection/phone_provider_protection/client" +require_relative "auth0/attack_protection/phone_provider_protection/types/patch_phone_provider_protection_request_content" +require_relative "auth0/attack_protection/suspicious_ip_throttling/client" +require_relative "auth0/attack_protection/suspicious_ip_throttling/types/update_suspicious_ip_throttling_settings_request_content" +require_relative "auth0/branding/templates/client" +require_relative "auth0/branding/themes/client" +require_relative "auth0/branding/themes/types/create_branding_theme_request_content" +require_relative "auth0/branding/themes/types/update_branding_theme_request_content" +require_relative "auth0/branding/phone/client" +require_relative "auth0/branding/phone/providers/client" +require_relative "auth0/branding/phone/providers/types/list_branding_phone_providers_request_parameters" +require_relative "auth0/branding/phone/providers/types/create_branding_phone_provider_request_content" +require_relative "auth0/branding/phone/providers/types/update_branding_phone_provider_request_content" +require_relative "auth0/branding/phone/providers/types/create_phone_provider_send_test_request_content" +require_relative "auth0/branding/phone/templates/client" +require_relative "auth0/branding/phone/templates/types/list_phone_templates_request_parameters" +require_relative "auth0/branding/phone/templates/types/create_phone_template_request_content" +require_relative "auth0/branding/phone/templates/types/update_phone_template_request_content" +require_relative "auth0/branding/phone/templates/types/create_phone_template_test_notification_request_content" +require_relative "auth0/client_grants/organizations/client" +require_relative "auth0/client_grants/organizations/types/list_client_grant_organizations_request_parameters" +require_relative "auth0/clients/credentials/client" +require_relative "auth0/clients/credentials/types/post_client_credential_request_content" +require_relative "auth0/clients/credentials/types/patch_client_credential_request_content" +require_relative "auth0/clients/connections/client" +require_relative "auth0/clients/connections/types/connections_get_request" +require_relative "auth0/connections/directory_provisioning/client" +require_relative "auth0/connections/directory_provisioning/types/list_directory_provisionings_request_parameters" +require_relative "auth0/connections/directory_provisioning/types/list_synchronized_groups_request_parameters" +require_relative "auth0/connections/directory_provisioning/types/add_synchronized_groups_request_content" +require_relative "auth0/connections/directory_provisioning/types/replace_synchronized_groups_request_content" +require_relative "auth0/connections/directory_provisioning/types/delete_synchronized_groups_request_content" +require_relative "auth0/connections/scim_configuration/client" +require_relative "auth0/connections/scim_configuration/types/list_scim_configurations_request_parameters" +require_relative "auth0/connections/scim_configuration/types/update_scim_configuration_request_content" +require_relative "auth0/connections/clients/client" +require_relative "auth0/connections/clients/types/get_connection_enabled_clients_request_parameters" +require_relative "auth0/connections/keys/client" +require_relative "auth0/connections/users/client" +require_relative "auth0/connections/users/types/delete_connection_users_by_email_query_parameters" +require_relative "auth0/connections/directory_provisioning/synchronizations/client" +require_relative "auth0/connections/scim_configuration/tokens/client" +require_relative "auth0/connections/scim_configuration/tokens/types/create_scim_token_request_content" +require_relative "auth0/emails/client" +require_relative "auth0/emails/provider/client" +require_relative "auth0/emails/provider/types/get_email_provider_request_parameters" +require_relative "auth0/emails/provider/types/create_email_provider_request_content" +require_relative "auth0/emails/provider/types/update_email_provider_request_content" +require_relative "auth0/event_streams/deliveries/client" +require_relative "auth0/event_streams/deliveries/types/list_event_stream_deliveries_request_parameters" +require_relative "auth0/event_streams/redeliveries/client" +require_relative "auth0/event_streams/redeliveries/types/create_event_stream_redelivery_request_content" +require_relative "auth0/flows/executions/client" +require_relative "auth0/flows/executions/types/list_flow_executions_request_parameters" +require_relative "auth0/flows/executions/types/get_flow_execution_request_parameters" +require_relative "auth0/flows/vault/client" +require_relative "auth0/flows/vault/connections/client" +require_relative "auth0/flows/vault/connections/types/list_flows_vault_connections_request_parameters" +require_relative "auth0/flows/vault/connections/types/update_flows_vault_connection_request_content" +require_relative "auth0/groups/members/client" +require_relative "auth0/groups/members/types/get_group_members_request_parameters" +require_relative "auth0/groups/roles/client" +require_relative "auth0/groups/roles/types/list_group_roles_request_parameters" +require_relative "auth0/groups/roles/types/create_group_roles_request_parameters" +require_relative "auth0/groups/roles/types/delete_group_roles_request_content" +require_relative "auth0/guardian/client" +require_relative "auth0/guardian/enrollments/client" +require_relative "auth0/guardian/enrollments/types/create_guardian_enrollment_ticket_request_content" +require_relative "auth0/guardian/factors/client" +require_relative "auth0/guardian/factors/types/set_guardian_factor_request_content" +require_relative "auth0/guardian/policies/client" +require_relative "auth0/guardian/factors/phone/client" +require_relative "auth0/guardian/factors/phone/types/set_guardian_factor_phone_message_types_request_content" +require_relative "auth0/guardian/factors/phone/types/set_guardian_factors_provider_phone_twilio_request_content" +require_relative "auth0/guardian/factors/phone/types/set_guardian_factors_provider_phone_request_content" +require_relative "auth0/guardian/factors/phone/types/set_guardian_factor_phone_templates_request_content" +require_relative "auth0/guardian/factors/push_notification/client" +require_relative "auth0/guardian/factors/push_notification/types/set_guardian_factors_provider_push_notification_apns_request_content" +require_relative "auth0/guardian/factors/push_notification/types/update_guardian_factors_provider_push_notification_apns_request_content" +require_relative "auth0/guardian/factors/push_notification/types/set_guardian_factors_provider_push_notification_fcm_request_content" +require_relative "auth0/guardian/factors/push_notification/types/update_guardian_factors_provider_push_notification_fcm_request_content" +require_relative "auth0/guardian/factors/push_notification/types/set_guardian_factors_provider_push_notification_fcmv1request_content" +require_relative "auth0/guardian/factors/push_notification/types/update_guardian_factors_provider_push_notification_fcmv1request_content" +require_relative "auth0/guardian/factors/push_notification/types/set_guardian_factors_provider_push_notification_sns_request_content" +require_relative "auth0/guardian/factors/push_notification/types/update_guardian_factors_provider_push_notification_sns_request_content" +require_relative "auth0/guardian/factors/push_notification/types/set_guardian_factors_provider_push_notification_request_content" +require_relative "auth0/guardian/factors/sms/client" +require_relative "auth0/guardian/factors/sms/types/set_guardian_factors_provider_sms_twilio_request_content" +require_relative "auth0/guardian/factors/sms/types/set_guardian_factors_provider_sms_request_content" +require_relative "auth0/guardian/factors/sms/types/set_guardian_factor_sms_templates_request_content" +require_relative "auth0/guardian/factors/duo/client" +require_relative "auth0/guardian/factors/duo/settings/client" +require_relative "auth0/guardian/factors/duo/settings/types/set_guardian_factor_duo_settings_request_content" +require_relative "auth0/guardian/factors/duo/settings/types/update_guardian_factor_duo_settings_request_content" +require_relative "auth0/hooks/secrets/client" +require_relative "auth0/jobs/users_exports/client" +require_relative "auth0/jobs/users_exports/types/create_export_users_request_content" +require_relative "auth0/jobs/users_imports/client" +require_relative "auth0/jobs/users_imports/types/create_import_users_request_content" +require_relative "auth0/jobs/verification_email/client" +require_relative "auth0/jobs/verification_email/types/create_verification_email_request_content" +require_relative "auth0/jobs/errors/client" +require_relative "auth0/keys/client" +require_relative "auth0/keys/custom_signing/client" +require_relative "auth0/keys/custom_signing/types/set_custom_signing_keys_request_content" +require_relative "auth0/keys/encryption/client" +require_relative "auth0/keys/encryption/types/list_encryption_keys_request_parameters" +require_relative "auth0/keys/encryption/types/create_encryption_key_request_content" +require_relative "auth0/keys/encryption/types/import_encryption_key_request_content" +require_relative "auth0/keys/signing/client" +require_relative "auth0/organizations/client_grants/client" +require_relative "auth0/organizations/client_grants/types/list_organization_client_grants_request_parameters" +require_relative "auth0/organizations/client_grants/types/associate_organization_client_grant_request_content" +require_relative "auth0/organizations/clients/client" +require_relative "auth0/organizations/clients/types/list_organization_clients_request_parameters" +require_relative "auth0/organizations/clients/types/create_organization_clients_request_content" +require_relative "auth0/organizations/clients/types/delete_organization_clients_request_content" +require_relative "auth0/organizations/clients/types/update_organization_client_request_content" +require_relative "auth0/organizations/connections/client" +require_relative "auth0/organizations/connections/types/list_organization_all_connections_request_parameters" +require_relative "auth0/organizations/connections/types/create_organization_all_connection_request_parameters" +require_relative "auth0/organizations/connections/types/update_organization_connection_request_parameters" +require_relative "auth0/organizations/discovery_domains/client" +require_relative "auth0/organizations/discovery_domains/types/list_organization_discovery_domains_request_parameters" +require_relative "auth0/organizations/discovery_domains/types/create_organization_discovery_domain_request_content" +require_relative "auth0/organizations/discovery_domains/types/update_organization_discovery_domain_request_content" +require_relative "auth0/organizations/enabled_connections/client" +require_relative "auth0/organizations/enabled_connections/types/list_organization_connections_request_parameters" +require_relative "auth0/organizations/enabled_connections/types/add_organization_connection_request_content" +require_relative "auth0/organizations/enabled_connections/types/update_organization_connection_request_content" +require_relative "auth0/organizations/invitations/client" +require_relative "auth0/organizations/invitations/types/list_organization_invitations_request_parameters" +require_relative "auth0/organizations/invitations/types/create_organization_invitation_request_content" +require_relative "auth0/organizations/invitations/types/get_organization_invitation_request_parameters" +require_relative "auth0/organizations/members/client" +require_relative "auth0/organizations/members/types/list_organization_members_request_parameters" +require_relative "auth0/organizations/members/types/create_organization_member_request_content" +require_relative "auth0/organizations/members/types/delete_organization_members_request_content" +require_relative "auth0/organizations/groups/client" +require_relative "auth0/organizations/groups/types/list_organization_groups_request_parameters" +require_relative "auth0/organizations/groups/roles/client" +require_relative "auth0/organizations/groups/roles/types/list_organization_group_roles_request_parameters" +require_relative "auth0/organizations/groups/roles/types/create_organization_group_roles_request_content" +require_relative "auth0/organizations/groups/roles/types/delete_organization_group_roles_request_content" +require_relative "auth0/organizations/members/effective_roles/client" +require_relative "auth0/organizations/members/effective_roles/types/list_organization_member_effective_roles_request_parameters" +require_relative "auth0/organizations/members/roles/client" +require_relative "auth0/organizations/members/roles/types/list_organization_member_roles_request_parameters" +require_relative "auth0/organizations/members/roles/types/assign_organization_member_roles_request_content" +require_relative "auth0/organizations/members/roles/types/delete_organization_member_roles_request_content" +require_relative "auth0/organizations/members/effective_roles/sources/client" +require_relative "auth0/organizations/members/effective_roles/sources/groups/client" +require_relative "auth0/organizations/members/effective_roles/sources/groups/types/list_organization_member_role_source_groups_request_parameters" +require_relative "auth0/organizations/roles/client" +require_relative "auth0/organizations/roles/members/client" +require_relative "auth0/organizations/roles/members/types/list_organization_role_members_request_parameters" +require_relative "auth0/organizations/roles/groups/client" +require_relative "auth0/organizations/roles/groups/types/list_organization_role_groups_request_parameters" +require_relative "auth0/prompts/rendering/client" +require_relative "auth0/prompts/rendering/types/list_aculs_request_parameters" +require_relative "auth0/prompts/rendering/types/bulk_update_acul_request_content" +require_relative "auth0/prompts/rendering/types/update_acul_request_content" +require_relative "auth0/prompts/custom_text/client" +require_relative "auth0/prompts/partials/client" +require_relative "auth0/risk_assessments/client" +require_relative "auth0/risk_assessments/settings/client" +require_relative "auth0/risk_assessments/settings/types/update_risk_assessments_settings_request_content" +require_relative "auth0/risk_assessments/settings/new_device/client" +require_relative "auth0/risk_assessments/settings/new_device/types/update_risk_assessments_settings_new_device_request_content" +require_relative "auth0/roles/groups/client" +require_relative "auth0/roles/groups/types/list_role_groups_parameters" +require_relative "auth0/roles/groups/types/assign_role_groups_request_content" +require_relative "auth0/roles/groups/types/delete_role_groups_request_content" +require_relative "auth0/roles/permissions/client" +require_relative "auth0/roles/permissions/types/list_role_permissions_request_parameters" +require_relative "auth0/roles/permissions/types/add_role_permissions_request_content" +require_relative "auth0/roles/permissions/types/delete_role_permissions_request_content" +require_relative "auth0/roles/users/client" +require_relative "auth0/roles/users/types/list_role_users_request_parameters" +require_relative "auth0/roles/users/types/assign_role_users_request_content" +require_relative "auth0/self_service_profiles/custom_text/client" +require_relative "auth0/self_service_profiles/sso_ticket/client" +require_relative "auth0/self_service_profiles/sso_ticket/types/create_self_service_profile_sso_ticket_request_content" +require_relative "auth0/tenants/client" +require_relative "auth0/tenants/settings/client" +require_relative "auth0/tenants/settings/types/get_tenant_settings_request_parameters" +require_relative "auth0/tenants/settings/types/update_tenant_settings_request_content" +require_relative "auth0/users/authentication_methods/client" +require_relative "auth0/users/authentication_methods/types/list_user_authentication_methods_request_parameters" +require_relative "auth0/users/authentication_methods/types/create_user_authentication_method_request_content" +require_relative "auth0/users/authentication_methods/types/update_user_authentication_method_request_content" +require_relative "auth0/users/authenticators/client" +require_relative "auth0/users/connected_accounts/client" +require_relative "auth0/users/connected_accounts/types/get_user_connected_accounts_request_parameters" +require_relative "auth0/users/effective_permissions/client" +require_relative "auth0/users/effective_permissions/types/list_user_effective_permissions_request_parameters" +require_relative "auth0/users/effective_roles/client" +require_relative "auth0/users/effective_roles/types/list_user_effective_roles_request_parameters" +require_relative "auth0/users/enrollments/client" +require_relative "auth0/users/groups/client" +require_relative "auth0/users/groups/types/get_user_groups_request_parameters" +require_relative "auth0/users/identities/client" +require_relative "auth0/users/identities/types/link_user_identity_request_content" +require_relative "auth0/users/logs/client" +require_relative "auth0/users/logs/types/list_user_logs_request_parameters" +require_relative "auth0/users/multifactor/client" +require_relative "auth0/users/organizations/client" +require_relative "auth0/users/organizations/types/list_user_organizations_request_parameters" +require_relative "auth0/users/permissions/client" +require_relative "auth0/users/permissions/types/list_user_permissions_request_parameters" +require_relative "auth0/users/permissions/types/create_user_permissions_request_content" +require_relative "auth0/users/permissions/types/delete_user_permissions_request_content" +require_relative "auth0/users/risk_assessments/client" +require_relative "auth0/users/risk_assessments/types/clear_assessors_request_content" +require_relative "auth0/users/roles/client" +require_relative "auth0/users/roles/types/list_user_roles_request_parameters" +require_relative "auth0/users/roles/types/assign_user_roles_request_content" +require_relative "auth0/users/roles/types/delete_user_roles_request_content" +require_relative "auth0/users/refresh_token/client" +require_relative "auth0/users/refresh_token/types/list_refresh_tokens_request_parameters" +require_relative "auth0/users/sessions/client" +require_relative "auth0/users/sessions/types/list_user_sessions_request_parameters" +require_relative "auth0/users/effective_permissions/sources/client" +require_relative "auth0/users/effective_permissions/sources/roles/client" +require_relative "auth0/users/effective_permissions/sources/roles/types/list_user_effective_permission_role_source_request_parameters" +require_relative "auth0/users/effective_roles/sources/client" +require_relative "auth0/users/effective_roles/sources/groups/client" +require_relative "auth0/users/effective_roles/sources/groups/types/list_user_role_source_groups_request_parameters" +require_relative "auth0/verifiable_credentials/client" +require_relative "auth0/verifiable_credentials/verification/client" +require_relative "auth0/verifiable_credentials/verification/templates/client" +require_relative "auth0/verifiable_credentials/verification/templates/types/list_verifiable_credential_templates_request_parameters" +require_relative "auth0/verifiable_credentials/verification/templates/types/create_verifiable_credential_template_request_content" +require_relative "auth0/verifiable_credentials/verification/templates/types/update_verifiable_credential_template_request_content" +require_relative "auth0/environment" diff --git a/lib/auth0/actions/client.rb b/lib/auth0/actions/client.rb new file mode 100644 index 000000000..5ca92badb --- /dev/null +++ b/lib/auth0/actions/client.rb @@ -0,0 +1,314 @@ +# frozen_string_literal: true + +module Auth0 + module Actions + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve all actions. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [Auth0::Types::ActionTriggerTypeEnum, nil] :trigger_id + # @option params [String, nil] :action_name + # @option params [Boolean, nil] :deployed + # @option params [Integer, nil] :page + # @option params [Integer, nil] :per_page + # @option params [Boolean, nil] :installed + # + # @return [Auth0::Types::ListActionsPaginatedResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["triggerId"] = params[:trigger_id] if params.key?(:trigger_id) + query_params["actionName"] = params[:action_name] if params.key?(:action_name) + query_params["deployed"] = params[:deployed] if params.key?(:deployed) + query_params["page"] = params.fetch(:page, 0) + query_params["per_page"] = params.fetch(:per_page, 50) + query_params["installed"] = params[:installed] if params.key?(:installed) + + Auth0::Internal::OffsetItemIterator.new( + initial_page: query_params["page"], + item_field: :actions, + has_next_field: nil, + step: false + ) do |next_page| + query_params["page"] = next_page + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "actions/actions", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListActionsPaginatedResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # Create an action. Once an action is created, it must be deployed, and then bound to a trigger before it will be + # executed as part of a flow. + # + # @param request_options [Hash] + # @param params [Auth0::Actions::Types::CreateActionRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::CreateActionResponseContent] + def create(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "actions/actions", + body: Auth0::Actions::Types::CreateActionRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::CreateActionResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Retrieve an action by its ID. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::GetActionResponseContent] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "actions/actions/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetActionResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Deletes an action and all of its associated versions. An action must be unbound from all triggers before it can + # be deleted. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [Boolean, nil] :force + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["force"] = params[:force] if params.key?(:force) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "actions/actions/#{URI.encode_uri_component(params[:id].to_s)}", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Update an existing action. If this action is currently bound to a trigger, updating it will **not** affect any + # user flows until the action is deployed. + # + # @param request_options [Hash] + # @param params [Auth0::Actions::Types::UpdateActionRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::UpdateActionResponseContent] + def update(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Actions::Types::UpdateActionRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "actions/actions/#{URI.encode_uri_component(params[:id].to_s)}", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::UpdateActionResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Deploy an action. Deploying an action will create a new immutable version of the action. If the action is + # currently bound to a trigger, then the system will begin executing the newly deployed version of the action + # immediately. Otherwise, the action will only be executed as a part of a flow once it is bound to that flow. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::DeployActionResponseContent] + def deploy(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "actions/actions/#{URI.encode_uri_component(params[:id].to_s)}/deploy", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::DeployActionResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Test an action. After updating an action, it can be tested prior to being deployed to ensure it behaves as + # expected. + # + # @param request_options [Hash] + # @param params [Auth0::Actions::Types::TestActionRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::TestActionResponseContent] + def test(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Actions::Types::TestActionRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "actions/actions/#{URI.encode_uri_component(params[:id].to_s)}/test", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::TestActionResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # @return [Auth0::Versions::Client] + def versions + @versions ||= Auth0::Actions::Versions::Client.new(client: @client) + end + + # @return [Auth0::Executions::Client] + def executions + @executions ||= Auth0::Actions::Executions::Client.new(client: @client) + end + + # @return [Auth0::Modules::Client] + def modules + @modules ||= Auth0::Actions::Modules::Client.new(client: @client) + end + + # @return [Auth0::Triggers::Client] + def triggers + @triggers ||= Auth0::Actions::Triggers::Client.new(client: @client) + end + end + end +end diff --git a/lib/auth0/actions/executions/client.rb b/lib/auth0/actions/executions/client.rb new file mode 100644 index 000000000..c794930af --- /dev/null +++ b/lib/auth0/actions/executions/client.rb @@ -0,0 +1,52 @@ +# frozen_string_literal: true + +module Auth0 + module Actions + module Executions + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve information about a specific execution of a trigger. Relevant execution IDs will be included in + # tenant logs generated as part of that authentication flow. Executions will only be stored for 10 days after + # their creation. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::GetActionExecutionResponseContent] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "actions/executions/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetActionExecutionResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end + end +end diff --git a/lib/auth0/actions/modules/client.rb b/lib/auth0/actions/modules/client.rb new file mode 100644 index 000000000..f678df44a --- /dev/null +++ b/lib/auth0/actions/modules/client.rb @@ -0,0 +1,300 @@ +# frozen_string_literal: true + +module Auth0 + module Actions + module Modules + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve a paginated list of all Actions Modules with optional filtering and totals. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [Integer, nil] :page + # @option params [Integer, nil] :per_page + # + # @return [Auth0::Types::GetActionModulesResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["page"] = params.fetch(:page, 0) + query_params["per_page"] = params.fetch(:per_page, 50) + + Auth0::Internal::OffsetItemIterator.new( + initial_page: query_params["page"], + item_field: :modules, + has_next_field: nil, + step: false + ) do |next_page| + query_params["page"] = next_page + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "actions/modules", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::GetActionModulesResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # Create a new Actions Module for reusable code across actions. + # + # @param request_options [Hash] + # @param params [Auth0::Actions::Modules::Types::CreateActionModuleRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::CreateActionModuleResponseContent] + def create(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "actions/modules", + body: Auth0::Actions::Modules::Types::CreateActionModuleRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::CreateActionModuleResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Retrieve details of a specific Actions Module by its unique identifier. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::GetActionModuleResponseContent] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "actions/modules/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetActionModuleResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Permanently delete an Actions Module. This will fail if the module is still in use by any actions. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "actions/modules/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Update properties of an existing Actions Module, such as code, dependencies, or secrets. + # + # @param request_options [Hash] + # @param params [Auth0::Actions::Modules::Types::UpdateActionModuleRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::UpdateActionModuleResponseContent] + def update(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Actions::Modules::Types::UpdateActionModuleRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "actions/modules/#{URI.encode_uri_component(params[:id].to_s)}", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::UpdateActionModuleResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Lists all actions that are using a specific Actions Module, showing which deployed action versions reference + # this Actions Module. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [Integer, nil] :page + # @option params [Integer, nil] :per_page + # + # @return [Auth0::Types::GetActionModuleActionsResponseContent] + def list_actions(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["page"] = params.fetch(:page, 0) + query_params["per_page"] = params.fetch(:per_page, 50) + + Auth0::Internal::OffsetItemIterator.new( + initial_page: query_params["page"], + item_field: :actions, + has_next_field: nil, + step: false + ) do |next_page| + query_params["page"] = next_page + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "actions/modules/#{URI.encode_uri_component(params[:id].to_s)}/actions", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::GetActionModuleActionsResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # Rolls back an Actions Module's draft to a previously created version. This action copies the code, + # dependencies, and secrets from the specified version into the current draft. + # + # @param request_options [Hash] + # @param params [Auth0::Actions::Modules::Types::RollbackActionModuleRequestParameters] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::RollbackActionModuleResponseContent] + def rollback(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Actions::Modules::Types::RollbackActionModuleRequestParameters.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "actions/modules/#{URI.encode_uri_component(params[:id].to_s)}/rollback", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::RollbackActionModuleResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # @return [Auth0::Versions::Client] + def versions + @versions ||= Auth0::Actions::Modules::Versions::Client.new(client: @client) + end + end + end + end +end diff --git a/lib/auth0/actions/modules/types/create_action_module_request_content.rb b/lib/auth0/actions/modules/types/create_action_module_request_content.rb new file mode 100644 index 000000000..59ec0e360 --- /dev/null +++ b/lib/auth0/actions/modules/types/create_action_module_request_content.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Actions + module Modules + module Types + class CreateActionModuleRequestContent < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :code, -> { String }, optional: false, nullable: false + + field :secrets, -> { Internal::Types::Array[Auth0::Types::ActionModuleSecretRequest] }, optional: true, nullable: false + + field :dependencies, -> { Internal::Types::Array[Auth0::Types::ActionModuleDependencyRequest] }, optional: true, nullable: false + + field :api_version, -> { String }, optional: true, nullable: false + + field :publish, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/actions/modules/types/get_action_module_actions_request_parameters.rb b/lib/auth0/actions/modules/types/get_action_module_actions_request_parameters.rb new file mode 100644 index 000000000..721b55af2 --- /dev/null +++ b/lib/auth0/actions/modules/types/get_action_module_actions_request_parameters.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Actions + module Modules + module Types + class GetActionModuleActionsRequestParameters < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :page, -> { Integer }, optional: true, nullable: false + + field :per_page, -> { Integer }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/actions/modules/types/get_action_modules_request_parameters.rb b/lib/auth0/actions/modules/types/get_action_modules_request_parameters.rb new file mode 100644 index 000000000..aa8e45b2b --- /dev/null +++ b/lib/auth0/actions/modules/types/get_action_modules_request_parameters.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Actions + module Modules + module Types + class GetActionModulesRequestParameters < Internal::Types::Model + field :page, -> { Integer }, optional: true, nullable: false + + field :per_page, -> { Integer }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/actions/modules/types/rollback_action_module_request_parameters.rb b/lib/auth0/actions/modules/types/rollback_action_module_request_parameters.rb new file mode 100644 index 000000000..3edb94fc9 --- /dev/null +++ b/lib/auth0/actions/modules/types/rollback_action_module_request_parameters.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Actions + module Modules + module Types + class RollbackActionModuleRequestParameters < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :module_version_id, -> { String }, optional: false, nullable: false + end + end + end + end +end diff --git a/lib/auth0/actions/modules/types/update_action_module_request_content.rb b/lib/auth0/actions/modules/types/update_action_module_request_content.rb new file mode 100644 index 000000000..308d50772 --- /dev/null +++ b/lib/auth0/actions/modules/types/update_action_module_request_content.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Actions + module Modules + module Types + class UpdateActionModuleRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :code, -> { String }, optional: true, nullable: false + + field :secrets, -> { Internal::Types::Array[Auth0::Types::ActionModuleSecretRequest] }, optional: true, nullable: false + + field :dependencies, -> { Internal::Types::Array[Auth0::Types::ActionModuleDependencyRequest] }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/actions/modules/versions/client.rb b/lib/auth0/actions/modules/versions/client.rb new file mode 100644 index 000000000..ef24ddee3 --- /dev/null +++ b/lib/auth0/actions/modules/versions/client.rb @@ -0,0 +1,139 @@ +# frozen_string_literal: true + +module Auth0 + module Actions + module Modules + module Versions + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # List all published versions of a specific Actions Module. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [Integer, nil] :page + # @option params [Integer, nil] :per_page + # + # @return [Auth0::Types::GetActionModuleVersionsResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["page"] = params.fetch(:page, 0) + query_params["per_page"] = params.fetch(:per_page, 50) + + Auth0::Internal::OffsetItemIterator.new( + initial_page: query_params["page"], + item_field: :versions, + has_next_field: nil, + step: false + ) do |next_page| + query_params["page"] = next_page + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "actions/modules/#{URI.encode_uri_component(params[:id].to_s)}/versions", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::GetActionModuleVersionsResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # Creates a new immutable version of an Actions Module from the current draft version. This publishes the + # draft as a new version that can be referenced by actions, while maintaining the existing draft for continued + # development. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::CreateActionModuleVersionResponseContent] + def create(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "actions/modules/#{URI.encode_uri_component(params[:id].to_s)}/versions", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::CreateActionModuleVersionResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Retrieve the details of a specific, immutable version of an Actions Module. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [String] :version_id + # + # @return [Auth0::Types::GetActionModuleVersionResponseContent] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "actions/modules/#{URI.encode_uri_component(params[:id].to_s)}/versions/#{URI.encode_uri_component(params[:version_id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetActionModuleVersionResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end + end + end +end diff --git a/lib/auth0/actions/modules/versions/types/get_action_module_versions_request_parameters.rb b/lib/auth0/actions/modules/versions/types/get_action_module_versions_request_parameters.rb new file mode 100644 index 000000000..a8fb27a38 --- /dev/null +++ b/lib/auth0/actions/modules/versions/types/get_action_module_versions_request_parameters.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Actions + module Modules + module Versions + module Types + class GetActionModuleVersionsRequestParameters < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :page, -> { Integer }, optional: true, nullable: false + + field :per_page, -> { Integer }, optional: true, nullable: false + end + end + end + end + end +end diff --git a/lib/auth0/actions/triggers/bindings/client.rb b/lib/auth0/actions/triggers/bindings/client.rb new file mode 100644 index 000000000..a518737ad --- /dev/null +++ b/lib/auth0/actions/triggers/bindings/client.rb @@ -0,0 +1,111 @@ +# frozen_string_literal: true + +module Auth0 + module Actions + module Triggers + module Bindings + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve the actions that are bound to a trigger. Once an action is created and deployed, it must be + # attached (i.e. bound) to a trigger so that it will be executed as part of a flow. The list of actions + # returned reflects the order in which they will be executed during the appropriate flow. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [Auth0::Types::ActionTriggerTypeEnum] :trigger_id + # @option params [Integer, nil] :page + # @option params [Integer, nil] :per_page + # + # @return [Auth0::Types::ListActionBindingsPaginatedResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["page"] = params.fetch(:page, 0) + query_params["per_page"] = params.fetch(:per_page, 50) + + Auth0::Internal::OffsetItemIterator.new( + initial_page: query_params["page"], + item_field: :bindings, + has_next_field: nil, + step: false + ) do |next_page| + query_params["page"] = next_page + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "actions/triggers/#{URI.encode_uri_component(params[:trigger_id].to_s)}/bindings", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListActionBindingsPaginatedResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # Update the actions that are bound (i.e. attached) to a trigger. Once an action is created and deployed, it + # must be attached (i.e. bound) to a trigger so that it will be executed as part of a flow. The order in which + # the actions are provided will determine the order in which they are executed. + # + # @param request_options [Hash] + # @param params [Auth0::Actions::Triggers::Bindings::Types::UpdateActionBindingsRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [Auth0::Types::ActionTriggerTypeEnum] :trigger_id + # + # @return [Auth0::Types::UpdateActionBindingsResponseContent] + def update_many(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Actions::Triggers::Bindings::Types::UpdateActionBindingsRequestContent.new(params).to_h + non_body_param_names = %w[triggerId] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "actions/triggers/#{URI.encode_uri_component(params[:trigger_id].to_s)}/bindings", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::UpdateActionBindingsResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end + end + end +end diff --git a/lib/auth0/actions/triggers/bindings/types/list_action_trigger_bindings_request_parameters.rb b/lib/auth0/actions/triggers/bindings/types/list_action_trigger_bindings_request_parameters.rb new file mode 100644 index 000000000..8b91ebfef --- /dev/null +++ b/lib/auth0/actions/triggers/bindings/types/list_action_trigger_bindings_request_parameters.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Actions + module Triggers + module Bindings + module Types + class ListActionTriggerBindingsRequestParameters < Internal::Types::Model + field :trigger_id, -> { Auth0::Types::ActionTriggerTypeEnum }, optional: false, nullable: false, api_name: "triggerId" + + field :page, -> { Integer }, optional: true, nullable: false + + field :per_page, -> { Integer }, optional: true, nullable: false + end + end + end + end + end +end diff --git a/lib/auth0/actions/triggers/bindings/types/update_action_bindings_request_content.rb b/lib/auth0/actions/triggers/bindings/types/update_action_bindings_request_content.rb new file mode 100644 index 000000000..bf6ffb2dc --- /dev/null +++ b/lib/auth0/actions/triggers/bindings/types/update_action_bindings_request_content.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Actions + module Triggers + module Bindings + module Types + class UpdateActionBindingsRequestContent < Internal::Types::Model + field :trigger_id, -> { Auth0::Types::ActionTriggerTypeEnum }, optional: false, nullable: false, api_name: "triggerId" + + field :bindings, -> { Internal::Types::Array[Auth0::Types::ActionBindingWithRef] }, optional: true, nullable: false + end + end + end + end + end +end diff --git a/lib/auth0/actions/triggers/client.rb b/lib/auth0/actions/triggers/client.rb new file mode 100644 index 000000000..e202a298c --- /dev/null +++ b/lib/auth0/actions/triggers/client.rb @@ -0,0 +1,54 @@ +# frozen_string_literal: true + +module Auth0 + module Actions + module Triggers + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve the set of triggers currently available within actions. A trigger is an extensibility point to which + # actions can be bound. + # + # @param request_options [Hash] + # @param _params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::ListActionTriggersResponseContent] + def list(request_options: {}, **_params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "actions/triggers", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::ListActionTriggersResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # @return [Auth0::Bindings::Client] + def bindings + @bindings ||= Auth0::Actions::Triggers::Bindings::Client.new(client: @client) + end + end + end + end +end diff --git a/lib/auth0/actions/types/create_action_request_content.rb b/lib/auth0/actions/types/create_action_request_content.rb new file mode 100644 index 000000000..fbd87c377 --- /dev/null +++ b/lib/auth0/actions/types/create_action_request_content.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module Auth0 + module Actions + module Types + class CreateActionRequestContent < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :supported_triggers, -> { Internal::Types::Array[Auth0::Types::ActionTrigger] }, optional: false, nullable: false + + field :code, -> { String }, optional: true, nullable: false + + field :dependencies, -> { Internal::Types::Array[Auth0::Types::ActionVersionDependency] }, optional: true, nullable: false + + field :runtime, -> { String }, optional: true, nullable: false + + field :secrets, -> { Internal::Types::Array[Auth0::Types::ActionSecretRequest] }, optional: true, nullable: false + + field :modules, -> { Internal::Types::Array[Auth0::Types::ActionModuleReference] }, optional: true, nullable: false + + field :deploy, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/actions/types/delete_action_request_parameters.rb b/lib/auth0/actions/types/delete_action_request_parameters.rb new file mode 100644 index 000000000..8ca60de11 --- /dev/null +++ b/lib/auth0/actions/types/delete_action_request_parameters.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Actions + module Types + class DeleteActionRequestParameters < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :force, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/actions/types/list_actions_request_parameters.rb b/lib/auth0/actions/types/list_actions_request_parameters.rb new file mode 100644 index 000000000..6146957d0 --- /dev/null +++ b/lib/auth0/actions/types/list_actions_request_parameters.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Actions + module Types + class ListActionsRequestParameters < Internal::Types::Model + field :trigger_id, -> { Auth0::Types::ActionTriggerTypeEnum }, optional: true, nullable: false, api_name: "triggerId" + + field :action_name, -> { String }, optional: true, nullable: false, api_name: "actionName" + + field :deployed, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :page, -> { Integer }, optional: true, nullable: false + + field :per_page, -> { Integer }, optional: true, nullable: false + + field :installed, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/actions/types/test_action_request_content.rb b/lib/auth0/actions/types/test_action_request_content.rb new file mode 100644 index 000000000..49ad41490 --- /dev/null +++ b/lib/auth0/actions/types/test_action_request_content.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Actions + module Types + class TestActionRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :payload, -> { Internal::Types::Hash[String, Object] }, optional: false, nullable: false + end + end + end +end diff --git a/lib/auth0/actions/types/update_action_request_content.rb b/lib/auth0/actions/types/update_action_request_content.rb new file mode 100644 index 000000000..3ab69010a --- /dev/null +++ b/lib/auth0/actions/types/update_action_request_content.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module Auth0 + module Actions + module Types + class UpdateActionRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :supported_triggers, -> { Internal::Types::Array[Auth0::Types::ActionTrigger] }, optional: true, nullable: false + + field :code, -> { String }, optional: true, nullable: false + + field :dependencies, -> { Internal::Types::Array[Auth0::Types::ActionVersionDependency] }, optional: true, nullable: false + + field :runtime, -> { String }, optional: true, nullable: false + + field :secrets, -> { Internal::Types::Array[Auth0::Types::ActionSecretRequest] }, optional: true, nullable: false + + field :modules, -> { Internal::Types::Array[Auth0::Types::ActionModuleReference] }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/actions/versions/client.rb b/lib/auth0/actions/versions/client.rb new file mode 100644 index 000000000..75d107d5b --- /dev/null +++ b/lib/auth0/actions/versions/client.rb @@ -0,0 +1,141 @@ +# frozen_string_literal: true + +module Auth0 + module Actions + module Versions + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve all of an action's versions. An action version is created whenever an action is deployed. An action + # version is immutable, once created. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :action_id + # @option params [Integer, nil] :page + # @option params [Integer, nil] :per_page + # + # @return [Auth0::Types::ListActionVersionsPaginatedResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["page"] = params.fetch(:page, 0) + query_params["per_page"] = params.fetch(:per_page, 50) + + Auth0::Internal::OffsetItemIterator.new( + initial_page: query_params["page"], + item_field: :versions, + has_next_field: nil, + step: false + ) do |next_page| + query_params["page"] = next_page + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "actions/actions/#{URI.encode_uri_component(params[:action_id].to_s)}/versions", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListActionVersionsPaginatedResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # Retrieve a specific version of an action. An action version is created whenever an action is deployed. An + # action version is immutable, once created. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :action_id + # @option params [String] :id + # + # @return [Auth0::Types::GetActionVersionResponseContent] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "actions/actions/#{URI.encode_uri_component(params[:action_id].to_s)}/versions/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetActionVersionResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Performs the equivalent of a roll-back of an action to an earlier, specified version. Creates a new, deployed + # action version that is identical to the specified version. If this action is currently bound to a trigger, the + # system will begin executing the newly-created version immediately. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :action_id + # @option params [String] :id + # + # @return [Auth0::Types::DeployActionVersionResponseContent] + def deploy(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "actions/actions/#{URI.encode_uri_component(params[:action_id].to_s)}/versions/#{URI.encode_uri_component(params[:id].to_s)}/deploy", + body: params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::DeployActionVersionResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end + end +end diff --git a/lib/auth0/actions/versions/types/list_action_versions_request_parameters.rb b/lib/auth0/actions/versions/types/list_action_versions_request_parameters.rb new file mode 100644 index 000000000..b290cc56f --- /dev/null +++ b/lib/auth0/actions/versions/types/list_action_versions_request_parameters.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Actions + module Versions + module Types + class ListActionVersionsRequestParameters < Internal::Types::Model + field :action_id, -> { String }, optional: false, nullable: false, api_name: "actionId" + + field :page, -> { Integer }, optional: true, nullable: false + + field :per_page, -> { Integer }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/agents/client.rb b/lib/auth0/agents/client.rb new file mode 100644 index 000000000..4f66ed67f --- /dev/null +++ b/lib/auth0/agents/client.rb @@ -0,0 +1,201 @@ +# frozen_string_literal: true + +module Auth0 + module Agents + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Get agents + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String, nil] :from + # @option params [Integer, nil] :take + # + # @return [Auth0::Types::ListAgentsResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["from"] = params[:from] if params.key?(:from) + query_params["take"] = params.fetch(:take, 50) + + Auth0::Internal::CursorItemIterator.new( + cursor_field: :next_, + item_field: :agents, + initial_cursor: query_params["from"] + ) do |next_cursor| + query_params["from"] = next_cursor + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "agents", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListAgentsResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # Create an agent + # + # @param request_options [Hash] + # @param params [Auth0::Agents::Types::CreateAgentRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::AgentResponseContent] + def create(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "agents", + body: Auth0::Agents::Types::CreateAgentRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::AgentResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Get an agent + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::AgentResponseContent] + def read(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "agents/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::AgentResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Delete an agent + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "agents/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Update an agent + # + # @param request_options [Hash] + # @param params [Auth0::Agents::Types::PatchAgentRequestParameters] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::AgentResponseContent] + def update(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Agents::Types::PatchAgentRequestParameters.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "agents/#{URI.encode_uri_component(params[:id].to_s)}", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::AgentResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end +end diff --git a/lib/auth0/agents/types/create_agent_request_content.rb b/lib/auth0/agents/types/create_agent_request_content.rb new file mode 100644 index 000000000..ee0f162d5 --- /dev/null +++ b/lib/auth0/agents/types/create_agent_request_content.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Agents + module Types + class CreateAgentRequestContent < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :client_id, -> { String }, optional: true, nullable: false + + field :external_agent_id, -> { String }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/agents/types/list_agents_request_parameters.rb b/lib/auth0/agents/types/list_agents_request_parameters.rb new file mode 100644 index 000000000..ba108dbc7 --- /dev/null +++ b/lib/auth0/agents/types/list_agents_request_parameters.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Agents + module Types + class ListAgentsRequestParameters < Internal::Types::Model + field :from, -> { String }, optional: true, nullable: false + + field :take, -> { Integer }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/agents/types/patch_agent_request_parameters.rb b/lib/auth0/agents/types/patch_agent_request_parameters.rb new file mode 100644 index 000000000..92b841710 --- /dev/null +++ b/lib/auth0/agents/types/patch_agent_request_parameters.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Agents + module Types + class PatchAgentRequestParameters < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/anomaly/blocks/client.rb b/lib/auth0/anomaly/blocks/client.rb new file mode 100644 index 000000000..7a6cc7623 --- /dev/null +++ b/lib/auth0/anomaly/blocks/client.rb @@ -0,0 +1,84 @@ +# frozen_string_literal: true + +module Auth0 + module Anomaly + module Blocks + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Check if the given IP address is blocked via the Suspicious IP + # Throttling due to multiple suspicious attempts. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [Auth0::Types::AnomalyIPFormat] :id + # + # @return [untyped] + def check_ip(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "anomaly/blocks/ips/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Remove a block imposed by Suspicious IP + # Throttling for the given IP address. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [Auth0::Types::AnomalyIPFormat] :id + # + # @return [untyped] + def unblock_ip(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "anomaly/blocks/ips/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end +end diff --git a/lib/auth0/anomaly/client.rb b/lib/auth0/anomaly/client.rb new file mode 100644 index 000000000..b8444eb2d --- /dev/null +++ b/lib/auth0/anomaly/client.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Anomaly + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # @return [Auth0::Blocks::Client] + def blocks + @blocks ||= Auth0::Anomaly::Blocks::Client.new(client: @client) + end + end + end +end diff --git a/lib/auth0/api/authentication_endpoints.rb b/lib/auth0/api/authentication_endpoints.rb index 8d4e57718..b01178147 100644 --- a/lib/auth0/api/authentication_endpoints.rb +++ b/lib/auth0/api/authentication_endpoints.rb @@ -59,7 +59,7 @@ def exchange_auth_code_for_tokens( request_params = { grant_type: 'authorization_code', - client_id: client_id, + client_id: client_id, code: code, redirect_uri: redirect_uri } @@ -378,7 +378,7 @@ def pushed_authorization_request(parameters = {}) }.merge(parameters.fetch(:additional_parameters, {})) populate_client_assertion_or_secret(request_params) - + request_with_retry(:post_form, '/oauth/par', request_params, {}) end diff --git a/lib/auth0/api/v2.rb b/lib/auth0/api/v2.rb deleted file mode 100644 index e1fc948b3..000000000 --- a/lib/auth0/api/v2.rb +++ /dev/null @@ -1,64 +0,0 @@ -require 'auth0/api/v2/grants' -require 'auth0/api/v2/actions' -require 'auth0/api/v2/anomaly' -require 'auth0/api/v2/blacklists' -require 'auth0/api/v2/branding' -require 'auth0/api/v2/clients' -require 'auth0/api/v2/client_grants' -require 'auth0/api/v2/connections' -require 'auth0/api/v2/device_credentials' -require 'auth0/api/v2/emails' -require 'auth0/api/v2/jobs' -require 'auth0/api/v2/prompts' -require 'auth0/api/v2/organizations' -require 'auth0/api/v2/refresh_tokens' -require 'auth0/api/v2/rules' -require 'auth0/api/v2/roles' -require 'auth0/api/v2/stats' -require 'auth0/api/v2/users' -require 'auth0/api/v2/users_by_email' -require 'auth0/api/v2/user_blocks' -require 'auth0/api/v2/tenants' -require 'auth0/api/v2/tickets' -require 'auth0/api/v2/logs' -require 'auth0/api/v2/log_streams' -require 'auth0/api/v2/resource_servers' -require 'auth0/api/v2/guardian' -require 'auth0/api/v2/attack_protection' -require 'auth0/api/v2/sessions' - -module Auth0 - module Api - # https://auth0.com/docs/apiv2 - module V2 - include Auth0::Api::V2::Grants - include Auth0::Api::V2::Actions - include Auth0::Api::V2::Anomaly - include Auth0::Api::V2::Blacklists - include Auth0::Api::V2::Branding - include Auth0::Api::V2::Clients - include Auth0::Api::V2::ClientGrants - include Auth0::Api::V2::Connections - include Auth0::Api::V2::DeviceCredentials - include Auth0::Api::V2::Emails - include Auth0::Api::V2::Guardian - include Auth0::Api::V2::Jobs - include Auth0::Api::V2::Logs - include Auth0::Api::V2::LogStreams - include Auth0::Api::V2::Prompts - include Auth0::Api::V2::Organizations - include Auth0::Api::V2::RefreshTokens - include Auth0::Api::V2::Rules - include Auth0::Api::V2::Roles - include Auth0::Api::V2::Stats - include Auth0::Api::V2::Users - include Auth0::Api::V2::UsersByEmail - include Auth0::Api::V2::UserBlocks - include Auth0::Api::V2::ResourceServers - include Auth0::Api::V2::Tenants - include Auth0::Api::V2::Tickets - include Auth0::Api::V2::AttackProtection - include Auth0::Api::V2::Sessions - end - end -end diff --git a/lib/auth0/api/v2/actions.rb b/lib/auth0/api/v2/actions.rb deleted file mode 100644 index 6d1af603f..000000000 --- a/lib/auth0/api/v2/actions.rb +++ /dev/null @@ -1,209 +0,0 @@ -module Auth0 - module Api - module V2 - # Methods to use the actions endpoints - module Actions - include Auth0::Mixins::Validation - - attr_reader :actions_path - - # Get all actions. - # @see https://auth0.com/docs/api/management/v2#!/Actions/get_actions - # @param trigger_id [string] An actions extensibility point. - # @param action_name [string] The name of the action to retrieve. - # @param deployed [boolean] filter to only retrieve actions that are deployed. - # @param per_page [integer] The amount of entries per page. Default: 50. Max value: 100. - # @param page [integer] The page number. Zero based. - # @param installed [boolean] When true, return only installed actions. When false, return only custom actions. Returns all actions by default. - # @return [json] Actions and pagination info - def actions(trigger_id = nil, action_name = nil, deployed: nil, per_page: nil, page: nil, installed: nil) - request_params = { - triggerId: trigger_id, - actionName: action_name, - deployed: deployed, - per_page: per_page, - page: page, - installed: installed - } - - path = "#{actions_path}/actions" - get(path, request_params) - end - alias get_actions actions - - # Create a new action. - # @see https://auth0.com/docs/api/management/v2/#!/actions/post_action - # @param body [hash] See https://auth0.com/docs/api/management/v2/#!/actions/post_action for available options - # @return [json] Returns the created action. - def create_action(body = {}) - path = "#{actions_path}/actions" - post(path, body) - end - - # Retrieve the set of triggers currently available within actions. A trigger is an extensibility point to which actions can be bound. - # @see https://auth0.com/docs/api/management/v2/#!/actions/get_triggers - # - # @return [json] Returns triggers of the action - def actions_triggers - path = "#{actions_path}/triggers" - get(path) - end - - # Get an action by id. - # @see https://auth0.com/docs/api/management/v2/#!/actions/get_action - # @param action_id [string] The action_id of the user to retrieve. - # - # @return [json] Returns the action with the given action_id if it exists. - def action(action_id) - raise Auth0::MissingActionId, 'Must supply a valid action_id' if action_id.to_s.empty? - path = "#{actions_path}/actions/#{action_id}" - get(path) - end - alias get_action action - - - # Deletes a single action given its id - # @see https://auth0.com/docs/api/management/v2/#!/actions/delete_action - # @param action_id [string] The action ID - # @param force [boolean] Force action deletion detaching bindings (defaults to false) - def delete_action(action_id, force=false) - raise Auth0::MissingActionId, 'Must supply a valid action_id' if action_id.to_s.empty? - path = "#{actions_path}/actions/#{action_id}" - delete(path, { force: force }) - end - - # Update an existing action. - # @see https://auth0.com/docs/api/management/v2/#!/Actions/patch_action - # @param action_id [string] The action ID - # @param body [hash] The optional parameters to update. - # - # @return [json] Returns the updated user. - def patch_action(action_id, body) - raise Auth0::MissingActionId, 'Must supply a valid action_id' if action_id.to_s.empty? - raise Auth0::InvalidParameter, 'Must supply a valid body' if body.to_s.empty? || body.empty? - path = "#{actions_path}/actions/#{action_id}" - patch(path, body) - end - alias update_action patch_action - - # Retrieve information about a specific execution of a trigger. - # @see https://auth0.com/docs/api/management/v2/#!/actions/get_action - # @param execution_id [string] The ID of the exeution to retrieve. - # - # @return [json] Returns the action with the given execution_id if it exists. - def execution(execution_id) - raise Auth0::MissingExecutionId, 'Must supply a valid execution_id' if execution_id.to_s.empty? - path = "#{actions_path}/executions/#{execution_id}" - get(path) - end - alias get_execution execution - - # Retrieve all of an action's versions. - # @see https://auth0.com/docs/api/management/v2/#!/actions/versions - # @param action_id [string] The ID of the action. - # @param per_page [integer] The amount of entries per page. Default: 50. Max value: 100. - # @param page [integer] The page number. Zero based - # - # @return [json] Returns the action with the given execution_id if it exists. - def actions_versions(action_id, page: nil, per_page: nil) - raise Auth0::MissingActionId, 'Must supply a valid action_id' if action_id.to_s.empty? - path = "#{actions_path}/actions/#{action_id}/versions" - request_params = { - per_page: per_page, - page: page - } - - get(path, request_params) - end - alias get_actions_versions actions_versions - - # Retrieve the actions that are bound to a trigger. - # @see https://auth0.com/docs/api/management/v2/#!/actions/get_bindings - # @param trigger_id [string] An actions extensibility point. - # @param per_page [integer] The amount of entries per page. Default: 50. Max value: 100. - # @param page [integer] The page number. Zero based - # - # @return [json] Returns the action with the given trigger_id if it exists. - def trigger_bindings(trigger_id, page: nil, per_page: nil) - raise Auth0::MissingTriggerId, 'Must supply a valid trigger_id' if trigger_id.to_s.empty? - path = "#{actions_path}/triggers/#{trigger_id}/bindings" - request_params = { - per_page: per_page, - page: page - } - - get(path, request_params) - end - alias get_trigger_bindings trigger_bindings - - # Update the actions that are bound (i.e. attached) to a trigger. - # @see https://auth0.com/docs/api/management/v2/#!/actions/patch_bindings - # @param trigger_id [string] An actions extensibility point. - # @param body [hash] The optional parameters to update. - # - # @return [json] Returns the bindings that were updated. - def patch_trigger_bindings(trigger_id, body = nil) - raise Auth0::MissingTriggerId, 'Must supply a valid trigger_id' if trigger_id.to_s.empty? - raise Auth0::InvalidParameter, 'Must supply a valid body' if body.to_s.empty? || body.empty? - path = "#{actions_path}/triggers/#{trigger_id}/bindings" - patch(path, body) - end - alias update_trigger_bindings patch_trigger_bindings - - # Retrieve a specific version of an action - # @see https://auth0.com/docs/api/management/v2/#!/actions/get_action_version - # @param action_id [string] The ID of the action. - # @param version_id [string] The ID of the action version. - # - # @return [json] Returns the action. - def action_by_version(action_id, version_id) - raise Auth0::MissingActionId, 'Must supply a valid action_id' if action_id.to_s.empty? - raise Auth0::MissingVersionId, 'Must supply a valid version_id' if version_id.to_s.empty? - path = "#{actions_path}/actions/#{action_id}/versions/#{version_id}" - get(path) - end - alias get_action_by_version action_by_version - - # Deploy an action. - # @see https://auth0.com/docs/api/management/v2/#!/actions/post_deploy_action - # @param action_id [string] The ID of the action. - # @return [json] Returns the created action. - def deploy_action(action_id) - raise Auth0::MissingActionId, 'Must supply a valid action_id' if action_id.to_s.empty? - path = "#{actions_path}/actions/#{action_id}/deploy" - post(path) - end - - # Test an action. - # @see https://auth0.com/docs/api/management/v2/#!/actions/post_test_action - # @param action_id [string] The ID of the action. - # @param body [hash] See https://auth0.com/docs/api/management/v2/#!/actions/post_test_action for available options - # @return [json] Returns the created action. - def test_action(action_id, body = {}) - raise Auth0::MissingActionId, 'Must supply a valid action_id' if action_id.to_s.empty? - raise Auth0::InvalidParameter, 'Must supply a valid body' if body.to_s.empty? || body.empty? - path = "#{actions_path}/actions/#{action_id}/test" - post(path, body) - end - - # Performs the equivalent of a roll-back of an action to an earlier, specified version. - # @see https://auth0.com/docs/api/management/v2/#!/actions/post_deploy_draft_version - # @param action_id [string] The ID of the action. - # @param version_id [string] The ID of the action version. - # @return [json] Returns the created action. - def rollback_action(action_id, version_id) - raise Auth0::MissingActionId, 'Must supply a valid action_id' if action_id.to_s.empty? - raise Auth0::MissingVersionId, 'Must supply a valid version_id' if version_id.to_s.empty? - path = "#{actions_path}/actions/#{action_id}/versions/#{version_id}/deploy" - post(path) - end - - private - # actions API path - def actions_path - @actions_path ||= '/api/v2/actions' - end - end - end - end -end diff --git a/lib/auth0/api/v2/anomaly.rb b/lib/auth0/api/v2/anomaly.rb deleted file mode 100644 index 0b9db4103..000000000 --- a/lib/auth0/api/v2/anomaly.rb +++ /dev/null @@ -1,36 +0,0 @@ -module Auth0 - module Api - module V2 - # Methods to use the anomaly endpoints - module Anomaly - # Use this route to determine if a given IP is currently blocked - # by the failed login to multiple user accounts trigger. - # @see https://auth0.com/docs/api/management/v2#!/Anomaly/get_ips_by_id - # @param ip [string] The IP to check. - def check_if_ip_is_blocked(ip) - raise Auth0::InvalidParameter, 'Must specify an IP' if ip.to_s.empty? - - path = "#{anomaly_path}/#{ip}" - get(path) - end - - # Resets an IP that is currently blocked by the failed login to multiple user accounts trigger. - # @see https://auth0.com/docs/api/management/v2#!/Anomaly/delete_ips_by_id - # @param ip [string] The IP to remove block. - def remove_ip_block(ip) - raise Auth0::InvalidParameter, 'Must specify an IP' if ip.to_s.empty? - - path = "#{anomaly_path}/#{ip}" - delete(path) - end - - private - - # Anomaly API path - def anomaly_path - @anomaly_path ||= '/api/v2/anomaly/blocks/ips' - end - end - end - end -end diff --git a/lib/auth0/api/v2/attack_protection.rb b/lib/auth0/api/v2/attack_protection.rb deleted file mode 100644 index bef26c863..000000000 --- a/lib/auth0/api/v2/attack_protection.rb +++ /dev/null @@ -1,79 +0,0 @@ -module Auth0 - module Api - module V2 - # Methods to use the attack-protection endpoints - module AttackProtection - attr_reader :attack_protection_path - - # Get breached password detection settings - # @see https://auth0.com/docs/api/management/v2#!/Attack_Protection/get_breached_password_detection - # @return [json] The configuration for breached password detection - def breached_password_detection - get(breached_password_settings_path) - end - alias get_breached_password_detection_settings breached_password_detection - - # Update breached password detection settings - # @see https://auth0.com/docs/api/management/v2#!/Attack_Protection/patch_breached_password_detection - # @param body [hash] See https://auth0.com/docs/api/management/v2#!/Attack_Protection/patch_breached_password_detection for available options - # @return [json] The configuration for breached password detection - def patch_breached_password_detection(body) - patch(breached_password_settings_path, body) - end - - # Get brute force protection settings. - # @see https://auth0.com/docs/api/management/v2#!/Attack_Protection/get_brute_force_protection - # @return [json] The configuration for brute force protection - def brute_force_protection - get(brute_force_protection_settings_path) - end - alias get_brute_force_protection_settings brute_force_protection - - # Update brute force protection settings. - # @see https://auth0.com/docs/api/management/v2#!/Attack_Protection/patch_brute_force_protection - # @param body [hash] See https://auth0.com/docs/api/management/v2#!/Attack_Protection/patch_brute_force_protection for available options - # @return [json] The configuration for brute force protection - def patch_brute_force_protection(body) - patch(brute_force_protection_settings_path, body) - end - alias update_brute_force_protection_settings patch_brute_force_protection - - # Get suspicious IP throttling settings - # @see https://auth0.com/docs/api/management/v2#!/Attack_Protection/get_suspicious_ip_throttling - # @return The configuration for suspicious IP throttling - def suspicious_ip_throttling - get(suspicious_ip_throttling_settings_path) - end - alias get_suspicious_ip_throttling_settings suspicious_ip_throttling - - # Update suspicious IP throttling settings - # @see https://auth0.com/docs/api/management/v2#!/Attack_Protection/patch_suspicious_ip_throttling - # @param body [hash] See https://auth0.com/docs/api/management/v2#!/Attack_Protection/patch_suspicious_ip_throttling for available options - # @return The configuration for suspicious IP throttling - def patch_suspicious_ip_throttling(body) - patch(suspicious_ip_throttling_settings_path, body) - end - alias update_suspicious_ip_throttling_settings patch_suspicious_ip_throttling - - private - - def attack_protection_path - @attack_protection_path ||= '/api/v2/attack-protection' - end - alias update_breached_password_detection_settings patch_breached_password_detection - - def breached_password_settings_path - "#{attack_protection_path}/breached-password-detection" - end - - def brute_force_protection_settings_path - "#{attack_protection_path}/brute-force-protection" - end - - def suspicious_ip_throttling_settings_path - "#{attack_protection_path}/suspicious-ip-throttling" - end - end - end - end -end diff --git a/lib/auth0/api/v2/blacklists.rb b/lib/auth0/api/v2/blacklists.rb deleted file mode 100644 index 3cadc57b6..000000000 --- a/lib/auth0/api/v2/blacklists.rb +++ /dev/null @@ -1,45 +0,0 @@ -module Auth0 - module Api - module V2 - # Methods to use the blacklist endpoints - module Blacklists - attr_reader :blacklists_path - - # Retrieves the jti and aud of all tokens in the blacklist. - # @see https://auth0.com/docs/api/v2#!/Blacklists/get_tokens - # @param aud [string] The JWT's aud claim. The client_id of the client for which it was issued - # - # @return [json] Returns the blacklisted tokens - # - def blacklisted_tokens(aud = nil) - request_params = { - aud: aud - } - get(blacklists_path, request_params) - end - - # Adds the token identified by the jti to a blacklist for the tenant. - # @see https://auth0.com/docs/api/v2#!/blacklists/post_tokens - # @param jti [string] The jti of the JWT to blacklist - # @param aud [string] The JWT's aud claim. The client_id of the client for which it was issued - # @return [json] Returns the blacklisted token - # - def add_token_to_blacklist(jti, aud = nil) - raise Auth0::MissingParameter, 'Must specify a valid JTI' if jti.to_s.empty? - request_params = { - jti: jti, - aud: aud - } - post(blacklists_path, request_params) - end - - private - - # Blacklists API path - def blacklists_path - @blacklists_path ||= '/api/v2/blacklists/tokens' - end - end - end - end -end diff --git a/lib/auth0/api/v2/branding.rb b/lib/auth0/api/v2/branding.rb deleted file mode 100644 index 3f916d510..000000000 --- a/lib/auth0/api/v2/branding.rb +++ /dev/null @@ -1,65 +0,0 @@ -module Auth0 - module Api - module V2 - # Methods to use the branding endpoints - module Branding - attr_reader :branding_path - - # Retrieve branding settings. - # @see https://auth0.com/docs/api/management/v2/#!/Branding/get_branding - # - # @return [json] Returns branding settings. - def branding() - get(branding_path) - end - alias get_branding branding - - # Update branding settings. - # @see https://auth0.com/docs/api/management/v2/#!/Branding/patch_branding - # @param body [hash] the branding settings to update - # - # @return [json] Returns branding settings. - def patch_branding(body = {}) - patch(branding_path, body) - end - alias update_branding patch_branding - - # Get template for New Universal Login Experience - # @see https://auth0.com/docs/api/management/v2/#!/Branding/get_universal_login - # - # @return [json] Returns branding settings. - def branding_templates_for_universal_login - get(templates_path) - end - alias get_branding_templates_for_universal_login branding_templates_for_universal_login - - # Delete template for New Universal Login Experience - # @see https://auth0.com/docs/api/management/v2/#!/Branding/delete_universal_login - def delete_branding_templates_for_universal_login - delete(templates_path) - end - - # Set template for New Universal Login Experience - # @see https://auth0.com/docs/api/management/v2/#!/Branding/put_universal_login - # @param body [hash] the branding settings to update - # - # @return [json] Returns branding settings. - def put_branding_templates_for_universal_login(body = {}) - put(templates_path, body) - end - alias set_branding_templates_for_universal_login put_branding_templates_for_universal_login - - private - - # Branding API path - def branding_path - @branding_path ||= '/api/v2/branding' - end - - def templates_path - @templates_path ||= "#{branding_path}/templates/universal-login" - end - end - end - end -end diff --git a/lib/auth0/api/v2/client_grants.rb b/lib/auth0/api/v2/client_grants.rb deleted file mode 100644 index 398e088ee..000000000 --- a/lib/auth0/api/v2/client_grants.rb +++ /dev/null @@ -1,91 +0,0 @@ -module Auth0 - module Api - module V2 - # Methods to use the client grants endpoints - module ClientGrants - attr_reader :client_grants_path - - # Retrieves a list of all client grants. - # @see https://auth0.com/docs/api/management/v2#!/client_grants/get_client_grants - # @param client_id [string] The client_id of the client grant to retrieve. - # @param audience [string] The audience of the client grant to retrieve. - # @param page [int] Page number to get, 0-based. - # @param per_page [int] Results per page if also passing a page number. - # @param allow_any_organization [bool] Optional filter on allow_any_organization. - # @return [json] Returns the client grants. - def client_grants (client_id: nil, audience: nil, page: nil, per_page: nil, allow_any_organization: nil) - request_params = { - client_id: client_id, - audience: audience, - page: page, - per_page: per_page, - allow_any_organization: allow_any_organization - } - get(client_grants_path, request_params) - end - alias get_all_client_grants client_grants - - # Creates a new client grant. - # @see https://auth0.com/docs/api/management/v2#!/client_grants/post_client_grants - # @param options [hash] The Hash options used to define the client grant's properties. - # - # @return [json] Returns the created client grant. - def create_client_grant(options = {}) - request_params = Hash[options.map { |(k, v)| [k.to_sym, v] }] - post(client_grants_path, request_params) - end - - # Deletes a client grant given its id. - # @see https://auth0.com/docs/api/management/v2#!/client_grants/delete_client_grants_by_id - # @param client_grant_id [string] The id of the client grant to delete. - def delete_client_grant(client_grant_id) - raise Auth0::InvalidParameter, 'Must specify a client grant id' if client_grant_id.to_s.empty? - path = "#{client_grants_path}/#{client_grant_id}" - delete(path) - end - - # Updates a client grant. - # @see https://auth0.com/docs/api/management/v2#!/client_grants/patch_client_grants_by_id - # @param client_grant_id [string] The id of the client grant to update. - # @param options [hash] The Hash options used to define the client grant's properties. - def patch_client_grant(client_grant_id, options) - raise Auth0::InvalidParameter, 'Must specify a client grant id' if client_grant_id.to_s.empty? - raise Auth0::InvalidParameter, 'Must specify a valid body' if options.to_s.empty? - path = "#{client_grants_path}/#{client_grant_id}" - patch(path, options) - end - alias update_client_grant patch_client_grant - - - # Get the organizations associated to a client grant. - # @param id [string] The client_grant_id of the client grant. - # @param options [hash] The Hash options used to define the paging of results - # * :per_page [integer] The amount of entries per page. Default: 50. Max value: 100. - # * :page [integer] The page number. Zero based. - # * :from [string] For checkpoint pagination, the ID from which to start selection from. - # * :take [integer] For checkpoint pagination, the number of entries to retrieve. Default is 50. - # * :include_totals [boolean] True to include query summary in the result, false or nil otherwise. - # @return [json] Returns the organizations. - def get_client_grants_organizations(client_grant_id, options = {}) - raise Auth0::InvalidParameter, 'Must specify a client grant id' if client_grant_id.to_s.empty? - request_params = { - per_page: options.fetch(:per_page, nil), - page: options.fetch(:page, nil), - from: options.fetch(:from, nil), - take: options.fetch(:take, nil), - include_totals: options.fetch(:include_totals, nil) - } - path = "#{client_grants_path}/#{client_grant_id}/organizations" - get(path, request_params) - end - - private - - # Client Grants API path - def client_grants_path - @client_grants_path ||= '/api/v2/client-grants' - end - end - end - end -end diff --git a/lib/auth0/api/v2/clients.rb b/lib/auth0/api/v2/clients.rb deleted file mode 100644 index 7aff6354c..000000000 --- a/lib/auth0/api/v2/clients.rb +++ /dev/null @@ -1,127 +0,0 @@ -module Auth0 - module Api - module V2 - # Methods to use the client endpoints - module Clients - attr_reader :clients_path - - # Retrieves a list of all client applications. Accepts a list of fields to include or exclude. - # @see https://auth0.com/docs/api/management/v2#!/Clients/get_clients - # @param fields [string|Array] A comma separated list or an array of fields. - # @param include_fields [boolean] True if the fields specified are to be included in the result, false otherwise. - # @param page [int] Page number to get, 0-based. - # @param per_page [int] Results per page if also passing a page number. - # @return [json] Returns the clients applications. - def clients(fields: nil, include_fields: nil, page: nil, per_page: nil) - include_fields = true if !fields.nil? && include_fields.nil? - request_params = { - fields: fields.is_a?(Array) ? fields.join(',') : fields, - include_fields: include_fields, - page: !page.nil? ? page.to_i : nil, - per_page: !page.nil? && !per_page.nil? ? per_page.to_i : nil - } - get(clients_path, request_params) - end - alias get_clients clients - - # Creates a new client application. - # @see https://auth0.com/docs/api/v2#!/clients/post_clients - # @param name [string] The name of the client. Must contain at least one character. Does not allow '<' or '>'. - # @param options [hash] The Hash options used to define the client's properties. - # @return [json] Returns the created client application. - def create_client(name, options = {}) - raise Auth0::MissingParameter, 'Must specify a valid client name' if name.to_s.empty? - request_params = Hash[options.map { |(k, v)| [k.to_sym, v] }] - request_params[:name] = name - post(clients_path, request_params) - end - - # Retrieves a client by its id. - # @see https://auth0.com/docs/api/v2#!/Clients/get_clients_by_id - # @param client_id [string] The id of the client to retrieve. - # @param fields [string] A comma separated list of fields to include or exclude from the result. - # @param include_fields [boolean] True if the fields specified are to be included in the result, false otherwise. - # @return [json] Returns the requested client application. - def client(client_id, fields: nil, include_fields: nil) - raise Auth0::MissingClientId, 'Must specify a client id' if client_id.to_s.empty? - include_fields = true if !fields.nil? && include_fields.nil? - request_params = { - fields: fields, - include_fields: include_fields - } - path = "#{clients_path}/#{client_id}" - get(path, request_params) - end - - # Deletes a client and all its related assets (like rules, connections, etc) given its id. - # @see https://auth0.com/docs/api/v2#!/Clients/delete_clients_by_id - # @param client_id [string] The id of the client to delete. - def delete_client(client_id) - raise Auth0::MissingClientId, 'Must specify a client id' if client_id.to_s.empty? - path = "#{clients_path}/#{client_id}" - delete(path) - end - - # Updates a client. - # @see https://auth0.com/docs/api/v2#!/Clients/patch_clients_by_id - # @param client_id [string] The id of the client to update. - # @param options [hash] The Hash options used to define the client's properties. - def patch_client(client_id, options) - raise Auth0::MissingClientId, 'Must specify a client id' if client_id.to_s.empty? - raise Auth0::MissingParameter, 'Must specify a valid body' if options.to_s.empty? - path = "#{clients_path}/#{client_id}" - patch(path, options) - end - - # Creates credentials for a client - # @param client_id [string] The Id of the client to update - # @param options [hash] The payload to send to the endpoint - def create_client_credentials(client_id, options) - raise Auth0::MissingClientId, 'Must specify a client id' if client_id.to_s.empty? - raise Auth0::MissingParameter, 'Must specify a valid body' if options.to_s.empty? - post(client_credentials_path(client_id), options) - end - - # Gets the credentials for a client - # @param client_id [string] The Id of the client - # @return [hash] The client credentials - def client_credentials(client_id) - raise Auth0::MissingClientId, 'Must specify a client id' if client_id.to_s.empty? - get(client_credentials_path(client_id)) - end - alias get_client_credentials client_credentials - - # Gets a client credential by ID - # @param client_id [string] The Id of the client - # @param credential_id [string] The Id of the credential to retrieve - # @return [hash] The credential - def client_credential(client_id, credential_id) - raise Auth0::MissingClientId, 'Must specify a client id' if client_id.to_s.empty? - raise Auth0::MissingParameter, 'Must specify a credential id' if credential_id.to_s.empty? - get("#{client_credentials_path(client_id)}/#{credential_id}") - end - alias get_client_credential client_credential - - # Deletes a credential from the specified client - # @param client_id [string] The Id of the client - # @param credential_id [string] The Id of the credential to delete - def delete_client_credential(client_id, credential_id) - raise Auth0::MissingClientId, 'Must specify a client id' if client_id.to_s.empty? - raise Auth0::MissingParameter, 'Must specify a credential id' if credential_id.to_s.empty? - delete("#{client_credentials_path(client_id)}/#{credential_id}") - end - - private - - # Clients API path - def clients_path - @clients_path ||= '/api/v2/clients' - end - - def client_credentials_path(client_id) - "#{clients_path}/#{client_id}/credentials" - end - end - end - end -end diff --git a/lib/auth0/api/v2/connections.rb b/lib/auth0/api/v2/connections.rb deleted file mode 100644 index 961a60dc9..000000000 --- a/lib/auth0/api/v2/connections.rb +++ /dev/null @@ -1,115 +0,0 @@ -module Auth0 - module Api - module V2 - # Methods to use the connections endpoints - module Connections - attr_reader :connections_path - - # Retrieves every connection matching the specified strategy. All connections are retrieved if no strategy is - # being specified. Accepts a list of fields to include or exclude in the resulting list of connection objects. - # @see https://auth0.com/docs/api/management/v2#!/Connections/get_connections - # @param strategy [string] Strategy to filter connection results. - # @param name [string] Name to filter connection results. - # @param fields [string] A comma separated list of fields to include or exclude from the result. - # @param include_fields [boolean] True if the fields specified are to be included in the result, false otherwise. - # @param page [int] Page number to get, 0-based. - # @param per_page [int] Results per page if also passing a page number. - # @param include_totals [boolean] True if query totals should be included in the result. Defaults to false. - # @return [json] Returns the existing connections matching the strategy. - def connections( - strategy: nil, - name: nil, - fields: nil, - include_fields: nil, - page: nil, - per_page: nil, - include_totals: nil - ) - include_fields = true if !fields.nil? && include_fields.nil? - request_params = { - strategy: strategy, - name: name, - fields: fields.is_a?(Array) ? fields.join(',') : fields, - include_fields: include_fields, - page: !page.nil? ? page.to_i : nil, - per_page: !page.nil? && !per_page.nil? ? per_page.to_i : nil, - include_totals: include_totals - } - get(connections_path, request_params) - end - alias get_connections connections - - # Creates a new connection according to the JSON object received in body. - # @see https://auth0.com/docs/api/v2#!/Connections/post_connections - # @param body [hash] The Hash options used to define the connections's properties. - # - # @return [json] Returns the created connection. - def create_connection(body) - raise Auth0::InvalidParameter, 'Must specify a body to create a connection' if body.to_s.empty? - request_params = body - post(connections_path, request_params) - end - - # Retrieves a connection by its id. - # @see https://auth0.com/docs/api/v2#!/Connections/get_connections_by_id - # @param connection_id [string] The id of the connection to retrieve. - # @param fields [string] A comma separated list of fields to include or exclude from the result. - # @param include_fields [boolean] True if the fields specified are to be included in the result, false otherwise. - # - # @return [json] Returns the matching connection. - def connection(connection_id, fields: nil, include_fields: true) - raise Auth0::InvalidParameter, 'Must supply a valid connection id' if connection_id.to_s.empty? - path = "#{connections_path}/#{connection_id}" - request_params = { - fields: fields, - include_fields: include_fields - } - get(path, request_params) - end - - # Deletes a connection and all its users. - # @see https://auth0.com/docs/api/v2#!/Connections/delete_connections_by_id - # @param connection_id [string] The id of the connection to delete. - def delete_connection(connection_id) - raise Auth0::InvalidParameter, 'Must supply a valid connection id' if connection_id.to_s.empty? - path = "#{connections_path}/#{connection_id}" - delete(path) - end - - # Deletes a specified connection user by its email (currently only database connections are supported and you - # cannot delete all users from specific connection). - # @see https://auth0.com/docs/api/v2#!/Connections/delete_users - # @param connection_id [string] The id of the connection. - # @param user_email [string] The email of the user to delete. - def delete_connection_user(connection_id, user_email) - raise Auth0::InvalidParameter, 'Must supply a valid connection id' if connection_id.to_s.empty? - raise Auth0::InvalidParameter, 'Must supply a valid user email' if user_email.to_s.empty? - path = "#{connections_path}/#{connection_id}/users" - request_params = { - email: user_email - } - delete(path, request_params) - end - - # Updates a connection. Updates the fields specified in the body parameter. - # @see https://auth0.com/docs/api/v2#!/Connections/patch_connections_by_id - # @param connection_id [string] The id of the connection to delete. - # @param body [hash] The Hash options used to update the conecctions's properties. - # - # @return [json] Returns the updated connection. - def update_connection(connection_id, body) - raise Auth0::InvalidParameter, 'Must supply a valid connection id' if connection_id.to_s.empty? - path = "#{connections_path}/#{connection_id}" - patch(path, body) - end - - private - - # Connections API path - def connections_path - @connections_path ||= '/api/v2/connections' - end - end - end - end -end diff --git a/lib/auth0/api/v2/device_credentials.rb b/lib/auth0/api/v2/device_credentials.rb deleted file mode 100644 index a3464f176..000000000 --- a/lib/auth0/api/v2/device_credentials.rb +++ /dev/null @@ -1,82 +0,0 @@ -module Auth0 - module Api - module V2 - # Methods to use the device credentials endpoints - module DeviceCredentials - attr_reader :device_credentials_path - - # Retrieves log entries that match the specified search criteria. - # @see https://auth0.com/docs/api/v2#!/device_credentials/get_device_credentials - # @param client_id [string] The client_id of the devices to retrieve. - # @param options [hash] - # * :fields [string] A comma separated list of fields to include or exclude from the result. - # * :include_fields [boolean] True if the fields specified are to be included in the result, false otherwise. - # * :user_id [string] The user_id of the devices to retrieve. - # * :type [string] Type of credentials to retrieve. Must be 'public_key', 'refresh_token' or 'rotating_refresh_token' - # * :page [integer] The page number. Zero based - # * :per_page [integer] The amount of entries per page - # * :include_totals [boolean] Return results inside an object that contains the total result count (true) or as a direct array of results (false, default). - # - # @return [json] Returns the list of existing devices for the specified client_id. - # rubocop:disable Metrics/AbcSize - def device_credentials(client_id = nil, options = {}) - request_params = { - fields: options.fetch(:fields, nil), - include_fields: options.fetch(:include_fields, nil), - user_id: options.fetch(:user_id, nil), - client_id: client_id, - type: options.fetch(:type, nil), - page: options.fetch(:page, nil), - per_page: options.fetch(:per_page, nil), - include_totals: options.fetch(:include_totals, nil) - } - if !request_params[:type].nil? && !%w(public_key refresh_token rotating_refresh_token).include?(request_params[:type]) - raise Auth0::InvalidParameter, 'Type must be one of \'public_key\', \'refresh_token\', \'rotating_refresh_token\'' - end - get(device_credentials_path, request_params) - end - alias list_device_credentials device_credentials - - # Creates a new device public key. - # @see https://auth0.com/docs/api/v2#!/device_credentials/post_device_credentials - # @param device_name [string] The device's name, a value that must be easily recognized by the device's owner. - # @param value [string] A base64 encoded string with the value of the credential. - # @param device_id [string] A unique identifier for the device. - # @param client_id [string] The client_id of the client for which the credential will be created. - # - # @return [json] Returns the created public key. - def create_device_credential(device_name, value, device_id, client_id) - raise Auth0::InvalidParameter, 'Must supply a valid device_name' if device_name.to_s.empty? - raise Auth0::InvalidParameter, 'Must supply a valid value' if value.to_s.empty? - raise Auth0::InvalidParameter, 'Must supply a valid device_id' if device_id.to_s.empty? - raise Auth0::InvalidParameter, 'Must supply a valid client_id' if client_id.to_s.empty? - request_params = { - device_name: device_name, - type: 'public_key', - value: value, - device_id: device_id, - client_id: client_id - } - post(device_credentials_path, request_params) - end - alias create_device_public_key create_device_credential - - # Deletes a single device credential given its id. - # @see https://auth0.com/docs/api/v2#!/device_credentials/delete_device_credentials_by_id - # @param id [string] The id of the credential to delete. - def delete_device_credential(id) - raise Auth0::InvalidParameter, 'Must supply a valid id' if id.to_s.empty? - path = "#{device_credentials_path}/#{id}" - delete(path) - end - - private - - # Device Credentials API path - def device_credentials_path - @device_credentials_path ||= '/api/v2/device-credentials' - end - end - end - end -end diff --git a/lib/auth0/api/v2/emails.rb b/lib/auth0/api/v2/emails.rb deleted file mode 100644 index 2925d8867..000000000 --- a/lib/auth0/api/v2/emails.rb +++ /dev/null @@ -1,56 +0,0 @@ -module Auth0 - module Api - module V2 - # Methods to use the connections endpoints - module Emails - attr_reader :email_path - - # Get all the email providers. - # @see https://auth0.com/docs/api/v2#!/Emails/get_provider - # @param fields [string] A comma separated list of fields to include or exclude from the result. - # @param include_fields [boolean] True if the fields specified are to be included in the result, false otherwise. - # - # @return [json] Returns the existing email providers. - def get_provider(fields: nil, include_fields: nil) - request_params = { - fields: fields, - include_fields: include_fields - } - get(email_path, request_params) - end - - # Configure a new email provider. - # @see https://auth0.com/docs/api/v2#!/Emails/post_provider - # @param body [hash] The Hash options used to specify the email provider's properties. - def configure_provider(body) - raise Auth0::InvalidParameter, 'Must supply a valid body to create an email provider' if body.to_s.empty? - post(email_path, body) - end - - # Deletes the configured email provider. - # @see https://auth0.com/docs/api/v2#!/Emails/delete_provider - # - # @return [json] Returns the created email provider. - def delete_provider - delete(email_path) - end - - # Updates the configured email provider. - # @see https://auth0.com/docs/api/v2#!/Emails/patch_provider - # @param body [hash] The Hash options used to specify the email provider's properties. - # - # @return [json] Returns the updated email provider. - def update_provider(body) - raise Auth0::InvalidParameter, 'Must supply a valid body to update an email provider' if body.to_s.empty? - patch(email_path, body) - end - - private - - def email_path - @email_path ||= '/api/v2/emails/provider' - end - end - end - end -end diff --git a/lib/auth0/api/v2/grants.rb b/lib/auth0/api/v2/grants.rb deleted file mode 100644 index 16c2830c1..000000000 --- a/lib/auth0/api/v2/grants.rb +++ /dev/null @@ -1,49 +0,0 @@ -module Auth0 - module Api - module V2 - module Grants - attr_reader :grants_path - - # Retrieve the grants associated with your account. - # @see https://auth0.com/docs/api/management/v2#!/Grants/get_grants - # @param client_id [string] The client_id of the grants to retrieve. - # @param user_id [string] The user_id of the grants to retrieve. - # @param audience [string] The audience of the grants to retrieve. - # @param page [int] The page index of the results to return. First page is 0. - # @param per_page [int] The number of results per page. Paging is disabled if parameter not sent. - # @param include_totals [boolean] Return results inside an object that contains the total result count (true) or as a direct array of results (false, default). - # @return [json] Returns the grants. - def grants(client_id: nil, user_id: nil, audience: nil, page: nil, per_page: nil, include_totals: nil) - request_params = { - client_id: client_id, - user_id: user_id, - audience: audience, - page: page, - per_page: per_page, - include_totals: include_totals - } - get(grants_path, request_params) - end - alias get_all_grants grants - - # Delete a grant associated with your account. - # @see https://auth0.com/docs/api/management/v2#!/Grants/delete_grants_by_id - # @param id [string] The id of the grant to delete. - # @param user_id [string] The user_id of the grant to delete. - def delete_grant(id, user_id) - raise Auth0::InvalidParameter, 'Must specify a grant id as id' if id.to_s.empty? - raise Auth0::InvalidParameter, 'Must specify a user id' if user_id.to_s.empty? - path = "#{grants_path}/#{id}" - delete(path, user_id: user_id) - end - - private - - # Grants API path - def grants_path - @grants_path ||= '/api/v2/grants' - end - end - end - end -end diff --git a/lib/auth0/api/v2/guardian.rb b/lib/auth0/api/v2/guardian.rb deleted file mode 100644 index e040eb3a8..000000000 --- a/lib/auth0/api/v2/guardian.rb +++ /dev/null @@ -1,142 +0,0 @@ -module Auth0 - module Api - module V2 - # Methods to use the guardian endpoints - module Guardian - include Auth0::Mixins::Validation - - # Retrieves a list of Guardian factors. - # @see https://auth0.com/docs/api/management/v2#!/Guardian/get_factors - # @return [json] Returns the list of all Guardian factors. - def guardian_factors - get(guardian_factors_path) - end - alias get_guardian_factors guardian_factors - - # Retrieves a single Guardian enrollment. - # @see https://auth0.com/docs/api/management/v2#!/Guardian/get_enrollments_by_id - # @param enrollment_id [string] The enrollment_id of the Guardian enrollment to delete. - # @return [json] Returns details of the Guardian enrollment. - def guardian_enrollment(enrollment_id) - raise Auth0::MissingParameter, 'Must supply a valid enrollment_id' if enrollment_id.to_s.empty? - - path = "#{guardian_enrollments_path}/#{enrollment_id}" - get(path) - end - alias get_guardian_enrollment guardian_enrollment - - # Deletes a single Guardian enrollment given its id. - # @see https://auth0.com/docs/api/management/v2#!/Guardian/delete_enrollments_by_id - # @param enrollment_id [string] The enrollment_id of the Guardian enrollment to delete. - def delete_guardian_enrollment(enrollment_id) - raise Auth0::MissingParameter, 'Must supply a valid enrollment_id' if enrollment_id.to_s.empty? - - path = "#{guardian_enrollments_path}/#{enrollment_id}" - delete(path) - end - - # Retrieves SMS enrollment and verification templates. - # @see https://auth0.com/docs/api/management/v2#!/Guardian/get_templates - # @return [json] Returns enrollment and verification templates. - def guardian_sms_templates - path = "#{guardian_factors_path}/sms/templates" - get(path) - end - alias get_guardian_sms_templates guardian_sms_templates - - # Updates SMS enrollment and verification SMS templates. - # @see https://auth0.com/docs/api/management/v2#!/Guardian/put_templates - # @param body [hash] The parameters to update. - # - # @return [json] Returns updated SMS enrollment and verification templates. - def guardian_update_enrollment_verification_templates(body) - raise Auth0::InvalidParameter, 'Must supply a valid body' if body.to_s.empty? - - path = "#{guardian_factors_path}/sms/templates" - put(path, body) - end - - # Retrieves provider configuration for AWS SNS. - # @see https://auth0.com/docs/api/management/v2#!/Guardian/get_sns - # @return [json] Returns provider configuration for AWS SNS. - def guardian_sns_provider_config - path = "#{guardian_factors_path}/push-notification/providers/sns" - get(path) - end - alias get_guardian_sns_provider_config guardian_sns_provider_config - - # Updates provider configuration for AWS SNS. - # @see https://auth0.com/docs/api/management/v2#!/Guardian/put_sns - # @param body [hash] The parameters to update. - # - # @return [json] Returns updated provider configuration for AWS SNS. - def guardian_update_sns_provider_config(body) - raise Auth0::InvalidParameter, 'Must supply a valid body' if body.to_s.empty? - - path = "#{guardian_factors_path}/push-notification/providers/sns" - put(path, body) - end - - # Retrieves provider configuration for Twilio. - # @see https://auth0.com/docs/api/management/v2#!/Guardian/get_twilio - # @return [json] Returns provider configuration for Twilio. - def guardian_twillo_provider_config - path = "#{guardian_factors_path}/sms/providers/twilio" - get(path) - end - alias get_guardian_twillo_provider_config guardian_twillo_provider_config - - # Updates provider configuration for Twilio. - # @see https://auth0.com/docs/api/management/v2#!/Guardian/put_twilio - # @param body [hash] The parameters to update. - # - # @return [json] Returns updated provider configuration for Twilio. - def guardian_update_twillo_provider_config(body) - raise Auth0::InvalidParameter, 'Must supply a valid body' if body.to_s.empty? - - path = "#{guardian_factors_path}/sms/providers/twilio" - put(path, body) - end - - # Creates a Guardian enrollment ticket. - # @see https://auth0.com/docs/api/management/v2#!/Guardian/post_ticket - # @param body [hash] User details to create enrollment ticket for. - # @return [json] Returns details of created enrollment ticket. - def guardian_create_enrollment_ticket(body) - raise Auth0::InvalidParameter, 'Must supply a valid body' if body.to_s.empty? - - path = "#{guardian_enrollments_path}/ticket" - post(path, body) - end - - # Updates a Guardian factor. - # @see https://auth0.com/docs/api/management/v2#!/Guardian/put_factors_by_name - # @param name [string] Name of Guardian factor to update. - # @param body [hash] The parameters to update. - # @return [json] Returns details of updated Guardian factor. - def guardian_update_factor(name, body) - raise Auth0::MissingParameter, 'Must supply a valid name' if name.to_s.empty? - raise Auth0::InvalidParameter, 'Must supply a valid body' if body.to_s.empty? - - path = "#{guardian_factors_path}/#{name}" - put(path, body) - end - - private - - # Guardian API path - def guardian_path - @guardian_path ||= '/api/v2/guardian' - end - - def guardian_enrollments_path - @guardian_enrollments_path ||= "#{guardian_path}/enrollments" - end - - def guardian_factors_path - @guardian_factors_path ||= "#{guardian_path}/factors" - end - end - end - end -end diff --git a/lib/auth0/api/v2/jobs.rb b/lib/auth0/api/v2/jobs.rb deleted file mode 100644 index 07a2e5450..000000000 --- a/lib/auth0/api/v2/jobs.rb +++ /dev/null @@ -1,135 +0,0 @@ -module Auth0 - module Api - module V2 - # Methods to use the jobs endpoints - module Jobs - # Retrieves a job. Useful to check its status. - # @see https://auth0.com/docs/api/v2#!/Jobs/get_jobs_by_job_id - # @param job_id [string] The ID of the job. - # - # @return [json] Returns the job status and properties. - def get_job(job_id) - raise Auth0::InvalidParameter, 'Must specify a job id' if job_id.to_s.empty? - - path = "#{jobs_path}/#{job_id}" - get(path) - end - - # Retrieve error details based on the id of the job. Useful to check its status. - # @see https://auth0.com/docs/api/management/v2#!/Jobs/get_errors - # @param job_id [string] The ID of the job. - # - # @return [json] Returns the job error details. - def get_job_errors(job_id) - raise Auth0::InvalidParameter, 'Must specify a job id' if job_id.to_s.empty? - - path = "#{jobs_path}/#{job_id}/errors" - get(path) - end - - # Imports users to a connection from a file using a long running job. - # Documentation for the file format: https://docs.auth0.com/bulk-import - # @see https://auth0.com/docs/api/v2#!/Jobs/post_users_imports - # @param users_file [file] A file containing the users to import. - # @param connection_id [string] Database connection ID to import to. - # @param options [hash] - # * :upsert [boolean] Update the user if already exists. False by default. - # * :external_id [string] Customer defined id - # * :send_completion_email [boolean] If true, - # send the completion email to all tenant owners when the job is finished. True by default. - # @return [json] Returns the job status and properties. - def import_users(users_file, connection_id, options = {}) - raise Auth0::InvalidParameter, 'Must specify a valid file' if users_file.to_s.empty? - raise Auth0::InvalidParameter, 'Must specify a connection_id' if connection_id.to_s.empty? - - request_params = { - users: users_file, - connection_id: connection_id, - upsert: options.fetch(:upsert, false), - external_id: options.fetch(:external_id, nil), - send_completion_email: options.fetch(:send_completion_email, true) - } - path = "#{jobs_path}/users-imports" - post_file(path, request_params) - end - - # Export all users to a file using a long running job. - # @see https://auth0.com/docs/api/v2#!/Jobs/post_users_exports - # @param options [hash] The options used to configure the output file. - # :connection_id [string] Database connection ID to export from. - # :format [string] The format of the file. Valid values are: "json" and "csv". - # :limit [integer] Limit the number of users to export. - # :fields [array] A list of fields to be included in the CSV. - # This can either be an array of strings representing field names, or an object. - # If it's a string, it is mapped to the correct { name: '' } object required by the endpoint. - # If it's an object, it is passed through as-is to the endpoint. - # If omitted, a set of predefined fields will be exported. - # - # @return [json] Returns the job status and properties. - def export_users(options = {}) - request_params = { - connection_id: options.fetch(:connection_id, nil), - format: options.fetch(:format, nil), - limit: options.fetch(:limit, nil), - fields: fields_for_export(options.fetch(:fields, nil)) - } - path = "#{jobs_path}/users-exports" - post(path, request_params) - end - - # Send an email to the specified user that asks them to click a link to verify their email address. - # @see https://auth0.com/docs/api/management/v2#!/Jobs/post_verification_email - # @param user_id [string] The user_id of the user to whom the email will be sent. - # @param client_id [string] Client ID to send an Application-specific email. - # @param identity [hash] Used to verify secondary, federated, and passwordless-email identities. - # * :user_id [string] user_id of the identity. - # * :provider [string] provider of the identity. - # @param organization_id [string] organization id - # - # @return [json] Returns the job status and properties. - def send_verification_email(user_id, client_id = nil, identity: nil, organization_id: nil) - raise Auth0::InvalidParameter, 'Must specify a user id' if user_id.to_s.empty? - - request_params = { user_id: user_id } - request_params[:client_id] = client_id unless client_id.nil? - request_params[:organization_id] = organization_id unless organization_id.nil? - - if identity - unless identity.is_a? Hash - raise Auth0::InvalidParameter, 'Identity must be a hash send an email verification' - end - request_params[:identity] = identity - end - - path = "#{jobs_path}/verification-email" - post(path, request_params) - end - - private - - # Jobs API path - def jobs_path - @jobs_path ||= '/api/v2/jobs' - end - - # Map array of fields for export to array of objects - # @param fields [array] Fields to be included in the export - # This can either be an array of strings representing field names, or an object. - # If it's a string, it is mapped to the correct { name: '' } object required by the endpoint. - # If it's an object, it is passed through as-is to the endpoint. - # @return [array] Returns the fields mapped as array of objects for the export_users endpoint - def fields_for_export(fields) - return nil if fields.to_s.empty? - - fields.map { |field| - if field.is_a? String - { name: field } - else - field - end - } - end - end - end - end -end diff --git a/lib/auth0/api/v2/log_streams.rb b/lib/auth0/api/v2/log_streams.rb deleted file mode 100644 index f8f4e4ee9..000000000 --- a/lib/auth0/api/v2/log_streams.rb +++ /dev/null @@ -1,78 +0,0 @@ -module Auth0 - module Api - module V2 - # Methods to use the log streams endpoints - module LogStreams - attr_reader :log_streams_path - - # Retrieves a list of all log streams. - # @see https://auth0.com/docs/api/management/v2#!/Log_Streams/get_log_streams - # @return [json] Returns the log streams. - def log_streams() - get(log_streams_path) - end - alias get_log_streams log_streams - - # Retrieves a log stream by its ID. - # @see https://auth0.com/docs/api/management/v2#!/Log_Streams/get_log_streams_by_id - # @param id [string] The id of the log stream to retrieve. - # - # @return [json] Returns the log stream. - def log_stream(id) - raise Auth0::InvalidParameter, 'Must supply a valid log stream id' if id.to_s.empty? - path = "#{log_streams_path}/#{id}" - get(path) - end - alias get_log_stream log_stream - - # Creates a new log stream according to the JSON object received in body. - # @see https://auth0.com/docs/api/management/v2#!/Log_Streams/post_log_streams - # @param name [string] The name of the log stream. - # @param type [string] The type of log stream - # @param options [hash] The Hash options used to define the log streams's properties. - # - # @return [json] Returns the log stream. - def create_log_stream(name, type, options) - raise Auth0::InvalidParameter, 'Name must contain at least one character' if name.to_s.empty? - raise Auth0::InvalidParameter, 'Must specify a valid type' if type.to_s.empty? - raise Auth0::InvalidParameter, 'Must supply a valid hash for options' unless options.is_a? Hash - - request_params = {} - request_params[:name] = name - request_params[:type] = type - request_params[:sink] = options - post(log_streams_path, request_params) - end - - # Deletes a log stream by its ID. - # @see https://auth0.com/docs/api/management/v2#!/Log_Streams/delete_log_streams_by_id - # @param id [string] The id of the log stream to delete. - def delete_log_stream(id) - raise Auth0::InvalidParameter, 'Must supply a valid log stream id' if id.to_s.empty? - path = "#{log_streams_path}/#{id}" - delete(path) - end - - # Updates a log stream. - # @see https://auth0.com/docs/api/management/v2#!/Log_Streams/patch_log_streams_by_id - # @param id [string] The id or audience of the log stream to update. - # @param status [string] The Hash options used to define the log streams's properties. - def patch_log_stream(id, status) - raise Auth0::InvalidParameter, 'Must specify a log stream id' if id.to_s.empty? - raise Auth0::InvalidParameter, 'Must specify a valid status' if status.to_s.empty? - - request_params = {} - request_params[:status] = status - path = "#{log_streams_path}/#{id}" - patch(path, request_params) - end - - private - # Log Streams API path - def log_streams_path - @log_streams_path ||= '/api/v2/log-streams' - end - end - end - end -end diff --git a/lib/auth0/api/v2/logs.rb b/lib/auth0/api/v2/logs.rb deleted file mode 100644 index 06a864a83..000000000 --- a/lib/auth0/api/v2/logs.rb +++ /dev/null @@ -1,65 +0,0 @@ -# rubocop:disable Metrics/MethodLength, Metrics/AbcSize -module Auth0 - module Api - module V2 - # Methods to use the logs endpoints - module Logs - attr_reader :logs_path - - # Retrieves log entries that match the specified search criteria. - # @see https://auth0.com/docs/api/v2#!/Logs/get_logs - # @param options [hash] - # * :q [string] Query in Lucene query string syntax. - # * :page [integer] The page number. Zero based. - # * :per_page [integer] The amount of entries per page. Default: 50. Max value: 100. - # * :sort [string] The field to use for sorting. 1 == ascending and -1 == descending. - # * :fields [string] A comma separated list of fields to include or exclude from the result. - # * :include_fields [boolean] True if the fields specified are to be included in the result, false otherwise. - # * :include_totals [string] True if a query summary must be included in the result, false otherwise. - # * :from [string] For checkpoint pagination, the ID from which to start selection from. - # * :take [integer] For checkpoint pagination, the number of entries to retrieve. Default is 50. - # Default: 50. Max value: 100. - # - # @return [json] Returns the list of existing log entries. - def logs(options = {}) - request_params = { - q: options.fetch(:q, nil), - page: options.fetch(:page, nil), - per_page: options.fetch(:per_page, nil), - sort: options.fetch(:sort, nil), - fields: options.fetch(:fields, nil), - include_fields: options.fetch(:include_fields, nil), - include_totals: options.fetch(:include_totals, nil), - from: options.fetch(:from, nil), - take: options.fetch(:take, nil) - } - if request_params[:take].to_i > 100 - raise Auth0::InvalidParameter, 'The total amount of entries to retrieve should be less than 100' - end - if request_params[:per_page].to_i > 100 - raise Auth0::InvalidParameter, 'The total amount of entries per page should be less than 100' - end - get(logs_path, request_params) - end - alias get_logs logs - - # Retrieves log entries that match the specified search criteria. - # @see https://auth0.com/docs/api/v2#!/Logs/get_logs_by_id - # @param log_id [string] The log_id of the log to retrieve. - # - # @return [json] Returns the log with the given id if exists. - def log(log_id) - raise Auth0::MissingParameter, 'Must supply a valid log_id' if log_id.to_s.empty? - path = "#{logs_path}/#{log_id}" - get(path) - end - alias get_logs_by_id log - - # Logs API path - def logs_path - @logs_path ||= '/api/v2/logs' - end - end - end - end -end diff --git a/lib/auth0/api/v2/organizations.rb b/lib/auth0/api/v2/organizations.rb deleted file mode 100644 index b9d4b2ccc..000000000 --- a/lib/auth0/api/v2/organizations.rb +++ /dev/null @@ -1,407 +0,0 @@ -module Auth0 - module Api - module V2 - # Methods to use the organizations endpoints - module Organizations - include Auth0::Mixins::Validation - - attr_reader :organizations_path - - # Get all organizations. - # @see https://auth0.com/docs/api/management/v2/#!/Organizations/get_organizations - # @param options [hash] The Hash options used to define the paging of results - # * :per_page [integer] The amount of entries per page. Default: 50. Max value: 100. - # * :page [integer] The page number. Zero based. - # * :from [string] For checkpoint pagination, the ID from which to start selection from. - # * :take [integer] For checkpoint pagination, the number of entries to retrieve. Default is 50. - # * :include_totals [boolean] True to include query summary in the result, false or nil otherwise. - # @return [json] All Organizations - def organizations(options = {}) - request_params = { - per_page: options.fetch(:per_page, nil), - page: options.fetch(:page, nil), - from: options.fetch(:from, nil), - take: options.fetch(:take, nil), - include_totals: options.fetch(:include_totals, nil) - } - get(organizations_path, request_params) - end - alias get_organizations organizations - - # Create a new organization. - # @see ttps://auth0.com/docs/api/management/v2/#!/Organizations/post_organizations - # @param options [hash] See https://auth0.com/docs/api/management/v2/#!/Organizations/post_organizations for available options - # @return [json] Returns the created organization. - def create_organization(options = {}) - post(organizations_path, options) - end - - # Get an organization by id. A token with read:organizations scope is required - # @see https://auth0.com/docs/api/management/v2/#!/Organizations/get_organizations_by_id - # @param organization_id [string] The organization_id of the user to retrieve. - # - # @return [json] Returns the organization with the given organization_id if it exists. - def organization(organization_id) - raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty? - path = "#{organizations_path}/#{organization_id}" - get(path) - end - - # Get an organization by name. A token with read:organizations scope is required. - # @see https://auth0.com/docs/api/management/v2/#!/Organizations/get_name_by_name - # @param organization_name [string] The Organization name - # - # @return [json] Returns the organization with the given organization_name if it exists. - def organization_by_name(organization_name) - raise Auth0::InvalidParameter, 'Must supply a valid organization_name' if organization_name.to_s.empty? - path = "#{organizations_path}/name/#{organization_name}" - get(path) - end - - - # Deletes a single organization given its id - # @see https://auth0.com/docs/api/management/v2/#!/Organizations/delete_organizations_by_id - # @param organization_id [string] The Organization ID - def delete_organization(organization_id) - raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty? - path = "#{organizations_path}/#{organization_id}" - delete(path) - end - - # Update an existing organization. - # @see https://auth0.com/docs/api/management/v2/#!/Organizations/patch_organizations_by_id - # @param organization_id [string] The Organization ID - # @param body [hash] The optional parameters to update. - # - # @return [json] Returns the updated user. - def patch_organization(organization_id, body) - raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty? - raise Auth0::InvalidParameter, 'Must supply a valid body' if body.to_s.empty? || body.empty? - path = "#{organizations_path}/#{organization_id}" - patch(path, body) - end - alias update_organization patch_organization - - ### Organization Enabled Connections - - # Get enabled connections in an Organization - # @see https://auth0.com/docs/api/management/v2/#!/Organizations/get_enabled_connections - # @param organization_id [string] The Organization ID - # - # @return [json] Returns the enabled connections for the given organization - def get_organizations_enabled_connections(organization_id) - raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty? - path = "#{organizations_enabled_connections_path(organization_id)}" - get(path) - end - - # Get enabled connection by id in an Organization - # @see https://auth0.com/docs/api/management/v2/#!/Organizations/get_enabled_connections_by_connectionId - # @param organization_id [string] The Organization ID - # @param connection_id [string] The Connection id - # - # @return [json] Returns the connection for the given organization - def get_organizations_enabled_connection(organization_id, connection_id) - raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty? - raise Auth0::InvalidParameter, 'Must supply a valid connection id' if connection_id.to_s.empty? - path = "#{organizations_enabled_connections_path(organization_id)}/#{connection_id}" - get(path) - end - - # Update an eanbled connection in an Organization - # @see https://auth0.com/docs/api/management/v2/#!/Organizations/patch_enabled_connections_by_connectionId - # @param organization_id [string] The Organization ID - # @param connection_id [string] The Connection id - # @param assign_membership_on_login [boolean] flag to allow assign membership on login - # - # @return [json] Returns the connection for the given organization - def patch_organizations_enabled_connection(organization_id, connection_id, assign_membership_on_login: nil) - raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty? - raise Auth0::InvalidParameter, 'Must supply a valid connection id' if connection_id.to_s.empty? - raise Auth0::InvalidParameter, 'Must supply a valid assign_membership_on_login value' if assign_membership_on_login.nil? - path = "#{organizations_enabled_connections_path(organization_id)}/#{connection_id}" - - body = {} - body[:assign_membership_on_login] = assign_membership_on_login - - patch(path, body) - end - alias update_organizations_enabled_connection patch_organizations_enabled_connection - - # Add an enabled connection for an Organization - # @see https://auth0.com/docs/api/management/v2/#!/Organizations/post_enabled_connections - # @param organization_id [string] The Organization ID - # @param connection_id [string] The Connection ID - # @param assign_membership_on_login [boolean] flag to allow assign membership on login - # - # @return [json] Returns the connection for the given organization - def create_organizations_enabled_connection(organization_id, connection_id, assign_membership_on_login: false) - raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty? - raise Auth0::InvalidParameter, 'Must supply a valid connection id' if connection_id.to_s.empty? - path = "#{organizations_enabled_connections_path(organization_id)}" - - body = {} - body[:assign_membership_on_login] = assign_membership_on_login - body[:connection_id] = connection_id - - post(path, body) - end - alias add_organizations_enabled_connection create_organizations_enabled_connection - - # Remove an enabled connection from an Organization - # @see https://auth0.com/docs/api/management/v2/#!/Organizations/delete_enabled_connections_by_connectionId - # @param organization_id [string] The Organization ID - # @param connection_id [string] The Connection id - def delete_organizations_enabled_connection(organization_id, connection_id) - raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty? - raise Auth0::InvalidParameter, 'Must supply a valid connection id' if connection_id.to_s.empty? - path = "#{organizations_enabled_connections_path(organization_id)}/#{connection_id}" - delete(path) - end - alias remove_organizations_enabled_connection delete_organizations_enabled_connection - - ### Organization Invites - - # Get invites in an Organization - # @see https://auth0.com/docs/api/management/v2/#!/Organizations/get_invitations - # @param organization_id [string] The Organization ID - # - # @return [json] Returns the invites for the given organization - def get_organizations_invites(organization_id) - raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty? - path = "#{organizations_invitations_path(organization_id)}" - get(path) - end - - # Get invite by id in an Organization - # @see https://auth0.com/docs/api/management/v2/#!/Organizations/get_invitations_by_invitation_id - # @param organization_id [string] The Organization ID - # @param invitation_id [string] The Invitation ID - # - # @return [json] Returns the invitation for the given organization - def get_organizations_invite(organization_id, invitation_id) - raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty? - raise Auth0::InvalidParameter, 'Must supply a valid invitation id' if invitation_id.to_s.empty? - path = "#{organizations_invitations_path(organization_id)}/#{invitation_id}" - get(path) - end - - # Create an invitation in an organization - # @see https://auth0.com/docs/api/management/v2/#!/Organizations/post_invitations - # @param organization_id [string] The Organization ID - # @param options [hash] See https://auth0.com/docs/api/management/v2/#!/Organizations/post_invitations - # @return [json] Returns the invitation for the given organization - def create_organizations_invite(organization_id, options = {}) - raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty? - path = "#{organizations_invitations_path(organization_id)}" - - post(path, options) - end - alias add_organizations_invite create_organizations_invite - - # Delete an invitation to organization - # @see https://auth0.com/docs/api/management/v2/#!/Organizations/delete_invitations_by_invitation_id - # @param organization_id [string] The Organization ID - # @param invitation_id [string] The Invitation ID - def delete_organizations_invite(organization_id, invitation_id) - raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty? - raise Auth0::InvalidParameter, 'Must supply a valid invitation id' if invitation_id.to_s.empty? - path = "#{organizations_invitations_path(organization_id)}/#{invitation_id}" - delete(path) - end - alias remove_organizations_invite delete_organizations_invite - - ### Organization Member - - # Get Members in a Organization - # Member roles are not sent by default. Use `fields=roles` to retrieve the roles assigned to each listed member. - # To use this parameter, you must include the `read:organization_member_roles scope` in the token. - # @see https://auth0.com/docs/api/management/v2/#!/Organizations/get_members - # @param organization_id [string] The Organization ID - # @param options [hash] The Hash options used to define the paging of rersults - # * :per_page [integer] The amount of entries per page. Default: 50. Max value: 100. - # * :page [integer] The page number. Zero based. - # * :from [string] For checkpoint pagination, the ID from which to start selection from. - # * :take [integer] For checkpoint pagination, the number of entries to retrieve. Default is 50. - # * :include_totals [boolean] True to include query summary in the result, false or nil otherwise. - # * :fields [string] A comma separated list of fields to include or exclude from the result. If fields is left blank, all fields (except roles) are returned. - # * :include_fields [boolean] True if the fields specified are to be included in the result, false otherwise. - # - # @return [json] Returns the members for the given organization - def get_organizations_members(organization_id, options = {}) - raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty? - request_params = { - per_page: options.fetch(:per_page, nil), - page: options.fetch(:page, nil), - from: options.fetch(:from, nil), - take: options.fetch(:take, nil), - include_totals: options.fetch(:include_totals, nil), - fields: options.fetch(:fields, nil), - include_fields: options.fetch(:include_fields, nil) - } - path = "#{organizations_members_path(organization_id)}" - get(path, request_params) - end - - # Add members in an organization - # @see https://auth0.com/docs/api/management/v2/#!/Organizations/post_members - # @param organization_id [string] The Organization ID - # @param members [array] Array of user IDs. - # - # @return [json] Returns the invitation for the given organization - def create_organizations_members(organization_id, members = []) - raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty? - raise Auth0::InvalidParameter, 'Must supply an array of member ids' if members.empty? - path = "#{organizations_members_path(organization_id)}" - - body = {} - body[:members] = members - - post(path, body) - end - alias add_organizations_members create_organizations_members - - # Remove members from an organization - # @see https://auth0.com/docs/api/management/v2/#!/Organizations/delete_members - # @param organization_id [string] The Organization ID - # @param members [array] Array of user IDs. - def delete_organizations_members(organization_id, members = []) - raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty? - raise Auth0::InvalidParameter, 'Must supply an array of member ids' if members.empty? - path = "#{organizations_members_path(organization_id)}" - - body = {} - body[:members] = members - - delete_with_body(path, body) - end - alias remove_organizations_members delete_organizations_members - - ### Organization Member Roles - - # Get Roles assigned to a Member in an Organization - # @see https://auth0.com/docs/api/management/v2/#!/Organizations/get_organization_member_roles - # @param organization_id [string] The Organization ID - # @param user_id [string] The User ID - # - # @return [json] Returns the member_roles for the given organization - def get_organizations_member_roles(organization_id, user_id) - raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty? - raise Auth0::InvalidParameter, 'Must supply a valid user id' if user_id.to_s.empty? - path = "#{organizations_member_roles_path(organization_id, user_id)}" - get(path) - end - - # Assign roles to a member in an organization - # @see https://auth0.com/docs/api/management/v2/#!/Organizations/post_organization_member_roles - # @param organization_id [string] The Organization ID - # @param user_id [string] The User ID - # @param roles [array] Array of role IDs. - # - # @return [json] Returns the invitation for the given organization - def create_organizations_member_roles(organization_id, user_id, roles = []) - raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty? - raise Auth0::InvalidParameter, 'Must supply a valid user id' if user_id.to_s.empty? - raise Auth0::InvalidParameter, 'Must supply an array of role ids' if roles.empty? - path = "#{organizations_member_roles_path(organization_id, user_id)}" - - body = {} - body[:roles] = roles - - post(path, body) - end - alias add_organizations_member_roles create_organizations_member_roles - - # Remove roles from a Member of an organization - # @https://auth0.com/docs/api/management/v2/#!/Organizations/delete_organization_member_roles - # @param organization_id [string] The Organization ID - # @param user_id [string] The User ID - # @param roles [array] Array of role IDs. - def delete_organizations_member_roles(organization_id, user_id, roles = []) - raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty? - raise Auth0::InvalidParameter, 'Must supply a valid user id' if user_id.to_s.empty? - raise Auth0::InvalidParameter, 'Must supply an array of role ids' if roles.empty? - path = "#{organizations_member_roles_path(organization_id, user_id)}" - - body = {} - body[:roles] = roles - - delete_with_body(path, body) - end - alias remove_organizations_member_roles delete_organizations_member_roles - - # Get client grants associated to an organization - # @param organization_id [string] The Organization ID - # @param options [hash] The Hash options used to define the paging of results - # * :client_id [string] The client_id of the client grant to retrieve. - # * :audience [string] The audience of the client grant to retrieve. - # * :per_page [integer] The amount of entries per page. Default: 50. Max value: 100. - # * :page [integer] The page number. Zero based. - # * :include_totals [boolean] True to include query summary in the result, false or nil otherwise. - def get_organizations_client_grants(organization_id, options= {}) - raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty? - request_params = { - client_id: options.fetch(:client_id, nil), - audience: options.fetch(:audience, nil), - per_page: options.fetch(:per_page, nil), - page: options.fetch(:page, nil), - include_totals: options.fetch(:include_totals, nil) - } - path = "#{organizations_client_grants_path(organization_id)}" - get(path, request_params) - end - - # Associate a client grant with an organization - # @param organization_id [string] The Organization ID - # @param grant_id [string] The Client Grant ID you want to associate to the Organization. - def create_organizations_client_grant(organization_id, grant_id) - raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty? - raise Auth0::InvalidParameter, 'Must supply a valid grant_id' if grant_id.to_s.empty? - - body = {} - body[:grant_id] = grant_id - - path = "#{organizations_client_grants_path(organization_id)}" - post(path, body) - end - - # Remove a client grant from an organization - # @param organization_id [string] The Organization ID - # @param grant_id [string] The Client Grant ID you want to remove from the Organization. - def delete_organizations_client_grant(organization_id, grant_id) - raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty? - raise Auth0::InvalidParameter, 'Must supply a valid grant_id' if grant_id.to_s.empty? - - path = "#{organizations_path}/#{organization_id}/client-grants/#{grant_id}" - delete(path) - end - - private - # Organizations API path - def organizations_path - @organizations_path ||= '/api/v2/organizations' - end - - def organizations_enabled_connections_path(org_id) - "#{organizations_path}/#{org_id}/enabled_connections" - end - - def organizations_members_path(org_id) - "#{organizations_path}/#{org_id}/members" - end - - def organizations_member_roles_path(org_id, user_id) - "#{organizations_path}/#{org_id}/members/#{user_id}/roles" - end - - def organizations_invitations_path(org_id) - "#{organizations_path}/#{org_id}/invitations" - end - - def organizations_client_grants_path(org_id) - "#{organizations_path}/#{org_id}/client-grants" - end - end - end - end -end diff --git a/lib/auth0/api/v2/prompts.rb b/lib/auth0/api/v2/prompts.rb deleted file mode 100644 index 3ee02a71a..000000000 --- a/lib/auth0/api/v2/prompts.rb +++ /dev/null @@ -1,70 +0,0 @@ -module Auth0 - module Api - module V2 - module Prompts - attr_reader :prompts_path - - # Get prompts settings. - # @see https://auth0.com/docs/api/management/v2#!/Prompts/get_prompts - # @return [json] Returns the prompts setting. - def prompts - get(prompts_path) - end - alias get_prompts prompts - - # Update prompts settings. - # @see https://auth0.com/docs/api/management/v2#!/Prompts/patch_prompts - # @param options [hash] - # * :universal_login_experience [string] Should be any of: new, classic. - # - # @return [json] Returns the prompts settings. - def patch_prompts(options = {}) - request_params = { - universal_login_experience: options.fetch(:universal_login_experience, nil) - } - patch(prompts_path, request_params) - end - alias update_prompts patch_prompts - - # Get custom text for a prompt - # Retrieve custom text for a specific prompt and language. - # @see https://auth0.com/docs/api/management/v2#!/Prompts/get_custom_text_by_language - # @param prompt [string] Prompt of custom texts to update. - # @param language [string] Language of custom texts to update. - # - # @return [json] Returns the custom texts. - def custom_text(prompt, language) - raise Auth0::InvalidParameter, 'Must supply a valid prompt' if prompt.to_s.empty? - raise Auth0::InvalidParameter, 'Must supply a valid language' if language.to_s.empty? - - path = "#{prompts_path}/#{prompt}/custom-text/#{language}" - get(path) - end - alias get_custom_text custom_text - - # Set custom text for a specific prompt - # Existing texts will be overwritten. - # @see https://auth0.com/docs/api/management/v2#!/Prompts/put_custom_text_by_language - # @param prompt [string] Prompt of custom texts to update. - # @param language [string] Language of custom texts to update. - # @param body [hash] Custom texts. - # - # @return [json] Returns the custom texts. - def put_custom_text(prompt, language, body) - raise Auth0::InvalidParameter, 'Must supply a valid prompt' if prompt.to_s.empty? - raise Auth0::InvalidParameter, 'Must supply a valid language' if language.to_s.empty? - - path = "#{prompts_path}/#{prompt}/custom-text/#{language}" - put(path, body) - end - alias update_custom_text put_custom_text - - private - - def prompts_path - @prompts_path ||= '/api/v2/prompts' - end - end - end - end -end diff --git a/lib/auth0/api/v2/refresh_tokens.rb b/lib/auth0/api/v2/refresh_tokens.rb deleted file mode 100644 index 928492b8f..000000000 --- a/lib/auth0/api/v2/refresh_tokens.rb +++ /dev/null @@ -1,34 +0,0 @@ -# frozen_string_literal: true - -module Auth0 - module Api - module V2 - # Methods to use the Refresh Token endpoints - module RefreshTokens - # Retrieve refresh token information. - # @see https://auth0.com/docs/api/management/v2/refresh-tokens/get-refresh-token - # @param id [string] The id of the refresh token to retrieve - def refresh_token(id) - raise Auth0::InvalidParameter, 'Must supply a valid id' if id.to_s.empty? - - get "#{resource_path}/#{id}" - end - - # Delete a refresh token by its ID. - # @see https://auth0.com/docs/api/management/v2/refresh-tokens/delete-refresh-token - # @param id [string] The id of the refresh token to delete - def delete_refresh_token(id) - raise Auth0::InvalidParameter, 'Must supply a valid id' if id.to_s.empty? - - delete "#{resource_path}/#{id}" - end - - private - - def resource_path - @resource_path ||= '/api/v2/refresh-tokens' - end - end - end - end -end diff --git a/lib/auth0/api/v2/resource_servers.rb b/lib/auth0/api/v2/resource_servers.rb deleted file mode 100644 index f5ce817d3..000000000 --- a/lib/auth0/api/v2/resource_servers.rb +++ /dev/null @@ -1,85 +0,0 @@ -module Auth0 - module Api - module V2 - # Methods to use the resource servers endpoints - module ResourceServers - attr_reader :resource_servers_path - - # Retrieves a list of all resource servers. - # @see https://auth0.com/docs/api/management/v2#!/Resource_servers/get_resource_servers - # @param page [int] Page number to get, 0-based. - # @param per_page [int] Results per page if also passing a page number. - # @return [json] Returns the resource servers. - def resource_servers(page: nil, per_page: nil) - request_params = { - page: !page.nil? ? page.to_i : nil, - per_page: !page.nil? && !per_page.nil? ? per_page.to_i : nil - } - get(resource_servers_path, request_params) - end - alias get_resource_servers resource_servers - - # Retrieves a resource server by its ID. - # @see https://auth0.com/docs/api/management/v2#!/Resource_Servers/get_resource_servers_by_id - # @param resource_server_id [string] The id of the resource server to retrieve. - # - # @return [json] Returns the resource server. - def resource_server(resource_server_id) - raise Auth0::InvalidParameter, 'Must supply a valid resource server id' if resource_server_id.to_s.empty? - path = "#{resource_servers_path}/#{resource_server_id}" - get(path) - end - - alias get_resource_server resource_server - - # Creates a new resource server according to the JSON object received in body. - # @see https://auth0.com/docs/api/management/v2#!/Resource_Servers/post_resource_servers - # @param identifier [string] The identifier of the resource server. - # @param options [hash] - # * :name [string] The name of the resource server. Must contain at least one character. Does not allow '<' or '>'. - # * :signing_alg [string] The algorithm used to sign tokens. - # * :signing_secret [string] The secret used to sign tokens when using symmetric algorithms. - # * :token_lifetime [integer] The amount of time (in seconds) that the token will be valid after being issued. - # * :scopes [array] The scope of the resource server. - # - # @return [json] Returns the resource server. - def create_resource_server(identifier, options = {}) - raise Auth0::InvalidParameter, 'Must supply a valid resource server id' if identifier.to_s.empty? - if options.fetch(:name, '').index(/[<>]/) - raise Auth0::InvalidParameter, 'Name must contain at least one character. Does not allow "<" or ">"' - end - request_params = Hash[options.map { |(k, v)| [k.to_sym, v] }] - request_params[:identifier] = identifier - post(resource_servers_path, request_params) - end - - # Deletes a resource server by its ID. - # @see https://auth0.com/docs/api/management/v2#!/Resource_Servers/delete_resource_servers_by_id - # @param resource_server_id [string] The id of the resource server to delete. - def delete_resource_server(resource_server_id) - raise Auth0::InvalidParameter, 'Must supply a valid resource server id' if resource_server_id.to_s.empty? - path = "#{resource_servers_path}/#{resource_server_id}" - delete(path) - end - - # Updates a resource server. - # @see https://auth0.com/docs/api/management/v2#!/Resource_Servers/patch_resource_servers_by_id - # @param id [string] The id or audience of the resource server to update. - # @param body [hash] The Hash options used to define the resource servers's properties. - def patch_resource_server(id, body) - raise Auth0::InvalidParameter, 'Must specify a resource server id or audience' if id.to_s.empty? - raise Auth0::InvalidParameter, 'Must specify a valid body' if body.to_s.empty? - path = "#{resource_servers_path}/#{id}" - patch(path, body) - end - - private - - # Resource Servers API path - def resource_servers_path - @resource_servers_path ||= '/api/v2/resource-servers' - end - end - end - end -end diff --git a/lib/auth0/api/v2/roles.rb b/lib/auth0/api/v2/roles.rb deleted file mode 100644 index c36d899ad..000000000 --- a/lib/auth0/api/v2/roles.rb +++ /dev/null @@ -1,176 +0,0 @@ -module Auth0 - module Api - module V2 - # Methods to use the Roles endpoints - module Roles - include Auth0::Mixins::Validation - - # Get all Roles - # Required scope: "read:roles" - # @see https://auth0.com/docs/api/management/v2#!/Roles/get_roles - # - # @param options [hash] A hash of options for getting Roles - # - per_page: Number of Roles to return. - # - page: Page number to return, zero-based. - # - include_totals: True to include query summary in the result, false or nil otherwise. - # - name_filter: Optional filter on name (case-insensitive). - # - # @return [json] All Roles matching the query. - def get_roles(options = {}) - request_params = { - per_page: options.fetch(:per_page, nil), - page: options.fetch(:page, nil), - include_totals: options.fetch(:include_totals, nil), - name_filter: options.fetch(:name_filter, nil) - } - get roles_path, request_params - end - alias roles get_roles - - # Get a single Role by ID. - # Required scope: "read:roles" - # @see https://auth0.com/docs/api/management/v2#!/Roles/get_roles_by_id - # - # @param role_id [string] Role ID to get. - # - # @return [json] Role data. - def get_role(role_id) - raise Auth0::MissingParameter, 'Must supply a valid role_id' if role_id.to_s.empty? - - get "#{roles_path}/#{role_id}" - end - alias role get_role - - # Create a new Role. - # Required scope: "create:roles" - # @see https://auth0.com/docs/api/management/v2#!/Roles/post_roles - # - # @param role_name [string] Role name for the new Role. - # @param data [hash] Additional Role data. - def create_role(role_name, data = {}) - raise Auth0::MissingParameter, 'Must supply a valid role_name' if role_name.to_s.empty? - - data[:name] = role_name - post roles_path.to_s, data - end - - # Update a Role by ID. - # Required scope: "update:roles" - # @see https://auth0.com/docs/api/management/v2#!/Roles/patch_roles_by_id - # - # @param role_id [string] Role ID to update. - # @param data [string] Role data to update. - def update_role(role_id, data = {}) - raise Auth0::MissingParameter, 'Must supply a valid role_id' if role_id.to_s.empty? - - patch "#{roles_path}/#{role_id}", data - end - - # Delete a single Role by ID. - # Required scope: "delete:roles" - # @see https://auth0.com/docs/api/management/v2#!/Roles/delete_roles_by_id - # - # @param role_id [string] Role ID to delete. - def delete_role(role_id) - raise Auth0::MissingParameter, 'Must supply a valid role_id' if role_id.to_s.empty? - - delete "#{roles_path}/#{role_id}" - end - - # Get Users assigned to a specific Role. - # Required scopes: - # - "read:roles" - # - "read:users" - # @see https://auth0.com/docs/api/management/v2#!/Roles/get_role_user - # - # @param role_id [string] Role ID to which the Users belong to. - # @param options [hash] A hash of options for getting Roles - # - per_page: Number of Roles to return. - # - page: Page number to return, zero-based. - # * :from [string] For checkpoint pagination, the ID from which to start selection from. - # * :take [integer] For checkpoint pagination, the number of entries to retrieve. Default is 50. - # * :include_totals [boolean] True to include query summary in the result, false or nil otherwise. - def get_role_users(role_id, options = {}) - raise Auth0::MissingParameter, 'Must supply a valid role_id' if role_id.to_s.empty? - - request_params = { - per_page: options.fetch(:per_page, nil), - page: options.fetch(:page, nil), - from: options.fetch(:from, nil), - take: options.fetch(:take, nil), - include_totals: options.fetch(:include_totals, nil) - } - get "#{roles_path}/#{role_id}/users", request_params - end - - # Add one or more Users to a Role. - # Required scopes: "update:roles" - # @see https://auth0.com/docs/api/management/v2#!/Roles/post_role_users - # - # @param role_id [string] Role ID to add Users. - # @param users [array] Array of string User IDs to add to the Role. - def add_role_users(role_id, users = []) - raise Auth0::MissingParameter, 'Must supply a valid role_id' if role_id.to_s.empty? - - validate_strings_array(users) - post "#{roles_path}/#{role_id}/users", users: users - end - - # Get the permissions associated to a Role. - # Required scope: "read:roles" - # @see https://auth0.com/docs/api/management/v2#!/Roles/get_role_permission - # - # @param role_id [string] Role ID to add permissions. - # @param options [hash] A hash of options for getting permissions - # - per_page: Number or permissions to return. - # - page: Page number to return, zero-based - # - include_totals: True to include query summary in the result, false or nil otherwise. - # - # @return [json] All permissions matching the query. - def get_role_permissions(role_id, options = {}) - raise Auth0::MissingParameter, 'Must supply a valid role_id' if role_id.to_s.empty? - - request_params = { - per_page: options.fetch(:per_page, nil), - page: options.fetch(:page, nil), - include_totals: options.fetch(:include_totals, nil) - } - get "#{roles_path}/#{role_id}/permissions", request_params - end - - # Associate permissions with a Role. - # Required scope: "update:roles" - # @see https://auth0.com/docs/api/management/v2#!/Roles/post_role_permission_assignment - # - # @param role_id [string] Role ID to add permissions. - # @param permissions [array] Array of Permission structs to add. - def add_role_permissions(role_id, permissions) - raise Auth0::MissingParameter, 'Must supply a valid role_id' if role_id.to_s.empty? - - permissions = validate_permissions_array(permissions) - post "#{roles_path}/#{role_id}/permissions", permissions: permissions - end - - # Remove permissions from a Role. - # Required scope: "update:roles" - # @see https://auth0.com/docs/api/management/v2#!/Roles/delete_role_permission_assignment - # - # @param role_id [string] Role ID to remove permissions. - # @param permissions [array] Array of Permission structs to remove. - def remove_role_permissions(role_id, permissions) - raise Auth0::MissingParameter, 'Must supply a valid role_id' if role_id.to_s.empty? - - permissions = validate_permissions_array(permissions) - delete_with_body("#{roles_path}/#{role_id}/permissions", permissions: permissions) - end - - private - - # Roles base API path - def roles_path - @roles_path ||= '/api/v2/roles' - end - end - end - end -end diff --git a/lib/auth0/api/v2/rules.rb b/lib/auth0/api/v2/rules.rb deleted file mode 100644 index 7f4a1d39d..000000000 --- a/lib/auth0/api/v2/rules.rb +++ /dev/null @@ -1,109 +0,0 @@ -module Auth0 - module Api - module V2 - # Methods to use the rules endpoints - module Rules - attr_reader :rules_path - - # Retrieves a list of all rules. Accepts a list of fields to include or exclude. - # The enabled parameter can be specified to get enabled or disabled rules. - # The rule's stage of executing could be set to the following values login_success, - # login_failure or pre_authorize - # @see https://auth0.com/docs/api/v2#!/Rules/get_rules - # @param enabled [boolean] If provided retrieves rules that match the value, otherwise all rules are retrieved. - # @param fields [string] A comma separated list of fields to include or exclude from the result. - # @param include_fields [boolean] True if the fields specified are to be included in the result, false otherwise. - # @param stage [string] Retrieves rules that match the execution stage (defaults to login_success). - # @param page [int] Page number to get, 0-based. - # @param per_page [int] Results per page if also passing a page number. - # - # @return [json] Returns the existing rules. - def rules(enabled: nil, fields: nil, include_fields: nil, stage: nil, page: nil, per_page: nil) - request_params = { - enabled: enabled, - fields: fields, - include_fields: include_fields, - stage: stage, - page: page, - per_page: per_page - } - get(rules_path, request_params) - end - - alias get_rules rules - - # Retrieves a rule by its ID. Accepts a list of fields to include or exclude in the result. - # @see https://auth0.com/docs/api/v2#!/Rules/get_rules_by_id - # @param rule_id [string] The id of the rule to retrieve. - # @param fields [string] A comma separated list of fields to include or exclude from the result. - # @param include_fields [boolean] True if the fields specified are to be included in the result, false otherwise. - # - # @return [json] Returns the rule. - def rule(rule_id, fields: nil, include_fields: nil) - raise Auth0::InvalidParameter, 'Must supply a valid rule id' if rule_id.to_s.empty? - path = "#{rules_path}/#{rule_id}" - request_params = { - fields: fields, - include_fields: include_fields - } - get(path, request_params) - end - - alias get_rule rule - - # Creates a new rule according to the JSON object received in body. - # @see https://auth0.com/docs/api/v2#!/Rules/post_rules - # @param name [string] The name of the rule. Can only contain alphanumeric characters, spaces and '-'. - # @param script [string] A script that contains the rule's code. - # @param order [integer] The rule's order in relation to other rules. A rule with a lower order than another rule - # executes first. If no order is provided it will automatically be one greater than the current maximum. - # @param enabled [string] True if the rule is enabled, false otherwise. - # @param stage [string] The rule's execution stage 'login_success' or 'login_failure' or 'pre_authorize' or - # 'user_registration' or 'user_blocked'. - # - # @return [json] Returns the created rule. - def create_rule(name, script, order = nil, enabled = true, stage = 'login_success') - raise Auth0::InvalidParameter, 'Must supply a valid name' if name.to_s.empty? - raise Auth0::InvalidParameter, 'Must supply a valid script' if script.to_s.empty? - request_params = { - name: name, - enabled: enabled, - script: script, - order: order, - stage: stage - } - post(rules_path, request_params) - end - - # Updates a rule. - # @see https://auth0.com/docs/api/v2#!/Rules/patch_rules_by_id - # @param rule_id [string] The id of the rule to retrieve. - # @param fields_to_update [hash] The Hash fields_to_update used to define the rule's properties. - # - # @return [json] Returns the updated rule. - def update_rule(rule_id, fields_to_update = {}) - raise Auth0::InvalidParameter, 'Must supply a valid rule id' if rule_id.to_s.empty? - - path = "#{rules_path}/#{rule_id}" - patch(path, fields_to_update) - end - - # Deletes a rule. - # @see https://auth0.com/docs/api/v2#!/Rules/delete_rules_by_id - # @param rule_id [string] The id of the rule to delete. - def delete_rule(rule_id) - raise Auth0::InvalidParameter, 'Must supply a valid rule id' if rule_id.to_s.empty? - path = "#{rules_path}/#{rule_id}" - delete(path) - end - - private - - # Rules API path - def rules_path - @rules_path ||= '/api/v2/rules' - end - end - end - end -end diff --git a/lib/auth0/api/v2/sessions.rb b/lib/auth0/api/v2/sessions.rb deleted file mode 100644 index 8efeceabb..000000000 --- a/lib/auth0/api/v2/sessions.rb +++ /dev/null @@ -1,43 +0,0 @@ -# frozen_string_literal: true - -module Auth0 - module Api - module V2 - # Methods to use the Session endpoints - module Sessions - # Retrieve session information by id - # @see https://auth0.com/docs/api/management/v2/sessions/get-session - # @param id [string] The id of the session to retrieve. - def session(session_id) - raise Auth0::InvalidParameter, 'Must supply a valid session_id' if session_id.to_s.empty? - - get "#{sessions_path}/#{session_id}" - end - - # Deletes a session by id - # @see https://auth0.com/docs/api/management/v2/sessions/delete-session - # @param id [string] The id of the session to delete. - def delete_session(session_id) - raise Auth0::InvalidParameter, 'Must supply a valid session_id' if session_id.to_s.empty? - - delete "#{sessions_path}/#{session_id}" - end - - # Revokes a session by ID and all associated refresh tokens - # @see https://auth0.com/docs/api/management/v2/sessions/revoke-session - # @param id [string] The ID of the session to revoke - def revoke_session(session_id) - raise Auth0::InvalidParameter, 'Must supply a valid session_id' if session_id.to_s.empty? - - post "#{sessions_path}/#{session_id}/revoke" - end - - private - - def sessions_path - @sessions_path ||= '/api/v2/sessions' - end - end - end - end -end diff --git a/lib/auth0/api/v2/stats.rb b/lib/auth0/api/v2/stats.rb deleted file mode 100644 index 2576fc4f5..000000000 --- a/lib/auth0/api/v2/stats.rb +++ /dev/null @@ -1,41 +0,0 @@ -module Auth0 - module Api - module V2 - # Methods to use the stats endpoints - module Stats - attr_reader :stats_path - - # Gets the active users count (logged in during the last 30 days). - # @see https://auth0.com/docs/api/v2#!/Stats/get_active_users - # - # @return [integer] Returns the active users count. - def active_users - path = "#{stats_path}/active-users" - get(path) - end - - # Gets the daily stats for a particular period. - # @see https://auth0.com/docs/api/v2#!/Stats/get_daily - # @param from [string] The first day of the period (inclusive) in YYYYMMDD format. - # @param to [string] The last day of the period (inclusive) in YYYYMMDD format. - # - # @return [json] Returns the daily stats. - def daily_stats(from, to) - path = "#{stats_path}/daily" - request_params = { - from: from, - to: to - } - get(path, request_params) - end - - private - - # Stats API path - def stats_path - @stats_path ||= '/api/v2/stats' - end - end - end - end -end diff --git a/lib/auth0/api/v2/tenants.rb b/lib/auth0/api/v2/tenants.rb deleted file mode 100644 index 7c71a7e36..000000000 --- a/lib/auth0/api/v2/tenants.rb +++ /dev/null @@ -1,41 +0,0 @@ -module Auth0 - module Api - module V2 - # Methods to use the Tenants endpoints - module Tenants - attr_reader :tenant_path - - # Gets tenants settings. - # @see https://auth0.com/docs/api/v2#!/Tenants/get_settings - # @param fields [string] A comma separated list of fields to include or exclude from the result. - # @param include_fields [boolean] True if the fields specified are to be included in the result, false otherwise. - # - # @return [json] Returns tenants settings. - def get_tenant_settings(fields: nil, include_fields: true) - request_params = { - fields: fields, - include_fields: include_fields - } - get(tenant_path, request_params) - end - - # Updates tenants settings. - # @see https://auth0.com/docs/api/v2#!/Tenants/patch_settings - # @param body [hash] The Hash body used to define the tenant settings' values. - # - # @return [json] Returns the updated tenant settings. - def update_tenant_settings(body) - raise Auth0::InvalidParameter, 'Must supply a valid body to update tenant settings' if body.to_s.empty? - patch(tenant_path, body) - end - - private - - # Tenants settings API path - def tenant_path - @tenant_path ||= '/api/v2/tenants/settings' - end - end - end - end -end diff --git a/lib/auth0/api/v2/tickets.rb b/lib/auth0/api/v2/tickets.rb deleted file mode 100644 index 0ba8712d8..000000000 --- a/lib/auth0/api/v2/tickets.rb +++ /dev/null @@ -1,104 +0,0 @@ -module Auth0 - module Api - module V2 - # Methods to use the tickets endpoints - module Tickets - attr_reader :tickets_path - - # Create an email verification ticket - # @see https://auth0.com/docs/api/v2#!/Tickets/post_email_verification - # @param user_id [string] The user_id of for which the ticket is to be created. - # @param result_url [string] The user will be redirected to this endpoint once the ticket is used. - # @param ttl_sec [integer] The ticket's lifetime in seconds starting from the moment of creation. - # After expiration, the ticket cannot be used to verify the user's email. If not specified or if - # you send 0, the Auth0 default lifetime of five days will be applied - # @param identity [hash] Used to verify secondary, federated, and passwordless-email identities. - # * :user_id [string] user_id of the identity. - # * :provider [string] provider of the identity. - # @param client_id [string] client id - # @param organization_id [string] organization id - # - # @return [json] Returns the created ticket url. - def post_email_verification(user_id, result_url: nil, ttl_sec: nil, identity: nil, client_id: nil, organization_id: nil) - if user_id.to_s.empty? - raise Auth0::InvalidParameter, 'Must supply a valid user id to post an email verification' - end - path = "#{tickets_path}/email-verification" - request_params = { - user_id: user_id, - result_url: result_url, - ttl_sec: ttl_sec.is_a?(Integer) ? ttl_sec : nil - } - request_params[:client_id] = client_id unless client_id.nil? - request_params[:organization_id] = organization_id unless organization_id.nil? - - if identity - unless identity.is_a? Hash - raise Auth0::InvalidParameter, 'Identity must be a hash to post an email verification' - end - request_params[:identity] = identity - end - - post(path, request_params) - end - - # Create a password change ticket - # @see https://auth0.com/docs/api/v2#!/Tickets/post_password_change - # @param result_url [string] The user will be redirected to this endpoint once the ticket is used. - # @param user_id [string] The user_id of for which the ticket is to be created. - # @param connection_id [string] The connection that provides the identity for which the password is to be - # changed. If sending this parameter, the email is also required and the user_id is invalid. - # @param email [string] The user's email. - # @param ttl_sec [integer] The ticket's lifetime in seconds starting from the moment of creation. After - # expiration, the ticket cannot be used to change the user's password. If not specified or if you send 0, - # the Auth0 default lifetime of 5 days will be applied. - # @param mark_email_as_verified [boolean] true if email_verified attribute must be set to true once password is - # changed, false if email_verified attribute should not be updated - # @param includeEmailInRedirect [boolean] Whether or not we include the email as part of the returnUrl - # in the reset_email - # @param new_password [string] The password to be set for the user once the ticket is used. - # @param client_id [string] client id - # @param organization_id [string] organization id - # - # @return [json] Returns the created ticket url. - def post_password_change( - result_url: nil, - user_id: nil, - connection_id: nil, - email: nil, - ttl_sec: nil, - mark_email_as_verified: nil, - includeEmailInRedirect: nil, - new_password: nil, - client_id: nil, - organization_id: nil - ) - - booleans = [true, false] - path = "#{tickets_path}/password-change" - request_params = { - result_url: result_url, - user_id: user_id, - connection_id: connection_id, - email: email, - ttl_sec: ttl_sec.is_a?(Integer) ? ttl_sec : nil, - mark_email_as_verified: booleans.include?(mark_email_as_verified) ? mark_email_as_verified : nil, - includeEmailInRedirect: booleans.include?(includeEmailInRedirect) ? includeEmailInRedirect : nil, - new_password: new_password - } - request_params[:client_id] = client_id unless client_id.nil? - request_params[:organization_id] = organization_id unless organization_id.nil? - - post(path, request_params) - end - - private - - # Tickets API path - def tickets_path - @tickets_path ||= '/api/v2/tickets' - end - end - end - end -end diff --git a/lib/auth0/api/v2/user_blocks.rb b/lib/auth0/api/v2/user_blocks.rb deleted file mode 100644 index ebb1063e2..000000000 --- a/lib/auth0/api/v2/user_blocks.rb +++ /dev/null @@ -1,62 +0,0 @@ -module Auth0 - module Api - module V2 - # Methods to use the User Blocks endpoints - module UserBlocks - attr_reader :user_blocks_path - - # Retrieves the user blocks - # @see https://auth0.com/docs/api/management/v2#!/User_Blocks/get_user_blocks - # @param identifier [string] Should be any of: username, phone_number, email. - # - # @return [json] the user blocks - def user_blocks(identifier) - raise Auth0::InvalidParameter, 'Must specify a valid identifier' if identifier.to_s.empty? - request_params = { - identifier: identifier - } - get(user_blocks_path, request_params) - end - - # Deletes the user blocks - # @see https://auth0.com/docs/api/management/v2#!/User_Blocks/delete_user_blocks - # @param identifier [string] Should be any of: username, phone_number, email. - def delete_user_blocks(identifier) - raise Auth0::InvalidParameter, 'Must specify a valid identifier' if identifier.to_s.empty? - # path = "#{user_blocks_path}?identifier=#{identifier}" - request_params = { - identifier: identifier - } - delete(user_blocks_path, request_params) - end - - # Retrieves a user's blocks - # @see https://auth0.com/docs/api/management/v2#!/User_Blocks/get_user_blocks_by_id - # @param user_id [string] The user_id of the user to retrieve - # - # @return [json] the user blocks - def user_blocks_by_id(user_id) - raise Auth0::InvalidParameter, 'Must specify a valid identifier' if user_id.to_s.empty? - path = "#{user_blocks_path}/#{user_id}" - get(path) - end - - # Deletes a user's blocks - # @see https://auth0.com/docs/api/management/v2#!/User_Blocks/delete_user_blocks_by_id - # @param user_id [string] The user_id of the user to retrieve - def delete_user_blocks_by_id(user_id) - raise Auth0::InvalidParameter, 'Must specify a valid identifier' if user_id.to_s.empty? - path = "#{user_blocks_path}/#{user_id}" - delete(path) - end - - private - - # User Blocks API path - def user_blocks_path - @user_blocks_path ||= '/api/v2/user-blocks' - end - end - end - end -end diff --git a/lib/auth0/api/v2/users.rb b/lib/auth0/api/v2/users.rb deleted file mode 100644 index 7e76f620f..000000000 --- a/lib/auth0/api/v2/users.rb +++ /dev/null @@ -1,510 +0,0 @@ -module Auth0 - module Api - module V2 - # Methods to use the users' endpoints - module Users - include Auth0::Mixins::Validation - - attr_reader :users_path - - # Retrieves a list of Auth0 users. - # @see https://auth0.com/docs/api/management/v2#!/Users/get_users - # @param options [hash] The Hash options used to refine the User results. - # * :per_page [integer] The amount of entries per page. Default: 50. Max value: 100. - # * :page [integer] The page number. Zero based. - # * :include_totals [boolean] True if a query summary must be included in the result. - # * :sort [string] The field to use for sorting. 1 == ascending and -1 == descending. - # * :connection [string] Connection to filter results by. - # * :fields [string] A comma separated list of result fields. - # * :include_fields [boolean] True to include :fields, false to exclude. - # * :q [string] Query in Lucene query string syntax. - # * :search_engine [string] User search engine version. - # - Will default to v2 if no value is passed. - # - Default will change to v3 on 11/13/2018 - # - See https://auth0.com/docs/users/search/v3#migrate-from-search-engine-v2-to-v3 - # @return [json] Returns the list of existing users. - def users(options = {}) - request_params = { - per_page: options.fetch(:per_page, nil), - page: options.fetch(:page, nil), - include_totals: options.fetch(:include_totals, nil), - sort: options.fetch(:sort, nil), - connection: options.fetch(:connection, nil), - fields: options.fetch(:fields, nil), - include_fields: options.fetch(:include_fields, nil), - q: options.fetch(:q, nil), - search_engine: options.fetch(:search_engine, nil) - } - get(users_path, request_params) - end - alias get_users users - - # Creates a new user according to optional parameters received. - # The attribute connection is always mandatory but depending on the type of connection you are using there - # could be others too. For instance, Auth0 DB Connections require email and password. - # @see https://auth0.com/docs/api/v2#!/Users/post_users - # @param connection [string] The connection the user belongs to. - # @param options [hash] See https://auth0.com/docs/api/management/v2#!/Users/post_users for available options - # @return [json] Returns the created user. - def create_user(connection, options = {}) - if !connection.is_a?(String) || connection.empty? - raise Auth0::MissingParameter, 'Must supply a valid connection' - end - request_params = Hash[options.map { |(k, v)| [k.to_sym, v] }] - request_params[:connection] = connection - post(users_path, request_params) - end - - # Delete all users - USE WITH CAUTION - # @deprecated - 4.8.0, endpoint has been removed - def delete_users - delete(users_path) - end - - # Retrieves a user given a user_id - # @see https://auth0.com/docs/api/v2#!/Users/get_users_by_id - # @param user_id [string] The user_id of the user to retrieve. - # @param fields [string] A comma separated list of fields to include or exclude from the result. - # @param include_fields [boolean] True if the fields specified are to be included in the result, false otherwise. - # - # @return [json] Returns the user with the given user_id if it exists. - def user(user_id, fields: nil, include_fields: true) - raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty? - path = "#{users_path}/#{user_id}" - request_params = { - fields: fields, - include_fields: include_fields - } - get(path, request_params) - end - - # Deletes a single user given its id - # @see https://auth0.com/docs/api/v2#!/Users/delete_users_by_id - # @param user_id [string] The user_id of the user to delete. - def delete_user(user_id) - raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty? - path = "#{users_path}/#{user_id}" - delete(path) - end - - # Updates a user with the object's properties received in the optional parameters. - # These are the attributes that can be updated at the root level: - # blocked, email_verified, email, verify_email, password, phone_number, phone_verified, - # verify_password, user_metadata, app_metadata, username - # Some considerations: - # The properties of the new object will replace the old ones. - # The metadata fields are an exception to this rule (user_metadata and app_metadata). These properties are - # merged instead of being replaced, but be careful, the merge only occurs on the first level. - # If you are updating email_verified, phone_verified, username or password you need to specify the connection - # property too. - # If you are updating email or phone_number you need to specify the connection and the client_id properties. - # @see https://auth0.com/docs/api/v2#!/Users/patch_users_by_id - # @param user_id [string] The user_id of the user to update. - # @param body [hash] The optional parameters to update. - # - # @return [json] Returns the updated user. - def patch_user(user_id, body) - raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty? - raise Auth0::InvalidParameter, 'Must supply a valid body' if body.to_s.empty? || body.empty? - path = "#{users_path}/#{user_id}" - patch(path, body) - end - alias update_user patch_user - - # Delete all authenticators - # @see https://auth0.com/docs/api/management/v2#!/Users/delete_authenticators - # @param user_id [string] The user_id of the user to delete all authenticators - def delete_user_authenticators(user_id) - raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty? - path = "#{users_path}/#{user_id}/authenticators" - delete(path) - end - - # Delete a user's multifactor provider - # @see https://auth0.com/docs/api/v2#!/Users/delete_multifactor_by_provider - # @param user_id [string] The user_id of the user to delete the multifactor provider from. - # @param provider_name [string] The multifactor provider. Supported values 'duo' or 'google-authenticator'. - def delete_user_provider(user_id, provider_name) - raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty? - raise Auth0::InvalidParameter, 'Must supply a valid provider name' if provider_name.to_s.empty? - path = "#{users_path}/#{user_id}/multifactor/#{provider_name}" - delete(path) - end - - # Links the account specified in the body (secondary account) to the account specified by the id param - # of the URL (primary account). - # 1. With the authenticated primary account's JWT in the Authorization header, which has the - # update:current_user_identities scope. In this case only the link_with param is required in the body, - # containing the JWT obtained upon the secondary account's authentication. - # 2. With an API V2 generated token with update:users scope. In this case you need to send provider and user_id - # in the body. Optionally, you can also send the connection_id param, which is suitable for identifying a - # particular database connection for the 'auth0' provider. - # @see https://auth0.com/docs/api/v2#!/Users/post_identities - # @param user_id [string] The user_id of the primary identity where you are linking the secondary account to. - # @param body [string] the options to link the account to. - # - # @return [json] Returns the new array of the primary account identities. - def link_user_account(user_id, body) - raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty? - raise Auth0::InvalidParameter, 'Must supply a valid body' if body.to_s.empty? - path = "#{users_path}/#{user_id}/identities" - post(path, body) - end - - # Unlink a user account - # @see https://auth0.com/docs/api/v2#!/Users/delete_provider_by_user_id - # @param user_id [string] The user_id of the user identity. - # @param provider [string] The type of identity provider. - # @param secondary_user_id [string] The unique identifier for the user for the identity. - # - # @return [json] Returns the array of the unlinked account identities. - def unlink_user_account(user_id, provider, secondary_user_id) - raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty? - raise Auth0::MissingUserId, 'Must supply a valid secondary user_id' if secondary_user_id.to_s.empty? - raise Auth0::InvalidParameter, 'Must supply a valid provider' if provider.to_s.empty? - path = "#{users_path}/#{user_id}/identities/#{provider}/#{secondary_user_id}" - delete(path) - end - alias unlink_users_account unlink_user_account - - # Retrieve every log event for a specific user id - # @see https://auth0.com/docs/api/management/v2#!/Users/get_logs_by_user - # @param user_id [string] The user_id of the logs to retrieve. - # @param options [hash] - # * :per_page [integer] The amount of entries per page. Default: 50. Max value: 100. - # * :page [integer] The page number. Zero based. - # * :include_totals [boolean] True if a query summary must be included in the result. - # * :sort [string] The field to use for sorting. 1 == ascending and -1 == descending. - # - # @return [json] Returns the list of existing log entries for the given user_id. - # rubocop:disable Metrics/MethodLength, Metrics/AbcSize - def user_logs(user_id, options = {}) - raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty? - path = "#{users_path}/#{user_id}/logs" - request_params = { - per_page: options.fetch(:per_page, nil), - page: options.fetch(:page, nil), - include_totals: options.fetch(:include_totals, nil), - sort: options.fetch(:sort, nil) - } - if request_params[:per_page].to_i > 100 - raise Auth0::InvalidParameter, 'The total amount of entries per page should be less than 100' - end - sort_pattern = /^(([a-zA-Z0-9_\.]+))\:(1|-1)$/ - if !request_params[:sort].nil? && !sort_pattern.match(request_params[:sort]) - raise Auth0::InvalidParameter, 'Sort does not match pattern ^(([a-zA-Z0-9_\\.]+))\\:(1|-1)$' - end - get(path, request_params) - end - alias get_user_log_events user_logs - - # Get all roles assigned to a specific user. - # @see https://auth0.com/docs/api/management/v2#!/Users/get_user_roles - # - # @param user_id [string] The user_id of the roles to retrieve. - # @param options [hash] - # * :per_page [integer] The amount of entries per page. Default: 50. Max value: 100. - # * :page [integer] The page number. Zero based. - # * :include_totals [boolean] True if a query summary must be included in the result. - # * :sort [string] The field to use for sorting. 1 == ascending and -1 == descending. - # - # @return [json] Returns roles for the given user_id. - def get_user_roles(user_id, options = {}) - raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty? - path = "#{users_path}/#{user_id}/roles" - request_params = { - per_page: options.fetch(:per_page, nil), - page: options.fetch(:page, nil), - include_totals: options.fetch(:include_totals, nil) - } - get(path, request_params) - end - - # Remove one or more roles from a specific user. - # @see https://auth0.com/docs/api/management/v2#!/Users/delete_user_roles - # - # @param user_id [string] The user_id of the roles to remove. - # @param roles [array] An array of role ids to remove. - def remove_user_roles(user_id, roles) - raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty? - validate_strings_array roles - path = "#{users_path}/#{user_id}/roles" - delete_with_body path, roles: roles - end - - # Add one or more roles to a specific user. - # @see https://auth0.com/docs/api/management/v2#!/Users/post_user_roles - # - # @param user_id [string] The user_id of the roles to add. - # @param roles [array] An array of role ids to add. - def add_user_roles(user_id, roles) - raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty? - validate_strings_array roles - path = "#{users_path}/#{user_id}/roles" - post(path, roles: roles) - end - - # Get all Guardian enrollments for a specific user - # @see https://auth0.com/docs/api/management/v2#!/Users/get_enrollments - # - # @param user_id [string] The user_id of the enrollments to get. - # - # @return [json] Returns Guardian enrollments for the given user_id. - def get_enrollments(user_id) - raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty? - get "#{users_path}/#{user_id}/enrollments" - end - - # Get all permissions for a specific user. - # @see https://auth0.com/docs/api/management/v2#!/Users/get_permissions - # - # @param user_id [string] The user_id of the permissions to get. - # @param options [hash] A hash of options for getting permissions - # * :per_page [integer] The amount of permissions per page. (optional) - # * :page [integer] The page number. Zero based. (optional) - # * :include_totals [boolean] True if a query summary must be included in the result. (optional) - # - # @return [json] Returns permissions for the given user_id. - def get_user_permissions(user_id, options = {}) - raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty? - - request_params = { - per_page: options.fetch(:per_page, nil), - page: options.fetch(:page, nil), - include_totals: options.fetch(:include_totals, nil) - } - - get "#{users_path}/#{user_id}/permissions", request_params - end - - # Remove one or more permissions from a specific user. - # @see https://auth0.com/docs/api/management/v2#!/Users/delete_permissions - # - # @param user_id [string] The user_id of the permissions to remove. - # @param permissions [array] An array of Permission structs to remove. - def remove_user_permissions(user_id, permissions) - raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty? - permissions = validate_permissions_array permissions - delete_with_body "#{users_path}/#{user_id}/permissions", permissions: permissions - end - - # Add one or more permissions from a specific user. - # @see https://auth0.com/docs/api/management/v2#!/Users/post_permissions - # - # @param user_id [string] The user_id of the permissions to add. - # @param permissions [array] An array of Permission structs to add. - def add_user_permissions(user_id, permissions) - raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty? - permissions = validate_permissions_array permissions - post "#{users_path}/#{user_id}/permissions", permissions: permissions - end - - # Remove the current Guardian recovery code and generates and returns a new one. - # @see https://auth0.com/docs/api/management/v2#!/Users/post_recovery_code_regeneration - # - # @param user_id [string] The user_id of the recovery codes to regenerate. - def generate_recovery_code(user_id) - raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty? - post "#{users_path}/#{user_id}/recovery-code-regeneration" - end - - # Invalidate all remembered browsers for all authentication factors for a specific user. - # @see https://auth0.com/docs/api/management/v2#!/Users/post_invalidate_remember_browser - # - # @param user_id [string] The user_id of the browsers to invalidate. - def invalidate_browsers(user_id) - raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty? - post "#{users_path}/#{user_id}/multifactor/actions/invalidate-remember-browser" - end - - - # Get a list of organizations for a user. - # - # @param user_id [string] The user_id of the permissions to get. - # - # @return [json] Returns organizations for the given user_id. - def get_user_organizations(user_id) - raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty? - - get "#{users_path}/#{user_id}/organizations" - end - - # Get the available authentication methods for a user. - # - # @param user_id [string] The user ID of the authentication methods to get - # @param options [hash] A hash of options for getting permissions - # * :per_page [integer] The amount of permissions per page. (optional) - # * :page [integer] The page number. Zero based. (optional) - # * :include_totals [boolean] True if a query summary must be included in the result. (optional) - # @return [json] The user's authentication methods - # @see https://auth0.com/docs/api/management/v2#!/Users/get_authentication_methods - def user_authentication_methods(user_id, options = {}) - raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty? - - request_params = { - per_page: options.fetch(:per_page, nil), - page: options.fetch(:page, nil), - include_totals: options.fetch(:include_totals, nil) - } - - get "#{users_path}/#{user_id}/authentication-methods", request_params - end - alias get_user_authentication_methods user_authentication_methods - - # Get a specific authentication method for a user. - # - # @param user_id [string] The user ID of the authentication methods to get - # @param authentication_method_id [string] The ID of the authentication method - # @return [json] The user authentication method - # @see https://auth0.com/docs/api/management/v2#!/Users/get_authentication_methods_by_authentication_method_id - def user_authentication_method(user_id, authentication_method_id) - raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty? - raise Auth0::MissingParameter, 'Must supply a valid authentication_method_id' if authentication_method_id.to_s.empty? - - get "#{users_path}/#{user_id}/authentication-methods/#{authentication_method_id}" - end - alias get_user_authentication_method user_authentication_method - - # Create an authentication method for a user - # - # @param user_id [string] The user ID of the authentication methods to get - # @param body [hash] The post body content - # * :type [string] "phone" or "email" or "totp" or "webauthn-roaming" - # * :name [string] A human-readable label to identify the authentication method (optional) - # * :totp_secret [string] Base32 encoded secret for TOTP generation (optional) - # * :phone_number [string] Applies to phone authentication methods only. The destination phone number used to send verification codes via text and voice (optional) - # * :email [string] Applies to email authentication methods only. The email address used to send verification messages (optional) - # * :preferred_authentication_method [string] Preferred phone authentication method (optional) - # * :key_id [string] Applies to email webauthn authenticators only. The id of the credential (optional) - # * :public_key [string] Applies to email webauthn authenticators only. The public key (optional) - # * :relying_party_identifier [string] Applies to email webauthn authenticators only. The relying party identifier (optional) - # @see https://auth0.com/docs/api/management/v2#!/Users/post_authentication_methods - def post_user_authentication_method(user_id, body) - raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty? - raise Auth0::MissingParameter, 'Must supply a body' if body.to_s.empty? - - post "#{users_path}/#{user_id}/authentication-methods", body - end - alias create_user_authentication_method post_user_authentication_method - - # Updates all authentication methods by replacing them with the given ones - # - # @param user_id [string] The user ID of the authentication methods to get - # @param body [hash array] The mehods to update - # * :type [string] "phone" or "email" or "totp" or "webauthn-roaming" - # * :name [string] A human-readable label to identify the authentication method (optional) - # * :totp_secret [string] Base32 encoded secret for TOTP generation (optional) - # * :phone_number [string] Applies to phone authentication methods only. The destination phone number used to send verification codes via text and voice (optional) - # * :email [string] Applies to email authentication methods only. The email address used to send verification messages (optional) - # * :preferred_authentication_method [string] Preferred phone authentication method (optional) - # @see https://auth0.com/docs/api/management/v2#!/Users/put_authentication_methods - def put_all_user_authentication_methods(user_id, body) - raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty? - raise Auth0::MissingParameter, 'Must supply a body' if body.to_s.empty? - - put "#{users_path}/#{user_id}/authentication-methods", body - end - alias update_all_user_authentication_methods put_all_user_authentication_methods - - # Updates a user authentication method - # - # @param user_id [string] The user ID of the authentication methods to get - # @param body [hash array] The mehods to update - # * :name [string] A human-readable label to identify the authentication method (optional) - # * :preferred_authentication_method [string] Preferred phone authentication method (optional) - # @see https://auth0.com/docs/api/management/v2#!/Users/put_authentication_methods - def patch_user_authentication_method(user_id, authentication_method_id, body) - raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty? - raise Auth0::MissingParameter, 'Must supply an authentication_method_id' if authentication_method_id.to_s.empty? - raise Auth0::MissingParameter, 'Must supply a body' if body.to_s.empty? - - patch "#{users_path}/#{user_id}/authentication-methods/#{authentication_method_id}", body - end - alias update_user_authentication_method patch_user_authentication_method - - # Deletes all of the user's authentication methods - # - # @param user_id [string] The user ID - # @see https://auth0.com/docs/api/management/v2#!/Users/delete_authentication_methods - def delete_user_authentication_methods(user_id) - raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty? - - delete "#{users_path}/#{user_id}/authentication-methods" - end - - - # Deletes the user's authentication method specified by authentication_method_id - # - # @param user_id [string] The user ID - # @param authentication_method_id [string] The ID of the authentication method - # @see https://auth0.com/docs/api/management/v2#!/Users/delete_authentication_methods_by_authentication_method_id - def delete_user_authentication_method(user_id, authentication_method_id) - raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty? - raise Auth0::MissingParameter, 'Must supply an authentication_method_id' if authentication_method_id.to_s.empty? - - delete "#{users_path}/#{user_id}/authentication-methods/#{authentication_method_id}" - end - - # Delete all sessions for a user. - # - # @param user_id [string] The user ID - # @see https://auth0.com/docs/api/management/v2/users/delete-sessions-for-user - def delete_user_sessions(user_id) - raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty? - - delete "#{users_path}/#{user_id}/sessions" - end - - # Retrieve details for a user's sessions. - # - # @param user_id [string] The user ID - # @see https://auth0.com/docs/api/management/v2/users/get-sessions-for-user - def user_sessions(user_id) - raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty? - - get "#{users_path}/#{user_id}/sessions" - end - - # Retrieve details for a user's refresh tokens. - # @see https://auth0.com/docs/api/management/v2/users/get-refresh-tokens-for-user - # - # @param use_id [String] The user ID - # @param options [hash] A hash of options for getting permissions - # * :take [Integer] Number of results per page. Defaults to 50. - # * :from [String] Optional token ID from which to start selection (exclusive). - # * :include_totals [boolean] Return results inside an object that contains the total result count (true) - # or as a direct array of results (false, default) - # - # @return [json] Returns refresh tokens for the given user_id. - def user_refresh_tokens(user_id, options = {}) - raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty? - - request_params = { - take: options.fetch(:take, nil), - from: options.fetch(:from, nil), - include_totals: options.fetch(:include_totals, nil) - } - - get "#{users_path}/#{user_id}/refresh-tokens", request_params - end - - # Delete all refresh tokens for a user. - # - # @param user_id [String] ID of the user to get remove refresh tokens for - # @see https://auth0.com/docs/api/management/v2/users/delete-refresh-tokens-for-user - def delete_user_refresh_tokens(user_id) - raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty? - - delete "#{users_path}/#{user_id}/refresh-tokens" - end - - private - - # Users API path - def users_path - @users_path ||= '/api/v2/users' - end - end - end - end -end diff --git a/lib/auth0/api/v2/users_by_email.rb b/lib/auth0/api/v2/users_by_email.rb deleted file mode 100644 index 5439c8d7c..000000000 --- a/lib/auth0/api/v2/users_by_email.rb +++ /dev/null @@ -1,36 +0,0 @@ -module Auth0 - module Api - module V2 - # Methods to use the Users By Email endpoints - module UsersByEmail - attr_reader :users_by_email_path - - # Retrieves a list of existing users by their email. - # @see https://auth0.com/docs/api/v2#!/Users/get_users - # @see https://auth0.com/docs/api/management/v2#!/Users_By_Email/get_users_by_email - # @param email [string] E-mail to be searched - # @param options [hash] - # * :fields [string] A comma separated list of fields to include or exclude from the result. - # * :include_fields [boolean] True if the fields specified are to be included in the result, false otherwise. - # - # @return [json] Returns the list of existing users. - def users_by_email(email, options = {}) - raise Auth0::InvalidParameter, 'Must supply a valid email' if email.to_s.empty? - request_params = { - fields: options.fetch(:fields, nil), - include_fields: options.fetch(:include_fields, nil) - } - request_params[:email] = email - get(users_by_email_path, request_params) - end - - private - - # Users By Emails API path - def users_by_email_path - @users_by_email_path ||= '/api/v2/users-by-email' - end - end - end - end -end diff --git a/lib/auth0/attack_protection/bot_detection/client.rb b/lib/auth0/attack_protection/bot_detection/client.rb new file mode 100644 index 000000000..fe9b060c7 --- /dev/null +++ b/lib/auth0/attack_protection/bot_detection/client.rb @@ -0,0 +1,82 @@ +# frozen_string_literal: true + +module Auth0 + module AttackProtection + module BotDetection + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Get the Bot Detection configuration of your tenant. + # + # @param request_options [Hash] + # @param _params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::GetBotDetectionSettingsResponseContent] + def get(request_options: {}, **_params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "attack-protection/bot-detection", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetBotDetectionSettingsResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Update the Bot Detection configuration of your tenant. + # + # @param request_options [Hash] + # @param params [Auth0::AttackProtection::BotDetection::Types::UpdateBotDetectionSettingsRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::UpdateBotDetectionSettingsResponseContent] + def update(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "attack-protection/bot-detection", + body: Auth0::AttackProtection::BotDetection::Types::UpdateBotDetectionSettingsRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::UpdateBotDetectionSettingsResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end + end +end diff --git a/lib/auth0/attack_protection/bot_detection/types/update_bot_detection_settings_request_content.rb b/lib/auth0/attack_protection/bot_detection/types/update_bot_detection_settings_request_content.rb new file mode 100644 index 000000000..ff0e67e17 --- /dev/null +++ b/lib/auth0/attack_protection/bot_detection/types/update_bot_detection_settings_request_content.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module AttackProtection + module BotDetection + module Types + class UpdateBotDetectionSettingsRequestContent < Internal::Types::Model + field :bot_detection_level, -> { Auth0::Types::BotDetectionLevelEnum }, optional: true, nullable: false + + field :challenge_password_policy, -> { Auth0::Types::BotDetectionChallengePolicyPasswordFlowEnum }, optional: true, nullable: false + + field :challenge_passwordless_policy, -> { Auth0::Types::BotDetectionChallengePolicyPasswordlessFlowEnum }, optional: true, nullable: false + + field :challenge_password_reset_policy, -> { Auth0::Types::BotDetectionChallengePolicyPasswordResetFlowEnum }, optional: true, nullable: false + + field :allowlist, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :monitoring_mode_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/attack_protection/breached_password_detection/client.rb b/lib/auth0/attack_protection/breached_password_detection/client.rb new file mode 100644 index 000000000..7c83c0676 --- /dev/null +++ b/lib/auth0/attack_protection/breached_password_detection/client.rb @@ -0,0 +1,82 @@ +# frozen_string_literal: true + +module Auth0 + module AttackProtection + module BreachedPasswordDetection + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve details of the Breached Password Detection configuration of your tenant. + # + # @param request_options [Hash] + # @param _params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::GetBreachedPasswordDetectionSettingsResponseContent] + def get(request_options: {}, **_params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "attack-protection/breached-password-detection", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetBreachedPasswordDetectionSettingsResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Update details of the Breached Password Detection configuration of your tenant. + # + # @param request_options [Hash] + # @param params [Auth0::AttackProtection::BreachedPasswordDetection::Types::UpdateBreachedPasswordDetectionSettingsRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::UpdateBreachedPasswordDetectionSettingsResponseContent] + def update(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "attack-protection/breached-password-detection", + body: Auth0::AttackProtection::BreachedPasswordDetection::Types::UpdateBreachedPasswordDetectionSettingsRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::UpdateBreachedPasswordDetectionSettingsResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end + end +end diff --git a/lib/auth0/attack_protection/breached_password_detection/types/update_breached_password_detection_settings_request_content.rb b/lib/auth0/attack_protection/breached_password_detection/types/update_breached_password_detection_settings_request_content.rb new file mode 100644 index 000000000..3a8e325a5 --- /dev/null +++ b/lib/auth0/attack_protection/breached_password_detection/types/update_breached_password_detection_settings_request_content.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module AttackProtection + module BreachedPasswordDetection + module Types + class UpdateBreachedPasswordDetectionSettingsRequestContent < Internal::Types::Model + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :shields, -> { Internal::Types::Array[Auth0::Types::BreachedPasswordDetectionShieldsEnum] }, optional: true, nullable: false + + field :admin_notification_frequency, -> { Internal::Types::Array[Auth0::Types::BreachedPasswordDetectionAdminNotificationFrequencyEnum] }, optional: true, nullable: false + + field :method_, -> { Auth0::Types::BreachedPasswordDetectionMethodEnum }, optional: true, nullable: false, api_name: "method" + + field :stage, -> { Auth0::Types::BreachedPasswordDetectionStage }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/attack_protection/brute_force_protection/client.rb b/lib/auth0/attack_protection/brute_force_protection/client.rb new file mode 100644 index 000000000..926176545 --- /dev/null +++ b/lib/auth0/attack_protection/brute_force_protection/client.rb @@ -0,0 +1,82 @@ +# frozen_string_literal: true + +module Auth0 + module AttackProtection + module BruteForceProtection + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve details of the Brute-force Protection configuration of your tenant. + # + # @param request_options [Hash] + # @param _params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::GetBruteForceSettingsResponseContent] + def get(request_options: {}, **_params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "attack-protection/brute-force-protection", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetBruteForceSettingsResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Update the Brute-force Protection configuration of your tenant. + # + # @param request_options [Hash] + # @param params [Auth0::AttackProtection::BruteForceProtection::Types::UpdateBruteForceSettingsRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::UpdateBruteForceSettingsResponseContent] + def update(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "attack-protection/brute-force-protection", + body: Auth0::AttackProtection::BruteForceProtection::Types::UpdateBruteForceSettingsRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::UpdateBruteForceSettingsResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end + end +end diff --git a/lib/auth0/attack_protection/brute_force_protection/types/update_brute_force_settings_request_content.rb b/lib/auth0/attack_protection/brute_force_protection/types/update_brute_force_settings_request_content.rb new file mode 100644 index 000000000..e54d065ae --- /dev/null +++ b/lib/auth0/attack_protection/brute_force_protection/types/update_brute_force_settings_request_content.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module AttackProtection + module BruteForceProtection + module Types + class UpdateBruteForceSettingsRequestContent < Internal::Types::Model + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :shields, -> { Internal::Types::Array[Auth0::Types::BruteForceProtectionShieldsEnum] }, optional: true, nullable: false + + field :allowlist, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :mode, -> { Auth0::Types::BruteForceProtectionModeEnum }, optional: true, nullable: false + + field :max_attempts, -> { Integer }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/attack_protection/captcha/client.rb b/lib/auth0/attack_protection/captcha/client.rb new file mode 100644 index 000000000..0aeb98457 --- /dev/null +++ b/lib/auth0/attack_protection/captcha/client.rb @@ -0,0 +1,82 @@ +# frozen_string_literal: true + +module Auth0 + module AttackProtection + module Captcha + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Get the CAPTCHA configuration for your client. + # + # @param request_options [Hash] + # @param _params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::GetAttackProtectionCaptchaResponseContent] + def get(request_options: {}, **_params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "attack-protection/captcha", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetAttackProtectionCaptchaResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Update existing CAPTCHA configuration for your client. + # + # @param request_options [Hash] + # @param params [Auth0::AttackProtection::Captcha::Types::UpdateAttackProtectionCaptchaRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::UpdateAttackProtectionCaptchaResponseContent] + def update(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "attack-protection/captcha", + body: Auth0::AttackProtection::Captcha::Types::UpdateAttackProtectionCaptchaRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::UpdateAttackProtectionCaptchaResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end + end +end diff --git a/lib/auth0/attack_protection/captcha/types/update_attack_protection_captcha_request_content.rb b/lib/auth0/attack_protection/captcha/types/update_attack_protection_captcha_request_content.rb new file mode 100644 index 000000000..f471d06b1 --- /dev/null +++ b/lib/auth0/attack_protection/captcha/types/update_attack_protection_captcha_request_content.rb @@ -0,0 +1,27 @@ +# frozen_string_literal: true + +module Auth0 + module AttackProtection + module Captcha + module Types + class UpdateAttackProtectionCaptchaRequestContent < Internal::Types::Model + field :active_provider_id, -> { Auth0::Types::AttackProtectionCaptchaProviderID }, optional: true, nullable: false + + field :arkose, -> { Auth0::Types::AttackProtectionUpdateCaptchaArkose }, optional: true, nullable: false + + field :auth_challenge, -> { Auth0::Types::AttackProtectionCaptchaAuthChallengeRequest }, optional: true, nullable: false + + field :hcaptcha, -> { Auth0::Types::AttackProtectionUpdateCaptchaHcaptcha }, optional: true, nullable: false + + field :friendly_captcha, -> { Auth0::Types::AttackProtectionUpdateCaptchaFriendlyCaptcha }, optional: true, nullable: false + + field :recaptcha_enterprise, -> { Auth0::Types::AttackProtectionUpdateCaptchaRecaptchaEnterprise }, optional: true, nullable: false + + field :recaptcha_v2, -> { Auth0::Types::AttackProtectionUpdateCaptchaRecaptchaV2 }, optional: true, nullable: false + + field :simple_captcha, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/attack_protection/client.rb b/lib/auth0/attack_protection/client.rb new file mode 100644 index 000000000..ed318358c --- /dev/null +++ b/lib/auth0/attack_protection/client.rb @@ -0,0 +1,44 @@ +# frozen_string_literal: true + +module Auth0 + module AttackProtection + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # @return [Auth0::BotDetection::Client] + def bot_detection + @bot_detection ||= Auth0::AttackProtection::BotDetection::Client.new(client: @client) + end + + # @return [Auth0::BreachedPasswordDetection::Client] + def breached_password_detection + @breached_password_detection ||= Auth0::AttackProtection::BreachedPasswordDetection::Client.new(client: @client) + end + + # @return [Auth0::BruteForceProtection::Client] + def brute_force_protection + @brute_force_protection ||= Auth0::AttackProtection::BruteForceProtection::Client.new(client: @client) + end + + # @return [Auth0::Captcha::Client] + def captcha + @captcha ||= Auth0::AttackProtection::Captcha::Client.new(client: @client) + end + + # @return [Auth0::PhoneProviderProtection::Client] + def phone_provider_protection + @phone_provider_protection ||= Auth0::AttackProtection::PhoneProviderProtection::Client.new(client: @client) + end + + # @return [Auth0::SuspiciousIPThrottling::Client] + def suspicious_ip_throttling + @suspicious_ip_throttling ||= Auth0::AttackProtection::SuspiciousIPThrottling::Client.new(client: @client) + end + end + end +end diff --git a/lib/auth0/attack_protection/phone_provider_protection/client.rb b/lib/auth0/attack_protection/phone_provider_protection/client.rb new file mode 100644 index 000000000..ab34aaf26 --- /dev/null +++ b/lib/auth0/attack_protection/phone_provider_protection/client.rb @@ -0,0 +1,82 @@ +# frozen_string_literal: true + +module Auth0 + module AttackProtection + module PhoneProviderProtection + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Get the phone provider protection configuration for a tenant. + # + # @param request_options [Hash] + # @param _params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::GetPhoneProviderProtectionResponseContent] + def get(request_options: {}, **_params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "attack-protection/phone-provider-protection", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetPhoneProviderProtectionResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Update the phone provider protection configuration for a tenant. + # + # @param request_options [Hash] + # @param params [Auth0::AttackProtection::PhoneProviderProtection::Types::PatchPhoneProviderProtectionRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::PatchPhoneProviderProtectionResponseContent] + def patch(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "attack-protection/phone-provider-protection", + body: Auth0::AttackProtection::PhoneProviderProtection::Types::PatchPhoneProviderProtectionRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::PatchPhoneProviderProtectionResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end + end +end diff --git a/lib/auth0/attack_protection/phone_provider_protection/types/patch_phone_provider_protection_request_content.rb b/lib/auth0/attack_protection/phone_provider_protection/types/patch_phone_provider_protection_request_content.rb new file mode 100644 index 000000000..edffb5aa5 --- /dev/null +++ b/lib/auth0/attack_protection/phone_provider_protection/types/patch_phone_provider_protection_request_content.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module AttackProtection + module PhoneProviderProtection + module Types + class PatchPhoneProviderProtectionRequestContent < Internal::Types::Model + field :type, -> { Auth0::Types::PhoneProviderProtectionBackoffStrategyEnum }, optional: false, nullable: false + end + end + end + end +end diff --git a/lib/auth0/attack_protection/suspicious_ip_throttling/client.rb b/lib/auth0/attack_protection/suspicious_ip_throttling/client.rb new file mode 100644 index 000000000..3054d4bbb --- /dev/null +++ b/lib/auth0/attack_protection/suspicious_ip_throttling/client.rb @@ -0,0 +1,82 @@ +# frozen_string_literal: true + +module Auth0 + module AttackProtection + module SuspiciousIPThrottling + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve details of the Suspicious IP Throttling configuration of your tenant. + # + # @param request_options [Hash] + # @param _params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::GetSuspiciousIPThrottlingSettingsResponseContent] + def get(request_options: {}, **_params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "attack-protection/suspicious-ip-throttling", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetSuspiciousIPThrottlingSettingsResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Update the details of the Suspicious IP Throttling configuration of your tenant. + # + # @param request_options [Hash] + # @param params [Auth0::AttackProtection::SuspiciousIPThrottling::Types::UpdateSuspiciousIPThrottlingSettingsRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::UpdateSuspiciousIPThrottlingSettingsResponseContent] + def update(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "attack-protection/suspicious-ip-throttling", + body: Auth0::AttackProtection::SuspiciousIPThrottling::Types::UpdateSuspiciousIPThrottlingSettingsRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::UpdateSuspiciousIPThrottlingSettingsResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end + end +end diff --git a/lib/auth0/attack_protection/suspicious_ip_throttling/types/update_suspicious_ip_throttling_settings_request_content.rb b/lib/auth0/attack_protection/suspicious_ip_throttling/types/update_suspicious_ip_throttling_settings_request_content.rb new file mode 100644 index 000000000..e118cda81 --- /dev/null +++ b/lib/auth0/attack_protection/suspicious_ip_throttling/types/update_suspicious_ip_throttling_settings_request_content.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module AttackProtection + module SuspiciousIPThrottling + module Types + class UpdateSuspiciousIPThrottlingSettingsRequestContent < Internal::Types::Model + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :shields, -> { Internal::Types::Array[Auth0::Types::SuspiciousIPThrottlingShieldsEnum] }, optional: true, nullable: false + + field :allowlist, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :stage, -> { Auth0::Types::SuspiciousIPThrottlingStage }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/auth_client.rb b/lib/auth0/auth_client.rb new file mode 100644 index 000000000..9f3cbde6f --- /dev/null +++ b/lib/auth0/auth_client.rb @@ -0,0 +1,98 @@ +# frozen_string_literal: true + +require_relative "mixins" + +module Auth0 + # Unified client that provides both Authentication and Management APIs. + # + # Authentication methods (signup, authorization_url, validate_id_token, etc.) + # are mixed in directly via Auth0::Mixins. + # + # Management methods are delegated to an internal Auth0::Management instance, + # which is lazily created and automatically refreshed when the token changes. + class Client + include Auth0::Mixins + + # All management sub-client accessors from Auth0::Management. + # When Fern adds new resources, add them here and they'll be delegated. + # In the meantime, method_missing provides a safety net. + MANAGEMENT_ACCESSORS = %i[ + actions + anomaly + attack_protection + branding + client_grants + clients + connection_profiles + connections + custom_domains + device_credentials + email_templates + emails + event_streams + flows + forms + groups + guardian + hooks + jobs + keys + log_streams + logs + network_acls + organizations + prompts + refresh_tokens + resource_servers + risk_assessments + roles + rules + rules_configs + self_service_profiles + sessions + stats + supplemental_signals + tenants + tickets + token_exchange_profiles + user_attribute_profiles + user_blocks + user_grants + users + verifiable_credentials + ].freeze + + MANAGEMENT_ACCESSORS.each do |name| + define_method(name) { management.public_send(name) } + end + + # Fallback for new management accessors not yet in the explicit list + def method_missing(method_name, *, &) + if management.respond_to?(method_name) + management.public_send(method_name, *, &) + else + super + end + end + + def respond_to_missing?(method_name, include_private = false) + management.respond_to?(method_name, include_private) || super + end + + # Returns the underlying Auth0::Management instance. + # Lazily created and automatically refreshed when the token changes. + # @return [Auth0::Management] + def management + current_token = get_token + if @_management.nil? || @_management_token != current_token + @_management_token = current_token + opts = { token: current_token, base_url: "#{@base_uri}/api/v2" } + opts[:timeout] = @management_timeout if @management_timeout + opts[:max_retries] = @management_max_retries if @management_max_retries + opts[:headers] = @management_additional_headers if @management_additional_headers + @_management = Auth0::Management.new(**opts) + end + @_management + end + end +end diff --git a/lib/auth0/branding/client.rb b/lib/auth0/branding/client.rb new file mode 100644 index 000000000..4fbe145a8 --- /dev/null +++ b/lib/auth0/branding/client.rb @@ -0,0 +1,95 @@ +# frozen_string_literal: true + +module Auth0 + module Branding + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve branding settings. + # + # @param request_options [Hash] + # @param _params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::GetBrandingResponseContent] + def get(request_options: {}, **_params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "branding", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetBrandingResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Update branding settings. + # + # @param request_options [Hash] + # @param params [Auth0::Branding::Types::UpdateBrandingRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::UpdateBrandingResponseContent] + def update(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "branding", + body: Auth0::Branding::Types::UpdateBrandingRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::UpdateBrandingResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # @return [Auth0::Templates::Client] + def templates + @templates ||= Auth0::Branding::Templates::Client.new(client: @client) + end + + # @return [Auth0::Themes::Client] + def themes + @themes ||= Auth0::Branding::Themes::Client.new(client: @client) + end + + # @return [Auth0::Phone::Client] + def phone + @phone ||= Auth0::Branding::Phone::Client.new(client: @client) + end + end + end +end diff --git a/lib/auth0/branding/phone/client.rb b/lib/auth0/branding/phone/client.rb new file mode 100644 index 000000000..c957ba14f --- /dev/null +++ b/lib/auth0/branding/phone/client.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module Auth0 + module Branding + module Phone + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # @return [Auth0::Providers::Client] + def providers + @providers ||= Auth0::Branding::Phone::Providers::Client.new(client: @client) + end + + # @return [Auth0::Templates::Client] + def templates + @templates ||= Auth0::Branding::Phone::Templates::Client.new(client: @client) + end + end + end + end +end diff --git a/lib/auth0/branding/phone/providers/client.rb b/lib/auth0/branding/phone/providers/client.rb new file mode 100644 index 000000000..147942bbe --- /dev/null +++ b/lib/auth0/branding/phone/providers/client.rb @@ -0,0 +1,242 @@ +# frozen_string_literal: true + +module Auth0 + module Branding + module Phone + module Providers + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve a list of [phone + # providers](https://auth0.com/docs/customize/phone-messages/configure-phone-messaging-providers) details set + # for a Tenant. A list of fields to include or exclude may also be specified. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [Boolean, nil] :disabled + # + # @return [Auth0::Types::ListBrandingPhoneProvidersResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["disabled"] = params[:disabled] if params.key?(:disabled) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "branding/phone/providers", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::ListBrandingPhoneProvidersResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Create a [phone + # provider](https://auth0.com/docs/customize/phone-messages/configure-phone-messaging-providers). + # The `credentials` object requires different properties depending on the phone provider (which is specified + # using the `name` property). + # + # @param request_options [Hash] + # @param params [Auth0::Branding::Phone::Providers::Types::CreateBrandingPhoneProviderRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::CreateBrandingPhoneProviderResponseContent] + def create(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "branding/phone/providers", + body: Auth0::Branding::Phone::Providers::Types::CreateBrandingPhoneProviderRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::CreateBrandingPhoneProviderResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Retrieve [phone + # provider](https://auth0.com/docs/customize/phone-messages/configure-phone-messaging-providers) details. A + # list of fields to include or exclude may also be specified. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::GetBrandingPhoneProviderResponseContent] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "branding/phone/providers/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetBrandingPhoneProviderResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Delete the configured phone provider. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "branding/phone/providers/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Update a [phone + # provider](https://auth0.com/docs/customize/phone-messages/configure-phone-messaging-providers). + # The `credentials` object requires different properties depending on the phone provider (which is specified + # using the `name` property). + # + # @param request_options [Hash] + # @param params [Auth0::Branding::Phone::Providers::Types::UpdateBrandingPhoneProviderRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::UpdateBrandingPhoneProviderResponseContent] + def update(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Branding::Phone::Providers::Types::UpdateBrandingPhoneProviderRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "branding/phone/providers/#{URI.encode_uri_component(params[:id].to_s)}", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::UpdateBrandingPhoneProviderResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # @param request_options [Hash] + # @param params [Auth0::Branding::Phone::Providers::Types::CreatePhoneProviderSendTestRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::CreatePhoneProviderSendTestResponseContent] + def test(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Branding::Phone::Providers::Types::CreatePhoneProviderSendTestRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "branding/phone/providers/#{URI.encode_uri_component(params[:id].to_s)}/try", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::CreatePhoneProviderSendTestResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end + end + end +end diff --git a/lib/auth0/branding/phone/providers/types/create_branding_phone_provider_request_content.rb b/lib/auth0/branding/phone/providers/types/create_branding_phone_provider_request_content.rb new file mode 100644 index 000000000..d33cbe912 --- /dev/null +++ b/lib/auth0/branding/phone/providers/types/create_branding_phone_provider_request_content.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Branding + module Phone + module Providers + module Types + class CreateBrandingPhoneProviderRequestContent < Internal::Types::Model + field :name, -> { Auth0::Types::PhoneProviderNameEnum }, optional: false, nullable: false + + field :disabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :configuration, -> { Auth0::Types::PhoneProviderConfiguration }, optional: true, nullable: false + + field :credentials, -> { Auth0::Types::PhoneProviderCredentials }, optional: false, nullable: false + end + end + end + end + end +end diff --git a/lib/auth0/branding/phone/providers/types/create_phone_provider_send_test_request_content.rb b/lib/auth0/branding/phone/providers/types/create_phone_provider_send_test_request_content.rb new file mode 100644 index 000000000..980b20d63 --- /dev/null +++ b/lib/auth0/branding/phone/providers/types/create_phone_provider_send_test_request_content.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Branding + module Phone + module Providers + module Types + class CreatePhoneProviderSendTestRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :to, -> { String }, optional: false, nullable: false + + field :delivery_method, -> { Auth0::Types::PhoneProviderDeliveryMethodEnum }, optional: true, nullable: false + end + end + end + end + end +end diff --git a/lib/auth0/branding/phone/providers/types/list_branding_phone_providers_request_parameters.rb b/lib/auth0/branding/phone/providers/types/list_branding_phone_providers_request_parameters.rb new file mode 100644 index 000000000..4025dd83b --- /dev/null +++ b/lib/auth0/branding/phone/providers/types/list_branding_phone_providers_request_parameters.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Branding + module Phone + module Providers + module Types + class ListBrandingPhoneProvidersRequestParameters < Internal::Types::Model + field :disabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end + end + end +end diff --git a/lib/auth0/branding/phone/providers/types/update_branding_phone_provider_request_content.rb b/lib/auth0/branding/phone/providers/types/update_branding_phone_provider_request_content.rb new file mode 100644 index 000000000..656be8fbf --- /dev/null +++ b/lib/auth0/branding/phone/providers/types/update_branding_phone_provider_request_content.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Branding + module Phone + module Providers + module Types + class UpdateBrandingPhoneProviderRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :name, -> { Auth0::Types::PhoneProviderNameEnum }, optional: true, nullable: false + + field :disabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :credentials, -> { Auth0::Types::PhoneProviderCredentials }, optional: true, nullable: false + + field :configuration, -> { Auth0::Types::PhoneProviderConfiguration }, optional: true, nullable: false + end + end + end + end + end +end diff --git a/lib/auth0/branding/phone/templates/client.rb b/lib/auth0/branding/phone/templates/client.rb new file mode 100644 index 000000000..b17e4cfff --- /dev/null +++ b/lib/auth0/branding/phone/templates/client.rb @@ -0,0 +1,255 @@ +# frozen_string_literal: true + +module Auth0 + module Branding + module Phone + module Templates + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [Boolean, nil] :disabled + # + # @return [Auth0::Types::ListPhoneTemplatesResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["disabled"] = params[:disabled] if params.key?(:disabled) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "branding/phone/templates", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::ListPhoneTemplatesResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # @param request_options [Hash] + # @param params [Auth0::Branding::Phone::Templates::Types::CreatePhoneTemplateRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::CreatePhoneTemplateResponseContent] + def create(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "branding/phone/templates", + body: Auth0::Branding::Phone::Templates::Types::CreatePhoneTemplateRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::CreatePhoneTemplateResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::GetPhoneTemplateResponseContent] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "branding/phone/templates/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetPhoneTemplateResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "branding/phone/templates/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # @param request_options [Hash] + # @param params [Auth0::Branding::Phone::Templates::Types::UpdatePhoneTemplateRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::UpdatePhoneTemplateResponseContent] + def update(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Branding::Phone::Templates::Types::UpdatePhoneTemplateRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "branding/phone/templates/#{URI.encode_uri_component(params[:id].to_s)}", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::UpdatePhoneTemplateResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # @param request_options [Hash] + # @param params [Auth0::Types::ResetPhoneTemplateRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::ResetPhoneTemplateResponseContent] + def reset(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "branding/phone/templates/#{URI.encode_uri_component(params[:id].to_s)}/reset", + body: params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::ResetPhoneTemplateResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # @param request_options [Hash] + # @param params [Auth0::Branding::Phone::Templates::Types::CreatePhoneTemplateTestNotificationRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::CreatePhoneTemplateTestNotificationResponseContent] + def test(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Branding::Phone::Templates::Types::CreatePhoneTemplateTestNotificationRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "branding/phone/templates/#{URI.encode_uri_component(params[:id].to_s)}/try", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::CreatePhoneTemplateTestNotificationResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end + end + end +end diff --git a/lib/auth0/branding/phone/templates/types/create_phone_template_request_content.rb b/lib/auth0/branding/phone/templates/types/create_phone_template_request_content.rb new file mode 100644 index 000000000..723a03404 --- /dev/null +++ b/lib/auth0/branding/phone/templates/types/create_phone_template_request_content.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Branding + module Phone + module Templates + module Types + class CreatePhoneTemplateRequestContent < Internal::Types::Model + field :type, -> { Auth0::Types::PhoneTemplateNotificationTypeEnum }, optional: true, nullable: false + + field :disabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :content, -> { Auth0::Types::PhoneTemplateContent }, optional: true, nullable: false + end + end + end + end + end +end diff --git a/lib/auth0/branding/phone/templates/types/create_phone_template_test_notification_request_content.rb b/lib/auth0/branding/phone/templates/types/create_phone_template_test_notification_request_content.rb new file mode 100644 index 000000000..0ad15bc77 --- /dev/null +++ b/lib/auth0/branding/phone/templates/types/create_phone_template_test_notification_request_content.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Branding + module Phone + module Templates + module Types + class CreatePhoneTemplateTestNotificationRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :to, -> { String }, optional: false, nullable: false + + field :delivery_method, -> { Auth0::Types::PhoneProviderDeliveryMethodEnum }, optional: true, nullable: false + end + end + end + end + end +end diff --git a/lib/auth0/branding/phone/templates/types/list_phone_templates_request_parameters.rb b/lib/auth0/branding/phone/templates/types/list_phone_templates_request_parameters.rb new file mode 100644 index 000000000..1e9c534c3 --- /dev/null +++ b/lib/auth0/branding/phone/templates/types/list_phone_templates_request_parameters.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Branding + module Phone + module Templates + module Types + class ListPhoneTemplatesRequestParameters < Internal::Types::Model + field :disabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end + end + end +end diff --git a/lib/auth0/branding/phone/templates/types/update_phone_template_request_content.rb b/lib/auth0/branding/phone/templates/types/update_phone_template_request_content.rb new file mode 100644 index 000000000..cdeb649e1 --- /dev/null +++ b/lib/auth0/branding/phone/templates/types/update_phone_template_request_content.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Branding + module Phone + module Templates + module Types + class UpdatePhoneTemplateRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :content, -> { Auth0::Types::PartialPhoneTemplateContent }, optional: true, nullable: false + + field :disabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end + end + end +end diff --git a/lib/auth0/branding/templates/client.rb b/lib/auth0/branding/templates/client.rb new file mode 100644 index 000000000..f281a1b3c --- /dev/null +++ b/lib/auth0/branding/templates/client.rb @@ -0,0 +1,131 @@ +# frozen_string_literal: true + +module Auth0 + module Branding + module Templates + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # @param request_options [Hash] + # @param _params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::GetUniversalLoginTemplateResponseContent] + def get_universal_login(request_options: {}, **_params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "branding/templates/universal-login", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetUniversalLoginTemplateResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Update the Universal Login branding template. + # + # When `content-type` header is set to `application/json`: + # + # ```json + # { + # "template": "{% assign resolved_dir = dir | default: \"auto\" %}{%- auth0:head -%}{%- auth0:widget + # -%}" + # } + # ``` + # + # When `content-type` header is set to `text/html`: + # + # ```html + # + # {% assign resolved_dir = dir | default: "auto" %} + # + # + # {%- auth0:head -%} + # + # + # {%- auth0:widget -%} + # + # + # ``` + # + # @param request_options [Hash] + # @param params [Auth0::Types::UpdateUniversalLoginTemplateRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [untyped] + def update_universal_login(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PUT", + path: "branding/templates/universal-login", + body: Auth0::Types::UpdateUniversalLoginTemplateRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # @param request_options [Hash] + # @param _params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [untyped] + def delete_universal_login(request_options: {}, **_params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "branding/templates/universal-login", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end +end diff --git a/lib/auth0/branding/themes/client.rb b/lib/auth0/branding/themes/client.rb new file mode 100644 index 000000000..9a8bdda7c --- /dev/null +++ b/lib/auth0/branding/themes/client.rb @@ -0,0 +1,187 @@ +# frozen_string_literal: true + +module Auth0 + module Branding + module Themes + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Create branding theme. + # + # @param request_options [Hash] + # @param params [Auth0::Branding::Themes::Types::CreateBrandingThemeRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::CreateBrandingThemeResponseContent] + def create(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "branding/themes", + body: Auth0::Branding::Themes::Types::CreateBrandingThemeRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::CreateBrandingThemeResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Retrieve default branding theme. + # + # @param request_options [Hash] + # @param _params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::GetBrandingDefaultThemeResponseContent] + def get_default(request_options: {}, **_params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "branding/themes/default", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetBrandingDefaultThemeResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Retrieve branding theme. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :theme_id + # + # @return [Auth0::Types::GetBrandingThemeResponseContent] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "branding/themes/#{URI.encode_uri_component(params[:theme_id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetBrandingThemeResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Delete branding theme. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :theme_id + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "branding/themes/#{URI.encode_uri_component(params[:theme_id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Update branding theme. + # + # @param request_options [Hash] + # @param params [Auth0::Branding::Themes::Types::UpdateBrandingThemeRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :theme_id + # + # @return [Auth0::Types::UpdateBrandingThemeResponseContent] + def update(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Branding::Themes::Types::UpdateBrandingThemeRequestContent.new(params).to_h + non_body_param_names = %w[themeId] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "branding/themes/#{URI.encode_uri_component(params[:theme_id].to_s)}", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::UpdateBrandingThemeResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end + end +end diff --git a/lib/auth0/branding/themes/types/create_branding_theme_request_content.rb b/lib/auth0/branding/themes/types/create_branding_theme_request_content.rb new file mode 100644 index 000000000..44c5a21e1 --- /dev/null +++ b/lib/auth0/branding/themes/types/create_branding_theme_request_content.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module Auth0 + module Branding + module Themes + module Types + class CreateBrandingThemeRequestContent < Internal::Types::Model + field :borders, -> { Auth0::Types::BrandingThemeBorders }, optional: false, nullable: false + + field :colors, -> { Auth0::Types::BrandingThemeColors }, optional: false, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false, api_name: "displayName" + + field :fonts, -> { Auth0::Types::BrandingThemeFonts }, optional: false, nullable: false + + field :identifiers, -> { Auth0::Types::BrandingThemeIdentifiers }, optional: true, nullable: false + + field :page_background, -> { Auth0::Types::BrandingThemePageBackground }, optional: false, nullable: false + + field :widget, -> { Auth0::Types::BrandingThemeWidget }, optional: false, nullable: false + end + end + end + end +end diff --git a/lib/auth0/branding/themes/types/update_branding_theme_request_content.rb b/lib/auth0/branding/themes/types/update_branding_theme_request_content.rb new file mode 100644 index 000000000..61909ec50 --- /dev/null +++ b/lib/auth0/branding/themes/types/update_branding_theme_request_content.rb @@ -0,0 +1,27 @@ +# frozen_string_literal: true + +module Auth0 + module Branding + module Themes + module Types + class UpdateBrandingThemeRequestContent < Internal::Types::Model + field :theme_id, -> { String }, optional: false, nullable: false, api_name: "themeId" + + field :borders, -> { Auth0::Types::BrandingThemeBorders }, optional: false, nullable: false + + field :colors, -> { Auth0::Types::BrandingThemeColors }, optional: false, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false, api_name: "displayName" + + field :fonts, -> { Auth0::Types::BrandingThemeFonts }, optional: false, nullable: false + + field :identifiers, -> { Auth0::Types::BrandingThemeIdentifiers }, optional: true, nullable: false + + field :page_background, -> { Auth0::Types::BrandingThemePageBackground }, optional: false, nullable: false + + field :widget, -> { Auth0::Types::BrandingThemeWidget }, optional: false, nullable: false + end + end + end + end +end diff --git a/lib/auth0/branding/types/update_branding_request_content.rb b/lib/auth0/branding/types/update_branding_request_content.rb new file mode 100644 index 000000000..787fc1b76 --- /dev/null +++ b/lib/auth0/branding/types/update_branding_request_content.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Branding + module Types + class UpdateBrandingRequestContent < Internal::Types::Model + field :colors, -> { Auth0::Types::UpdateBrandingColors }, optional: true, nullable: false + + field :favicon_url, -> { String }, optional: true, nullable: false + + field :logo_url, -> { String }, optional: true, nullable: false + + field :font, -> { Auth0::Types::UpdateBrandingFont }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/client.rb b/lib/auth0/client.rb index 5a4375de9..49fae59e2 100644 --- a/lib/auth0/client.rb +++ b/lib/auth0/client.rb @@ -1,7 +1,258 @@ +# frozen_string_literal: true + module Auth0 - # Main class - # All Api calls are supposed to return hashes, but delete actions return strings. - class Client - include Auth0::Mixins + class Management + # @param token [String] + # @param base_url [String, nil] + # @param timeout [Float, nil] Request timeout in seconds. + # @param max_retries [Integer, nil] Maximum number of request retries. + # @param headers [Hash, nil] Additional headers to include in requests. + # + # @return [void] + def initialize(token:, base_url: nil, timeout: nil, max_retries: nil, headers: nil) + raw_client_opts = { + base_url: base_url || Auth0::Environment::DEFAULT, + headers: { + "X-Fern-Language" => "Ruby", + Authorization: "Bearer #{token}" + }.merge(headers || {}) + } + raw_client_opts[:timeout] = timeout if timeout + raw_client_opts[:max_retries] = max_retries if max_retries + + @raw_client = Auth0::Internal::Http::RawClient.new(**raw_client_opts) + end + + # @return [Auth0::Actions::Client] + def actions + @actions ||= Auth0::Actions::Client.new(client: @raw_client) + end + + # @return [Auth0::Agents::Client] + def agents + @agents ||= Auth0::Agents::Client.new(client: @raw_client) + end + + # @return [Auth0::Branding::Client] + def branding + @branding ||= Auth0::Branding::Client.new(client: @raw_client) + end + + # @return [Auth0::ClientGrants::Client] + def client_grants + @client_grants ||= Auth0::ClientGrants::Client.new(client: @raw_client) + end + + # @return [Auth0::Clients::Client] + def clients + @clients ||= Auth0::Clients::Client.new(client: @raw_client) + end + + # @return [Auth0::ConnectionProfiles::Client] + def connection_profiles + @connection_profiles ||= Auth0::ConnectionProfiles::Client.new(client: @raw_client) + end + + # @return [Auth0::Connections::Client] + def connections + @connections ||= Auth0::Connections::Client.new(client: @raw_client) + end + + # @return [Auth0::CustomDomains::Client] + def custom_domains + @custom_domains ||= Auth0::CustomDomains::Client.new(client: @raw_client) + end + + # @return [Auth0::DeviceCredentials::Client] + def device_credentials + @device_credentials ||= Auth0::DeviceCredentials::Client.new(client: @raw_client) + end + + # @return [Auth0::EmailTemplates::Client] + def email_templates + @email_templates ||= Auth0::EmailTemplates::Client.new(client: @raw_client) + end + + # @return [Auth0::EventStreams::Client] + def event_streams + @event_streams ||= Auth0::EventStreams::Client.new(client: @raw_client) + end + + # @return [Auth0::Events::Client] + def events + @events ||= Auth0::Events::Client.new(client: @raw_client) + end + + # @return [Auth0::Flows::Client] + def flows + @flows ||= Auth0::Flows::Client.new(client: @raw_client) + end + + # @return [Auth0::Forms::Client] + def forms + @forms ||= Auth0::Forms::Client.new(client: @raw_client) + end + + # @return [Auth0::UserGrants::Client] + def user_grants + @user_grants ||= Auth0::UserGrants::Client.new(client: @raw_client) + end + + # @return [Auth0::Groups::Client] + def groups + @groups ||= Auth0::Groups::Client.new(client: @raw_client) + end + + # @return [Auth0::Hooks::Client] + def hooks + @hooks ||= Auth0::Hooks::Client.new(client: @raw_client) + end + + # @return [Auth0::Jobs::Client] + def jobs + @jobs ||= Auth0::Jobs::Client.new(client: @raw_client) + end + + # @return [Auth0::LogStreams::Client] + def log_streams + @log_streams ||= Auth0::LogStreams::Client.new(client: @raw_client) + end + + # @return [Auth0::Logs::Client] + def logs + @logs ||= Auth0::Logs::Client.new(client: @raw_client) + end + + # @return [Auth0::NetworkACLs::Client] + def network_acls + @network_acls ||= Auth0::NetworkACLs::Client.new(client: @raw_client) + end + + # @return [Auth0::Organizations::Client] + def organizations + @organizations ||= Auth0::Organizations::Client.new(client: @raw_client) + end + + # @return [Auth0::Prompts::Client] + def prompts + @prompts ||= Auth0::Prompts::Client.new(client: @raw_client) + end + + # @return [Auth0::RateLimitPolicies::Client] + def rate_limit_policies + @rate_limit_policies ||= Auth0::RateLimitPolicies::Client.new(client: @raw_client) + end + + # @return [Auth0::RefreshTokens::Client] + def refresh_tokens + @refresh_tokens ||= Auth0::RefreshTokens::Client.new(client: @raw_client) + end + + # @return [Auth0::ResourceServers::Client] + def resource_servers + @resource_servers ||= Auth0::ResourceServers::Client.new(client: @raw_client) + end + + # @return [Auth0::Roles::Client] + def roles + @roles ||= Auth0::Roles::Client.new(client: @raw_client) + end + + # @return [Auth0::Rules::Client] + def rules + @rules ||= Auth0::Rules::Client.new(client: @raw_client) + end + + # @return [Auth0::RulesConfigs::Client] + def rules_configs + @rules_configs ||= Auth0::RulesConfigs::Client.new(client: @raw_client) + end + + # @return [Auth0::SelfServiceProfiles::Client] + def self_service_profiles + @self_service_profiles ||= Auth0::SelfServiceProfiles::Client.new(client: @raw_client) + end + + # @return [Auth0::Sessions::Client] + def sessions + @sessions ||= Auth0::Sessions::Client.new(client: @raw_client) + end + + # @return [Auth0::Stats::Client] + def stats + @stats ||= Auth0::Stats::Client.new(client: @raw_client) + end + + # @return [Auth0::SupplementalSignals::Client] + def supplemental_signals + @supplemental_signals ||= Auth0::SupplementalSignals::Client.new(client: @raw_client) + end + + # @return [Auth0::Tickets::Client] + def tickets + @tickets ||= Auth0::Tickets::Client.new(client: @raw_client) + end + + # @return [Auth0::TokenExchangeProfiles::Client] + def token_exchange_profiles + @token_exchange_profiles ||= Auth0::TokenExchangeProfiles::Client.new(client: @raw_client) + end + + # @return [Auth0::UserAttributeProfiles::Client] + def user_attribute_profiles + @user_attribute_profiles ||= Auth0::UserAttributeProfiles::Client.new(client: @raw_client) + end + + # @return [Auth0::UserBlocks::Client] + def user_blocks + @user_blocks ||= Auth0::UserBlocks::Client.new(client: @raw_client) + end + + # @return [Auth0::Users::Client] + def users + @users ||= Auth0::Users::Client.new(client: @raw_client) + end + + # @return [Auth0::Anomaly::Client] + def anomaly + @anomaly ||= Auth0::Anomaly::Client.new(client: @raw_client) + end + + # @return [Auth0::AttackProtection::Client] + def attack_protection + @attack_protection ||= Auth0::AttackProtection::Client.new(client: @raw_client) + end + + # @return [Auth0::Emails::Client] + def emails + @emails ||= Auth0::Emails::Client.new(client: @raw_client) + end + + # @return [Auth0::Guardian::Client] + def guardian + @guardian ||= Auth0::Guardian::Client.new(client: @raw_client) + end + + # @return [Auth0::Keys::Client] + def keys + @keys ||= Auth0::Keys::Client.new(client: @raw_client) + end + + # @return [Auth0::RiskAssessments::Client] + def risk_assessments + @risk_assessments ||= Auth0::RiskAssessments::Client.new(client: @raw_client) + end + + # @return [Auth0::Tenants::Client] + def tenants + @tenants ||= Auth0::Tenants::Client.new(client: @raw_client) + end + + # @return [Auth0::VerifiableCredentials::Client] + def verifiable_credentials + @verifiable_credentials ||= Auth0::VerifiableCredentials::Client.new(client: @raw_client) + end end end + +require_relative "auth_client" diff --git a/lib/auth0/client_assertion.rb b/lib/auth0/client_assertion.rb index fa7b7c62d..4e772d54b 100644 --- a/lib/auth0/client_assertion.rb +++ b/lib/auth0/client_assertion.rb @@ -13,9 +13,9 @@ module ClientAssertion # @param client_secret [string] The client secret # @param client_assertion_signing_key [PKey] The key used to sign the client assertion JWT # @param client_assertion_signing_alg [string] The algorithm used when signing the client assertion JWT - def populate_client_assertion_or_secret(hash, + def populate_client_assertion_or_secret(hash, domain: @domain, - client_id: @client_id, + client_id: @client_id, client_secret: @client_secret, client_assertion_signing_key: @client_assertion_signing_key, client_assertion_signing_alg: @client_assertion_signing_alg) @@ -42,4 +42,4 @@ def populate_client_assertion_or_secret(hash, end end end -end \ No newline at end of file +end diff --git a/lib/auth0/client_grants/client.rb b/lib/auth0/client_grants/client.rb new file mode 100644 index 000000000..ae5729ed5 --- /dev/null +++ b/lib/auth0/client_grants/client.rb @@ -0,0 +1,225 @@ +# frozen_string_literal: true + +module Auth0 + module ClientGrants + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve a list of [client + # grants](https://auth0.com/docs/get-started/applications/application-access-to-apis-client-grants), including the + # scopes associated with the application/API pair. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [Boolean, nil] :include_totals + # @option params [String, nil] :from + # @option params [Integer, nil] :take + # @option params [String, nil] :audience + # @option params [String, nil] :client_id + # @option params [Boolean, nil] :allow_any_organization + # @option params [Auth0::Types::ClientGrantSubjectTypeEnum, nil] :subject_type + # @option params [Auth0::Types::ClientGrantDefaultForEnum, nil] :default_for + # + # @return [Auth0::Types::ListClientGrantPaginatedResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["include_totals"] = params.fetch(:include_totals, true) + query_params["from"] = params[:from] if params.key?(:from) + query_params["take"] = params.fetch(:take, 50) + query_params["audience"] = params[:audience] if params.key?(:audience) + query_params["client_id"] = params[:client_id] if params.key?(:client_id) + query_params["allow_any_organization"] = params[:allow_any_organization] if params.key?(:allow_any_organization) + query_params["subject_type"] = params[:subject_type] if params.key?(:subject_type) + query_params["default_for"] = params[:default_for] if params.key?(:default_for) + + Auth0::Internal::CursorItemIterator.new( + cursor_field: :next_, + item_field: :client_grants, + initial_cursor: query_params["from"] + ) do |next_cursor| + query_params["from"] = next_cursor + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "client-grants", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListClientGrantPaginatedResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # Create a client grant for a machine-to-machine login flow. To learn more, read [Client Credential + # Flow](https://www.auth0.com/docs/get-started/authentication-and-authorization-flow/client-credentials-flow). + # + # @param request_options [Hash] + # @param params [Auth0::ClientGrants::Types::CreateClientGrantRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::CreateClientGrantResponseContent] + def create(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "client-grants", + body: Auth0::ClientGrants::Types::CreateClientGrantRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::CreateClientGrantResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Retrieve a single [client + # grant](https://auth0.com/docs/get-started/applications/application-access-to-apis-client-grants), including the + # scopes associated with the application/API pair. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::GetClientGrantResponseContent] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "client-grants/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetClientGrantResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Delete the [Client Credential + # Flow](https://www.auth0.com/docs/get-started/authentication-and-authorization-flow/client-credentials-flow) from + # your machine-to-machine application. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "client-grants/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Update a client grant. + # + # @param request_options [Hash] + # @param params [Auth0::ClientGrants::Types::UpdateClientGrantRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::UpdateClientGrantResponseContent] + def update(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::ClientGrants::Types::UpdateClientGrantRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "client-grants/#{URI.encode_uri_component(params[:id].to_s)}", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::UpdateClientGrantResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # @return [Auth0::Organizations::Client] + def organizations + @organizations ||= Auth0::ClientGrants::Organizations::Client.new(client: @client) + end + end + end +end diff --git a/lib/auth0/client_grants/organizations/client.rb b/lib/auth0/client_grants/organizations/client.rb new file mode 100644 index 000000000..8b72c4cfe --- /dev/null +++ b/lib/auth0/client_grants/organizations/client.rb @@ -0,0 +1,65 @@ +# frozen_string_literal: true + +module Auth0 + module ClientGrants + module Organizations + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [Boolean, nil] :include_totals + # @option params [String, nil] :from + # @option params [Integer, nil] :take + # + # @return [Auth0::Types::ListClientGrantOrganizationsPaginatedResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["include_totals"] = params.fetch(:include_totals, true) + query_params["from"] = params[:from] if params.key?(:from) + query_params["take"] = params.fetch(:take, 50) + + Auth0::Internal::CursorItemIterator.new( + cursor_field: :next_, + item_field: :organizations, + initial_cursor: query_params["from"] + ) do |next_cursor| + query_params["from"] = next_cursor + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "client-grants/#{URI.encode_uri_component(params[:id].to_s)}/organizations", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListClientGrantOrganizationsPaginatedResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end + end + end +end diff --git a/lib/auth0/client_grants/organizations/types/list_client_grant_organizations_request_parameters.rb b/lib/auth0/client_grants/organizations/types/list_client_grant_organizations_request_parameters.rb new file mode 100644 index 000000000..c86a8f95a --- /dev/null +++ b/lib/auth0/client_grants/organizations/types/list_client_grant_organizations_request_parameters.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module ClientGrants + module Organizations + module Types + class ListClientGrantOrganizationsRequestParameters < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :include_totals, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :from, -> { String }, optional: true, nullable: false + + field :take, -> { Integer }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/client_grants/types/create_client_grant_request_content.rb b/lib/auth0/client_grants/types/create_client_grant_request_content.rb new file mode 100644 index 000000000..583f83e69 --- /dev/null +++ b/lib/auth0/client_grants/types/create_client_grant_request_content.rb @@ -0,0 +1,27 @@ +# frozen_string_literal: true + +module Auth0 + module ClientGrants + module Types + class CreateClientGrantRequestContent < Internal::Types::Model + field :client_id, -> { String }, optional: true, nullable: false + + field :audience, -> { String }, optional: false, nullable: false + + field :default_for, -> { Auth0::Types::ClientGrantDefaultForEnum }, optional: true, nullable: false + + field :organization_usage, -> { Auth0::Types::ClientGrantOrganizationUsageEnum }, optional: true, nullable: false + + field :allow_any_organization, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :scope, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :subject_type, -> { Auth0::Types::ClientGrantSubjectTypeEnum }, optional: true, nullable: false + + field :authorization_details_types, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :allow_all_scopes, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/client_grants/types/list_client_grants_request_parameters.rb b/lib/auth0/client_grants/types/list_client_grants_request_parameters.rb new file mode 100644 index 000000000..0125bfdfb --- /dev/null +++ b/lib/auth0/client_grants/types/list_client_grants_request_parameters.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module Auth0 + module ClientGrants + module Types + class ListClientGrantsRequestParameters < Internal::Types::Model + field :include_totals, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :from, -> { String }, optional: true, nullable: false + + field :take, -> { Integer }, optional: true, nullable: false + + field :audience, -> { String }, optional: true, nullable: false + + field :client_id, -> { String }, optional: true, nullable: false + + field :allow_any_organization, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :subject_type, -> { Auth0::Types::ClientGrantSubjectTypeEnum }, optional: true, nullable: false + + field :default_for, -> { Auth0::Types::ClientGrantDefaultForEnum }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/client_grants/types/update_client_grant_request_content.rb b/lib/auth0/client_grants/types/update_client_grant_request_content.rb new file mode 100644 index 000000000..88de10fab --- /dev/null +++ b/lib/auth0/client_grants/types/update_client_grant_request_content.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module ClientGrants + module Types + class UpdateClientGrantRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :scope, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :organization_usage, -> { Auth0::Types::ClientGrantOrganizationNullableUsageEnum }, optional: true, nullable: false + + field :allow_any_organization, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :authorization_details_types, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :allow_all_scopes, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/clients/client.rb b/lib/auth0/clients/client.rb new file mode 100644 index 000000000..96c8b4bd7 --- /dev/null +++ b/lib/auth0/clients/client.rb @@ -0,0 +1,441 @@ +# frozen_string_literal: true + +module Auth0 + module Clients + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve clients (applications and SSO integrations) matching provided filters. A list of fields to include or + # exclude may also be specified. + # For more information, read [Applications in Auth0](https://www.auth0.com/docs/get-started/applications) and + # [Single Sign-On](https://www.auth0.com/docs/authenticate/single-sign-on). + # + # - The following can be retrieved with any scope: + # `client_id`, `app_type`, `name`, and `description`. + # - The following properties can only be retrieved with the `read:clients` or + # `read:client_keys` scope: + # `callbacks`, `oidc_logout`, `allowed_origins`, + # `web_origins`, `tenant`, `global`, `config_route`, + # `callback_url_template`, `jwt_configuration`, + # `jwt_configuration.lifetime_in_seconds`, `jwt_configuration.secret_encoded`, + # `jwt_configuration.scopes`, `jwt_configuration.alg`, `api_type`, + # `logo_uri`, `allowed_clients`, `owners`, `custom_login_page`, + # `custom_login_page_off`, `sso`, `addons`, `form_template`, + # `custom_login_page_codeview`, `resource_servers`, `client_metadata`, + # `mobile`, `mobile.android`, `mobile.ios`, `allowed_logout_urls`, + # `token_endpoint_auth_method`, `is_first_party`, `oidc_conformant`, + # `is_token_endpoint_ip_header_trusted`, `initiate_login_uri`, `grant_types`, + # `refresh_token`, `refresh_token.rotation_type`, `refresh_token.expiration_type`, + # `refresh_token.leeway`, `refresh_token.token_lifetime`, `refresh_token.policies`, `organization_usage`, + # `organization_require_behavior`. + # - The following properties can only be retrieved with the + # `read:client_keys` or `read:client_credentials` scope: + # `encryption_key`, `encryption_key.pub`, `encryption_key.cert`, + # `client_secret`, `client_authentication_methods` and `signing_key`. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String, nil] :fields + # @option params [Boolean, nil] :include_fields + # @option params [Integer, nil] :page + # @option params [Integer, nil] :per_page + # @option params [Boolean, nil] :include_totals + # @option params [Boolean, nil] :is_global + # @option params [Boolean, nil] :is_first_party + # @option params [String, nil] :app_type + # @option params [String, nil] :external_client_id + # @option params [String, nil] :q + # + # @return [Auth0::Types::ListClientsOffsetPaginatedResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["fields"] = params[:fields] if params.key?(:fields) + query_params["include_fields"] = params[:include_fields] if params.key?(:include_fields) + query_params["page"] = params.fetch(:page, 0) + query_params["per_page"] = params.fetch(:per_page, 50) + query_params["include_totals"] = params.fetch(:include_totals, true) + query_params["is_global"] = params[:is_global] if params.key?(:is_global) + query_params["is_first_party"] = params[:is_first_party] if params.key?(:is_first_party) + query_params["app_type"] = params[:app_type] if params.key?(:app_type) + query_params["external_client_id"] = params[:external_client_id] if params.key?(:external_client_id) + query_params["q"] = params[:q] if params.key?(:q) + + Auth0::Internal::OffsetItemIterator.new( + initial_page: query_params["page"], + item_field: :clients, + has_next_field: nil, + step: false + ) do |next_page| + query_params["page"] = next_page + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "clients", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListClientsOffsetPaginatedResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # Create a new client (application or SSO integration). For more information, read [Create + # Applications](https://www.auth0.com/docs/get-started/auth0-overview/create-applications) + # [API Endpoints for Single + # Sign-On](https://www.auth0.com/docs/authenticate/single-sign-on/api-endpoints-for-single-sign-on). + # + # Notes: + # - We recommend leaving the `client_secret` parameter unspecified to allow the generation of a safe secret. + # - The `client_authentication_methods` and `token_endpoint_auth_method` properties are mutually exclusive. Use + # `client_authentication_methods` to configure the client with Private Key JWT authentication method. Otherwise, + # use `token_endpoint_auth_method` + # to configure the client with client secret (basic or post) or with no authentication method (none). + # - When using `client_authentication_methods` to configure the client with Private Key JWT authentication method, + # specify fully defined credentials. + # These credentials will be automatically enabled for Private Key JWT authentication on the client. + # - To configure `client_authentication_methods`, the `create:client_credentials` scope is required. + # - To configure `client_authentication_methods`, the property `jwt_configuration.alg` must be set to RS256. + # + # SSO Integrations created via this endpoint will accept login requests and share user profile information. + # + # @param request_options [Hash] + # @param params [Auth0::Clients::Types::CreateClientRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::CreateClientResponseContent] + def create(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "clients", + body: Auth0::Clients::Types::CreateClientRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::CreateClientResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # + # Fetches and validates a Client ID Metadata Document without creating a client. + # Returns the raw metadata and how it would be mapped to Auth0 client fields. + # This endpoint is useful for testing metadata URIs before creating CIMD clients. + # + # + # @param request_options [Hash] + # @param params [Auth0::Clients::Types::PreviewCimdMetadataRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::PreviewCimdMetadataResponseContent] + def preview_cimd_metadata(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "clients/cimd/preview", + body: Auth0::Clients::Types::PreviewCimdMetadataRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::PreviewCimdMetadataResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Idempotent registration for Client ID Metadata Document (CIMD) clients. + # Uses external_client_id as the unique identifier for upsert operations. + # + # **Create:** Returns 201 when a new client is created (requires `create:clients` scope). + # **Update:** Returns 200 when an existing client is updated (requires `update:clients` scope). + # + # This endpoint automatically: + # - Fetches and validates the metadata document + # - Maps CIMD fields to Auth0 client configuration + # - Creates/rotates credentials from the JWKS + # - Enforces CIMD security policies (HTTPS-only, no shared secrets) + # + # @param request_options [Hash] + # @param params [Auth0::Clients::Types::RegisterCimdClientRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::RegisterCimdClientResponseContent] + def register_cimd_client(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "clients/cimd/register", + body: Auth0::Clients::Types::RegisterCimdClientRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::RegisterCimdClientResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Retrieve client details by ID. Clients are SSO connections or Applications linked with your Auth0 tenant. A list + # of fields to include or exclude may also be specified. + # For more information, read [Applications in Auth0](https://www.auth0.com/docs/get-started/applications) and + # [Single Sign-On](https://www.auth0.com/docs/authenticate/single-sign-on). + # + # - The following properties can be retrieved with any of the scopes: + # `client_id`, `app_type`, `name`, and `description`. + # - The following properties can only be retrieved with the `read:clients` or + # `read:client_keys` scopes: + # `callbacks`, `oidc_logout`, `allowed_origins`, + # `web_origins`, `tenant`, `global`, `config_route`, + # `callback_url_template`, `jwt_configuration`, + # `jwt_configuration.lifetime_in_seconds`, `jwt_configuration.secret_encoded`, + # `jwt_configuration.scopes`, `jwt_configuration.alg`, `api_type`, + # `logo_uri`, `allowed_clients`, `owners`, `custom_login_page`, + # `custom_login_page_off`, `sso`, `addons`, `form_template`, + # `custom_login_page_codeview`, `resource_servers`, `client_metadata`, + # `mobile`, `mobile.android`, `mobile.ios`, `allowed_logout_urls`, + # `token_endpoint_auth_method`, `is_first_party`, `oidc_conformant`, + # `is_token_endpoint_ip_header_trusted`, `initiate_login_uri`, `grant_types`, + # `refresh_token`, `refresh_token.rotation_type`, `refresh_token.expiration_type`, + # `refresh_token.leeway`, `refresh_token.token_lifetime`, `refresh_token.policies`, `organization_usage`, + # `organization_require_behavior`. + # - The following properties can only be retrieved with the `read:client_keys` or `read:client_credentials` + # scopes: + # `encryption_key`, `encryption_key.pub`, `encryption_key.cert`, + # `client_secret`, `client_authentication_methods` and `signing_key`. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [String, nil] :fields + # @option params [Boolean, nil] :include_fields + # + # @return [Auth0::Types::GetClientResponseContent] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["fields"] = params[:fields] if params.key?(:fields) + query_params["include_fields"] = params[:include_fields] if params.key?(:include_fields) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "clients/#{URI.encode_uri_component(params[:id].to_s)}", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetClientResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Delete a client and related configuration (rules, connections, etc). + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "clients/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Updates a client's settings. For more information, read [Applications in + # Auth0](https://www.auth0.com/docs/get-started/applications) and [Single + # Sign-On](https://www.auth0.com/docs/authenticate/single-sign-on). + # + # Notes: + # - The `client_secret` and `signing_key` attributes can only be updated with the `update:client_keys` scope. + # - The `client_authentication_methods` and `token_endpoint_auth_method` properties are mutually exclusive. Use + # `client_authentication_methods` to configure the client with Private Key JWT authentication method. Otherwise, + # use `token_endpoint_auth_method` to configure the client with client secret (basic or post) or with no + # authentication method (none). + # - When using `client_authentication_methods` to configure the client with Private Key JWT authentication method, + # only specify the credential IDs that were generated when creating the credentials on the client. + # - To configure `client_authentication_methods`, the `update:client_credentials` scope is required. + # - To configure `client_authentication_methods`, the property `jwt_configuration.alg` must be set to RS256. + # - To change a client's `is_first_party` property to `false`, the `organization_usage` and + # `organization_require_behavior` properties must be unset. + # + # @param request_options [Hash] + # @param params [Auth0::Clients::Types::UpdateClientRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::UpdateClientResponseContent] + def update(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Clients::Types::UpdateClientRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "clients/#{URI.encode_uri_component(params[:id].to_s)}", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::UpdateClientResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Rotate a client secret. + # + # This endpoint cannot be used with clients configured with Private Key JWT authentication method + # (client_authentication_methods configured with private_key_jwt). The generated secret is NOT base64 encoded. + # + # For more information, read [Rotate Client + # Secrets](https://www.auth0.com/docs/get-started/applications/rotate-client-secret). + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::RotateClientSecretResponseContent] + def rotate_secret(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "clients/#{URI.encode_uri_component(params[:id].to_s)}/rotate-secret", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::RotateClientSecretResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # @return [Auth0::Credentials::Client] + def credentials + @credentials ||= Auth0::Clients::Credentials::Client.new(client: @client) + end + + # @return [Auth0::Connections::Client] + def connections + @connections ||= Auth0::Clients::Connections::Client.new(client: @client) + end + end + end +end diff --git a/lib/auth0/clients/connections/client.rb b/lib/auth0/clients/connections/client.rb new file mode 100644 index 000000000..6d28d7052 --- /dev/null +++ b/lib/auth0/clients/connections/client.rb @@ -0,0 +1,78 @@ +# frozen_string_literal: true + +module Auth0 + module Clients + module Connections + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve all connections that are enabled for the specified + # [Application](https://www.auth0.com/docs/get-started/applications), using checkpoint pagination. A list of + # fields to include or exclude for each connection may also be specified. + # + # - This endpoint requires the `read:connections` scope and any one of `read:clients` or `read:client_summary`. + # - **Note**: The first time you call this endpoint, omit the `from` parameter. If there are more results, a + # `next` value is included in the response. You can use this for subsequent API calls. When `next` is no longer + # included in the response, no further results are remaining. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [Auth0::Types::ConnectionStrategyEnum, nil] :strategy + # @option params [String, nil] :from + # @option params [Integer, nil] :take + # @option params [String, nil] :fields + # @option params [Boolean, nil] :include_fields + # + # @return [Auth0::Types::ListClientConnectionsResponseContent] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["strategy"] = params[:strategy] if params.key?(:strategy) + query_params["from"] = params[:from] if params.key?(:from) + query_params["take"] = params.fetch(:take, 50) + query_params["fields"] = params[:fields] if params.key?(:fields) + query_params["include_fields"] = params[:include_fields] if params.key?(:include_fields) + + Auth0::Internal::CursorItemIterator.new( + cursor_field: :next_, + item_field: :connections, + initial_cursor: query_params["from"] + ) do |next_cursor| + query_params["from"] = next_cursor + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "clients/#{URI.encode_uri_component(params[:id].to_s)}/connections", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListClientConnectionsResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end + end + end +end diff --git a/lib/auth0/clients/connections/types/connections_get_request.rb b/lib/auth0/clients/connections/types/connections_get_request.rb new file mode 100644 index 000000000..985e95475 --- /dev/null +++ b/lib/auth0/clients/connections/types/connections_get_request.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Clients + module Connections + module Types + class ConnectionsGetRequest < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :strategy, -> { Auth0::Types::ConnectionStrategyEnum }, optional: true, nullable: false + + field :from, -> { String }, optional: true, nullable: false + + field :take, -> { Integer }, optional: true, nullable: false + + field :fields, -> { String }, optional: true, nullable: false + + field :include_fields, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/clients/credentials/client.rb b/lib/auth0/clients/credentials/client.rb new file mode 100644 index 000000000..daec097e5 --- /dev/null +++ b/lib/auth0/clients/credentials/client.rb @@ -0,0 +1,272 @@ +# frozen_string_literal: true + +module Auth0 + module Clients + module Credentials + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Get the details of a client credential. + # + # **Important**: To enable credentials to be used for a client authentication method, set the + # `client_authentication_methods` property on the client. To enable credentials to be used for JWT-Secured + # Authorization requests set the `signed_request_object` property on the client. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :client_id + # + # @return [Array[Auth0::Types::ClientCredential]] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "clients/#{URI.encode_uri_component(params[:client_id].to_s)}/credentials", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Create a client credential associated to your application. Credentials can be used to configure Private Key + # JWT and mTLS authentication methods, as well as for JWT-secured Authorization requests. + # + # **Public Key** + # + # Public Key credentials can be used to set up Private Key JWT client authentication and JWT-secured + # Authorization requests. + # + # Sample: + # + # ```json + # { + # "credential_type": "public_key", + # "name": "string", + # "pem": "string", + # "alg": "RS256", + # "parse_expiry_from_cert": false, + # "expires_at": "2022-12-31T23:59:59Z" + # } + # ``` + # + # **Certificate (CA-signed & self-signed)** + # + # Certificate credentials can be used to set up mTLS client authentication. CA-signed certificates can be + # configured either with a signed certificate or with just the certificate Subject DN. + # + # CA-signed Certificate Sample (pem): + # + # ```json + # { + # "credential_type": "x509_cert", + # "name": "string", + # "pem": "string" + # } + # ``` + # + # CA-signed Certificate Sample (subject_dn): + # + # ```json + # { + # "credential_type": "cert_subject_dn", + # "name": "string", + # "subject_dn": "string" + # } + # ``` + # + # Self-signed Certificate Sample: + # + # ```json + # { + # "credential_type": "cert_subject_dn", + # "name": "string", + # "pem": "string" + # } + # ``` + # + # The credential will be created but not yet enabled for use until you set the corresponding properties in the + # client: + # + # - To enable the credential for Private Key JWT or mTLS authentication methods, set the + # `client_authentication_methods` property on the client. For more information, read [Configure Private Key JWT + # Authentication](https://auth0.com/docs/get-started/applications/configure-private-key-jwt) and [Configure mTLS + # Authentication](https://auth0.com/docs/get-started/applications/configure-mtls) + # - To enable the credential for JWT-secured Authorization requests, set the `signed_request_object`property on + # the client. For more information, read [Configure JWT-secured Authorization Requests + # (JAR)](https://auth0.com/docs/get-started/applications/configure-jar) + # + # @param request_options [Hash] + # @param params [Auth0::Clients::Credentials::Types::PostClientCredentialRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :client_id + # + # @return [Auth0::Types::PostClientCredentialResponseContent] + def create(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Clients::Credentials::Types::PostClientCredentialRequestContent.new(params).to_h + non_body_param_names = %w[client_id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "clients/#{URI.encode_uri_component(params[:client_id].to_s)}/credentials", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::PostClientCredentialResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Get the details of a client credential. + # + # **Important**: To enable credentials to be used for a client authentication method, set the + # `client_authentication_methods` property on the client. To enable credentials to be used for JWT-Secured + # Authorization requests set the `signed_request_object` property on the client. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :client_id + # @option params [String] :credential_id + # + # @return [Auth0::Types::GetClientCredentialResponseContent] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "clients/#{URI.encode_uri_component(params[:client_id].to_s)}/credentials/#{URI.encode_uri_component(params[:credential_id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetClientCredentialResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Delete a client credential you previously created. May be enabled or disabled. For more information, read Client + # Credential Flow. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :client_id + # @option params [String] :credential_id + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "clients/#{URI.encode_uri_component(params[:client_id].to_s)}/credentials/#{URI.encode_uri_component(params[:credential_id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Change a client credential you previously created. May be enabled or disabled. For more information, read Client + # Credential Flow. + # + # @param request_options [Hash] + # @param params [Auth0::Clients::Credentials::Types::PatchClientCredentialRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :client_id + # @option params [String] :credential_id + # + # @return [Auth0::Types::PatchClientCredentialResponseContent] + def update(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Clients::Credentials::Types::PatchClientCredentialRequestContent.new(params).to_h + non_body_param_names = %w[client_id credential_id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "clients/#{URI.encode_uri_component(params[:client_id].to_s)}/credentials/#{URI.encode_uri_component(params[:credential_id].to_s)}", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::PatchClientCredentialResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end + end +end diff --git a/lib/auth0/clients/credentials/types/patch_client_credential_request_content.rb b/lib/auth0/clients/credentials/types/patch_client_credential_request_content.rb new file mode 100644 index 000000000..8a882cd21 --- /dev/null +++ b/lib/auth0/clients/credentials/types/patch_client_credential_request_content.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Clients + module Credentials + module Types + class PatchClientCredentialRequestContent < Internal::Types::Model + field :client_id, -> { String }, optional: false, nullable: false + + field :credential_id, -> { String }, optional: false, nullable: false + + field :expires_at, -> { String }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/clients/credentials/types/post_client_credential_request_content.rb b/lib/auth0/clients/credentials/types/post_client_credential_request_content.rb new file mode 100644 index 000000000..1dc95ad2a --- /dev/null +++ b/lib/auth0/clients/credentials/types/post_client_credential_request_content.rb @@ -0,0 +1,29 @@ +# frozen_string_literal: true + +module Auth0 + module Clients + module Credentials + module Types + class PostClientCredentialRequestContent < Internal::Types::Model + field :client_id, -> { String }, optional: false, nullable: false + + field :credential_type, -> { Auth0::Types::ClientCredentialTypeEnum }, optional: false, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :subject_dn, -> { String }, optional: true, nullable: false + + field :pem, -> { String }, optional: true, nullable: false + + field :alg, -> { Auth0::Types::PublicKeyCredentialAlgorithmEnum }, optional: true, nullable: false + + field :parse_expiry_from_cert, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :expires_at, -> { String }, optional: true, nullable: false + + field :kid, -> { String }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/clients/types/create_client_request_content.rb b/lib/auth0/clients/types/create_client_request_content.rb new file mode 100644 index 000000000..168b03b60 --- /dev/null +++ b/lib/auth0/clients/types/create_client_request_content.rb @@ -0,0 +1,121 @@ +# frozen_string_literal: true + +module Auth0 + module Clients + module Types + class CreateClientRequestContent < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :description, -> { String }, optional: true, nullable: false + + field :logo_uri, -> { String }, optional: true, nullable: false + + field :callbacks, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :oidc_logout, -> { Auth0::Types::ClientOidcBackchannelLogoutSettings }, optional: true, nullable: false + + field :oidc_backchannel_logout, -> { Auth0::Types::ClientOidcBackchannelLogoutSettings }, optional: true, nullable: false + + field :session_transfer, -> { Auth0::Types::ClientSessionTransferConfiguration }, optional: true, nullable: false + + field :allowed_origins, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :web_origins, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :client_aliases, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :allowed_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :allowed_logout_urls, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :grant_types, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :token_endpoint_auth_method, -> { Auth0::Types::ClientTokenEndpointAuthMethodEnum }, optional: true, nullable: false + + field :is_token_endpoint_ip_header_trusted, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :app_type, -> { Auth0::Types::ClientAppTypeEnum }, optional: true, nullable: false + + field :is_first_party, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :oidc_conformant, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :jwt_configuration, -> { Auth0::Types::ClientJwtConfiguration }, optional: true, nullable: false + + field :encryption_key, -> { Auth0::Types::ClientEncryptionKey }, optional: true, nullable: false + + field :sso, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :cross_origin_authentication, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :cross_origin_loc, -> { String }, optional: true, nullable: false + + field :sso_disabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :custom_login_page_on, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :custom_login_page, -> { String }, optional: true, nullable: false + + field :custom_login_page_preview, -> { String }, optional: true, nullable: false + + field :form_template, -> { String }, optional: true, nullable: false + + field :addons, -> { Auth0::Types::ClientAddons }, optional: true, nullable: false + + field :client_metadata, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :mobile, -> { Auth0::Types::ClientMobile }, optional: true, nullable: false + + field :initiate_login_uri, -> { String }, optional: true, nullable: false + + field :native_social_login, -> { Auth0::Types::NativeSocialLogin }, optional: true, nullable: false + + field :fedcm_login, -> { Auth0::Types::FedCmLogin }, optional: true, nullable: false + + field :refresh_token, -> { Auth0::Types::ClientRefreshTokenConfiguration }, optional: true, nullable: false + + field :default_organization, -> { Auth0::Types::ClientDefaultOrganization }, optional: true, nullable: false + + field :organization_usage, -> { Auth0::Types::ClientOrganizationUsageEnum }, optional: true, nullable: false + + field :organization_require_behavior, -> { Auth0::Types::ClientOrganizationRequireBehaviorEnum }, optional: true, nullable: false + + field :organization_discovery_methods, -> { Internal::Types::Array[Auth0::Types::ClientOrganizationDiscoveryEnum] }, optional: true, nullable: false + + field :client_authentication_methods, -> { Auth0::Types::ClientCreateAuthenticationMethod }, optional: true, nullable: false + + field :require_pushed_authorization_requests, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :require_proof_of_possession, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :signed_request_object, -> { Auth0::Types::ClientSignedRequestObjectWithPublicKey }, optional: true, nullable: false + + field :token_vault_privileged_access, -> { Auth0::Types::ClientTokenVaultPrivilegedAccessWithPublicKey }, optional: true, nullable: false + + field :compliance_level, -> { Auth0::Types::ClientComplianceLevelEnum }, optional: true, nullable: false + + field :skip_non_verifiable_callback_uri_confirmation_prompt, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :token_exchange, -> { Auth0::Types::ClientTokenExchangeConfiguration }, optional: true, nullable: false + + field :par_request_expiry, -> { Integer }, optional: true, nullable: false + + field :token_quota, -> { Auth0::Types::CreateTokenQuota }, optional: true, nullable: false + + field :resource_server_identifier, -> { String }, optional: true, nullable: false + + field :identity_assertion_authorization_grant, -> { Auth0::Types::CreateIdentityAssertionAuthorizationGrant }, optional: true, nullable: false + + field :third_party_security_mode, -> { Auth0::Types::ClientThirdPartySecurityModeEnum }, optional: true, nullable: false + + field :redirection_policy, -> { Auth0::Types::ClientRedirectionPolicyEnum }, optional: true, nullable: false + + field :express_configuration, -> { Auth0::Types::ExpressConfiguration }, optional: true, nullable: false + + field :my_organization_configuration, -> { Auth0::Types::ClientMyOrganizationPostConfiguration }, optional: true, nullable: false + + field :async_approval_notification_channels, -> { Internal::Types::Array[Auth0::Types::AsyncApprovalNotificationsChannelsEnum] }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/clients/types/get_client_request_parameters.rb b/lib/auth0/clients/types/get_client_request_parameters.rb new file mode 100644 index 000000000..3008e7c3c --- /dev/null +++ b/lib/auth0/clients/types/get_client_request_parameters.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Clients + module Types + class GetClientRequestParameters < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :fields, -> { String }, optional: true, nullable: false + + field :include_fields, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/clients/types/list_clients_request_parameters.rb b/lib/auth0/clients/types/list_clients_request_parameters.rb new file mode 100644 index 000000000..6e687267f --- /dev/null +++ b/lib/auth0/clients/types/list_clients_request_parameters.rb @@ -0,0 +1,29 @@ +# frozen_string_literal: true + +module Auth0 + module Clients + module Types + class ListClientsRequestParameters < Internal::Types::Model + field :fields, -> { String }, optional: true, nullable: false + + field :include_fields, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :page, -> { Integer }, optional: true, nullable: false + + field :per_page, -> { Integer }, optional: true, nullable: false + + field :include_totals, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :is_global, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :is_first_party, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :app_type, -> { String }, optional: true, nullable: false + + field :external_client_id, -> { String }, optional: true, nullable: false + + field :q, -> { String }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/clients/types/preview_cimd_metadata_request_content.rb b/lib/auth0/clients/types/preview_cimd_metadata_request_content.rb new file mode 100644 index 000000000..12c452a7c --- /dev/null +++ b/lib/auth0/clients/types/preview_cimd_metadata_request_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Clients + module Types + class PreviewCimdMetadataRequestContent < Internal::Types::Model + field :external_client_id, -> { String }, optional: false, nullable: false + end + end + end +end diff --git a/lib/auth0/clients/types/register_cimd_client_request_content.rb b/lib/auth0/clients/types/register_cimd_client_request_content.rb new file mode 100644 index 000000000..a7a9cc975 --- /dev/null +++ b/lib/auth0/clients/types/register_cimd_client_request_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Clients + module Types + class RegisterCimdClientRequestContent < Internal::Types::Model + field :external_client_id, -> { String }, optional: false, nullable: false + end + end + end +end diff --git a/lib/auth0/clients/types/update_client_request_content.rb b/lib/auth0/clients/types/update_client_request_content.rb new file mode 100644 index 000000000..6ad65c07b --- /dev/null +++ b/lib/auth0/clients/types/update_client_request_content.rb @@ -0,0 +1,123 @@ +# frozen_string_literal: true + +module Auth0 + module Clients + module Types + class UpdateClientRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :description, -> { String }, optional: true, nullable: false + + field :client_secret, -> { String }, optional: true, nullable: false + + field :logo_uri, -> { String }, optional: true, nullable: false + + field :callbacks, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :oidc_logout, -> { Auth0::Types::ClientOidcBackchannelLogoutSettings }, optional: true, nullable: false + + field :oidc_backchannel_logout, -> { Auth0::Types::ClientOidcBackchannelLogoutSettings }, optional: true, nullable: false + + field :session_transfer, -> { Auth0::Types::ClientSessionTransferConfiguration }, optional: true, nullable: false + + field :allowed_origins, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :web_origins, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :grant_types, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :client_aliases, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :allowed_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :allowed_logout_urls, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :jwt_configuration, -> { Auth0::Types::ClientJwtConfiguration }, optional: true, nullable: false + + field :encryption_key, -> { Auth0::Types::ClientEncryptionKey }, optional: true, nullable: false + + field :sso, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :cross_origin_authentication, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :cross_origin_loc, -> { String }, optional: true, nullable: false + + field :sso_disabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :custom_login_page_on, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :token_endpoint_auth_method, -> { Auth0::Types::ClientTokenEndpointAuthMethodOrNullEnum }, optional: true, nullable: false + + field :is_token_endpoint_ip_header_trusted, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :app_type, -> { Auth0::Types::ClientAppTypeEnum }, optional: true, nullable: false + + field :is_first_party, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :oidc_conformant, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :custom_login_page, -> { String }, optional: true, nullable: false + + field :custom_login_page_preview, -> { String }, optional: true, nullable: false + + field :token_quota, -> { Auth0::Types::UpdateTokenQuota }, optional: true, nullable: false + + field :identity_assertion_authorization_grant, -> { Auth0::Types::UpdateIdentityAssertionAuthorizationGrant }, optional: true, nullable: false + + field :form_template, -> { String }, optional: true, nullable: false + + field :addons, -> { Auth0::Types::ClientAddons }, optional: true, nullable: false + + field :client_metadata, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :mobile, -> { Auth0::Types::ClientMobile }, optional: true, nullable: false + + field :initiate_login_uri, -> { String }, optional: true, nullable: false + + field :native_social_login, -> { Auth0::Types::NativeSocialLoginPatch }, optional: true, nullable: false + + field :fedcm_login, -> { Auth0::Types::FedCmLoginPatch }, optional: true, nullable: false + + field :refresh_token, -> { Auth0::Types::ClientRefreshTokenConfiguration }, optional: true, nullable: false + + field :default_organization, -> { Auth0::Types::ClientDefaultOrganization }, optional: true, nullable: false + + field :organization_usage, -> { Auth0::Types::ClientOrganizationUsagePatchEnum }, optional: true, nullable: false + + field :organization_require_behavior, -> { Auth0::Types::ClientOrganizationRequireBehaviorPatchEnum }, optional: true, nullable: false + + field :organization_discovery_methods, -> { Internal::Types::Array[Auth0::Types::ClientOrganizationDiscoveryEnum] }, optional: true, nullable: false + + field :client_authentication_methods, -> { Auth0::Types::ClientAuthenticationMethod }, optional: true, nullable: false + + field :require_pushed_authorization_requests, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :require_proof_of_possession, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :signed_request_object, -> { Auth0::Types::ClientSignedRequestObjectWithCredentialID }, optional: true, nullable: false + + field :token_vault_privileged_access, -> { Auth0::Types::ClientTokenVaultPrivilegedAccessWithCredentialID }, optional: true, nullable: false + + field :compliance_level, -> { Auth0::Types::ClientComplianceLevelEnum }, optional: true, nullable: false + + field :skip_non_verifiable_callback_uri_confirmation_prompt, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :token_exchange, -> { Auth0::Types::ClientTokenExchangeConfigurationOrNull }, optional: true, nullable: false + + field :par_request_expiry, -> { Integer }, optional: true, nullable: false + + field :express_configuration, -> { Auth0::Types::ExpressConfigurationOrNull }, optional: true, nullable: false + + field :my_organization_configuration, -> { Auth0::Types::ClientMyOrganizationPatchConfiguration }, optional: true, nullable: false + + field :async_approval_notification_channels, -> { Internal::Types::Array[Auth0::Types::AsyncApprovalNotificationsChannelsEnum] }, optional: true, nullable: false + + field :third_party_security_mode, -> { Auth0::Types::ClientThirdPartySecurityModeEnum }, optional: true, nullable: false + + field :redirection_policy, -> { Auth0::Types::ClientRedirectionPolicyEnum }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/connection_profiles/client.rb b/lib/auth0/connection_profiles/client.rb new file mode 100644 index 000000000..c0c9d457d --- /dev/null +++ b/lib/auth0/connection_profiles/client.rb @@ -0,0 +1,267 @@ +# frozen_string_literal: true + +module Auth0 + module ConnectionProfiles + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve a list of Connection Profiles. This endpoint supports Checkpoint pagination. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String, nil] :from + # @option params [Integer, nil] :take + # + # @return [Auth0::Types::ListConnectionProfilesPaginatedResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["from"] = params[:from] if params.key?(:from) + query_params["take"] = params.fetch(:take, 50) + + Auth0::Internal::CursorItemIterator.new( + cursor_field: :next_, + item_field: :connection_profiles, + initial_cursor: query_params["from"] + ) do |next_cursor| + query_params["from"] = next_cursor + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "connection-profiles", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListConnectionProfilesPaginatedResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # Create a Connection Profile. + # + # @param request_options [Hash] + # @param params [Auth0::ConnectionProfiles::Types::CreateConnectionProfileRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::CreateConnectionProfileResponseContent] + def create(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "connection-profiles", + body: Auth0::ConnectionProfiles::Types::CreateConnectionProfileRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::CreateConnectionProfileResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Retrieve a list of Connection Profile Templates. + # + # @param request_options [Hash] + # @param _params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::ListConnectionProfileTemplateResponseContent] + def list_templates(request_options: {}, **_params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "connection-profiles/templates", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::ListConnectionProfileTemplateResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Retrieve a Connection Profile Template. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::GetConnectionProfileTemplateResponseContent] + def get_template(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "connection-profiles/templates/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetConnectionProfileTemplateResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Retrieve details about a single Connection Profile specified by ID. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::GetConnectionProfileResponseContent] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "connection-profiles/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetConnectionProfileResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Delete a single Connection Profile specified by ID. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "connection-profiles/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Update the details of a specific Connection Profile. + # + # @param request_options [Hash] + # @param params [Auth0::ConnectionProfiles::Types::UpdateConnectionProfileRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::UpdateConnectionProfileResponseContent] + def update(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::ConnectionProfiles::Types::UpdateConnectionProfileRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "connection-profiles/#{URI.encode_uri_component(params[:id].to_s)}", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::UpdateConnectionProfileResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end +end diff --git a/lib/auth0/connection_profiles/types/create_connection_profile_request_content.rb b/lib/auth0/connection_profiles/types/create_connection_profile_request_content.rb new file mode 100644 index 000000000..f4cfed797 --- /dev/null +++ b/lib/auth0/connection_profiles/types/create_connection_profile_request_content.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module ConnectionProfiles + module Types + class CreateConnectionProfileRequestContent < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :organization, -> { Auth0::Types::ConnectionProfileOrganization }, optional: true, nullable: false + + field :connection_name_prefix_template, -> { String }, optional: true, nullable: false + + field :enabled_features, -> { Internal::Types::Array[Auth0::Types::EnabledFeaturesEnum] }, optional: true, nullable: false + + field :connection_config, -> { Auth0::Types::ConnectionProfileConfig }, optional: true, nullable: false + + field :strategy_overrides, -> { Auth0::Types::ConnectionProfileStrategyOverrides }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/connection_profiles/types/list_connection_profile_request_parameters.rb b/lib/auth0/connection_profiles/types/list_connection_profile_request_parameters.rb new file mode 100644 index 000000000..19ed6564e --- /dev/null +++ b/lib/auth0/connection_profiles/types/list_connection_profile_request_parameters.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module ConnectionProfiles + module Types + class ListConnectionProfileRequestParameters < Internal::Types::Model + field :from, -> { String }, optional: true, nullable: false + + field :take, -> { Integer }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/connection_profiles/types/update_connection_profile_request_content.rb b/lib/auth0/connection_profiles/types/update_connection_profile_request_content.rb new file mode 100644 index 000000000..a8a39fe68 --- /dev/null +++ b/lib/auth0/connection_profiles/types/update_connection_profile_request_content.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module ConnectionProfiles + module Types + class UpdateConnectionProfileRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :organization, -> { Auth0::Types::ConnectionProfileOrganization }, optional: true, nullable: false + + field :connection_name_prefix_template, -> { String }, optional: true, nullable: false + + field :enabled_features, -> { Internal::Types::Array[Auth0::Types::EnabledFeaturesEnum] }, optional: true, nullable: false + + field :connection_config, -> { Auth0::Types::ConnectionProfileConfig }, optional: true, nullable: false + + field :strategy_overrides, -> { Auth0::Types::ConnectionProfileStrategyOverrides }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/connections/client.rb b/lib/auth0/connections/client.rb new file mode 100644 index 000000000..bb669ddc9 --- /dev/null +++ b/lib/auth0/connections/client.rb @@ -0,0 +1,311 @@ +# frozen_string_literal: true + +module Auth0 + module Connections + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieves detailed list of all [connections](https://auth0.com/docs/authenticate/identity-providers) that match + # the specified strategy. If no strategy is provided, all connections within your tenant are retrieved. This + # action can accept a list of fields to include or exclude from the resulting list of connections. + # + # This endpoint supports two types of pagination: + # + # - Offset pagination + # - Checkpoint pagination + # + # Checkpoint pagination must be used if you need to retrieve more than 1000 connections. + # + # **Checkpoint Pagination** + # + # To search by checkpoint, use the following parameters: + # + # - `from`: Optional id from which to start selection. + # - `take`: The total amount of entries to retrieve when using the from parameter. Defaults to 50. + # + # **Note**: The first time you call this endpoint using checkpoint pagination, omit the `from` parameter. If there + # are more results, a `next` value is included in the response. You can use this for subsequent API calls. When + # `next` is no longer included in the response, no pages are remaining. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [Boolean, nil] :include_totals + # @option params [String, nil] :from + # @option params [Integer, nil] :take + # @option params [Auth0::Types::ConnectionStrategyEnum, nil] :strategy + # @option params [String, nil] :name + # @option params [String, nil] :fields + # @option params [Boolean, nil] :include_fields + # + # @return [Auth0::Types::ListConnectionsCheckpointPaginatedResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["include_totals"] = params.fetch(:include_totals, true) + query_params["from"] = params[:from] if params.key?(:from) + query_params["take"] = params.fetch(:take, 50) + query_params["strategy"] = params[:strategy] if params.key?(:strategy) + query_params["name"] = params[:name] if params.key?(:name) + query_params["fields"] = params[:fields] if params.key?(:fields) + query_params["include_fields"] = params[:include_fields] if params.key?(:include_fields) + + Auth0::Internal::CursorItemIterator.new( + cursor_field: :next_, + item_field: :connections, + initial_cursor: query_params["from"] + ) do |next_cursor| + query_params["from"] = next_cursor + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "connections", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListConnectionsCheckpointPaginatedResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # Creates a new connection according to the JSON object received in `body`. + # + # **Note:** If a connection with the same name was recently deleted and had a large number of associated users, + # the deletion may still be processing. Creating a new connection with that name before the deletion completes may + # fail or produce unexpected results. + # + # @param request_options [Hash] + # @param params [Auth0::Connections::Types::CreateConnectionRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::CreateConnectionResponseContent] + def create(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "connections", + body: Auth0::Connections::Types::CreateConnectionRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::CreateConnectionResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Retrieve details for a specified [connection](https://auth0.com/docs/authenticate/identity-providers) along with + # options that can be used for identity provider configuration. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [String, nil] :fields + # @option params [Boolean, nil] :include_fields + # + # @return [Auth0::Types::GetConnectionResponseContent] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["fields"] = params[:fields] if params.key?(:fields) + query_params["include_fields"] = params[:include_fields] if params.key?(:include_fields) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "connections/#{URI.encode_uri_component(params[:id].to_s)}", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetConnectionResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Removes a specific [connection](https://auth0.com/docs/authenticate/identity-providers) from your tenant. This + # action cannot be undone. Once removed, users can no longer use this connection to authenticate. + # + # **Note:** If your connection has a large amount of users associated with it, please be aware that this operation + # can be long running after the response is returned and may impact concurrent [create + # connection](https://auth0.com/docs/api/management/v2/connections/post-connections) requests, if they use an + # identical connection name. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "connections/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Update details for a specific [connection](https://auth0.com/docs/authenticate/identity-providers), including + # option properties for identity provider configuration. + # + # **Note**: If you use the `options` parameter, the entire `options` object is overridden. To avoid partial data + # or other issues, ensure all parameters are present when using this option. + # + # @param request_options [Hash] + # @param params [Auth0::Connections::Types::UpdateConnectionRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::UpdateConnectionResponseContent] + def update(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Connections::Types::UpdateConnectionRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "connections/#{URI.encode_uri_component(params[:id].to_s)}", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::UpdateConnectionResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Retrieves the status of an ad/ldap connection referenced by its `ID`. `200 OK` http status code response is + # returned when the connection is online, otherwise a `404` status code is returned along with an error message + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def check_status(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "connections/#{URI.encode_uri_component(params[:id].to_s)}/status", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # @return [Auth0::DirectoryProvisioning::Client] + def directory_provisioning + @directory_provisioning ||= Auth0::Connections::DirectoryProvisioning::Client.new(client: @client) + end + + # @return [Auth0::SCIMConfiguration::Client] + def scim_configuration + @scim_configuration ||= Auth0::Connections::SCIMConfiguration::Client.new(client: @client) + end + + # @return [Auth0::Clients::Client] + def clients + @clients ||= Auth0::Connections::Clients::Client.new(client: @client) + end + + # @return [Auth0::Keys::Client] + def keys + @keys ||= Auth0::Connections::Keys::Client.new(client: @client) + end + + # @return [Auth0::Users::Client] + def users + @users ||= Auth0::Connections::Users::Client.new(client: @client) + end + end + end +end diff --git a/lib/auth0/connections/clients/client.rb b/lib/auth0/connections/clients/client.rb new file mode 100644 index 000000000..1d1a3ca58 --- /dev/null +++ b/lib/auth0/connections/clients/client.rb @@ -0,0 +1,101 @@ +# frozen_string_literal: true + +module Auth0 + module Connections + module Clients + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve all clients that have the specified + # [connection](https://auth0.com/docs/authenticate/identity-providers) enabled. + # + # **Note**: The first time you call this endpoint, omit the `from` parameter. If there are more results, a + # `next` value is included in the response. You can use this for subsequent API calls. When `next` is no longer + # included in the response, no further results are remaining. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [Integer, nil] :take + # @option params [String, nil] :from + # + # @return [Auth0::Types::GetConnectionEnabledClientsResponseContent] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["take"] = params.fetch(:take, 50) + query_params["from"] = params[:from] if params.key?(:from) + + Auth0::Internal::CursorItemIterator.new( + cursor_field: :next_, + item_field: :clients, + initial_cursor: query_params["from"] + ) do |next_cursor| + query_params["from"] = next_cursor + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "connections/#{URI.encode_uri_component(params[:id].to_s)}/clients", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::GetConnectionEnabledClientsResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # @param request_options [Hash] + # @param params [Auth0::Types::UpdateEnabledClientConnectionsRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def update(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "connections/#{URI.encode_uri_component(params[:id].to_s)}/clients", + body: params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end +end diff --git a/lib/auth0/connections/clients/types/get_connection_enabled_clients_request_parameters.rb b/lib/auth0/connections/clients/types/get_connection_enabled_clients_request_parameters.rb new file mode 100644 index 000000000..bb015db94 --- /dev/null +++ b/lib/auth0/connections/clients/types/get_connection_enabled_clients_request_parameters.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Connections + module Clients + module Types + class GetConnectionEnabledClientsRequestParameters < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :take, -> { Integer }, optional: true, nullable: false + + field :from, -> { String }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/connections/directory_provisioning/client.rb b/lib/auth0/connections/directory_provisioning/client.rb new file mode 100644 index 000000000..d785acb9a --- /dev/null +++ b/lib/auth0/connections/directory_provisioning/client.rb @@ -0,0 +1,401 @@ +# frozen_string_literal: true + +module Auth0 + module Connections + module DirectoryProvisioning + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve a list of directory provisioning configurations of a tenant. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String, nil] :from + # @option params [Integer, nil] :take + # + # @return [Auth0::Types::ListDirectoryProvisioningsResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["from"] = params[:from] if params.key?(:from) + query_params["take"] = params.fetch(:take, 50) + + Auth0::Internal::CursorItemIterator.new( + cursor_field: :next_, + item_field: :directory_provisionings, + initial_cursor: query_params["from"] + ) do |next_cursor| + query_params["from"] = next_cursor + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "connections-directory-provisionings", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListDirectoryProvisioningsResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # Retrieve the directory provisioning configuration of a connection. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::GetDirectoryProvisioningResponseContent] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "connections/#{URI.encode_uri_component(params[:id].to_s)}/directory-provisioning", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetDirectoryProvisioningResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Create a directory provisioning configuration for a connection. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::CreateDirectoryProvisioningResponseContent] + def create(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "connections/#{URI.encode_uri_component(params[:id].to_s)}/directory-provisioning", + body: params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::CreateDirectoryProvisioningResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Delete the directory provisioning configuration of a connection. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "connections/#{URI.encode_uri_component(params[:id].to_s)}/directory-provisioning", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Update the directory provisioning configuration of a connection. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::UpdateDirectoryProvisioningResponseContent] + def update(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "connections/#{URI.encode_uri_component(params[:id].to_s)}/directory-provisioning", + body: params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::UpdateDirectoryProvisioningResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Retrieve the directory provisioning default attribute mapping of a connection. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::GetDirectoryProvisioningDefaultMappingResponseContent] + def get_default_mapping(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "connections/#{URI.encode_uri_component(params[:id].to_s)}/directory-provisioning/default-mapping", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetDirectoryProvisioningDefaultMappingResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Retrieve the configured synchronized groups for a connection directory provisioning configuration. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [String, nil] :from + # @option params [Integer, nil] :take + # @option params [String, nil] :q + # + # @return [Auth0::Types::ListSynchronizedGroupsResponseContent] + def list_synchronized_groups(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["from"] = params[:from] if params.key?(:from) + query_params["take"] = params.fetch(:take, 50) + query_params["q"] = params[:q] if params.key?(:q) + + Auth0::Internal::CursorItemIterator.new( + cursor_field: :next_, + item_field: :groups, + initial_cursor: query_params["from"] + ) do |next_cursor| + query_params["from"] = next_cursor + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "connections/#{URI.encode_uri_component(params[:id].to_s)}/directory-provisioning/synchronized-groups", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListSynchronizedGroupsResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # Add synchronized group selections to a directory provisioning configuration. + # + # @param request_options [Hash] + # @param params [Auth0::Connections::DirectoryProvisioning::Types::AddSynchronizedGroupsRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def add_synchronized_group_selections(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Connections::DirectoryProvisioning::Types::AddSynchronizedGroupsRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "connections/#{URI.encode_uri_component(params[:id].to_s)}/directory-provisioning/synchronized-groups", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Create or replace the selected groups for a connection directory provisioning configuration. + # + # @param request_options [Hash] + # @param params [Auth0::Connections::DirectoryProvisioning::Types::ReplaceSynchronizedGroupsRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def set(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Connections::DirectoryProvisioning::Types::ReplaceSynchronizedGroupsRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PUT", + path: "connections/#{URI.encode_uri_component(params[:id].to_s)}/directory-provisioning/synchronized-groups", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Delete synchronized group selections for a directory provisioning configuration + # + # @param request_options [Hash] + # @param params [Auth0::Connections::DirectoryProvisioning::Types::DeleteSynchronizedGroupsRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def delete_synchronized_group_selections(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Connections::DirectoryProvisioning::Types::DeleteSynchronizedGroupsRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "connections/#{URI.encode_uri_component(params[:id].to_s)}/directory-provisioning/synchronized-groups", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # @return [Auth0::Synchronizations::Client] + def synchronizations + @synchronizations ||= Auth0::Connections::DirectoryProvisioning::Synchronizations::Client.new(client: @client) + end + end + end + end +end diff --git a/lib/auth0/connections/directory_provisioning/synchronizations/client.rb b/lib/auth0/connections/directory_provisioning/synchronizations/client.rb new file mode 100644 index 000000000..1ff461f17 --- /dev/null +++ b/lib/auth0/connections/directory_provisioning/synchronizations/client.rb @@ -0,0 +1,52 @@ +# frozen_string_literal: true + +module Auth0 + module Connections + module DirectoryProvisioning + module Synchronizations + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Request an on-demand synchronization of the directory. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::CreateDirectorySynchronizationResponseContent] + def create(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "connections/#{URI.encode_uri_component(params[:id].to_s)}/directory-provisioning/synchronizations", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::CreateDirectorySynchronizationResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end + end + end +end diff --git a/lib/auth0/connections/directory_provisioning/types/add_synchronized_groups_request_content.rb b/lib/auth0/connections/directory_provisioning/types/add_synchronized_groups_request_content.rb new file mode 100644 index 000000000..89c6d8747 --- /dev/null +++ b/lib/auth0/connections/directory_provisioning/types/add_synchronized_groups_request_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Connections + module DirectoryProvisioning + module Types + class AddSynchronizedGroupsRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :groups, -> { Internal::Types::Array[Auth0::Types::SynchronizedGroupPayload] }, optional: false, nullable: false + end + end + end + end +end diff --git a/lib/auth0/connections/directory_provisioning/types/delete_synchronized_groups_request_content.rb b/lib/auth0/connections/directory_provisioning/types/delete_synchronized_groups_request_content.rb new file mode 100644 index 000000000..990201770 --- /dev/null +++ b/lib/auth0/connections/directory_provisioning/types/delete_synchronized_groups_request_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Connections + module DirectoryProvisioning + module Types + class DeleteSynchronizedGroupsRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :groups, -> { Internal::Types::Array[Auth0::Types::SynchronizedGroupSelectionID] }, optional: false, nullable: false + end + end + end + end +end diff --git a/lib/auth0/connections/directory_provisioning/types/list_directory_provisionings_request_parameters.rb b/lib/auth0/connections/directory_provisioning/types/list_directory_provisionings_request_parameters.rb new file mode 100644 index 000000000..8fb0a7755 --- /dev/null +++ b/lib/auth0/connections/directory_provisioning/types/list_directory_provisionings_request_parameters.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Connections + module DirectoryProvisioning + module Types + class ListDirectoryProvisioningsRequestParameters < Internal::Types::Model + field :from, -> { String }, optional: true, nullable: false + + field :take, -> { Integer }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/connections/directory_provisioning/types/list_synchronized_groups_request_parameters.rb b/lib/auth0/connections/directory_provisioning/types/list_synchronized_groups_request_parameters.rb new file mode 100644 index 000000000..27c4a1448 --- /dev/null +++ b/lib/auth0/connections/directory_provisioning/types/list_synchronized_groups_request_parameters.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Connections + module DirectoryProvisioning + module Types + class ListSynchronizedGroupsRequestParameters < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :from, -> { String }, optional: true, nullable: false + + field :take, -> { Integer }, optional: true, nullable: false + + field :q, -> { String }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/connections/directory_provisioning/types/replace_synchronized_groups_request_content.rb b/lib/auth0/connections/directory_provisioning/types/replace_synchronized_groups_request_content.rb new file mode 100644 index 000000000..98f786ea6 --- /dev/null +++ b/lib/auth0/connections/directory_provisioning/types/replace_synchronized_groups_request_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Connections + module DirectoryProvisioning + module Types + class ReplaceSynchronizedGroupsRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :groups, -> { Internal::Types::Array[Auth0::Types::SynchronizedGroupPayload] }, optional: false, nullable: false + end + end + end + end +end diff --git a/lib/auth0/connections/keys/client.rb b/lib/auth0/connections/keys/client.rb new file mode 100644 index 000000000..2927abb56 --- /dev/null +++ b/lib/auth0/connections/keys/client.rb @@ -0,0 +1,120 @@ +# frozen_string_literal: true + +module Auth0 + module Connections + module Keys + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Gets the connection keys for the Okta or OIDC connection strategy. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Array[Auth0::Types::ConnectionKey]] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "connections/#{URI.encode_uri_component(params[:id].to_s)}/keys", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Provision initial connection keys for Okta or OIDC connection strategies. This endpoint allows you to create + # keys before configuring the connection to use Private Key JWT authentication, enabling zero-downtime + # transitions. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Array[Auth0::Types::PostConnectionsKeysResponseContentItem]] + def create(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "connections/#{URI.encode_uri_component(params[:id].to_s)}/keys", + body: params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::PostConnectionsKeysResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Rotates the connection keys for the Okta or OIDC connection strategies. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::RotateConnectionsKeysResponseContent] + def rotate(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "connections/#{URI.encode_uri_component(params[:id].to_s)}/keys/rotate", + body: params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::RotateConnectionsKeysResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end + end +end diff --git a/lib/auth0/connections/scim_configuration/client.rb b/lib/auth0/connections/scim_configuration/client.rb new file mode 100644 index 000000000..8d6f407a0 --- /dev/null +++ b/lib/auth0/connections/scim_configuration/client.rb @@ -0,0 +1,243 @@ +# frozen_string_literal: true + +module Auth0 + module Connections + module SCIMConfiguration + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve a list of SCIM configurations of a tenant. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String, nil] :from + # @option params [Integer, nil] :take + # + # @return [Auth0::Types::ListSCIMConfigurationsResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["from"] = params[:from] if params.key?(:from) + query_params["take"] = params.fetch(:take, 50) + + Auth0::Internal::CursorItemIterator.new( + cursor_field: :next_, + item_field: :scim_configurations, + initial_cursor: query_params["from"] + ) do |next_cursor| + query_params["from"] = next_cursor + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "connections-scim-configurations", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListSCIMConfigurationsResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # Retrieves a scim configuration by its `connectionId`. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::GetSCIMConfigurationResponseContent] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "connections/#{URI.encode_uri_component(params[:id].to_s)}/scim-configuration", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetSCIMConfigurationResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Create a scim configuration for a connection. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::CreateSCIMConfigurationResponseContent] + def create(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "connections/#{URI.encode_uri_component(params[:id].to_s)}/scim-configuration", + body: params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::CreateSCIMConfigurationResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Deletes a scim configuration by its `connectionId`. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "connections/#{URI.encode_uri_component(params[:id].to_s)}/scim-configuration", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Update a scim configuration by its `connectionId`. + # + # @param request_options [Hash] + # @param params [Auth0::Connections::SCIMConfiguration::Types::UpdateSCIMConfigurationRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::UpdateSCIMConfigurationResponseContent] + def update(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Connections::SCIMConfiguration::Types::UpdateSCIMConfigurationRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "connections/#{URI.encode_uri_component(params[:id].to_s)}/scim-configuration", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::UpdateSCIMConfigurationResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Retrieves a scim configuration's default mapping by its `connectionId`. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::GetSCIMConfigurationDefaultMappingResponseContent] + def get_default_mapping(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "connections/#{URI.encode_uri_component(params[:id].to_s)}/scim-configuration/default-mapping", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetSCIMConfigurationDefaultMappingResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # @return [Auth0::Tokens::Client] + def tokens + @tokens ||= Auth0::Connections::SCIMConfiguration::Tokens::Client.new(client: @client) + end + end + end + end +end diff --git a/lib/auth0/connections/scim_configuration/tokens/client.rb b/lib/auth0/connections/scim_configuration/tokens/client.rb new file mode 100644 index 000000000..5f15a6083 --- /dev/null +++ b/lib/auth0/connections/scim_configuration/tokens/client.rb @@ -0,0 +1,124 @@ +# frozen_string_literal: true + +module Auth0 + module Connections + module SCIMConfiguration + module Tokens + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieves all scim tokens by its connection `id`. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Array[Auth0::Types::SCIMTokenItem]] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "connections/#{URI.encode_uri_component(params[:id].to_s)}/scim-configuration/tokens", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetSCIMTokensResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Create a scim token for a scim client. + # + # @param request_options [Hash] + # @param params [Auth0::Connections::SCIMConfiguration::Tokens::Types::CreateSCIMTokenRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::CreateSCIMTokenResponseContent] + def create(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Connections::SCIMConfiguration::Tokens::Types::CreateSCIMTokenRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "connections/#{URI.encode_uri_component(params[:id].to_s)}/scim-configuration/tokens", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::CreateSCIMTokenResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Deletes a scim token by its connection `id` and `tokenId`. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [String] :token_id + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "connections/#{URI.encode_uri_component(params[:id].to_s)}/scim-configuration/tokens/#{URI.encode_uri_component(params[:token_id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end + end +end diff --git a/lib/auth0/connections/scim_configuration/tokens/types/create_scim_token_request_content.rb b/lib/auth0/connections/scim_configuration/tokens/types/create_scim_token_request_content.rb new file mode 100644 index 000000000..88d1e2250 --- /dev/null +++ b/lib/auth0/connections/scim_configuration/tokens/types/create_scim_token_request_content.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Connections + module SCIMConfiguration + module Tokens + module Types + class CreateSCIMTokenRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :scopes, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :token_lifetime, -> { Integer }, optional: true, nullable: false + end + end + end + end + end +end diff --git a/lib/auth0/connections/scim_configuration/types/list_scim_configurations_request_parameters.rb b/lib/auth0/connections/scim_configuration/types/list_scim_configurations_request_parameters.rb new file mode 100644 index 000000000..ab089c713 --- /dev/null +++ b/lib/auth0/connections/scim_configuration/types/list_scim_configurations_request_parameters.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Connections + module SCIMConfiguration + module Types + class ListSCIMConfigurationsRequestParameters < Internal::Types::Model + field :from, -> { String }, optional: true, nullable: false + + field :take, -> { Integer }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/connections/scim_configuration/types/update_scim_configuration_request_content.rb b/lib/auth0/connections/scim_configuration/types/update_scim_configuration_request_content.rb new file mode 100644 index 000000000..9f14c373d --- /dev/null +++ b/lib/auth0/connections/scim_configuration/types/update_scim_configuration_request_content.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Connections + module SCIMConfiguration + module Types + class UpdateSCIMConfigurationRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :user_id_attribute, -> { String }, optional: false, nullable: false + + field :mapping, -> { Internal::Types::Array[Auth0::Types::SCIMMappingItem] }, optional: false, nullable: false + end + end + end + end +end diff --git a/lib/auth0/connections/types/create_connection_request_content.rb b/lib/auth0/connections/types/create_connection_request_content.rb new file mode 100644 index 000000000..5c4effbfd --- /dev/null +++ b/lib/auth0/connections/types/create_connection_request_content.rb @@ -0,0 +1,35 @@ +# frozen_string_literal: true + +module Auth0 + module Connections + module Types + class CreateConnectionRequestContent < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::ConnectionIdentityProviderEnum }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionPropertiesOptions }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :cross_app_access_requesting_app, -> { Auth0::Types::CrossAppAccessRequestingApp }, optional: true, nullable: false + + field :cross_app_access_resource_app, -> { Auth0::Types::CreateCrossAppAccessResourceApp }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/connections/types/get_connection_request_parameters.rb b/lib/auth0/connections/types/get_connection_request_parameters.rb new file mode 100644 index 000000000..244cdd187 --- /dev/null +++ b/lib/auth0/connections/types/get_connection_request_parameters.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Connections + module Types + class GetConnectionRequestParameters < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :fields, -> { String }, optional: true, nullable: false + + field :include_fields, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/connections/types/list_connections_query_parameters.rb b/lib/auth0/connections/types/list_connections_query_parameters.rb new file mode 100644 index 000000000..90443587b --- /dev/null +++ b/lib/auth0/connections/types/list_connections_query_parameters.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Connections + module Types + class ListConnectionsQueryParameters < Internal::Types::Model + field :include_totals, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :from, -> { String }, optional: true, nullable: false + + field :take, -> { Integer }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::ConnectionStrategyEnum }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :fields, -> { String }, optional: true, nullable: false + + field :include_fields, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/connections/types/update_connection_request_content.rb b/lib/auth0/connections/types/update_connection_request_content.rb new file mode 100644 index 000000000..b58faff5a --- /dev/null +++ b/lib/auth0/connections/types/update_connection_request_content.rb @@ -0,0 +1,33 @@ +# frozen_string_literal: true + +module Auth0 + module Connections + module Types + class UpdateConnectionRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :options, -> { Auth0::Types::UpdateConnectionOptions }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :cross_app_access_requesting_app, -> { Auth0::Types::CrossAppAccessRequestingApp }, optional: true, nullable: false + + field :cross_app_access_resource_app, -> { Auth0::Types::UpdateCrossAppAccessResourceApp }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/connections/users/client.rb b/lib/auth0/connections/users/client.rb new file mode 100644 index 000000000..3d257c5f8 --- /dev/null +++ b/lib/auth0/connections/users/client.rb @@ -0,0 +1,54 @@ +# frozen_string_literal: true + +module Auth0 + module Connections + module Users + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Deletes a specified connection user by its email (you cannot delete all users from specific connection). + # Currently, only Database Connections are supported. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [String] :email + # + # @return [untyped] + def delete_by_email(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["email"] = params[:email] if params.key?(:email) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "connections/#{URI.encode_uri_component(params[:id].to_s)}/users", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end +end diff --git a/lib/auth0/connections/users/types/delete_connection_users_by_email_query_parameters.rb b/lib/auth0/connections/users/types/delete_connection_users_by_email_query_parameters.rb new file mode 100644 index 000000000..3060c19e7 --- /dev/null +++ b/lib/auth0/connections/users/types/delete_connection_users_by_email_query_parameters.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Connections + module Users + module Types + class DeleteConnectionUsersByEmailQueryParameters < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :email, -> { String }, optional: false, nullable: false + end + end + end + end +end diff --git a/lib/auth0/custom_domains/client.rb b/lib/auth0/custom_domains/client.rb new file mode 100644 index 000000000..a86e44f4e --- /dev/null +++ b/lib/auth0/custom_domains/client.rb @@ -0,0 +1,387 @@ +# frozen_string_literal: true + +module Auth0 + module CustomDomains + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve details on [custom domains](https://auth0.com/docs/custom-domains). + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String, nil] :q + # @option params [String, nil] :fields + # @option params [Boolean, nil] :include_fields + # @option params [String, nil] :sort + # + # @return [Array[Auth0::Types::CustomDomain]] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["q"] = params[:q] if params.key?(:q) + query_params["fields"] = params[:fields] if params.key?(:fields) + query_params["include_fields"] = params[:include_fields] if params.key?(:include_fields) + query_params["sort"] = params[:sort] if params.key?(:sort) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "custom-domains", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::ListCustomDomainsResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Create a new custom domain. + # + # Note: The custom domain will need to be verified before it will accept + # requests. + # + # Optional attributes that can be updated: + # + # - custom_client_ip_header + # - tls_policy + # + # TLS Policies: + # + # - recommended - for modern usage this includes TLS 1.2 only + # + # @param request_options [Hash] + # @param params [Auth0::CustomDomains::Types::CreateCustomDomainRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::CreateCustomDomainResponseContent] + def create(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "custom-domains", + body: Auth0::CustomDomains::Types::CreateCustomDomainRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::CreateCustomDomainResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Retrieve the tenant's default domain. + # + # @param request_options [Hash] + # @param _params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::GetDefaultDomainResponseContent] + def get_default(request_options: {}, **_params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "custom-domains/default", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetDefaultDomainResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Set the default custom domain for the tenant. + # + # @param request_options [Hash] + # @param params [Auth0::CustomDomains::Types::SetDefaultCustomDomainRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::UpdateDefaultDomainResponseContent] + def set_default(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "custom-domains/default", + body: Auth0::CustomDomains::Types::SetDefaultCustomDomainRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::UpdateDefaultDomainResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Retrieve a custom domain configuration and status. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::GetCustomDomainResponseContent] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "custom-domains/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetCustomDomainResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Delete a custom domain and stop serving requests for it. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "custom-domains/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Update a custom domain. + # + # These are the attributes that can be updated: + # + # - custom_client_ip_header + # - tls_policy + # + # **Updating CUSTOM_CLIENT_IP_HEADER for a custom domain** + # + # To update the `custom_client_ip_header` for a domain, the body to + # send should be: + # + # ```json + # { "custom_client_ip_header": "cf-connecting-ip" } + # ``` + # + # **Updating TLS_POLICY for a custom domain** + # + # To update the `tls_policy` for a domain, the body to send should be: + # + # ```json + # { "tls_policy": "recommended" } + # ``` + # + # TLS Policies: + # + # - recommended - for modern usage this includes TLS 1.2 only + # + # Some considerations: + # + # - The TLS ciphers and protocols available in each TLS policy follow industry recommendations, and may be updated + # occasionally. + # - The `compatible` TLS policy is no longer supported. + # + # @param request_options [Hash] + # @param params [Auth0::CustomDomains::Types::UpdateCustomDomainRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::UpdateCustomDomainResponseContent] + def update(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::CustomDomains::Types::UpdateCustomDomainRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "custom-domains/#{URI.encode_uri_component(params[:id].to_s)}", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::UpdateCustomDomainResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Run the test process on a custom domain. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::TestCustomDomainResponseContent] + def test(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "custom-domains/#{URI.encode_uri_component(params[:id].to_s)}/test", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::TestCustomDomainResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Run the verification process on a custom domain. + # + # Note: Check the `status` field to see its verification status. Once verification is complete, it may take up to + # 10 minutes before the custom domain can start accepting requests. + # + # For `self_managed_certs`, when the custom domain is verified for the first time, the response will also include + # the `cname_api_key` which you will need to configure your proxy. This key must be kept secret, and is used to + # validate the proxy requests. + # + # [Learn more](https://auth0.com/docs/custom-domains#step-2-verify-ownership) about verifying custom domains that + # use Auth0 Managed certificates. + # [Learn more](https://auth0.com/docs/custom-domains/self-managed-certificates#step-2-verify-ownership) about + # verifying custom domains that use Self Managed certificates. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::VerifyCustomDomainResponseContent] + def verify(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "custom-domains/#{URI.encode_uri_component(params[:id].to_s)}/verify", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::VerifyCustomDomainResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end +end diff --git a/lib/auth0/custom_domains/types/create_custom_domain_request_content.rb b/lib/auth0/custom_domains/types/create_custom_domain_request_content.rb new file mode 100644 index 000000000..f95c0eeca --- /dev/null +++ b/lib/auth0/custom_domains/types/create_custom_domain_request_content.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module CustomDomains + module Types + class CreateCustomDomainRequestContent < Internal::Types::Model + field :domain, -> { String }, optional: false, nullable: false + + field :type, -> { Auth0::Types::CustomDomainProvisioningTypeEnum }, optional: false, nullable: false + + field :verification_method, -> { Auth0::Types::CustomDomainVerificationMethodEnum }, optional: true, nullable: false + + field :tls_policy, -> { Auth0::Types::CustomDomainTLSPolicyEnum }, optional: true, nullable: false + + field :custom_client_ip_header, -> { Auth0::Types::CustomDomainCustomClientIPHeaderEnum }, optional: true, nullable: false + + field :domain_metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :relying_party_identifier, -> { String }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/custom_domains/types/list_custom_domains_request_parameters.rb b/lib/auth0/custom_domains/types/list_custom_domains_request_parameters.rb new file mode 100644 index 000000000..9e723f6da --- /dev/null +++ b/lib/auth0/custom_domains/types/list_custom_domains_request_parameters.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module CustomDomains + module Types + class ListCustomDomainsRequestParameters < Internal::Types::Model + field :q, -> { String }, optional: true, nullable: false + + field :fields, -> { String }, optional: true, nullable: false + + field :include_fields, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :sort, -> { String }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/custom_domains/types/set_default_custom_domain_request_content.rb b/lib/auth0/custom_domains/types/set_default_custom_domain_request_content.rb new file mode 100644 index 000000000..cb18607bd --- /dev/null +++ b/lib/auth0/custom_domains/types/set_default_custom_domain_request_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module CustomDomains + module Types + class SetDefaultCustomDomainRequestContent < Internal::Types::Model + field :domain, -> { String }, optional: false, nullable: false + end + end + end +end diff --git a/lib/auth0/custom_domains/types/update_custom_domain_request_content.rb b/lib/auth0/custom_domains/types/update_custom_domain_request_content.rb new file mode 100644 index 000000000..daa12b553 --- /dev/null +++ b/lib/auth0/custom_domains/types/update_custom_domain_request_content.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module CustomDomains + module Types + class UpdateCustomDomainRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :tls_policy, -> { Auth0::Types::CustomDomainTLSPolicyEnum }, optional: true, nullable: false + + field :custom_client_ip_header, -> { Auth0::Types::CustomDomainCustomClientIPHeaderEnum }, optional: true, nullable: false + + field :domain_metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :relying_party_identifier, -> { String }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/device_credentials/client.rb b/lib/auth0/device_credentials/client.rb new file mode 100644 index 000000000..3690c0ff0 --- /dev/null +++ b/lib/auth0/device_credentials/client.rb @@ -0,0 +1,146 @@ +# frozen_string_literal: true + +module Auth0 + module DeviceCredentials + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve device credential information (`public_key`, `refresh_token`, or `rotating_refresh_token`) associated + # with a specific user. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [Integer, nil] :page + # @option params [Integer, nil] :per_page + # @option params [Boolean, nil] :include_totals + # @option params [String, nil] :fields + # @option params [Boolean, nil] :include_fields + # @option params [String, nil] :user_id + # @option params [String, nil] :client_id + # @option params [Auth0::Types::DeviceCredentialTypeEnum, nil] :type + # + # @return [Auth0::Types::ListDeviceCredentialsOffsetPaginatedResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["page"] = params.fetch(:page, 0) + query_params["per_page"] = params.fetch(:per_page, 50) + query_params["include_totals"] = params.fetch(:include_totals, true) + query_params["fields"] = params[:fields] if params.key?(:fields) + query_params["include_fields"] = params[:include_fields] if params.key?(:include_fields) + query_params["user_id"] = params[:user_id] if params.key?(:user_id) + query_params["client_id"] = params[:client_id] if params.key?(:client_id) + query_params["type"] = params[:type] if params.key?(:type) + + Auth0::Internal::OffsetItemIterator.new( + initial_page: query_params["page"], + item_field: :device_credentials, + has_next_field: nil, + step: false + ) do |next_page| + query_params["page"] = next_page + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "device-credentials", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListDeviceCredentialsOffsetPaginatedResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # Create a device credential public key to manage refresh token rotation for a given `user_id`. Device Credentials + # APIs are designed for ad-hoc administrative use only and paging is by default enabled for GET requests. + # + # When refresh token rotation is enabled, the endpoint becomes consistent. For more information, read [Signing + # Keys](https://auth0.com/docs/get-started/tenant-settings/signing-keys). + # + # @param request_options [Hash] + # @param params [Auth0::DeviceCredentials::Types::CreatePublicKeyDeviceCredentialRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::CreatePublicKeyDeviceCredentialResponseContent] + def create_public_key(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "device-credentials", + body: Auth0::DeviceCredentials::Types::CreatePublicKeyDeviceCredentialRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::CreatePublicKeyDeviceCredentialResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Permanently delete a device credential (such as a refresh token or public key) with the given ID. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "device-credentials/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end +end diff --git a/lib/auth0/device_credentials/types/create_public_key_device_credential_request_content.rb b/lib/auth0/device_credentials/types/create_public_key_device_credential_request_content.rb new file mode 100644 index 000000000..a2a70dd89 --- /dev/null +++ b/lib/auth0/device_credentials/types/create_public_key_device_credential_request_content.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module DeviceCredentials + module Types + class CreatePublicKeyDeviceCredentialRequestContent < Internal::Types::Model + field :device_name, -> { String }, optional: false, nullable: false + + field :type, -> { Auth0::Types::DeviceCredentialPublicKeyTypeEnum }, optional: false, nullable: false + + field :value, -> { String }, optional: false, nullable: false + + field :device_id, -> { String }, optional: false, nullable: false + + field :client_id, -> { String }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/device_credentials/types/list_device_credentials_request_parameters.rb b/lib/auth0/device_credentials/types/list_device_credentials_request_parameters.rb new file mode 100644 index 000000000..466e2c484 --- /dev/null +++ b/lib/auth0/device_credentials/types/list_device_credentials_request_parameters.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module Auth0 + module DeviceCredentials + module Types + class ListDeviceCredentialsRequestParameters < Internal::Types::Model + field :page, -> { Integer }, optional: true, nullable: false + + field :per_page, -> { Integer }, optional: true, nullable: false + + field :include_totals, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :fields, -> { String }, optional: true, nullable: false + + field :include_fields, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :user_id, -> { String }, optional: true, nullable: false + + field :client_id, -> { String }, optional: true, nullable: false + + field :type, -> { Auth0::Types::DeviceCredentialTypeEnum }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/email_templates/client.rb b/lib/auth0/email_templates/client.rb new file mode 100644 index 000000000..5ca53dfa6 --- /dev/null +++ b/lib/auth0/email_templates/client.rb @@ -0,0 +1,163 @@ +# frozen_string_literal: true + +module Auth0 + module EmailTemplates + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Create an email template. + # + # @param request_options [Hash] + # @param params [Auth0::EmailTemplates::Types::CreateEmailTemplateRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::CreateEmailTemplateResponseContent] + def create(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "email-templates", + body: Auth0::EmailTemplates::Types::CreateEmailTemplateRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::CreateEmailTemplateResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Retrieve an email template by pre-defined name. These names are `verify_email`, `verify_email_by_code`, + # `auth_email_by_code`, `reset_email`, `reset_email_by_code`, `welcome_email`, `blocked_account`, + # `stolen_credentials`, `enrollment_email`, `mfa_oob_code`, `user_invitation`, and `async_approval`. The names + # `change_password`, and `password_reset` are also supported for legacy scenarios. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [Auth0::Types::EmailTemplateNameEnum] :template_name + # + # @return [Auth0::Types::GetEmailTemplateResponseContent] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "email-templates/#{URI.encode_uri_component(params[:template_name].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetEmailTemplateResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Update an email template. + # + # @param request_options [Hash] + # @param params [Auth0::EmailTemplates::Types::SetEmailTemplateRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [Auth0::Types::EmailTemplateNameEnum] :template_name + # + # @return [Auth0::Types::SetEmailTemplateResponseContent] + def set(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::EmailTemplates::Types::SetEmailTemplateRequestContent.new(params).to_h + non_body_param_names = %w[templateName] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PUT", + path: "email-templates/#{URI.encode_uri_component(params[:template_name].to_s)}", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::SetEmailTemplateResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Modify an email template. + # + # @param request_options [Hash] + # @param params [Auth0::EmailTemplates::Types::UpdateEmailTemplateRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [Auth0::Types::EmailTemplateNameEnum] :template_name + # + # @return [Auth0::Types::UpdateEmailTemplateResponseContent] + def update(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::EmailTemplates::Types::UpdateEmailTemplateRequestContent.new(params).to_h + non_body_param_names = %w[templateName] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "email-templates/#{URI.encode_uri_component(params[:template_name].to_s)}", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::UpdateEmailTemplateResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end +end diff --git a/lib/auth0/email_templates/types/create_email_template_request_content.rb b/lib/auth0/email_templates/types/create_email_template_request_content.rb new file mode 100644 index 000000000..247207c37 --- /dev/null +++ b/lib/auth0/email_templates/types/create_email_template_request_content.rb @@ -0,0 +1,27 @@ +# frozen_string_literal: true + +module Auth0 + module EmailTemplates + module Types + class CreateEmailTemplateRequestContent < Internal::Types::Model + field :template, -> { Auth0::Types::EmailTemplateNameEnum }, optional: false, nullable: false + + field :body, -> { String }, optional: true, nullable: false + + field :from, -> { String }, optional: true, nullable: false + + field :result_url, -> { String }, optional: true, nullable: false, api_name: "resultUrl" + + field :subject, -> { String }, optional: true, nullable: false + + field :syntax, -> { String }, optional: true, nullable: false + + field :url_lifetime_in_seconds, -> { Integer }, optional: true, nullable: false, api_name: "urlLifetimeInSeconds" + + field :include_email_in_redirect, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "includeEmailInRedirect" + + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/email_templates/types/set_email_template_request_content.rb b/lib/auth0/email_templates/types/set_email_template_request_content.rb new file mode 100644 index 000000000..8bc2bc7c7 --- /dev/null +++ b/lib/auth0/email_templates/types/set_email_template_request_content.rb @@ -0,0 +1,29 @@ +# frozen_string_literal: true + +module Auth0 + module EmailTemplates + module Types + class SetEmailTemplateRequestContent < Internal::Types::Model + field :template_name, -> { Auth0::Types::EmailTemplateNameEnum }, optional: false, nullable: false, api_name: "templateName" + + field :template, -> { Auth0::Types::EmailTemplateNameEnum }, optional: false, nullable: false + + field :body, -> { String }, optional: true, nullable: false + + field :from, -> { String }, optional: true, nullable: false + + field :result_url, -> { String }, optional: true, nullable: false, api_name: "resultUrl" + + field :subject, -> { String }, optional: true, nullable: false + + field :syntax, -> { String }, optional: true, nullable: false + + field :url_lifetime_in_seconds, -> { Integer }, optional: true, nullable: false, api_name: "urlLifetimeInSeconds" + + field :include_email_in_redirect, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "includeEmailInRedirect" + + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/email_templates/types/update_email_template_request_content.rb b/lib/auth0/email_templates/types/update_email_template_request_content.rb new file mode 100644 index 000000000..1cc659603 --- /dev/null +++ b/lib/auth0/email_templates/types/update_email_template_request_content.rb @@ -0,0 +1,29 @@ +# frozen_string_literal: true + +module Auth0 + module EmailTemplates + module Types + class UpdateEmailTemplateRequestContent < Internal::Types::Model + field :template_name, -> { Auth0::Types::EmailTemplateNameEnum }, optional: false, nullable: false, api_name: "templateName" + + field :template, -> { Auth0::Types::EmailTemplateNameEnum }, optional: true, nullable: false + + field :body, -> { String }, optional: true, nullable: false + + field :from, -> { String }, optional: true, nullable: false + + field :result_url, -> { String }, optional: true, nullable: false, api_name: "resultUrl" + + field :subject, -> { String }, optional: true, nullable: false + + field :syntax, -> { String }, optional: true, nullable: false + + field :url_lifetime_in_seconds, -> { Integer }, optional: true, nullable: false, api_name: "urlLifetimeInSeconds" + + field :include_email_in_redirect, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "includeEmailInRedirect" + + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/emails/client.rb b/lib/auth0/emails/client.rb new file mode 100644 index 000000000..0cc81034e --- /dev/null +++ b/lib/auth0/emails/client.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Emails + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # @return [Auth0::Provider::Client] + def provider + @provider ||= Auth0::Emails::Provider::Client.new(client: @client) + end + end + end +end diff --git a/lib/auth0/emails/provider/client.rb b/lib/auth0/emails/provider/client.rb new file mode 100644 index 000000000..2b4cb7a27 --- /dev/null +++ b/lib/auth0/emails/provider/client.rb @@ -0,0 +1,205 @@ +# frozen_string_literal: true + +module Auth0 + module Emails + module Provider + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve details of the [email provider + # configuration](https://auth0.com/docs/customize/email/smtp-email-providers) in your tenant. A list of fields + # to include or exclude may also be specified. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String, nil] :fields + # @option params [Boolean, nil] :include_fields + # + # @return [Auth0::Types::GetEmailProviderResponseContent] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["fields"] = params[:fields] if params.key?(:fields) + query_params["include_fields"] = params[:include_fields] if params.key?(:include_fields) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "emails/provider", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetEmailProviderResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Create an [email provider](https://auth0.com/docs/email/providers). The `credentials` object + # requires different properties depending on the email provider (which is specified using the `name` property): + # + # - `mandrill` requires `api_key` + # - `sendgrid` requires `api_key` + # - `sparkpost` requires `api_key`. Optionally, set `region` to `eu` to use + # the SparkPost service hosted in Western Europe; set to `null` to use the SparkPost service hosted in + # North America. `eu` or `null` are the only valid values for `region`. + # - `mailgun` requires `api_key` and `domain`. Optionally, set `region` to + # `eu` to use the Mailgun service hosted in Europe; set to `null` otherwise. `eu` or + # `null` are the only valid values for `region`. + # - `ses` requires `accessKeyId`, `secretAccessKey`, and `region` + # - `smtp` requires `smtp_host`, `smtp_port`, `smtp_user`, and + # `smtp_pass` + # + # Depending on the type of provider it is possible to specify `settings` object with different configuration + # options, which will be used when sending an email: + # + # - `smtp` provider, `settings` may contain `headers` object. + # - When using AWS SES SMTP host, you may provide a name of configuration set in + # `X-SES-Configuration-Set` header. Value must be a string. + # - When using Sparkpost host, you may provide value for + # `X-MSYS_API` header. Value must be an object. + # - For `ses` provider, `settings` may contain `message` object, where you can provide + # a name of configuration set in `configuration_set_name` property. Value must be a string. + # + # @param request_options [Hash] + # @param params [Auth0::Emails::Provider::Types::CreateEmailProviderRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::CreateEmailProviderResponseContent] + def create(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "emails/provider", + body: Auth0::Emails::Provider::Types::CreateEmailProviderRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::CreateEmailProviderResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Delete the email provider. + # + # @param request_options [Hash] + # @param _params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [untyped] + def delete(request_options: {}, **_params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "emails/provider", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Update an [email provider](https://auth0.com/docs/email/providers). The `credentials` object + # requires different properties depending on the email provider (which is specified using the `name` property): + # + # - `mandrill` requires `api_key` + # - `sendgrid` requires `api_key` + # - `sparkpost` requires `api_key`. Optionally, set `region` to `eu` to use + # the SparkPost service hosted in Western Europe; set to `null` to use the SparkPost service hosted in + # North America. `eu` or `null` are the only valid values for `region`. + # - `mailgun` requires `api_key` and `domain`. Optionally, set `region` to + # `eu` to use the Mailgun service hosted in Europe; set to `null` otherwise. `eu` or + # `null` are the only valid values for `region`. + # - `ses` requires `accessKeyId`, `secretAccessKey`, and `region` + # - `smtp` requires `smtp_host`, `smtp_port`, `smtp_user`, and + # `smtp_pass` + # + # Depending on the type of provider it is possible to specify `settings` object with different configuration + # options, which will be used when sending an email: + # + # - `smtp` provider, `settings` may contain `headers` object. + # - When using AWS SES SMTP host, you may provide a name of configuration set in + # `X-SES-Configuration-Set` header. Value must be a string. + # - When using Sparkpost host, you may provide value for + # `X-MSYS_API` header. Value must be an object. + # + # For `ses` provider, `settings` may contain `message` object, where you can provide + # a name of configuration set in `configuration_set_name` property. Value must be a string. + # + # @param request_options [Hash] + # @param params [Auth0::Emails::Provider::Types::UpdateEmailProviderRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::UpdateEmailProviderResponseContent] + def update(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "emails/provider", + body: Auth0::Emails::Provider::Types::UpdateEmailProviderRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::UpdateEmailProviderResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end + end +end diff --git a/lib/auth0/emails/provider/types/create_email_provider_request_content.rb b/lib/auth0/emails/provider/types/create_email_provider_request_content.rb new file mode 100644 index 000000000..c2982c69d --- /dev/null +++ b/lib/auth0/emails/provider/types/create_email_provider_request_content.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Emails + module Provider + module Types + class CreateEmailProviderRequestContent < Internal::Types::Model + field :name, -> { Auth0::Types::EmailProviderNameEnum }, optional: false, nullable: false + + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :default_from_address, -> { String }, optional: true, nullable: false + + field :credentials, -> { Auth0::Types::EmailProviderCredentialsSchema }, optional: false, nullable: false + + field :settings, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/emails/provider/types/get_email_provider_request_parameters.rb b/lib/auth0/emails/provider/types/get_email_provider_request_parameters.rb new file mode 100644 index 000000000..85e82b1f2 --- /dev/null +++ b/lib/auth0/emails/provider/types/get_email_provider_request_parameters.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Emails + module Provider + module Types + class GetEmailProviderRequestParameters < Internal::Types::Model + field :fields, -> { String }, optional: true, nullable: false + + field :include_fields, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/emails/provider/types/update_email_provider_request_content.rb b/lib/auth0/emails/provider/types/update_email_provider_request_content.rb new file mode 100644 index 000000000..32460b080 --- /dev/null +++ b/lib/auth0/emails/provider/types/update_email_provider_request_content.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Emails + module Provider + module Types + class UpdateEmailProviderRequestContent < Internal::Types::Model + field :name, -> { Auth0::Types::EmailProviderNameEnum }, optional: true, nullable: false + + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :default_from_address, -> { String }, optional: true, nullable: false + + field :credentials, -> { Auth0::Types::EmailProviderCredentialsSchema }, optional: true, nullable: false + + field :settings, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/environment.rb b/lib/auth0/environment.rb new file mode 100644 index 000000000..dc7d24eaa --- /dev/null +++ b/lib/auth0/environment.rb @@ -0,0 +1,7 @@ +# frozen_string_literal: true + +module Auth0 + class Environment + DEFAULT = "https://%7BTENANT%7D.auth0.com/api/v2" + end +end diff --git a/lib/auth0/errors/api_error.rb b/lib/auth0/errors/api_error.rb new file mode 100644 index 000000000..755054d32 --- /dev/null +++ b/lib/auth0/errors/api_error.rb @@ -0,0 +1,8 @@ +# frozen_string_literal: true + +module Auth0 + module Errors + class ApiError < StandardError + end + end +end diff --git a/lib/auth0/errors/client_error.rb b/lib/auth0/errors/client_error.rb new file mode 100644 index 000000000..78469cdb5 --- /dev/null +++ b/lib/auth0/errors/client_error.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Errors + class ClientError < ResponseError + end + + class UnauthorizedError < ClientError + end + + class ForbiddenError < ClientError + end + + class NotFoundError < ClientError + end + end +end diff --git a/lib/auth0/errors/redirect_error.rb b/lib/auth0/errors/redirect_error.rb new file mode 100644 index 000000000..3c7715c2c --- /dev/null +++ b/lib/auth0/errors/redirect_error.rb @@ -0,0 +1,8 @@ +# frozen_string_literal: true + +module Auth0 + module Errors + class RedirectError < ResponseError + end + end +end diff --git a/lib/auth0/errors/response_error.rb b/lib/auth0/errors/response_error.rb new file mode 100644 index 000000000..868bc6f8a --- /dev/null +++ b/lib/auth0/errors/response_error.rb @@ -0,0 +1,42 @@ +# frozen_string_literal: true + +module Auth0 + module Errors + class ResponseError < ApiError + attr_reader :code + + def initialize(msg, code:) + @code = code + super(msg) + end + + def inspect + "#<#{self.class.name} @code=#{code} @body=#{message}>" + end + + # Returns the most appropriate error class for the given code. + # + # @return [Class] + def self.subclass_for_code(code) + case code + when 300..399 + RedirectError + when 401 + UnauthorizedError + when 403 + ForbiddenError + when 404 + NotFoundError + when 400..499 + ClientError + when 503 + ServiceUnavailableError + when 500..599 + ServerError + else + ResponseError + end + end + end + end +end diff --git a/lib/auth0/errors/server_error.rb b/lib/auth0/errors/server_error.rb new file mode 100644 index 000000000..c338f0cb0 --- /dev/null +++ b/lib/auth0/errors/server_error.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Errors + class ServerError < ResponseError + end + + class ServiceUnavailableError < ApiError + end + end +end diff --git a/lib/auth0/errors/timeout_error.rb b/lib/auth0/errors/timeout_error.rb new file mode 100644 index 000000000..cd52f5830 --- /dev/null +++ b/lib/auth0/errors/timeout_error.rb @@ -0,0 +1,8 @@ +# frozen_string_literal: true + +module Auth0 + module Errors + class TimeoutError < ApiError + end + end +end diff --git a/lib/auth0/event_streams/client.rb b/lib/auth0/event_streams/client.rb new file mode 100644 index 000000000..78c96120a --- /dev/null +++ b/lib/auth0/event_streams/client.rb @@ -0,0 +1,238 @@ +# frozen_string_literal: true + +module Auth0 + module EventStreams + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String, nil] :from + # @option params [Integer, nil] :take + # + # @return [Auth0::Types::ListEventStreamsResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["from"] = params[:from] if params.key?(:from) + query_params["take"] = params.fetch(:take, 50) + + Auth0::Internal::CursorItemIterator.new( + cursor_field: :next_, + item_field: :event_streams, + initial_cursor: query_params["from"] + ) do |next_cursor| + query_params["from"] = next_cursor + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "event-streams", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListEventStreamsResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # @param request_options [Hash] + # @param params [Auth0::EventStreams::Types::EventStreamsCreateRequest] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::CreateEventStreamResponseContent] + def create(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "event-streams", + body: Auth0::EventStreams::Types::EventStreamsCreateRequest.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::CreateEventStreamResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::GetEventStreamResponseContent] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "event-streams/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetEventStreamResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "event-streams/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # @param request_options [Hash] + # @param params [Auth0::EventStreams::Types::UpdateEventStreamRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::UpdateEventStreamResponseContent] + def update(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::EventStreams::Types::UpdateEventStreamRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "event-streams/#{URI.encode_uri_component(params[:id].to_s)}", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::UpdateEventStreamResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # @param request_options [Hash] + # @param params [Auth0::EventStreams::Types::CreateEventStreamTestEventRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::CreateEventStreamTestEventResponseContent] + def test(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::EventStreams::Types::CreateEventStreamTestEventRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "event-streams/#{URI.encode_uri_component(params[:id].to_s)}/test", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::CreateEventStreamTestEventResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # @return [Auth0::Deliveries::Client] + def deliveries + @deliveries ||= Auth0::EventStreams::Deliveries::Client.new(client: @client) + end + + # @return [Auth0::Redeliveries::Client] + def redeliveries + @redeliveries ||= Auth0::EventStreams::Redeliveries::Client.new(client: @client) + end + end + end +end diff --git a/lib/auth0/event_streams/deliveries/client.rb b/lib/auth0/event_streams/deliveries/client.rb new file mode 100644 index 000000000..f1a1340c5 --- /dev/null +++ b/lib/auth0/event_streams/deliveries/client.rb @@ -0,0 +1,104 @@ +# frozen_string_literal: true + +module Auth0 + module EventStreams + module Deliveries + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [String, nil] :statuses + # @option params [String, nil] :event_types + # @option params [String, nil] :date_from + # @option params [String, nil] :date_to + # @option params [String, nil] :from + # @option params [Integer, nil] :take + # + # @return [Auth0::Types::ListEventStreamDeliveriesResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["statuses"] = params[:statuses] if params.key?(:statuses) + query_params["event_types"] = params[:event_types] if params.key?(:event_types) + query_params["date_from"] = params[:date_from] if params.key?(:date_from) + query_params["date_to"] = params[:date_to] if params.key?(:date_to) + query_params["from"] = params[:from] if params.key?(:from) + query_params["take"] = params.fetch(:take, 50) + + Auth0::Internal::CursorItemIterator.new( + cursor_field: :next_, + item_field: :deliveries, + initial_cursor: query_params["from"] + ) do |next_cursor| + query_params["from"] = next_cursor + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "event-streams/#{URI.encode_uri_component(params[:id].to_s)}/deliveries", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListEventStreamDeliveriesResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [String] :event_id + # + # @return [Auth0::Types::GetEventStreamDeliveryHistoryResponseContent] + def get_history(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "event-streams/#{URI.encode_uri_component(params[:id].to_s)}/deliveries/#{URI.encode_uri_component(params[:event_id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetEventStreamDeliveryHistoryResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end + end +end diff --git a/lib/auth0/event_streams/deliveries/types/list_event_stream_deliveries_request_parameters.rb b/lib/auth0/event_streams/deliveries/types/list_event_stream_deliveries_request_parameters.rb new file mode 100644 index 000000000..b082ab826 --- /dev/null +++ b/lib/auth0/event_streams/deliveries/types/list_event_stream_deliveries_request_parameters.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module Auth0 + module EventStreams + module Deliveries + module Types + class ListEventStreamDeliveriesRequestParameters < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :statuses, -> { String }, optional: true, nullable: false + + field :event_types, -> { String }, optional: true, nullable: false + + field :date_from, -> { String }, optional: true, nullable: false + + field :date_to, -> { String }, optional: true, nullable: false + + field :from, -> { String }, optional: true, nullable: false + + field :take, -> { Integer }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/event_streams/redeliveries/client.rb b/lib/auth0/event_streams/redeliveries/client.rb new file mode 100644 index 000000000..7d8dbae33 --- /dev/null +++ b/lib/auth0/event_streams/redeliveries/client.rb @@ -0,0 +1,84 @@ +# frozen_string_literal: true + +module Auth0 + module EventStreams + module Redeliveries + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # @param request_options [Hash] + # @param params [Auth0::EventStreams::Redeliveries::Types::CreateEventStreamRedeliveryRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::CreateEventStreamRedeliveryResponseContent] + def create(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::EventStreams::Redeliveries::Types::CreateEventStreamRedeliveryRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "event-streams/#{URI.encode_uri_component(params[:id].to_s)}/redeliver", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::CreateEventStreamRedeliveryResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [String] :event_id + # + # @return [untyped] + def create_by_id(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "event-streams/#{URI.encode_uri_component(params[:id].to_s)}/redeliver/#{URI.encode_uri_component(params[:event_id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end +end diff --git a/lib/auth0/event_streams/redeliveries/types/create_event_stream_redelivery_request_content.rb b/lib/auth0/event_streams/redeliveries/types/create_event_stream_redelivery_request_content.rb new file mode 100644 index 000000000..321a2bfb5 --- /dev/null +++ b/lib/auth0/event_streams/redeliveries/types/create_event_stream_redelivery_request_content.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module EventStreams + module Redeliveries + module Types + class CreateEventStreamRedeliveryRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :date_from, -> { String }, optional: true, nullable: false + + field :date_to, -> { String }, optional: true, nullable: false + + field :statuses, -> { Internal::Types::Array[Auth0::Types::EventStreamDeliveryStatusEnum] }, optional: true, nullable: false + + field :event_types, -> { Internal::Types::Array[Auth0::Types::EventStreamEventTypeEnum] }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/event_streams/types/create_event_stream_test_event_request_content.rb b/lib/auth0/event_streams/types/create_event_stream_test_event_request_content.rb new file mode 100644 index 000000000..b2328ec3a --- /dev/null +++ b/lib/auth0/event_streams/types/create_event_stream_test_event_request_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module EventStreams + module Types + class CreateEventStreamTestEventRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :event_type, -> { Auth0::Types::EventStreamTestEventTypeEnum }, optional: false, nullable: false + + field :data, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/event_streams/types/event_streams_create_request.rb b/lib/auth0/event_streams/types/event_streams_create_request.rb new file mode 100644 index 000000000..f0de9e8b8 --- /dev/null +++ b/lib/auth0/event_streams/types/event_streams_create_request.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module EventStreams + module Types + class EventStreamsCreateRequest < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::CreateEventStreamWebHookRequestContent } + + member -> { Auth0::Types::CreateEventStreamEventBridgeRequestContent } + + member -> { Auth0::Types::CreateEventStreamActionRequestContent } + end + end + end +end diff --git a/lib/auth0/event_streams/types/list_event_streams_request_parameters.rb b/lib/auth0/event_streams/types/list_event_streams_request_parameters.rb new file mode 100644 index 000000000..f6c374603 --- /dev/null +++ b/lib/auth0/event_streams/types/list_event_streams_request_parameters.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module EventStreams + module Types + class ListEventStreamsRequestParameters < Internal::Types::Model + field :from, -> { String }, optional: true, nullable: false + + field :take, -> { Integer }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/event_streams/types/update_event_stream_request_content.rb b/lib/auth0/event_streams/types/update_event_stream_request_content.rb new file mode 100644 index 000000000..c18c3725e --- /dev/null +++ b/lib/auth0/event_streams/types/update_event_stream_request_content.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module EventStreams + module Types + class UpdateEventStreamRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :subscriptions, -> { Internal::Types::Array[Auth0::Types::EventStreamSubscription] }, optional: true, nullable: false + + field :destination, -> { Auth0::Types::EventStreamDestinationPatch }, optional: true, nullable: false + + field :status, -> { Auth0::Types::EventStreamStatusEnum }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/events/client.rb b/lib/auth0/events/client.rb new file mode 100644 index 000000000..ddab04032 --- /dev/null +++ b/lib/auth0/events/client.rb @@ -0,0 +1,54 @@ +# frozen_string_literal: true + +module Auth0 + module Events + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Subscribe to events via Server-Sent Events (SSE) + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String, nil] :from + # @option params [String, nil] :from_timestamp + # @option params [Auth0::Types::EventStreamSubscribeEventsEventTypeEnum, nil] :event_type + # + # @return [untyped] + def subscribe(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["from"] = params[:from] if params.key?(:from) + query_params["from_timestamp"] = params[:from_timestamp] if params.key?(:from_timestamp) + query_params["event_type"] = params[:event_type] if params.key?(:event_type) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "events", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end +end diff --git a/lib/auth0/events/types/subscribe_events_request_parameters.rb b/lib/auth0/events/types/subscribe_events_request_parameters.rb new file mode 100644 index 000000000..57362a2e9 --- /dev/null +++ b/lib/auth0/events/types/subscribe_events_request_parameters.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Events + module Types + class SubscribeEventsRequestParameters < Internal::Types::Model + field :from, -> { String }, optional: true, nullable: false + + field :from_timestamp, -> { String }, optional: true, nullable: false + + field :event_type, -> { Auth0::Types::EventStreamSubscribeEventsEventTypeEnum }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/flows/client.rb b/lib/auth0/flows/client.rb new file mode 100644 index 000000000..7227c9ead --- /dev/null +++ b/lib/auth0/flows/client.rb @@ -0,0 +1,213 @@ +# frozen_string_literal: true + +module Auth0 + module Flows + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [Integer, nil] :page + # @option params [Integer, nil] :per_page + # @option params [Boolean, nil] :include_totals + # @option params [Auth0::Types::ListFlowsRequestParametersHydrateEnum, nil] :hydrate + # @option params [Boolean, nil] :synchronous + # + # @return [Auth0::Types::ListFlowsOffsetPaginatedResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["page"] = params.fetch(:page, 0) + query_params["per_page"] = params.fetch(:per_page, 50) + query_params["include_totals"] = params.fetch(:include_totals, true) + query_params["hydrate"] = params[:hydrate] if params.key?(:hydrate) + query_params["synchronous"] = params[:synchronous] if params.key?(:synchronous) + + Auth0::Internal::OffsetItemIterator.new( + initial_page: query_params["page"], + item_field: :flows, + has_next_field: nil, + step: false + ) do |next_page| + query_params["page"] = next_page + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "flows", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListFlowsOffsetPaginatedResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # @param request_options [Hash] + # @param params [Auth0::Flows::Types::CreateFlowRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::CreateFlowResponseContent] + def create(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "flows", + body: Auth0::Flows::Types::CreateFlowRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::CreateFlowResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [Auth0::Types::GetFlowRequestParametersHydrateEnum, nil] :hydrate + # + # @return [Auth0::Types::GetFlowResponseContent] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["hydrate"] = params[:hydrate] if params.key?(:hydrate) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "flows/#{URI.encode_uri_component(params[:id].to_s)}", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetFlowResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "flows/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # @param request_options [Hash] + # @param params [Auth0::Flows::Types::UpdateFlowRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::UpdateFlowResponseContent] + def update(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Flows::Types::UpdateFlowRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "flows/#{URI.encode_uri_component(params[:id].to_s)}", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::UpdateFlowResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # @return [Auth0::Executions::Client] + def executions + @executions ||= Auth0::Flows::Executions::Client.new(client: @client) + end + + # @return [Auth0::Vault::Client] + def vault + @vault ||= Auth0::Flows::Vault::Client.new(client: @client) + end + end + end +end diff --git a/lib/auth0/flows/executions/client.rb b/lib/auth0/flows/executions/client.rb new file mode 100644 index 000000000..b03ea62ef --- /dev/null +++ b/lib/auth0/flows/executions/client.rb @@ -0,0 +1,134 @@ +# frozen_string_literal: true + +module Auth0 + module Flows + module Executions + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :flow_id + # @option params [Boolean, nil] :include_totals + # @option params [String, nil] :from + # @option params [Integer, nil] :take + # + # @return [Auth0::Types::ListFlowExecutionsPaginatedResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["include_totals"] = params.fetch(:include_totals, true) + query_params["from"] = params[:from] if params.key?(:from) + query_params["take"] = params.fetch(:take, 50) + + Auth0::Internal::CursorItemIterator.new( + cursor_field: :next_, + item_field: :executions, + initial_cursor: query_params["from"] + ) do |next_cursor| + query_params["from"] = next_cursor + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "flows/#{URI.encode_uri_component(params[:flow_id].to_s)}/executions", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListFlowExecutionsPaginatedResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :flow_id + # @option params [String] :execution_id + # @option params [Auth0::Types::GetFlowExecutionRequestParametersHydrateEnum, nil] :hydrate + # + # @return [Auth0::Types::GetFlowExecutionResponseContent] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["hydrate"] = params[:hydrate] if params.key?(:hydrate) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "flows/#{URI.encode_uri_component(params[:flow_id].to_s)}/executions/#{URI.encode_uri_component(params[:execution_id].to_s)}", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetFlowExecutionResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :flow_id + # @option params [String] :execution_id + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "flows/#{URI.encode_uri_component(params[:flow_id].to_s)}/executions/#{URI.encode_uri_component(params[:execution_id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end +end diff --git a/lib/auth0/flows/executions/types/get_flow_execution_request_parameters.rb b/lib/auth0/flows/executions/types/get_flow_execution_request_parameters.rb new file mode 100644 index 000000000..00946981f --- /dev/null +++ b/lib/auth0/flows/executions/types/get_flow_execution_request_parameters.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Flows + module Executions + module Types + class GetFlowExecutionRequestParameters < Internal::Types::Model + field :flow_id, -> { String }, optional: false, nullable: false + + field :execution_id, -> { String }, optional: false, nullable: false + + field :hydrate, -> { Auth0::Types::GetFlowExecutionRequestParametersHydrateEnum }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/flows/executions/types/list_flow_executions_request_parameters.rb b/lib/auth0/flows/executions/types/list_flow_executions_request_parameters.rb new file mode 100644 index 000000000..525e33263 --- /dev/null +++ b/lib/auth0/flows/executions/types/list_flow_executions_request_parameters.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Flows + module Executions + module Types + class ListFlowExecutionsRequestParameters < Internal::Types::Model + field :flow_id, -> { String }, optional: false, nullable: false + + field :include_totals, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :from, -> { String }, optional: true, nullable: false + + field :take, -> { Integer }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/flows/types/create_flow_request_content.rb b/lib/auth0/flows/types/create_flow_request_content.rb new file mode 100644 index 000000000..8891af983 --- /dev/null +++ b/lib/auth0/flows/types/create_flow_request_content.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Flows + module Types + class CreateFlowRequestContent < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :actions, -> { Internal::Types::Array[Auth0::Types::FlowAction] }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/flows/types/get_flow_request_parameters.rb b/lib/auth0/flows/types/get_flow_request_parameters.rb new file mode 100644 index 000000000..2858d99c9 --- /dev/null +++ b/lib/auth0/flows/types/get_flow_request_parameters.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Flows + module Types + class GetFlowRequestParameters < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :hydrate, -> { Auth0::Types::GetFlowRequestParametersHydrateEnum }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/flows/types/list_flows_request_parameters.rb b/lib/auth0/flows/types/list_flows_request_parameters.rb new file mode 100644 index 000000000..2b5c7d8aa --- /dev/null +++ b/lib/auth0/flows/types/list_flows_request_parameters.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Flows + module Types + class ListFlowsRequestParameters < Internal::Types::Model + field :page, -> { Integer }, optional: true, nullable: false + + field :per_page, -> { Integer }, optional: true, nullable: false + + field :include_totals, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :hydrate, -> { Auth0::Types::ListFlowsRequestParametersHydrateEnum }, optional: true, nullable: false + + field :synchronous, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/flows/types/update_flow_request_content.rb b/lib/auth0/flows/types/update_flow_request_content.rb new file mode 100644 index 000000000..e4375fec1 --- /dev/null +++ b/lib/auth0/flows/types/update_flow_request_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Flows + module Types + class UpdateFlowRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :actions, -> { Internal::Types::Array[Auth0::Types::FlowAction] }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/flows/vault/client.rb b/lib/auth0/flows/vault/client.rb new file mode 100644 index 000000000..f2b05cf73 --- /dev/null +++ b/lib/auth0/flows/vault/client.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Flows + module Vault + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # @return [Auth0::Connections::Client] + def connections + @connections ||= Auth0::Flows::Vault::Connections::Client.new(client: @client) + end + end + end + end +end diff --git a/lib/auth0/flows/vault/connections/client.rb b/lib/auth0/flows/vault/connections/client.rb new file mode 100644 index 000000000..40fc95ecc --- /dev/null +++ b/lib/auth0/flows/vault/connections/client.rb @@ -0,0 +1,198 @@ +# frozen_string_literal: true + +module Auth0 + module Flows + module Vault + module Connections + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [Integer, nil] :page + # @option params [Integer, nil] :per_page + # @option params [Boolean, nil] :include_totals + # + # @return [Auth0::Types::ListFlowsVaultConnectionsOffsetPaginatedResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["page"] = params.fetch(:page, 0) + query_params["per_page"] = params.fetch(:per_page, 50) + query_params["include_totals"] = params.fetch(:include_totals, true) + + Auth0::Internal::OffsetItemIterator.new( + initial_page: query_params["page"], + item_field: :connections, + has_next_field: nil, + step: false + ) do |next_page| + query_params["page"] = next_page + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "flows/vault/connections", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListFlowsVaultConnectionsOffsetPaginatedResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # @param request_options [Hash] + # @param params [Auth0::Types::CreateFlowsVaultConnectionRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::CreateFlowsVaultConnectionResponseContent] + def create(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "flows/vault/connections", + body: Auth0::Types::CreateFlowsVaultConnectionRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::CreateFlowsVaultConnectionResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::GetFlowsVaultConnectionResponseContent] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "flows/vault/connections/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetFlowsVaultConnectionResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "flows/vault/connections/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # @param request_options [Hash] + # @param params [Auth0::Flows::Vault::Connections::Types::UpdateFlowsVaultConnectionRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::UpdateFlowsVaultConnectionResponseContent] + def update(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Flows::Vault::Connections::Types::UpdateFlowsVaultConnectionRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "flows/vault/connections/#{URI.encode_uri_component(params[:id].to_s)}", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::UpdateFlowsVaultConnectionResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end + end + end +end diff --git a/lib/auth0/flows/vault/connections/types/list_flows_vault_connections_request_parameters.rb b/lib/auth0/flows/vault/connections/types/list_flows_vault_connections_request_parameters.rb new file mode 100644 index 000000000..2d075f4c5 --- /dev/null +++ b/lib/auth0/flows/vault/connections/types/list_flows_vault_connections_request_parameters.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Flows + module Vault + module Connections + module Types + class ListFlowsVaultConnectionsRequestParameters < Internal::Types::Model + field :page, -> { Integer }, optional: true, nullable: false + + field :per_page, -> { Integer }, optional: true, nullable: false + + field :include_totals, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end + end + end +end diff --git a/lib/auth0/flows/vault/connections/types/update_flows_vault_connection_request_content.rb b/lib/auth0/flows/vault/connections/types/update_flows_vault_connection_request_content.rb new file mode 100644 index 000000000..5677927c3 --- /dev/null +++ b/lib/auth0/flows/vault/connections/types/update_flows_vault_connection_request_content.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Flows + module Vault + module Connections + module Types + class UpdateFlowsVaultConnectionRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :setup, -> { Auth0::Types::UpdateFlowsVaultConnectionSetup }, optional: true, nullable: false + end + end + end + end + end +end diff --git a/lib/auth0/forms/client.rb b/lib/auth0/forms/client.rb new file mode 100644 index 000000000..440327c73 --- /dev/null +++ b/lib/auth0/forms/client.rb @@ -0,0 +1,201 @@ +# frozen_string_literal: true + +module Auth0 + module Forms + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [Integer, nil] :page + # @option params [Integer, nil] :per_page + # @option params [Boolean, nil] :include_totals + # @option params [Auth0::Types::FormsRequestParametersHydrateEnum, nil] :hydrate + # + # @return [Auth0::Types::ListFormsOffsetPaginatedResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["page"] = params.fetch(:page, 0) + query_params["per_page"] = params.fetch(:per_page, 50) + query_params["include_totals"] = params.fetch(:include_totals, true) + query_params["hydrate"] = params[:hydrate] if params.key?(:hydrate) + + Auth0::Internal::OffsetItemIterator.new( + initial_page: query_params["page"], + item_field: :forms, + has_next_field: nil, + step: false + ) do |next_page| + query_params["page"] = next_page + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "forms", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListFormsOffsetPaginatedResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # @param request_options [Hash] + # @param params [Auth0::Forms::Types::CreateFormRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::CreateFormResponseContent] + def create(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "forms", + body: Auth0::Forms::Types::CreateFormRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::CreateFormResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [Auth0::Types::FormsRequestParametersHydrateEnum, nil] :hydrate + # + # @return [Auth0::Types::GetFormResponseContent] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["hydrate"] = params[:hydrate] if params.key?(:hydrate) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "forms/#{URI.encode_uri_component(params[:id].to_s)}", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetFormResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "forms/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # @param request_options [Hash] + # @param params [Auth0::Forms::Types::UpdateFormRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::UpdateFormResponseContent] + def update(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Forms::Types::UpdateFormRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "forms/#{URI.encode_uri_component(params[:id].to_s)}", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::UpdateFormResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end +end diff --git a/lib/auth0/forms/types/create_form_request_content.rb b/lib/auth0/forms/types/create_form_request_content.rb new file mode 100644 index 000000000..4b1e5cbc7 --- /dev/null +++ b/lib/auth0/forms/types/create_form_request_content.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module Auth0 + module Forms + module Types + class CreateFormRequestContent < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :messages, -> { Auth0::Types::FormMessages }, optional: true, nullable: false + + field :languages, -> { Auth0::Types::FormLanguages }, optional: true, nullable: false + + field :translations, -> { Internal::Types::Hash[String, Internal::Types::Hash[String, Object]] }, optional: true, nullable: false + + field :nodes, -> { Internal::Types::Array[Auth0::Types::FormNode] }, optional: true, nullable: false + + field :start, -> { Auth0::Types::FormStartNode }, optional: true, nullable: false + + field :ending, -> { Auth0::Types::FormEndingNode }, optional: true, nullable: false + + field :style, -> { Auth0::Types::FormStyle }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/forms/types/get_form_request_parameters.rb b/lib/auth0/forms/types/get_form_request_parameters.rb new file mode 100644 index 000000000..8f6fa855b --- /dev/null +++ b/lib/auth0/forms/types/get_form_request_parameters.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Forms + module Types + class GetFormRequestParameters < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :hydrate, -> { Auth0::Types::FormsRequestParametersHydrateEnum }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/forms/types/list_forms_request_parameters.rb b/lib/auth0/forms/types/list_forms_request_parameters.rb new file mode 100644 index 000000000..3e0d4c2a8 --- /dev/null +++ b/lib/auth0/forms/types/list_forms_request_parameters.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Forms + module Types + class ListFormsRequestParameters < Internal::Types::Model + field :page, -> { Integer }, optional: true, nullable: false + + field :per_page, -> { Integer }, optional: true, nullable: false + + field :include_totals, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :hydrate, -> { Auth0::Types::FormsRequestParametersHydrateEnum }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/forms/types/update_form_request_content.rb b/lib/auth0/forms/types/update_form_request_content.rb new file mode 100644 index 000000000..3c05e6de4 --- /dev/null +++ b/lib/auth0/forms/types/update_form_request_content.rb @@ -0,0 +1,27 @@ +# frozen_string_literal: true + +module Auth0 + module Forms + module Types + class UpdateFormRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :messages, -> { Auth0::Types::FormMessages }, optional: true, nullable: false + + field :languages, -> { Auth0::Types::FormLanguages }, optional: true, nullable: false + + field :translations, -> { Internal::Types::Hash[String, Internal::Types::Hash[String, Object]] }, optional: true, nullable: false + + field :nodes, -> { Internal::Types::Array[Auth0::Types::FormNode] }, optional: true, nullable: false + + field :start, -> { Auth0::Types::FormStartNode }, optional: true, nullable: false + + field :ending, -> { Auth0::Types::FormEndingNode }, optional: true, nullable: false + + field :style, -> { Auth0::Types::FormStyle }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/groups/client.rb b/lib/auth0/groups/client.rb new file mode 100644 index 000000000..a8b1f1fe2 --- /dev/null +++ b/lib/auth0/groups/client.rb @@ -0,0 +1,152 @@ +# frozen_string_literal: true + +module Auth0 + module Groups + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # List all groups in your tenant. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String, nil] :connection_id + # @option params [String, nil] :name + # @option params [String, nil] :external_id + # @option params [String, nil] :search + # @option params [String, nil] :fields + # @option params [Boolean, nil] :include_fields + # @option params [Boolean, nil] :include_totals + # @option params [String, nil] :from + # @option params [Integer, nil] :take + # + # @return [Auth0::Types::ListGroupsPaginatedResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["connection_id"] = params[:connection_id] if params.key?(:connection_id) + query_params["name"] = params[:name] if params.key?(:name) + query_params["external_id"] = params[:external_id] if params.key?(:external_id) + query_params["search"] = params[:search] if params.key?(:search) + query_params["fields"] = params[:fields] if params.key?(:fields) + query_params["include_fields"] = params[:include_fields] if params.key?(:include_fields) + query_params["include_totals"] = params.fetch(:include_totals, true) + query_params["from"] = params[:from] if params.key?(:from) + query_params["take"] = params.fetch(:take, 50) + + Auth0::Internal::CursorItemIterator.new( + cursor_field: :next_, + item_field: :groups, + initial_cursor: query_params["from"] + ) do |next_cursor| + query_params["from"] = next_cursor + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "groups", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListGroupsPaginatedResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # Retrieve a group by its ID. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::GetGroupResponseContent] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "groups/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetGroupResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Delete a group by its ID. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "groups/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # @return [Auth0::Members::Client] + def members + @members ||= Auth0::Groups::Members::Client.new(client: @client) + end + + # @return [Auth0::Roles::Client] + def roles + @roles ||= Auth0::Groups::Roles::Client.new(client: @client) + end + end + end +end diff --git a/lib/auth0/groups/members/client.rb b/lib/auth0/groups/members/client.rb new file mode 100644 index 000000000..75f94580c --- /dev/null +++ b/lib/auth0/groups/members/client.rb @@ -0,0 +1,69 @@ +# frozen_string_literal: true + +module Auth0 + module Groups + module Members + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # List all users that are a member of this group. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [String, nil] :fields + # @option params [Boolean, nil] :include_fields + # @option params [String, nil] :from + # @option params [Integer, nil] :take + # + # @return [Auth0::Types::GetGroupMembersResponseContent] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["fields"] = params[:fields] if params.key?(:fields) + query_params["include_fields"] = params[:include_fields] if params.key?(:include_fields) + query_params["from"] = params[:from] if params.key?(:from) + query_params["take"] = params.fetch(:take, 50) + + Auth0::Internal::CursorItemIterator.new( + cursor_field: :next_, + item_field: :members, + initial_cursor: query_params["from"] + ) do |next_cursor| + query_params["from"] = next_cursor + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "groups/#{URI.encode_uri_component(params[:id].to_s)}/members", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::GetGroupMembersResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end + end + end +end diff --git a/lib/auth0/groups/members/types/get_group_members_request_parameters.rb b/lib/auth0/groups/members/types/get_group_members_request_parameters.rb new file mode 100644 index 000000000..ca40e82b0 --- /dev/null +++ b/lib/auth0/groups/members/types/get_group_members_request_parameters.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Groups + module Members + module Types + class GetGroupMembersRequestParameters < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :fields, -> { String }, optional: true, nullable: false + + field :include_fields, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :from, -> { String }, optional: true, nullable: false + + field :take, -> { Integer }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/groups/roles/client.rb b/lib/auth0/groups/roles/client.rb new file mode 100644 index 000000000..c0b23fc79 --- /dev/null +++ b/lib/auth0/groups/roles/client.rb @@ -0,0 +1,139 @@ +# frozen_string_literal: true + +module Auth0 + module Groups + module Roles + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Lists the [roles](https://auth0.com/docs/manage-users/access-control/rbac) assigned to a group. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [String, nil] :from + # @option params [Integer, nil] :take + # + # @return [Auth0::Types::ListGroupRolesResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["from"] = params[:from] if params.key?(:from) + query_params["take"] = params.fetch(:take, 50) + + Auth0::Internal::CursorItemIterator.new( + cursor_field: :next_, + item_field: :roles, + initial_cursor: query_params["from"] + ) do |next_cursor| + query_params["from"] = next_cursor + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "groups/#{URI.encode_uri_component(params[:id].to_s)}/roles", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListGroupRolesResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # Assign one or more [roles](https://auth0.com/docs/manage-users/access-control/rbac) to a specified group. + # + # @param request_options [Hash] + # @param params [Auth0::Groups::Roles::Types::CreateGroupRolesRequestParameters] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def create(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Groups::Roles::Types::CreateGroupRolesRequestParameters.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "groups/#{URI.encode_uri_component(params[:id].to_s)}/roles", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Unassign one or more [roles](https://auth0.com/docs/manage-users/access-control/rbac) from a specified group. + # + # @param request_options [Hash] + # @param params [Auth0::Groups::Roles::Types::DeleteGroupRolesRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Groups::Roles::Types::DeleteGroupRolesRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "groups/#{URI.encode_uri_component(params[:id].to_s)}/roles", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end +end diff --git a/lib/auth0/groups/roles/types/create_group_roles_request_parameters.rb b/lib/auth0/groups/roles/types/create_group_roles_request_parameters.rb new file mode 100644 index 000000000..2df1aa936 --- /dev/null +++ b/lib/auth0/groups/roles/types/create_group_roles_request_parameters.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Groups + module Roles + module Types + class CreateGroupRolesRequestParameters < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :roles, -> { Internal::Types::Array[String] }, optional: false, nullable: false + end + end + end + end +end diff --git a/lib/auth0/groups/roles/types/delete_group_roles_request_content.rb b/lib/auth0/groups/roles/types/delete_group_roles_request_content.rb new file mode 100644 index 000000000..7ce2e5f7e --- /dev/null +++ b/lib/auth0/groups/roles/types/delete_group_roles_request_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Groups + module Roles + module Types + class DeleteGroupRolesRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :roles, -> { Internal::Types::Array[String] }, optional: false, nullable: false + end + end + end + end +end diff --git a/lib/auth0/groups/roles/types/list_group_roles_request_parameters.rb b/lib/auth0/groups/roles/types/list_group_roles_request_parameters.rb new file mode 100644 index 000000000..04c53be62 --- /dev/null +++ b/lib/auth0/groups/roles/types/list_group_roles_request_parameters.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Groups + module Roles + module Types + class ListGroupRolesRequestParameters < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :from, -> { String }, optional: true, nullable: false + + field :take, -> { Integer }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/groups/types/list_groups_request_parameters.rb b/lib/auth0/groups/types/list_groups_request_parameters.rb new file mode 100644 index 000000000..7117b795a --- /dev/null +++ b/lib/auth0/groups/types/list_groups_request_parameters.rb @@ -0,0 +1,27 @@ +# frozen_string_literal: true + +module Auth0 + module Groups + module Types + class ListGroupsRequestParameters < Internal::Types::Model + field :connection_id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :external_id, -> { String }, optional: true, nullable: false + + field :search, -> { String }, optional: true, nullable: false + + field :fields, -> { String }, optional: true, nullable: false + + field :include_fields, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :include_totals, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :from, -> { String }, optional: true, nullable: false + + field :take, -> { Integer }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/guardian/client.rb b/lib/auth0/guardian/client.rb new file mode 100644 index 000000000..b99a82c4c --- /dev/null +++ b/lib/auth0/guardian/client.rb @@ -0,0 +1,29 @@ +# frozen_string_literal: true + +module Auth0 + module Guardian + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # @return [Auth0::Enrollments::Client] + def enrollments + @enrollments ||= Auth0::Guardian::Enrollments::Client.new(client: @client) + end + + # @return [Auth0::Factors::Client] + def factors + @factors ||= Auth0::Guardian::Factors::Client.new(client: @client) + end + + # @return [Auth0::Policies::Client] + def policies + @policies ||= Auth0::Guardian::Policies::Client.new(client: @client) + end + end + end +end diff --git a/lib/auth0/guardian/enrollments/client.rb b/lib/auth0/guardian/enrollments/client.rb new file mode 100644 index 000000000..ca51ae666 --- /dev/null +++ b/lib/auth0/guardian/enrollments/client.rb @@ -0,0 +1,122 @@ +# frozen_string_literal: true + +module Auth0 + module Guardian + module Enrollments + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Create a [multi-factor authentication (MFA) enrollment + # ticket](https://auth0.com/docs/secure/multi-factor-authentication/auth0-guardian/create-custom-enrollment-tickets), + # and optionally send an email with the created ticket to a given user. Enrollment tickets can specify which + # factor users must enroll with or allow existing MFA users to enroll in additional factors. + # + # @param request_options [Hash] + # @param params [Auth0::Guardian::Enrollments::Types::CreateGuardianEnrollmentTicketRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::CreateGuardianEnrollmentTicketResponseContent] + def create_ticket(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "guardian/enrollments/ticket", + body: Auth0::Guardian::Enrollments::Types::CreateGuardianEnrollmentTicketRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::CreateGuardianEnrollmentTicketResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Retrieve details, such as status and type, for a specific multi-factor authentication enrollment registered to + # a user account. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::GetGuardianEnrollmentResponseContent] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "guardian/enrollments/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetGuardianEnrollmentResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Remove a specific multi-factor authentication (MFA) enrollment from a user's account. This allows the user to + # re-enroll with MFA. For more information, review [Reset User Multi-Factor Authentication and Recovery + # Codes](https://auth0.com/docs/secure/multi-factor-authentication/reset-user-mfa). + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "guardian/enrollments/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end +end diff --git a/lib/auth0/guardian/enrollments/types/create_guardian_enrollment_ticket_request_content.rb b/lib/auth0/guardian/enrollments/types/create_guardian_enrollment_ticket_request_content.rb new file mode 100644 index 000000000..1a9183f1e --- /dev/null +++ b/lib/auth0/guardian/enrollments/types/create_guardian_enrollment_ticket_request_content.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Guardian + module Enrollments + module Types + class CreateGuardianEnrollmentTicketRequestContent < Internal::Types::Model + field :user_id, -> { String }, optional: false, nullable: false + + field :email, -> { String }, optional: true, nullable: false + + field :send_mail, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :email_locale, -> { String }, optional: true, nullable: false + + field :factor, -> { Auth0::Types::GuardianEnrollmentFactorEnum }, optional: true, nullable: false + + field :allow_multiple_enrollments, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/guardian/factors/client.rb b/lib/auth0/guardian/factors/client.rb new file mode 100644 index 000000000..cd9726b06 --- /dev/null +++ b/lib/auth0/guardian/factors/client.rb @@ -0,0 +1,107 @@ +# frozen_string_literal: true + +module Auth0 + module Guardian + module Factors + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve details of all multi-factor + # authentication factors associated with your tenant. + # + # @param request_options [Hash] + # @param _params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Array[Auth0::Types::GuardianFactor]] + def list(request_options: {}, **_params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "guardian/factors", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Update the status (i.e., enabled or disabled) of a specific multi-factor authentication factor. + # + # @param request_options [Hash] + # @param params [Auth0::Guardian::Factors::Types::SetGuardianFactorRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [Auth0::Types::GuardianFactorNameEnum] :name + # + # @return [Auth0::Types::SetGuardianFactorResponseContent] + def set(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Guardian::Factors::Types::SetGuardianFactorRequestContent.new(params).to_h + non_body_param_names = %w[name] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PUT", + path: "guardian/factors/#{URI.encode_uri_component(params[:name].to_s)}", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::SetGuardianFactorResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # @return [Auth0::Phone::Client] + def phone + @phone ||= Auth0::Guardian::Factors::Phone::Client.new(client: @client) + end + + # @return [Auth0::PushNotification::Client] + def push_notification + @push_notification ||= Auth0::Guardian::Factors::PushNotification::Client.new(client: @client) + end + + # @return [Auth0::Sms::Client] + def sms + @sms ||= Auth0::Guardian::Factors::Sms::Client.new(client: @client) + end + + # @return [Auth0::Duo::Client] + def duo + @duo ||= Auth0::Guardian::Factors::Duo::Client.new(client: @client) + end + end + end + end +end diff --git a/lib/auth0/guardian/factors/duo/client.rb b/lib/auth0/guardian/factors/duo/client.rb new file mode 100644 index 000000000..8c462bd9f --- /dev/null +++ b/lib/auth0/guardian/factors/duo/client.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Guardian + module Factors + module Duo + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # @return [Auth0::Settings::Client] + def settings + @settings ||= Auth0::Guardian::Factors::Duo::Settings::Client.new(client: @client) + end + end + end + end + end +end diff --git a/lib/auth0/guardian/factors/duo/settings/client.rb b/lib/auth0/guardian/factors/duo/settings/client.rb new file mode 100644 index 000000000..2aaed9a7d --- /dev/null +++ b/lib/auth0/guardian/factors/duo/settings/client.rb @@ -0,0 +1,118 @@ +# frozen_string_literal: true + +module Auth0 + module Guardian + module Factors + module Duo + module Settings + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieves the DUO account and factor configuration. + # + # @param request_options [Hash] + # @param _params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::GetGuardianFactorDuoSettingsResponseContent] + def get(request_options: {}, **_params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "guardian/factors/duo/settings", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetGuardianFactorDuoSettingsResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Set the DUO account configuration and other properties specific to this factor. + # + # @param request_options [Hash] + # @param params [Auth0::Guardian::Factors::Duo::Settings::Types::SetGuardianFactorDuoSettingsRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::SetGuardianFactorDuoSettingsResponseContent] + def set(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PUT", + path: "guardian/factors/duo/settings", + body: Auth0::Guardian::Factors::Duo::Settings::Types::SetGuardianFactorDuoSettingsRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::SetGuardianFactorDuoSettingsResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # @param request_options [Hash] + # @param params [Auth0::Guardian::Factors::Duo::Settings::Types::UpdateGuardianFactorDuoSettingsRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::UpdateGuardianFactorDuoSettingsResponseContent] + def update(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "guardian/factors/duo/settings", + body: Auth0::Guardian::Factors::Duo::Settings::Types::UpdateGuardianFactorDuoSettingsRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::UpdateGuardianFactorDuoSettingsResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end + end + end + end +end diff --git a/lib/auth0/guardian/factors/duo/settings/types/set_guardian_factor_duo_settings_request_content.rb b/lib/auth0/guardian/factors/duo/settings/types/set_guardian_factor_duo_settings_request_content.rb new file mode 100644 index 000000000..4b8db9562 --- /dev/null +++ b/lib/auth0/guardian/factors/duo/settings/types/set_guardian_factor_duo_settings_request_content.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Guardian + module Factors + module Duo + module Settings + module Types + class SetGuardianFactorDuoSettingsRequestContent < Internal::Types::Model + field :ikey, -> { String }, optional: true, nullable: false + + field :skey, -> { String }, optional: true, nullable: false + + field :host, -> { String }, optional: true, nullable: false + end + end + end + end + end + end +end diff --git a/lib/auth0/guardian/factors/duo/settings/types/update_guardian_factor_duo_settings_request_content.rb b/lib/auth0/guardian/factors/duo/settings/types/update_guardian_factor_duo_settings_request_content.rb new file mode 100644 index 000000000..f5f632455 --- /dev/null +++ b/lib/auth0/guardian/factors/duo/settings/types/update_guardian_factor_duo_settings_request_content.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Guardian + module Factors + module Duo + module Settings + module Types + class UpdateGuardianFactorDuoSettingsRequestContent < Internal::Types::Model + field :ikey, -> { String }, optional: true, nullable: false + + field :skey, -> { String }, optional: true, nullable: false + + field :host, -> { String }, optional: true, nullable: false + end + end + end + end + end + end +end diff --git a/lib/auth0/guardian/factors/phone/client.rb b/lib/auth0/guardian/factors/phone/client.rb new file mode 100644 index 000000000..5ff2f8cd5 --- /dev/null +++ b/lib/auth0/guardian/factors/phone/client.rb @@ -0,0 +1,291 @@ +# frozen_string_literal: true + +module Auth0 + module Guardian + module Factors + module Phone + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve list of phone-type + # MFA factors (i.e., sms and voice) that are enabled for your tenant. + # + # @param request_options [Hash] + # @param _params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::GetGuardianFactorPhoneMessageTypesResponseContent] + def get_message_types(request_options: {}, **_params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "guardian/factors/phone/message-types", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetGuardianFactorPhoneMessageTypesResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Replace the list of phone-type + # MFA factors (i.e., sms and voice) that are enabled for your tenant. + # + # @param request_options [Hash] + # @param params [Auth0::Guardian::Factors::Phone::Types::SetGuardianFactorPhoneMessageTypesRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::SetGuardianFactorPhoneMessageTypesResponseContent] + def set_message_types(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PUT", + path: "guardian/factors/phone/message-types", + body: Auth0::Guardian::Factors::Phone::Types::SetGuardianFactorPhoneMessageTypesRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::SetGuardianFactorPhoneMessageTypesResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Retrieve configuration details for a Twilio phone provider that has been set up in your tenant. To learn + # more, review Configure + # SMS and Voice Notifications for MFA. + # + # @param request_options [Hash] + # @param _params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::GetGuardianFactorsProviderPhoneTwilioResponseContent] + def get_twilio_provider(request_options: {}, **_params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "guardian/factors/phone/providers/twilio", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetGuardianFactorsProviderPhoneTwilioResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Update the configuration of a Twilio phone provider that has been set up in your tenant. To learn more, + # review Configure + # SMS and Voice Notifications for MFA. + # + # @param request_options [Hash] + # @param params [Auth0::Guardian::Factors::Phone::Types::SetGuardianFactorsProviderPhoneTwilioRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::SetGuardianFactorsProviderPhoneTwilioResponseContent] + def set_twilio_provider(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PUT", + path: "guardian/factors/phone/providers/twilio", + body: Auth0::Guardian::Factors::Phone::Types::SetGuardianFactorsProviderPhoneTwilioRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::SetGuardianFactorsProviderPhoneTwilioResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Retrieve details of the multi-factor authentication phone provider configured for your tenant. + # + # @param request_options [Hash] + # @param _params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::GetGuardianFactorsProviderPhoneResponseContent] + def get_selected_provider(request_options: {}, **_params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "guardian/factors/phone/selected-provider", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetGuardianFactorsProviderPhoneResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # @param request_options [Hash] + # @param params [Auth0::Guardian::Factors::Phone::Types::SetGuardianFactorsProviderPhoneRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::SetGuardianFactorsProviderPhoneResponseContent] + def set_provider(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PUT", + path: "guardian/factors/phone/selected-provider", + body: Auth0::Guardian::Factors::Phone::Types::SetGuardianFactorsProviderPhoneRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::SetGuardianFactorsProviderPhoneResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Retrieve details of the multi-factor authentication enrollment and verification templates for phone-type + # factors available in your tenant. + # + # @param request_options [Hash] + # @param _params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::GetGuardianFactorPhoneTemplatesResponseContent] + def get_templates(request_options: {}, **_params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "guardian/factors/phone/templates", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetGuardianFactorPhoneTemplatesResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Customize the messages sent to complete phone enrollment and verification (subscription required). + # + # @param request_options [Hash] + # @param params [Auth0::Guardian::Factors::Phone::Types::SetGuardianFactorPhoneTemplatesRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::SetGuardianFactorPhoneTemplatesResponseContent] + def set_templates(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PUT", + path: "guardian/factors/phone/templates", + body: Auth0::Guardian::Factors::Phone::Types::SetGuardianFactorPhoneTemplatesRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::SetGuardianFactorPhoneTemplatesResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end + end + end +end diff --git a/lib/auth0/guardian/factors/phone/types/set_guardian_factor_phone_message_types_request_content.rb b/lib/auth0/guardian/factors/phone/types/set_guardian_factor_phone_message_types_request_content.rb new file mode 100644 index 000000000..2fcf8619e --- /dev/null +++ b/lib/auth0/guardian/factors/phone/types/set_guardian_factor_phone_message_types_request_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Guardian + module Factors + module Phone + module Types + class SetGuardianFactorPhoneMessageTypesRequestContent < Internal::Types::Model + field :message_types, -> { Internal::Types::Array[Auth0::Types::GuardianFactorPhoneFactorMessageTypeEnum] }, optional: false, nullable: false + end + end + end + end + end +end diff --git a/lib/auth0/guardian/factors/phone/types/set_guardian_factor_phone_templates_request_content.rb b/lib/auth0/guardian/factors/phone/types/set_guardian_factor_phone_templates_request_content.rb new file mode 100644 index 000000000..95f07938e --- /dev/null +++ b/lib/auth0/guardian/factors/phone/types/set_guardian_factor_phone_templates_request_content.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Guardian + module Factors + module Phone + module Types + class SetGuardianFactorPhoneTemplatesRequestContent < Internal::Types::Model + field :enrollment_message, -> { String }, optional: false, nullable: false + + field :verification_message, -> { String }, optional: false, nullable: false + end + end + end + end + end +end diff --git a/lib/auth0/guardian/factors/phone/types/set_guardian_factors_provider_phone_request_content.rb b/lib/auth0/guardian/factors/phone/types/set_guardian_factors_provider_phone_request_content.rb new file mode 100644 index 000000000..c4f5976bd --- /dev/null +++ b/lib/auth0/guardian/factors/phone/types/set_guardian_factors_provider_phone_request_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Guardian + module Factors + module Phone + module Types + class SetGuardianFactorsProviderPhoneRequestContent < Internal::Types::Model + field :provider, -> { Auth0::Types::GuardianFactorsProviderSmsProviderEnum }, optional: false, nullable: false + end + end + end + end + end +end diff --git a/lib/auth0/guardian/factors/phone/types/set_guardian_factors_provider_phone_twilio_request_content.rb b/lib/auth0/guardian/factors/phone/types/set_guardian_factors_provider_phone_twilio_request_content.rb new file mode 100644 index 000000000..33abebad5 --- /dev/null +++ b/lib/auth0/guardian/factors/phone/types/set_guardian_factors_provider_phone_twilio_request_content.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Guardian + module Factors + module Phone + module Types + class SetGuardianFactorsProviderPhoneTwilioRequestContent < Internal::Types::Model + field :from, -> { String }, optional: true, nullable: false + + field :messaging_service_sid, -> { String }, optional: true, nullable: false + + field :auth_token, -> { String }, optional: true, nullable: false + + field :sid, -> { String }, optional: true, nullable: false + end + end + end + end + end +end diff --git a/lib/auth0/guardian/factors/push_notification/client.rb b/lib/auth0/guardian/factors/push_notification/client.rb new file mode 100644 index 000000000..72ef229f8 --- /dev/null +++ b/lib/auth0/guardian/factors/push_notification/client.rb @@ -0,0 +1,434 @@ +# frozen_string_literal: true + +module Auth0 + module Guardian + module Factors + module PushNotification + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve configuration details for the multi-factor authentication APNS provider associated with your + # tenant. + # + # @param request_options [Hash] + # @param _params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::GetGuardianFactorsProviderApnsResponseContent] + def get_apns_provider(request_options: {}, **_params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "guardian/factors/push-notification/providers/apns", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetGuardianFactorsProviderApnsResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Overwrite all configuration details of the multi-factor authentication APNS provider associated with your + # tenant. + # + # @param request_options [Hash] + # @param params [Auth0::Guardian::Factors::PushNotification::Types::SetGuardianFactorsProviderPushNotificationApnsRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::SetGuardianFactorsProviderPushNotificationApnsResponseContent] + def set_apns_provider(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PUT", + path: "guardian/factors/push-notification/providers/apns", + body: Auth0::Guardian::Factors::PushNotification::Types::SetGuardianFactorsProviderPushNotificationApnsRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::SetGuardianFactorsProviderPushNotificationApnsResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Modify configuration details of the multi-factor authentication APNS provider associated with your tenant. + # + # @param request_options [Hash] + # @param params [Auth0::Guardian::Factors::PushNotification::Types::UpdateGuardianFactorsProviderPushNotificationApnsRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::UpdateGuardianFactorsProviderPushNotificationApnsResponseContent] + def update_apns_provider(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "guardian/factors/push-notification/providers/apns", + body: Auth0::Guardian::Factors::PushNotification::Types::UpdateGuardianFactorsProviderPushNotificationApnsRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::UpdateGuardianFactorsProviderPushNotificationApnsResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Overwrite all configuration details of the multi-factor authentication FCM provider associated with your + # tenant. + # + # @param request_options [Hash] + # @param params [Auth0::Guardian::Factors::PushNotification::Types::SetGuardianFactorsProviderPushNotificationFcmRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Hash[String, Object]] + def set_fcm_provider(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PUT", + path: "guardian/factors/push-notification/providers/fcm", + body: Auth0::Guardian::Factors::PushNotification::Types::SetGuardianFactorsProviderPushNotificationFcmRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::SetGuardianFactorsProviderPushNotificationFcmResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Modify configuration details of the multi-factor authentication FCM provider associated with your tenant. + # + # @param request_options [Hash] + # @param params [Auth0::Guardian::Factors::PushNotification::Types::UpdateGuardianFactorsProviderPushNotificationFcmRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Hash[String, Object]] + def update_fcm_provider(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "guardian/factors/push-notification/providers/fcm", + body: Auth0::Guardian::Factors::PushNotification::Types::UpdateGuardianFactorsProviderPushNotificationFcmRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::UpdateGuardianFactorsProviderPushNotificationFcmResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Overwrite all configuration details of the multi-factor authentication FCMV1 provider associated with your + # tenant. + # + # @param request_options [Hash] + # @param params [Auth0::Guardian::Factors::PushNotification::Types::SetGuardianFactorsProviderPushNotificationFcmv1RequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Hash[String, Object]] + def set_fcmv1provider(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PUT", + path: "guardian/factors/push-notification/providers/fcmv1", + body: Auth0::Guardian::Factors::PushNotification::Types::SetGuardianFactorsProviderPushNotificationFcmv1RequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::SetGuardianFactorsProviderPushNotificationFcmv1ResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Modify configuration details of the multi-factor authentication FCMV1 provider associated with your tenant. + # + # @param request_options [Hash] + # @param params [Auth0::Guardian::Factors::PushNotification::Types::UpdateGuardianFactorsProviderPushNotificationFcmv1RequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Hash[String, Object]] + def update_fcmv1provider(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "guardian/factors/push-notification/providers/fcmv1", + body: Auth0::Guardian::Factors::PushNotification::Types::UpdateGuardianFactorsProviderPushNotificationFcmv1RequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::UpdateGuardianFactorsProviderPushNotificationFcmv1ResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Retrieve configuration details for an AWS SNS push notification provider that has been enabled for MFA. To + # learn more, review [Configure Push Notifications for + # MFA](https://auth0.com/docs/secure/multi-factor-authentication/multi-factor-authentication-factors/configure-push-notifications-for-mfa). + # + # @param request_options [Hash] + # @param _params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::GetGuardianFactorsProviderSnsResponseContent] + def get_sns_provider(request_options: {}, **_params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "guardian/factors/push-notification/providers/sns", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetGuardianFactorsProviderSnsResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Configure the [AWS SNS push notification provider + # configuration](https://auth0.com/docs/multifactor-authentication/developer/sns-configuration) (subscription + # required). + # + # @param request_options [Hash] + # @param params [Auth0::Guardian::Factors::PushNotification::Types::SetGuardianFactorsProviderPushNotificationSnsRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::SetGuardianFactorsProviderPushNotificationSnsResponseContent] + def set_sns_provider(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PUT", + path: "guardian/factors/push-notification/providers/sns", + body: Auth0::Guardian::Factors::PushNotification::Types::SetGuardianFactorsProviderPushNotificationSnsRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::SetGuardianFactorsProviderPushNotificationSnsResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Configure the [AWS SNS push notification provider + # configuration](https://auth0.com/docs/multifactor-authentication/developer/sns-configuration) (subscription + # required). + # + # @param request_options [Hash] + # @param params [Auth0::Guardian::Factors::PushNotification::Types::UpdateGuardianFactorsProviderPushNotificationSnsRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::UpdateGuardianFactorsProviderPushNotificationSnsResponseContent] + def update_sns_provider(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "guardian/factors/push-notification/providers/sns", + body: Auth0::Guardian::Factors::PushNotification::Types::UpdateGuardianFactorsProviderPushNotificationSnsRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::UpdateGuardianFactorsProviderPushNotificationSnsResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Modify the push notification provider configured for your tenant. For more information, review Configure + # Push Notifications for MFA. + # + # @param request_options [Hash] + # @param _params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::GetGuardianFactorsProviderPushNotificationResponseContent] + def get_selected_provider(request_options: {}, **_params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "guardian/factors/push-notification/selected-provider", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetGuardianFactorsProviderPushNotificationResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Modify the push notification provider configured for your tenant. For more information, review Configure + # Push Notifications for MFA. + # + # @param request_options [Hash] + # @param params [Auth0::Guardian::Factors::PushNotification::Types::SetGuardianFactorsProviderPushNotificationRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::SetGuardianFactorsProviderPushNotificationResponseContent] + def set_provider(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PUT", + path: "guardian/factors/push-notification/selected-provider", + body: Auth0::Guardian::Factors::PushNotification::Types::SetGuardianFactorsProviderPushNotificationRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::SetGuardianFactorsProviderPushNotificationResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end + end + end +end diff --git a/lib/auth0/guardian/factors/push_notification/types/set_guardian_factors_provider_push_notification_apns_request_content.rb b/lib/auth0/guardian/factors/push_notification/types/set_guardian_factors_provider_push_notification_apns_request_content.rb new file mode 100644 index 000000000..a1629a2b2 --- /dev/null +++ b/lib/auth0/guardian/factors/push_notification/types/set_guardian_factors_provider_push_notification_apns_request_content.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Guardian + module Factors + module PushNotification + module Types + class SetGuardianFactorsProviderPushNotificationApnsRequestContent < Internal::Types::Model + field :sandbox, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :bundle_id, -> { String }, optional: true, nullable: false + + field :p12, -> { String }, optional: true, nullable: false + end + end + end + end + end +end diff --git a/lib/auth0/guardian/factors/push_notification/types/set_guardian_factors_provider_push_notification_fcm_request_content.rb b/lib/auth0/guardian/factors/push_notification/types/set_guardian_factors_provider_push_notification_fcm_request_content.rb new file mode 100644 index 000000000..07749adbe --- /dev/null +++ b/lib/auth0/guardian/factors/push_notification/types/set_guardian_factors_provider_push_notification_fcm_request_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Guardian + module Factors + module PushNotification + module Types + class SetGuardianFactorsProviderPushNotificationFcmRequestContent < Internal::Types::Model + field :server_key, -> { String }, optional: true, nullable: false + end + end + end + end + end +end diff --git a/lib/auth0/guardian/factors/push_notification/types/set_guardian_factors_provider_push_notification_fcmv1request_content.rb b/lib/auth0/guardian/factors/push_notification/types/set_guardian_factors_provider_push_notification_fcmv1request_content.rb new file mode 100644 index 000000000..a5a33a82c --- /dev/null +++ b/lib/auth0/guardian/factors/push_notification/types/set_guardian_factors_provider_push_notification_fcmv1request_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Guardian + module Factors + module PushNotification + module Types + class SetGuardianFactorsProviderPushNotificationFcmv1RequestContent < Internal::Types::Model + field :server_credentials, -> { String }, optional: true, nullable: false + end + end + end + end + end +end diff --git a/lib/auth0/guardian/factors/push_notification/types/set_guardian_factors_provider_push_notification_request_content.rb b/lib/auth0/guardian/factors/push_notification/types/set_guardian_factors_provider_push_notification_request_content.rb new file mode 100644 index 000000000..011af65e8 --- /dev/null +++ b/lib/auth0/guardian/factors/push_notification/types/set_guardian_factors_provider_push_notification_request_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Guardian + module Factors + module PushNotification + module Types + class SetGuardianFactorsProviderPushNotificationRequestContent < Internal::Types::Model + field :provider, -> { Auth0::Types::GuardianFactorsProviderPushNotificationProviderDataEnum }, optional: false, nullable: false + end + end + end + end + end +end diff --git a/lib/auth0/guardian/factors/push_notification/types/set_guardian_factors_provider_push_notification_sns_request_content.rb b/lib/auth0/guardian/factors/push_notification/types/set_guardian_factors_provider_push_notification_sns_request_content.rb new file mode 100644 index 000000000..a50f6d0cf --- /dev/null +++ b/lib/auth0/guardian/factors/push_notification/types/set_guardian_factors_provider_push_notification_sns_request_content.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Guardian + module Factors + module PushNotification + module Types + class SetGuardianFactorsProviderPushNotificationSnsRequestContent < Internal::Types::Model + field :aws_access_key_id, -> { String }, optional: true, nullable: false + + field :aws_secret_access_key, -> { String }, optional: true, nullable: false + + field :aws_region, -> { String }, optional: true, nullable: false + + field :sns_apns_platform_application_arn, -> { String }, optional: true, nullable: false + + field :sns_gcm_platform_application_arn, -> { String }, optional: true, nullable: false + end + end + end + end + end +end diff --git a/lib/auth0/guardian/factors/push_notification/types/update_guardian_factors_provider_push_notification_apns_request_content.rb b/lib/auth0/guardian/factors/push_notification/types/update_guardian_factors_provider_push_notification_apns_request_content.rb new file mode 100644 index 000000000..fd37400ad --- /dev/null +++ b/lib/auth0/guardian/factors/push_notification/types/update_guardian_factors_provider_push_notification_apns_request_content.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Guardian + module Factors + module PushNotification + module Types + class UpdateGuardianFactorsProviderPushNotificationApnsRequestContent < Internal::Types::Model + field :sandbox, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :bundle_id, -> { String }, optional: true, nullable: false + + field :p12, -> { String }, optional: true, nullable: false + end + end + end + end + end +end diff --git a/lib/auth0/guardian/factors/push_notification/types/update_guardian_factors_provider_push_notification_fcm_request_content.rb b/lib/auth0/guardian/factors/push_notification/types/update_guardian_factors_provider_push_notification_fcm_request_content.rb new file mode 100644 index 000000000..c7ea600f2 --- /dev/null +++ b/lib/auth0/guardian/factors/push_notification/types/update_guardian_factors_provider_push_notification_fcm_request_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Guardian + module Factors + module PushNotification + module Types + class UpdateGuardianFactorsProviderPushNotificationFcmRequestContent < Internal::Types::Model + field :server_key, -> { String }, optional: true, nullable: false + end + end + end + end + end +end diff --git a/lib/auth0/guardian/factors/push_notification/types/update_guardian_factors_provider_push_notification_fcmv1request_content.rb b/lib/auth0/guardian/factors/push_notification/types/update_guardian_factors_provider_push_notification_fcmv1request_content.rb new file mode 100644 index 000000000..74d2d24be --- /dev/null +++ b/lib/auth0/guardian/factors/push_notification/types/update_guardian_factors_provider_push_notification_fcmv1request_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Guardian + module Factors + module PushNotification + module Types + class UpdateGuardianFactorsProviderPushNotificationFcmv1RequestContent < Internal::Types::Model + field :server_credentials, -> { String }, optional: true, nullable: false + end + end + end + end + end +end diff --git a/lib/auth0/guardian/factors/push_notification/types/update_guardian_factors_provider_push_notification_sns_request_content.rb b/lib/auth0/guardian/factors/push_notification/types/update_guardian_factors_provider_push_notification_sns_request_content.rb new file mode 100644 index 000000000..23a672d96 --- /dev/null +++ b/lib/auth0/guardian/factors/push_notification/types/update_guardian_factors_provider_push_notification_sns_request_content.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Guardian + module Factors + module PushNotification + module Types + class UpdateGuardianFactorsProviderPushNotificationSnsRequestContent < Internal::Types::Model + field :aws_access_key_id, -> { String }, optional: true, nullable: false + + field :aws_secret_access_key, -> { String }, optional: true, nullable: false + + field :aws_region, -> { String }, optional: true, nullable: false + + field :sns_apns_platform_application_arn, -> { String }, optional: true, nullable: false + + field :sns_gcm_platform_application_arn, -> { String }, optional: true, nullable: false + end + end + end + end + end +end diff --git a/lib/auth0/guardian/factors/sms/client.rb b/lib/auth0/guardian/factors/sms/client.rb new file mode 100644 index 000000000..77d233d66 --- /dev/null +++ b/lib/auth0/guardian/factors/sms/client.rb @@ -0,0 +1,242 @@ +# frozen_string_literal: true + +module Auth0 + module Guardian + module Factors + module Sms + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve the Twilio SMS + # provider configuration (subscription required). + # + # A new endpoint is available to retrieve the Twilio configuration related to phone factors (phone Twilio configuration). It + # has the same payload as this one. Please use it instead. + # + # @param request_options [Hash] + # @param _params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::GetGuardianFactorsProviderSmsTwilioResponseContent] + def get_twilio_provider(request_options: {}, **_params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "guardian/factors/sms/providers/twilio", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetGuardianFactorsProviderSmsTwilioResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # This endpoint has been deprecated. To complete this action, use the Update Twilio phone configuration + # endpoint. + # + # Previous functionality: Update the Twilio SMS provider configuration. + # + # @param request_options [Hash] + # @param params [Auth0::Guardian::Factors::Sms::Types::SetGuardianFactorsProviderSmsTwilioRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::SetGuardianFactorsProviderSmsTwilioResponseContent] + def set_twilio_provider(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PUT", + path: "guardian/factors/sms/providers/twilio", + body: Auth0::Guardian::Factors::Sms::Types::SetGuardianFactorsProviderSmsTwilioRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::SetGuardianFactorsProviderSmsTwilioResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # This endpoint has been deprecated. To complete this action, use the Retrieve phone + # configuration endpoint instead. + # + # Previous functionality: Retrieve details for the multi-factor authentication SMS provider configured + # for your tenant. + # + # @param request_options [Hash] + # @param _params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::GetGuardianFactorsProviderSmsResponseContent] + def get_selected_provider(request_options: {}, **_params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "guardian/factors/sms/selected-provider", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetGuardianFactorsProviderSmsResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # This endpoint has been deprecated. To complete this action, use the Update phone configuration + # endpoint instead. + # + # Previous functionality: Update the multi-factor authentication SMS provider configuration in your + # tenant. + # + # @param request_options [Hash] + # @param params [Auth0::Guardian::Factors::Sms::Types::SetGuardianFactorsProviderSmsRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::SetGuardianFactorsProviderSmsResponseContent] + def set_provider(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PUT", + path: "guardian/factors/sms/selected-provider", + body: Auth0::Guardian::Factors::Sms::Types::SetGuardianFactorsProviderSmsRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::SetGuardianFactorsProviderSmsResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # This endpoint has been deprecated. To complete this action, use the Retrieve enrollment and + # verification phone templates endpoint instead. + # + # Previous function: Retrieve details of SMS enrollment and verification templates configured for your + # tenant. + # + # @param request_options [Hash] + # @param _params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::GetGuardianFactorSmsTemplatesResponseContent, nil] + def get_templates(request_options: {}, **_params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "guardian/factors/sms/templates", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # This endpoint has been deprecated. To complete this action, use the Update enrollment and + # verification phone templates endpoint instead. + # + # Previous functionality: Customize the messages sent to complete SMS enrollment and verification. + # + # @param request_options [Hash] + # @param params [Auth0::Guardian::Factors::Sms::Types::SetGuardianFactorSmsTemplatesRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::SetGuardianFactorSmsTemplatesResponseContent] + def set_templates(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PUT", + path: "guardian/factors/sms/templates", + body: Auth0::Guardian::Factors::Sms::Types::SetGuardianFactorSmsTemplatesRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::SetGuardianFactorSmsTemplatesResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end + end + end +end diff --git a/lib/auth0/guardian/factors/sms/types/set_guardian_factor_sms_templates_request_content.rb b/lib/auth0/guardian/factors/sms/types/set_guardian_factor_sms_templates_request_content.rb new file mode 100644 index 000000000..9c7bc730f --- /dev/null +++ b/lib/auth0/guardian/factors/sms/types/set_guardian_factor_sms_templates_request_content.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Guardian + module Factors + module Sms + module Types + class SetGuardianFactorSmsTemplatesRequestContent < Internal::Types::Model + field :enrollment_message, -> { String }, optional: false, nullable: false + + field :verification_message, -> { String }, optional: false, nullable: false + end + end + end + end + end +end diff --git a/lib/auth0/guardian/factors/sms/types/set_guardian_factors_provider_sms_request_content.rb b/lib/auth0/guardian/factors/sms/types/set_guardian_factors_provider_sms_request_content.rb new file mode 100644 index 000000000..1f42157f0 --- /dev/null +++ b/lib/auth0/guardian/factors/sms/types/set_guardian_factors_provider_sms_request_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Guardian + module Factors + module Sms + module Types + class SetGuardianFactorsProviderSmsRequestContent < Internal::Types::Model + field :provider, -> { Auth0::Types::GuardianFactorsProviderSmsProviderEnum }, optional: false, nullable: false + end + end + end + end + end +end diff --git a/lib/auth0/guardian/factors/sms/types/set_guardian_factors_provider_sms_twilio_request_content.rb b/lib/auth0/guardian/factors/sms/types/set_guardian_factors_provider_sms_twilio_request_content.rb new file mode 100644 index 000000000..c07b99c6b --- /dev/null +++ b/lib/auth0/guardian/factors/sms/types/set_guardian_factors_provider_sms_twilio_request_content.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Guardian + module Factors + module Sms + module Types + class SetGuardianFactorsProviderSmsTwilioRequestContent < Internal::Types::Model + field :from, -> { String }, optional: true, nullable: false + + field :messaging_service_sid, -> { String }, optional: true, nullable: false + + field :auth_token, -> { String }, optional: true, nullable: false + + field :sid, -> { String }, optional: true, nullable: false + end + end + end + end + end +end diff --git a/lib/auth0/guardian/factors/types/set_guardian_factor_request_content.rb b/lib/auth0/guardian/factors/types/set_guardian_factor_request_content.rb new file mode 100644 index 000000000..abeadeb20 --- /dev/null +++ b/lib/auth0/guardian/factors/types/set_guardian_factor_request_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Guardian + module Factors + module Types + class SetGuardianFactorRequestContent < Internal::Types::Model + field :name, -> { Auth0::Types::GuardianFactorNameEnum }, optional: false, nullable: false + + field :enabled, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end + end + end +end diff --git a/lib/auth0/guardian/policies/client.rb b/lib/auth0/guardian/policies/client.rb new file mode 100644 index 000000000..f2f9bc721 --- /dev/null +++ b/lib/auth0/guardian/policies/client.rb @@ -0,0 +1,102 @@ +# frozen_string_literal: true + +module Auth0 + module Guardian + module Policies + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve the [multi-factor authentication (MFA) + # policies](https://auth0.com/docs/secure/multi-factor-authentication/enable-mfa) configured for your tenant. + # + # The following policies are supported: + # + # - `all-applications` policy prompts with MFA for all logins. + # - `confidence-score` policy prompts with MFA only for low confidence logins. + # + # **Note**: The `confidence-score` policy is part of the [Adaptive MFA + # feature](https://auth0.com/docs/secure/multi-factor-authentication/adaptive-mfa). Adaptive MFA requires an + # add-on for the Enterprise plan; review [Auth0 Pricing](https://auth0.com/pricing) for more details. + # + # @param request_options [Hash] + # @param _params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Array[Auth0::Types::MfaPolicyEnum]] + def list(request_options: {}, **_params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "guardian/policies", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::ListGuardianPoliciesResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Set [multi-factor authentication (MFA) + # policies](https://auth0.com/docs/secure/multi-factor-authentication/enable-mfa) for your tenant. + # + # The following policies are supported: + # + # - `all-applications` policy prompts with MFA for all logins. + # - `confidence-score` policy prompts with MFA only for low confidence logins. + # + # **Note**: The `confidence-score` policy is part of the [Adaptive MFA + # feature](https://auth0.com/docs/secure/multi-factor-authentication/adaptive-mfa). Adaptive MFA requires an + # add-on for the Enterprise plan; review [Auth0 Pricing](https://auth0.com/pricing) for more details. + # + # @param request_options [Hash] + # @param params [Auth0::Types::SetGuardianPoliciesRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Array[Auth0::Types::MfaPolicyEnum]] + def set(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PUT", + path: "guardian/policies", + body: params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::SetGuardianPoliciesResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end + end +end diff --git a/lib/auth0/hooks/client.rb b/lib/auth0/hooks/client.rb new file mode 100644 index 000000000..bed74dccd --- /dev/null +++ b/lib/auth0/hooks/client.rb @@ -0,0 +1,221 @@ +# frozen_string_literal: true + +module Auth0 + module Hooks + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve all [hooks](https://auth0.com/docs/hooks). Accepts a list of fields to include or exclude in the + # result. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [Integer, nil] :page + # @option params [Integer, nil] :per_page + # @option params [Boolean, nil] :include_totals + # @option params [Boolean, nil] :enabled + # @option params [String, nil] :fields + # @option params [Auth0::Types::HookTriggerIDEnum, nil] :trigger_id + # + # @return [Auth0::Types::ListHooksOffsetPaginatedResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["page"] = params.fetch(:page, 0) + query_params["per_page"] = params.fetch(:per_page, 50) + query_params["include_totals"] = params.fetch(:include_totals, true) + query_params["enabled"] = params[:enabled] if params.key?(:enabled) + query_params["fields"] = params[:fields] if params.key?(:fields) + query_params["triggerId"] = params[:trigger_id] if params.key?(:trigger_id) + + Auth0::Internal::OffsetItemIterator.new( + initial_page: query_params["page"], + item_field: :hooks, + has_next_field: nil, + step: false + ) do |next_page| + query_params["page"] = next_page + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "hooks", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListHooksOffsetPaginatedResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # Create a new hook. + # + # @param request_options [Hash] + # @param params [Auth0::Hooks::Types::CreateHookRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::CreateHookResponseContent] + def create(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "hooks", + body: Auth0::Hooks::Types::CreateHookRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::CreateHookResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Retrieve [a hook](https://auth0.com/docs/hooks) by its ID. Accepts a list of fields to include in the result. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [String, nil] :fields + # + # @return [Auth0::Types::GetHookResponseContent] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["fields"] = params[:fields] if params.key?(:fields) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "hooks/#{URI.encode_uri_component(params[:id].to_s)}", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetHookResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Delete a hook. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "hooks/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Update an existing hook. + # + # @param request_options [Hash] + # @param params [Auth0::Hooks::Types::UpdateHookRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::UpdateHookResponseContent] + def update(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Hooks::Types::UpdateHookRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "hooks/#{URI.encode_uri_component(params[:id].to_s)}", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::UpdateHookResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # @return [Auth0::Secrets::Client] + def secrets + @secrets ||= Auth0::Hooks::Secrets::Client.new(client: @client) + end + end + end +end diff --git a/lib/auth0/hooks/secrets/client.rb b/lib/auth0/hooks/secrets/client.rb new file mode 100644 index 000000000..fc6b88969 --- /dev/null +++ b/lib/auth0/hooks/secrets/client.rb @@ -0,0 +1,151 @@ +# frozen_string_literal: true + +module Auth0 + module Hooks + module Secrets + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve a hook's secrets by the ID of the hook. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Hash[String, String]] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "hooks/#{URI.encode_uri_component(params[:id].to_s)}/secrets", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetHookSecretResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Add one or more secrets to an existing hook. Accepts an object of key-value pairs, where the key is the name + # of the secret. A hook can have a maximum of 20 secrets. + # + # @param request_options [Hash] + # @param params [Auth0::Types::CreateHookSecretRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def create(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "hooks/#{URI.encode_uri_component(params[:id].to_s)}/secrets", + body: params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Delete one or more existing secrets for a given hook. Accepts an array of secret names to delete. + # + # @param request_options [Hash] + # @param params [Auth0::Types::DeleteHookSecretRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "hooks/#{URI.encode_uri_component(params[:id].to_s)}/secrets", + body: params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Update one or more existing secrets for an existing hook. Accepts an object of key-value pairs, where the key + # is the name of the existing secret. + # + # @param request_options [Hash] + # @param params [Auth0::Types::UpdateHookSecretRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def update(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "hooks/#{URI.encode_uri_component(params[:id].to_s)}/secrets", + body: params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end +end diff --git a/lib/auth0/hooks/types/create_hook_request_content.rb b/lib/auth0/hooks/types/create_hook_request_content.rb new file mode 100644 index 000000000..7074123c7 --- /dev/null +++ b/lib/auth0/hooks/types/create_hook_request_content.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Hooks + module Types + class CreateHookRequestContent < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :script, -> { String }, optional: false, nullable: false + + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :dependencies, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :trigger_id, -> { Auth0::Types::HookTriggerIDEnum }, optional: false, nullable: false, api_name: "triggerId" + end + end + end +end diff --git a/lib/auth0/hooks/types/get_hook_request_parameters.rb b/lib/auth0/hooks/types/get_hook_request_parameters.rb new file mode 100644 index 000000000..0f957fb37 --- /dev/null +++ b/lib/auth0/hooks/types/get_hook_request_parameters.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Hooks + module Types + class GetHookRequestParameters < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :fields, -> { String }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/hooks/types/list_hooks_request_parameters.rb b/lib/auth0/hooks/types/list_hooks_request_parameters.rb new file mode 100644 index 000000000..47697dc11 --- /dev/null +++ b/lib/auth0/hooks/types/list_hooks_request_parameters.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Hooks + module Types + class ListHooksRequestParameters < Internal::Types::Model + field :page, -> { Integer }, optional: true, nullable: false + + field :per_page, -> { Integer }, optional: true, nullable: false + + field :include_totals, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :fields, -> { String }, optional: true, nullable: false + + field :trigger_id, -> { Auth0::Types::HookTriggerIDEnum }, optional: true, nullable: false, api_name: "triggerId" + end + end + end +end diff --git a/lib/auth0/hooks/types/update_hook_request_content.rb b/lib/auth0/hooks/types/update_hook_request_content.rb new file mode 100644 index 000000000..e0c0112d9 --- /dev/null +++ b/lib/auth0/hooks/types/update_hook_request_content.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Hooks + module Types + class UpdateHookRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :script, -> { String }, optional: true, nullable: false + + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :dependencies, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/internal/errors/constraint_error.rb b/lib/auth0/internal/errors/constraint_error.rb new file mode 100644 index 000000000..de2c018e0 --- /dev/null +++ b/lib/auth0/internal/errors/constraint_error.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Internal + module Errors + class ConstraintError < StandardError + end + end + end +end diff --git a/lib/auth0/internal/errors/type_error.rb b/lib/auth0/internal/errors/type_error.rb new file mode 100644 index 000000000..28faa33fd --- /dev/null +++ b/lib/auth0/internal/errors/type_error.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Internal + module Errors + class TypeError < StandardError + end + end + end +end diff --git a/lib/auth0/internal/http/base_request.rb b/lib/auth0/internal/http/base_request.rb new file mode 100644 index 000000000..c0c1665ee --- /dev/null +++ b/lib/auth0/internal/http/base_request.rb @@ -0,0 +1,51 @@ +# frozen_string_literal: true + +module Auth0 + module Internal + module Http + # @api private + class BaseRequest + attr_reader :base_url, :path, :method, :headers, :query, :request_options + + # @param base_url [String] The base URL for the request + # @param path [String] The path for the request + # @param method [String] The HTTP method for the request (:get, :post, etc.) + # @param headers [Hash] Additional headers for the request (optional) + # @param query [Hash] Query parameters for the request (optional) + # @param request_options [Auth0::RequestOptions, Hash{Symbol=>Object}, nil] + def initialize(base_url:, path:, method:, headers: {}, query: {}, request_options: {}) + @base_url = base_url + @path = path + @method = method + @headers = headers + @query = query + @request_options = request_options + end + + # @return [Hash] The query parameters merged with additional query parameters from request options. + def encode_query + additional_query = @request_options&.dig(:additional_query_parameters) || @request_options&.dig("additional_query_parameters") || {} + @query.merge(additional_query) + end + + # Child classes should implement: + # - encode_headers: Returns the encoded HTTP request headers. + # - encode_body: Returns the encoded HTTP request body. + + private + + # Merges additional_headers from request_options into sdk_headers, filtering out + # any keys that collide with SDK-set or client-protected headers (case-insensitive). + # @param sdk_headers [Hash] Headers set by the SDK for this request type. + # @param protected_keys [Array] Additional header keys that must not be overridden. + # @return [Hash] The merged headers. + def merge_additional_headers(sdk_headers, protected_keys: []) + additional_headers = @request_options&.dig(:additional_headers) || @request_options&.dig("additional_headers") || {} + all_protected = (sdk_headers.keys + protected_keys).to_set { |k| k.to_s.downcase } + filtered = additional_headers.reject { |key, _| all_protected.include?(key.to_s.downcase) } + sdk_headers.merge(filtered) + end + end + end + end +end diff --git a/lib/auth0/internal/http/raw_client.rb b/lib/auth0/internal/http/raw_client.rb new file mode 100644 index 000000000..0de6d27cb --- /dev/null +++ b/lib/auth0/internal/http/raw_client.rb @@ -0,0 +1,226 @@ +# frozen_string_literal: true + +# This file was auto-generated by Fern from our API Definition. +# Modified by Auth0 to use Auth0 telemetry format with dynamic versioning. + +module Auth0 + module Internal + module Http + # @api private + class RawClient + # Default HTTP status codes that trigger a retry + RETRYABLE_STATUSES = [408, 429, 500, 502, 503, 504, 521, 522, 524].freeze + # Initial delay between retries in seconds + INITIAL_RETRY_DELAY = 0.5 + # Maximum delay between retries in seconds + MAX_RETRY_DELAY = 60.0 + # Jitter factor for randomizing retry delays (20%) + JITTER_FACTOR = 0.2 + + # @return [String] The base URL for requests + attr_reader :base_url + + # @param base_url [String] The base url for the request. + # @param max_retries [Integer] The number of times to retry a failed request, defaults to 2. + # @param timeout [Float] The timeout for the request, defaults to 60.0 seconds. + # @param headers [Hash] The headers for the request. + def initialize(base_url:, max_retries: 2, timeout: 60.0, headers: {}) + @base_url = base_url + @max_retries = max_retries + @timeout = timeout + + # Auth0 telemetry in standard format + telemetry = { + name: "ruby-auth0", + version: Auth0::VERSION, + env: { ruby: RUBY_VERSION } + } + telemetry[:env][:rails] = Gem.loaded_specs["rails"].version.to_s if Gem.loaded_specs["rails"]&.version + + @default_headers = { + "Content-Type" => "application/json", + "User-Agent" => "Ruby/#{RUBY_VERSION}", + "Auth0-Client" => Base64.urlsafe_encode64(::JSON.dump(telemetry)) + }.merge(headers) + end + + # @param request [Auth0::Internal::Http::BaseRequest] The HTTP request. + # @return [HTTP::Response] The HTTP response. + def send(request) + url = build_url(request) + attempt = 0 + response = nil + + loop do + http_request = build_http_request( + url:, + method: request.method, + headers: request.encode_headers(protected_keys: @default_headers.keys), + body: request.encode_body + ) + + conn = connect(url) + conn.open_timeout = @timeout + conn.read_timeout = @timeout + conn.write_timeout = @timeout + conn.continue_timeout = @timeout + + response = conn.request(http_request) + + break unless should_retry?(response, attempt) + + delay = retry_delay(response, attempt) + sleep(delay) + attempt += 1 + end + + response + end + + # Determines if a request should be retried based on the response status code. + # @param response [Net::HTTPResponse] The HTTP response. + # @param attempt [Integer] The current retry attempt (0-indexed). + # @return [Boolean] Whether the request should be retried. + def should_retry?(response, attempt) + return false if attempt >= @max_retries + + status = response.code.to_i + RETRYABLE_STATUSES.include?(status) + end + + # Calculates the delay before the next retry attempt using exponential backoff with jitter. + # Respects Retry-After header if present. + # @param response [Net::HTTPResponse] The HTTP response. + # @param attempt [Integer] The current retry attempt (0-indexed). + # @return [Float] The delay in seconds before the next retry. + def retry_delay(response, attempt) + # Check for Retry-After header (can be seconds or HTTP date) + retry_after = response["Retry-After"] + if retry_after + delay = parse_retry_after(retry_after) + return [delay, MAX_RETRY_DELAY].min if delay&.positive? + end + + # Exponential backoff with jitter: base_delay * 2^attempt + base_delay = INITIAL_RETRY_DELAY * (2**attempt) + add_jitter([base_delay, MAX_RETRY_DELAY].min) + end + + # Parses the Retry-After header value. + # @param value [String] The Retry-After header value (seconds or HTTP date). + # @return [Float, nil] The delay in seconds, or nil if parsing fails. + def parse_retry_after(value) + # Try parsing as integer (seconds) + seconds = Integer(value, exception: false) + return seconds.to_f if seconds + + # Try parsing as HTTP date + begin + retry_time = Time.httpdate(value) + delay = retry_time - Time.now + delay.positive? ? delay : nil + rescue ArgumentError + nil + end + end + + # Adds random jitter to a delay value. + # @param delay [Float] The base delay in seconds. + # @return [Float] The delay with jitter applied. + def add_jitter(delay) + jitter = delay * JITTER_FACTOR * (rand - 0.5) * 2 + [delay + jitter, 0].max + end + + LOCALHOST_HOSTS = %w[localhost 127.0.0.1 [::1]].freeze + + # @param request [Auth0::Internal::Http::BaseRequest] The HTTP request. + # @return [URI::Generic] The URL. + def build_url(request) + encoded_query = request.encode_query + + # If the path is already an absolute URL, use it directly + if request.path.start_with?("http://", "https://") + url = request.path + url = "#{url}?#{encode_query(encoded_query)}" if encoded_query&.any? + parsed = URI.parse(url) + validate_https!(parsed) + return parsed + end + + path = request.path.start_with?("/") ? request.path[1..] : request.path + base = request.base_url || @base_url + url = "#{base.chomp("/")}/#{path}" + url = "#{url}?#{encode_query(encoded_query)}" if encoded_query&.any? + parsed = URI.parse(url) + validate_https!(parsed) + parsed + end + + # Raises if the URL uses http:// for a non-localhost host, which would + # send authentication credentials in plaintext. + # @param url [URI::Generic] The parsed URL. + def validate_https!(url) + return if url.scheme != "http" + return if LOCALHOST_HOSTS.include?(url.host) + + raise ArgumentError, "Refusing to send request to non-HTTPS URL: #{url}. " \ + "HTTP is only allowed for localhost. Use HTTPS or pass a localhost URL." + end + + # @param url [URI::Generic] The url to the resource. + # @param method [String] The HTTP method to use. + # @param headers [Hash] The headers for the request. + # @param body [String, nil] The body for the request. + # @return [HTTP::Request] The HTTP request. + def build_http_request(url:, method:, headers: {}, body: nil) + request = Net::HTTPGenericRequest.new( + method, + !body.nil?, + method != "HEAD", + url + ) + + request_headers = @default_headers.merge(headers) + request_headers.each { |name, value| request[name] = value } + request.body = body if body + + request + end + + # @param query [Hash] The query for the request. + # @return [String, nil] The encoded query. + def encode_query(query) + query.to_h.empty? ? nil : URI.encode_www_form(query) + end + + # @param url [URI::Generic] The url to connect to. + # @return [Net::HTTP] The HTTP connection. + def connect(url) + is_https = (url.scheme == "https") + + port = if url.port + url.port + elsif is_https + Net::HTTP.https_default_port + else + Net::HTTP.http_default_port + end + + http = Net::HTTP.new(url.host, port) + http.use_ssl = is_https + http.verify_mode = OpenSSL::SSL::VERIFY_PEER if is_https + # NOTE: We handle retries at the application level with HTTP status code awareness, + # so we set max_retries to 0 to disable Net::HTTP's built-in network-level retries. + http.max_retries = 0 + http + end + + # @return [String] + def inspect + "#<#{self.class.name}:0x#{object_id.to_s(16)} @base_url=#{@base_url.inspect}>" + end + end + end + end +end diff --git a/lib/auth0/internal/iterators/cursor_item_iterator.rb b/lib/auth0/internal/iterators/cursor_item_iterator.rb new file mode 100644 index 000000000..e0dfe8293 --- /dev/null +++ b/lib/auth0/internal/iterators/cursor_item_iterator.rb @@ -0,0 +1,28 @@ +# frozen_string_literal: true + +module Auth0 + module Internal + class CursorItemIterator < ItemIterator + # Instantiates a CursorItemIterator, an Enumerable class which wraps calls to a cursor-based paginated API and yields individual items from it. + # + # @param initial_cursor [String] The initial cursor to use when iterating, if any. + # @param cursor_field [Symbol] The field in API responses to extract the next cursor from. + # @param item_field [Symbol] The field in API responses to extract the items to iterate over. + # @param block [Proc] A block which is responsible for receiving a cursor to use and returning the given page from the API. + # @return [Auth0::Internal::CursorItemIterator] + def initialize(initial_cursor:, cursor_field:, item_field:, &) + super() + @item_field = item_field + @page_iterator = CursorPageIterator.new(initial_cursor:, cursor_field:, &) + @page = nil + end + + # Returns the CursorPageIterator mediating access to the underlying API. + # + # @return [Auth0::Internal::CursorPageIterator] + def pages + @page_iterator + end + end + end +end diff --git a/lib/auth0/internal/iterators/cursor_page_iterator.rb b/lib/auth0/internal/iterators/cursor_page_iterator.rb new file mode 100644 index 000000000..bae8da6de --- /dev/null +++ b/lib/auth0/internal/iterators/cursor_page_iterator.rb @@ -0,0 +1,58 @@ +# frozen_string_literal: true + +module Auth0 + module Internal + class CursorPageIterator + include Enumerable + + # Instantiates a CursorPageIterator, an Enumerable class which wraps calls to a cursor-based paginated API and yields pages of items. + # + # @param initial_cursor [String] The initial cursor to use when iterating, if any. + # @param cursor_field [Symbol] The name of the field in API responses to extract the next cursor from. + # @param block [Proc] A block which is responsible for receiving a cursor to use and returning the given page from the API. + # @return [Auth0::Internal::CursorPageIterator] + def initialize(initial_cursor:, cursor_field:, &block) + @need_initial_load = initial_cursor.nil? + @cursor = initial_cursor + @cursor_field = cursor_field + @get_next_page = block + end + + # Iterates over each page returned by the API. + # + # @param block [Proc] The block which each retrieved page is yielded to. + # @return [NilClass] + def each(&block) + while (page = next_page) + block.call(page) + end + end + + # Whether another page will be available from the API. + # + # @return [Boolean] + def next? + @need_initial_load || !@cursor.nil? + end + + # Retrieves the next page from the API. + # + # @return [Object, nil] + def next_page + return if !@need_initial_load && @cursor.nil? + + @need_initial_load = false + result = @get_next_page.call(@cursor) + # The block returns either the parsed page directly, or a + # [parsed_page, raw_http_response] tuple. Unwrap accordingly. + fetched_page = if result.is_a?(Array) + result[0] + else + result + end + @cursor = fetched_page.send(@cursor_field) + fetched_page + end + end + end +end diff --git a/lib/auth0/internal/iterators/item_iterator.rb b/lib/auth0/internal/iterators/item_iterator.rb new file mode 100644 index 000000000..2a7d7f525 --- /dev/null +++ b/lib/auth0/internal/iterators/item_iterator.rb @@ -0,0 +1,59 @@ +# frozen_string_literal: true + +module Auth0 + module Internal + class ItemIterator + include Enumerable + + # Iterates over each item returned by the API. + # + # @param block [Proc] The block which each retrieved item is yielded to. + # @return [NilClass] + def each(&block) + while (item = next_element) + block.call(item) + end + end + + # Whether another item will be available from the API. + # + # @return [Boolean] + def next? + load_next_page if @page.nil? + return false if @page.nil? + + return true if any_items_in_cached_page? + + load_next_page + any_items_in_cached_page? + end + + # Retrieves the next item from the API. + def next_element + item = next_item_from_cached_page + return item if item + + load_next_page + next_item_from_cached_page + end + + private + + def next_item_from_cached_page + return unless @page + + @page.send(@item_field).shift + end + + def any_items_in_cached_page? + return false unless @page + + !@page.send(@item_field).empty? + end + + def load_next_page + @page = @page_iterator.next_page + end + end + end +end diff --git a/lib/auth0/internal/iterators/offset_item_iterator.rb b/lib/auth0/internal/iterators/offset_item_iterator.rb new file mode 100644 index 000000000..0307415f6 --- /dev/null +++ b/lib/auth0/internal/iterators/offset_item_iterator.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +module Auth0 + module Internal + class OffsetItemIterator < ItemIterator + # Instantiates an OffsetItemIterator, an Enumerable class which wraps calls to an offset-based paginated API and yields the individual items from it. + # + # @param initial_page [Integer] The initial page or offset to start from when iterating. + # @param item_field [Symbol] The name of the field in API responses to extract the items to iterate over. + # @param has_next_field [Symbol] The name of the field in API responses containing a boolean of whether another page exists. + # @param step [Boolean] If true, treats the page number as a true offset (i.e. increments the page number by the number of items returned from each call rather than just 1) + # @param block [Proc] A block which is responsible for receiving a page number to use and returning the given page from the API. + # + # @return [Auth0::Internal::OffsetItemIterator] + def initialize(initial_page:, item_field:, has_next_field:, step:, &) + super() + @item_field = item_field + @page_iterator = OffsetPageIterator.new(initial_page:, item_field:, has_next_field:, step:, &) + @page = nil + end + + # Returns the OffsetPageIterator that is mediating access to the underlying API. + # + # @return [Auth0::Internal::OffsetPageIterator] + def pages + @page_iterator + end + end + end +end diff --git a/lib/auth0/internal/iterators/offset_page_iterator.rb b/lib/auth0/internal/iterators/offset_page_iterator.rb new file mode 100644 index 000000000..af1858e28 --- /dev/null +++ b/lib/auth0/internal/iterators/offset_page_iterator.rb @@ -0,0 +1,97 @@ +# frozen_string_literal: true + +module Auth0 + module Internal + class OffsetPageIterator + include Enumerable + + # Instantiates an OffsetPageIterator, an Enumerable class which wraps calls to an offset-based paginated API and yields pages of items from it. + # + # @param initial_page [Integer] The initial page to use when iterating, if any. + # @param item_field [Symbol] The field to pull the list of items to iterate over. + # @param has_next_field [Symbol] The field to pull the boolean of whether a next page exists from, if any. + # @param step [Boolean] If true, treats the page number as a true offset (i.e. increments the page number by the number of items returned from each call rather than just 1) + # @param block [Proc] A block which is responsible for receiving a page number to use and returning the given page from the API. + # @return [Auth0::Internal::OffsetPageIterator] + def initialize(initial_page:, item_field:, has_next_field:, step:, &block) + @page_number = initial_page || (step ? 0 : 1) + @item_field = item_field + @has_next_field = has_next_field + @step = step + @get_next_page = block + + # A cache of whether the API has another page, if it gives us that information... + @next_page = nil + # ...or the actual next page, preloaded, if it doesn't. + @has_next_page = nil + end + + # Iterates over each page returned by the API. + # + # @param block [Proc] The block which each retrieved page is yielded to. + # @return [NilClass] + def each(&block) + while (page = next_page) + block.call(page) + end + end + + # Whether another page will be available from the API. + # + # @return [Boolean] + def next? + return @has_next_page unless @has_next_page.nil? + return true if @next_page + + fetched_page = fetch_page(@page_number) + fetched_page_items = fetched_page&.send(@item_field) + if fetched_page_items.nil? || fetched_page_items.empty? + @has_next_page = false + else + @next_page = fetched_page + true + end + end + + # Returns the next page from the API. + def next_page + return nil if @page_number.nil? + + if @next_page + this_page = @next_page + @next_page = nil + else + this_page = fetch_page(@page_number) + end + + @has_next_page = this_page&.send(@has_next_field) if @has_next_field + + items = this_page.send(@item_field) + if items.nil? || items.empty? + @page_number = nil + return nil + elsif @step + @page_number += items.length + else + @page_number += 1 + end + + this_page + end + + private + + # The block returns either the parsed page directly, or a + # [parsed_page, raw_http_response] tuple. Unwrap accordingly. + def fetch_page(page_number) + result = @get_next_page.call(page_number) + if result.is_a?(Array) + fetched_page, _raw_response = result + fetched_page + else + result + end + end + end + end +end diff --git a/lib/auth0/internal/json/request.rb b/lib/auth0/internal/json/request.rb new file mode 100644 index 000000000..7aa23a056 --- /dev/null +++ b/lib/auth0/internal/json/request.rb @@ -0,0 +1,41 @@ +# frozen_string_literal: true + +module Auth0 + module Internal + module JSON + # @api private + class Request < Auth0::Internal::Http::BaseRequest + attr_reader :body + + # @param base_url [String] The base URL for the request + # @param path [String] The path for the request + # @param method [Symbol] The HTTP method for the request (:get, :post, etc.) + # @param headers [Hash] Additional headers for the request (optional) + # @param query [Hash] Query parameters for the request (optional) + # @param body [Object, nil] The JSON request body (optional) + # @param request_options [Auth0::RequestOptions, Hash{Symbol=>Object}, nil] + def initialize(base_url:, path:, method:, headers: {}, query: {}, body: nil, request_options: {}) + super(base_url:, path:, method:, headers:, query:, request_options:) + + @body = body + end + + # @return [Hash] The encoded HTTP request headers. + # @param protected_keys [Array] Header keys set by the SDK client (e.g. auth, metadata) + # that must not be overridden by additional_headers from request_options. + def encode_headers(protected_keys: []) + sdk_headers = { + "Content-Type" => "application/json", + "Accept" => "application/json" + }.merge(@headers) + merge_additional_headers(sdk_headers, protected_keys:) + end + + # @return [String, nil] The encoded HTTP request body. + def encode_body + @body.nil? ? nil : ::JSON.generate(@body) + end + end + end + end +end diff --git a/lib/auth0/internal/json/serializable.rb b/lib/auth0/internal/json/serializable.rb new file mode 100644 index 000000000..5d8c4a90d --- /dev/null +++ b/lib/auth0/internal/json/serializable.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module Auth0 + module Internal + module JSON + module Serializable + # Loads data from JSON into its deserialized form + # + # @param str [String] Raw JSON to load into an object + # @return [Object] + def load(str) + raise NotImplementedError + end + + # Dumps data from its deserialized form into JSON + # + # @param value [Object] The deserialized value + # @return [String] + def dump(value) + raise NotImplementedError + end + end + end + end +end diff --git a/lib/auth0/internal/multipart/multipart_encoder.rb b/lib/auth0/internal/multipart/multipart_encoder.rb new file mode 100644 index 000000000..38c79ee9d --- /dev/null +++ b/lib/auth0/internal/multipart/multipart_encoder.rb @@ -0,0 +1,141 @@ +# frozen_string_literal: true + +module Auth0 + module Internal + module Multipart + # Encodes parameters into a `multipart/form-data` payload as described by RFC + # 2388: + # + # https://tools.ietf.org/html/rfc2388 + # + # This is most useful for transferring file-like objects. + # + # Parameters should be added with `#encode`. When ready, use `#body` to get + # the encoded result and `#content_type` to get the value that should be + # placed in the `Content-Type` header of a subsequent request (which includes + # a boundary value). + # + # This abstraction is heavily inspired by Stripe's multipart/form-data implementation, + # which can be found here: + # + # https://github.com/stripe/stripe-ruby/blob/ca00b676f04ac421cf5cb5ff0325f243651677b6/lib/stripe/multipart_encoder.rb#L18 + # + # @api private + class Encoder + CONTENT_TYPE = "multipart/form-data" + CRLF = "\r\n" + + attr_reader :boundary, :body + + def initialize + # Chose the same number of random bytes that Go uses in its standard + # library implementation. Easily enough entropy to ensure that it won't + # be present in a file we're sending. + @boundary = SecureRandom.hex(30) + + @body = String.new + @closed = false + @first_field = true + end + + # Gets the content type string including the boundary. + # + # @return [String] The content type with boundary + def content_type + "#{CONTENT_TYPE}; boundary=#{@boundary}" + end + + # Encode the given FormData object into a multipart/form-data payload. + # + # @param form_data [FormData] The form data to encode + # @return [String] The encoded body. + def encode(form_data) + return "" if form_data.parts.empty? + + form_data.parts.each do |part| + write_part(part) + end + close + + @body + end + + # Writes a FormDataPart to the encoder. + # + # @param part [FormDataPart] The part to write + # @return [nil] + def write_part(part) + raise "Cannot write to closed encoder" if @closed + + write_field( + name: part.name, + data: part.contents, + filename: part.filename, + headers: part.headers + ) + + nil + end + + # Writes a field to the encoder. + # + # @param name [String] The field name + # @param data [String] The field data + # @param filename [String, nil] Optional filename + # @param headers [Hash, nil] Optional additional headers + # @return [nil] + def write_field(name:, data:, filename: nil, headers: nil) + raise "Cannot write to closed encoder" if @closed + + if @first_field + @first_field = false + else + @body << CRLF + end + + @body << "--#{@boundary}#{CRLF}" + @body << %(Content-Disposition: form-data; name="#{escape(name.to_s)}") + @body << %(; filename="#{escape(filename)}") if filename + @body << CRLF + + if headers + headers.each do |key, value| + @body << "#{key}: #{value}#{CRLF}" + end + elsif filename + # Default content type for files. + @body << "Content-Type: application/octet-stream#{CRLF}" + end + + @body << CRLF + @body << data.to_s + + nil + end + + # Finalizes the encoder by writing the final boundary. + # + # @return [nil] + def close + raise "Encoder already closed" if @closed + + @body << CRLF + @body << "--#{@boundary}--" + @closed = true + + nil + end + + private + + # Escapes quotes for use in header values and replaces line breaks with spaces. + # + # @param str [String] The string to escape + # @return [String] The escaped string + def escape(str) + str.to_s.gsub('"', "%22").tr("\n", " ").tr("\r", " ") + end + end + end + end +end diff --git a/lib/auth0/internal/multipart/multipart_form_data.rb b/lib/auth0/internal/multipart/multipart_form_data.rb new file mode 100644 index 000000000..3e6a4c7b4 --- /dev/null +++ b/lib/auth0/internal/multipart/multipart_form_data.rb @@ -0,0 +1,78 @@ +# frozen_string_literal: true + +module Auth0 + module Internal + module Multipart + # @api private + class FormData + # @return [Array] The parts in this multipart form data. + attr_reader :parts + + # @return [Encoder] The encoder for this multipart form data. + private attr_reader :encoder + + def initialize + @encoder = Encoder.new + @parts = [] + end + + # Adds a new part to the multipart form data. + # + # @param name [String] The name of the form field + # @param value [String, Integer, Float, Boolean, #read] The value of the field + # @param content_type [String, nil] Optional content type + # @return [self] Returns self for chaining + def add(name:, value:, content_type: nil) + headers = content_type ? { "Content-Type" => content_type } : nil + add_part(FormDataPart.new(name:, value:, headers:)) + end + + # Adds a file to the multipart form data. + # + # @param name [String] The name of the form field + # @param file [#read] The file or readable object + # @param filename [String, nil] Optional filename (defaults to basename of path for File objects) + # @param content_type [String, nil] Optional content type (e.g. "image/png") + # @return [self] Returns self for chaining + def add_file(name:, file:, filename: nil, content_type: nil) + headers = content_type ? { "Content-Type" => content_type } : nil + filename ||= filename_for(file) + add_part(FormDataPart.new(name:, value: file, filename:, headers:)) + end + + # Adds a pre-created part to the multipart form data. + # + # @param part [FormDataPart] The part to add + # @return [self] Returns self for chaining + def add_part(part) + @parts << part + self + end + + # Gets the content type string including the boundary. + # + # @return [String] The content type with boundary. + def content_type + @encoder.content_type + end + + # Encode the multipart form data into a multipart/form-data payload. + # + # @return [String] The encoded body. + def encode + @encoder.encode(self) + end + + private + + def filename_for(file) + if file.is_a?(::File) || file.respond_to?(:path) + ::File.basename(file.path) + elsif file.respond_to?(:name) + file.name + end + end + end + end + end +end diff --git a/lib/auth0/internal/multipart/multipart_form_data_part.rb b/lib/auth0/internal/multipart/multipart_form_data_part.rb new file mode 100644 index 000000000..8a20e875d --- /dev/null +++ b/lib/auth0/internal/multipart/multipart_form_data_part.rb @@ -0,0 +1,51 @@ +# frozen_string_literal: true + +require "securerandom" + +module Auth0 + module Internal + module Multipart + # @api private + class FormDataPart + attr_reader :name, :contents, :filename, :headers + + # @param name [String] The name of the form field + # @param value [String, Integer, Float, Boolean, File, #read] The value of the field + # @param filename [String, nil] Optional filename for file uploads + # @param headers [Hash, nil] Optional additional headers + def initialize(name:, value:, filename: nil, headers: nil) + @name = name + @contents = convert_to_content(value) + @filename = filename + @headers = headers + end + + # Converts the part to a hash suitable for serialization. + # + # @return [Hash] A hash representation of the part + def to_hash + result = { + name: @name, + contents: @contents + } + result[:filename] = @filename if @filename + result[:headers] = @headers if @headers + result + end + + private + + # Converts various types of values to a content representation + # @param value [String, Integer, Float, Boolean, #read] The value to convert + # @return [String] The string representation of the value + def convert_to_content(value) + if value.respond_to?(:read) + value.read + else + value.to_s + end + end + end + end + end +end diff --git a/lib/auth0/internal/multipart/multipart_request.rb b/lib/auth0/internal/multipart/multipart_request.rb new file mode 100644 index 000000000..d3bb1106e --- /dev/null +++ b/lib/auth0/internal/multipart/multipart_request.rb @@ -0,0 +1,40 @@ +# frozen_string_literal: true + +module Auth0 + module Internal + module Multipart + # @api private + class Request < Auth0::Internal::Http::BaseRequest + attr_reader :body + + # @param base_url [String] The base URL for the request + # @param path [String] The path for the request + # @param method [Symbol] The HTTP method for the request (:get, :post, etc.) + # @param headers [Hash] Additional headers for the request (optional) + # @param query [Hash] Query parameters for the request (optional) + # @param body [MultipartFormData, nil] The multipart form data for the request (optional) + # @param request_options [Auth0::RequestOptions, Hash{Symbol=>Object}, nil] + def initialize(base_url:, path:, method:, headers: {}, query: {}, body: nil, request_options: {}) + super(base_url:, path:, method:, headers:, query:, request_options:) + + @body = body + end + + # @return [Hash] The encoded HTTP request headers. + # @param protected_keys [Array] Header keys set by the SDK client (e.g. auth, metadata) + # that must not be overridden by additional_headers from request_options. + def encode_headers(protected_keys: []) + sdk_headers = { + "Content-Type" => @body.content_type + }.merge(@headers) + merge_additional_headers(sdk_headers, protected_keys:) + end + + # @return [String, nil] The encoded HTTP request body. + def encode_body + @body&.encode + end + end + end + end +end diff --git a/lib/auth0/internal/types/array.rb b/lib/auth0/internal/types/array.rb new file mode 100644 index 000000000..86e58b290 --- /dev/null +++ b/lib/auth0/internal/types/array.rb @@ -0,0 +1,47 @@ +# frozen_string_literal: true + +module Auth0 + module Internal + module Types + # An array of a specific type + class Array + include Auth0::Internal::Types::Type + + attr_reader :type + + class << self + # Instantiates a new `Array` of a given type + # + # @param type [Object] The member type of this array + # + # @return [Auth0::Internal::Types::Array] + def [](type) + new(type) + end + end + + # @api private + def initialize(type) + @type = type + end + + # Coerces a value into this array + # + # @param value [Object] + # @option strict [Boolean] + # @return [::Array] + def coerce(value, strict: strict?) + unless value.is_a?(::Array) + raise Errors::TypeError, "cannot coerce `#{value.class}` to Array<#{type}>" if strict + + return value + end + + value.map do |element| + Utils.coerce(type, element, strict: strict) + end + end + end + end + end +end diff --git a/lib/auth0/internal/types/boolean.rb b/lib/auth0/internal/types/boolean.rb new file mode 100644 index 000000000..9499c96de --- /dev/null +++ b/lib/auth0/internal/types/boolean.rb @@ -0,0 +1,34 @@ +# frozen_string_literal: true + +module Auth0 + module Internal + module Types + module Boolean + extend Auth0::Internal::Types::Union + + member TrueClass + member FalseClass + + # Overrides the base coercion method for enums to allow integer and string values to become booleans + # + # @param value [Object] + # @option strict [Boolean] + # @return [Object] + def self.coerce(value, strict: strict?) + case value + when TrueClass, FalseClass + return value + when Integer + return value == 1 + when String + return %w[1 true].include?(value) + end + + raise Errors::TypeError, "cannot coerce `#{value.class}` to Boolean" if strict + + value + end + end + end + end +end diff --git a/lib/auth0/internal/types/enum.rb b/lib/auth0/internal/types/enum.rb new file mode 100644 index 000000000..4258aee52 --- /dev/null +++ b/lib/auth0/internal/types/enum.rb @@ -0,0 +1,56 @@ +# frozen_string_literal: true + +module Auth0 + module Internal + module Types + # Module for defining enums + module Enum + include Type + + # @api private + # + # @return [Array] + def values + @values ||= constants.map { |c| const_get(c) } + end + + # @api private + def finalize! + values + end + + # @api private + def strict? + @strict ||= false + end + + # @api private + def strict! + @strict = true + end + + def coerce(value, strict: strict?) + coerced_value = Utils.coerce(Symbol, value) + + return coerced_value if values.include?(coerced_value) + + raise Errors::TypeError, "`#{value}` not in enum #{self}" if strict + + value + end + + # Parse JSON string and coerce to the enum value + # + # @param str [String] JSON string to parse + # @return [String] The enum value + def load(str) + coerce(::JSON.parse(str)) + end + + def inspect + "#{name}[#{values.join(", ")}]" + end + end + end + end +end diff --git a/lib/auth0/internal/types/hash.rb b/lib/auth0/internal/types/hash.rb new file mode 100644 index 000000000..f68c951b1 --- /dev/null +++ b/lib/auth0/internal/types/hash.rb @@ -0,0 +1,36 @@ +# frozen_string_literal: true + +module Auth0 + module Internal + module Types + class Hash + include Type + + attr_reader :key_type, :value_type + + class << self + def [](key_type, value_type) + new(key_type, value_type) + end + end + + def initialize(key_type, value_type) + @key_type = key_type + @value_type = value_type + end + + def coerce(value, strict: strict?) + unless value.is_a?(::Hash) + raise Errors::TypeError, "not hash" if strict + + return value + end + + value.to_h do |k, v| + [Utils.coerce(key_type, k, strict: strict), Utils.coerce(value_type, v, strict: strict)] + end + end + end + end + end +end diff --git a/lib/auth0/internal/types/model.rb b/lib/auth0/internal/types/model.rb new file mode 100644 index 000000000..28abff171 --- /dev/null +++ b/lib/auth0/internal/types/model.rb @@ -0,0 +1,208 @@ +# frozen_string_literal: true + +module Auth0 + module Internal + module Types + # @abstract + # + # An abstract model that all data objects will inherit from + class Model + include Type + + class << self + # The defined fields for this model + # + # @api private + # + # @return [Hash] + def fields + @fields ||= if self < Auth0::Internal::Types::Model + superclass.fields.dup + else + {} + end + end + + # Any extra fields that have been created from instantiation + # + # @api private + # + # @return [Hash] + def extra_fields + @extra_fields ||= {} + end + + # Define a new field on this model + # + # @param name [Symbol] The name of the field + # @param type [Class] Type of the field + # @option optional [Boolean] If it is an optional field + # @option nullable [Boolean] If it is a nullable field + # @option api_name [Symbol, String] Name in the API of this field. When serializing/deserializing, will use + # this field name + # @return [void] + def field(name, type, optional: false, nullable: false, api_name: nil, default: nil) + add_field_definition(name: name, type: type, optional: optional, nullable: nullable, api_name: api_name, + default: default) + + define_accessor(name) + define_setter(name) + end + + # Define a new literal for this model + # + # @param name [Symbol] + # @param value [Object] + # @option api_name [Symbol, String] + # @return [void] + def literal(name, value, api_name: nil) + add_field_definition(name: name, type: value.class, optional: false, nullable: false, api_name: api_name, + value: value) + + define_accessor(name) + end + + # Adds a new field definition into the class's fields registry + # + # @api private + # + # @param name [Symbol] + # @param type [Class] + # @option optional [Boolean] + # @return [void] + private def add_field_definition(name:, type:, optional:, nullable:, api_name:, default: nil, value: nil) + fields[name.to_sym] = + Field.new(name: name, type: type, optional: optional, nullable: nullable, api_name: api_name, + value: value, default: default) + end + + # Adds a new field definition into the class's extra fields registry + # + # @api private + # + # @param name [Symbol] + # @param type [Class] + # @option required [Boolean] + # @option optional [Boolean] + # @return [void] + def add_extra_field_definition(name:, type:) + return if extra_fields.key?(name.to_sym) + + extra_fields[name.to_sym] = Field.new(name: name, type: type, optional: true, nullable: false) + + define_accessor(name) + define_setter(name) + end + + # @api private + private def define_accessor(name) + method_name = name.to_sym + + define_method(method_name) do + @data[name] + end + end + + # @api private + private def define_setter(name) + method_name = :"#{name}=" + + define_method(method_name) do |val| + @data[name] = val + end + end + + def coerce(value, strict: (respond_to?(:strict?) ? strict? : false)) # rubocop:disable Lint/UnusedMethodArgument + return value if value.is_a?(self) + + return value unless value.is_a?(::Hash) + + new(value) + end + + def load(str) + coerce(::JSON.parse(str, symbolize_names: true)) + end + + def ===(instance) + instance.class.ancestors.include?(self) + end + end + + # Creates a new instance of this model + # TODO: Should all this logic be in `#coerce` instead? + # + # @param values [Hash] + # @option strict [Boolean] + # @return [self] + def initialize(values = {}) + @data = {} + + values = Utils.symbolize_keys(values.dup) + + self.class.fields.each do |field_name, field| + value = values.delete(field.api_name.to_sym) || values.delete(field.api_name) || values.delete(field_name) + + field_value = value || (if field.literal? + field.value + elsif field.default + field.default + end) + + @data[field_name] = Utils.coerce(field.type, field_value) + end + + # Any remaining values in the input become extra fields + values.each do |name, value| + self.class.add_extra_field_definition(name: name, type: value.class) + + @data[name.to_sym] = value + end + end + + def to_h + result = self.class.fields.merge(self.class.extra_fields).each_with_object({}) do |(name, field), acc| + # If there is a value present in the data, use that value + # If there is a `nil` value present in the data, and it is optional but NOT nullable, exclude key altogether + # If there is a `nil` value present in the data, and it is optional and nullable, use the nil value + + value = @data[name] + + next if value.nil? && field.optional && !field.nullable + + if value.is_a?(::Array) + value = value.map { |item| item.respond_to?(:to_h) ? item.to_h : item } + elsif value.respond_to?(:to_h) + value = value.to_h + end + + acc[field.api_name] = value + end + + # Inject union discriminant if this instance was coerced from a discriminated union + # and the discriminant key is not already present in the result + discriminant_key = instance_variable_get(:@_fern_union_discriminant_key) + discriminant_value = instance_variable_get(:@_fern_union_discriminant_value) + result[discriminant_key] = discriminant_value if discriminant_key && discriminant_value && !result.key?(discriminant_key) + + result + end + + def ==(other) + self.class == other.class && to_h == other.to_h + end + + # @return [String] + def inspect + attrs = @data.map do |name, value| + field = self.class.fields[name] || self.class.extra_fields[name] + display_value = field&.sensitive? ? "[REDACTED]" : value.inspect + "#{name}=#{display_value}" + end + + "#<#{self.class.name}:0x#{object_id&.to_s(16)} #{attrs.join(" ")}>" + end + end + end + end +end diff --git a/lib/auth0/internal/types/model/field.rb b/lib/auth0/internal/types/model/field.rb new file mode 100644 index 000000000..75113b721 --- /dev/null +++ b/lib/auth0/internal/types/model/field.rb @@ -0,0 +1,38 @@ +# frozen_string_literal: true + +module Auth0 + module Internal + module Types + class Model + # Definition of a field on a model + class Field + SENSITIVE_FIELD_NAMES = %i[ + password secret token api_key apikey access_token refresh_token + client_secret client_id credential bearer authorization + ].freeze + + attr_reader :name, :type, :optional, :nullable, :api_name, :value, :default + + def initialize(name:, type:, optional: false, nullable: false, api_name: nil, value: nil, default: nil) + @name = name.to_sym + @type = type + @optional = optional + @nullable = nullable + @api_name = api_name || name.to_s + @value = value + @default = default + end + + def literal? + !value.nil? + end + + def sensitive? + SENSITIVE_FIELD_NAMES.include?(@name) || + SENSITIVE_FIELD_NAMES.any? { |sensitive| @name.to_s.include?(sensitive.to_s) } + end + end + end + end + end +end diff --git a/lib/auth0/internal/types/type.rb b/lib/auth0/internal/types/type.rb new file mode 100644 index 000000000..578d8d138 --- /dev/null +++ b/lib/auth0/internal/types/type.rb @@ -0,0 +1,35 @@ +# frozen_string_literal: true + +module Auth0 + module Internal + module Types + # @abstract + module Type + include Auth0::Internal::JSON::Serializable + + # Coerces a value to this type + # + # @param value [unknown] + # @option strict [Boolean] If we should strictly coerce this value + def coerce(value, strict: strict?) + raise NotImplementedError + end + + # Returns if strictness is on for this type, defaults to `false` + # + # @return [Boolean] + def strict? + @strict ||= false + end + + # Enable strictness by default for this type + # + # @return [void] + def strict! + @strict = true + self + end + end + end + end +end diff --git a/lib/auth0/internal/types/union.rb b/lib/auth0/internal/types/union.rb new file mode 100644 index 000000000..5f8188502 --- /dev/null +++ b/lib/auth0/internal/types/union.rb @@ -0,0 +1,161 @@ +# frozen_string_literal: true + +module Auth0 + module Internal + module Types + # Define a union between two types + module Union + include Auth0::Internal::Types::Type + + def members + @members ||= [] + end + + # Add a member to this union + # + # @param type [Object] + # @option key [Symbol, String] + # @return [void] + def member(type, key: nil) + members.push([key, Utils.wrap_type(type)]) + self + end + + def type_member?(type) + members.any? { |_key, type_fn| type == type_fn.call } + end + + # Set the discriminant for this union + # + # @param key [Symbol, String] + # @return [void] + def discriminant(key) + @discriminant = key + end + + # @api private + private def discriminated? + !@discriminant.nil? + end + + # Check if value matches a type, handling type wrapper instances + # (Internal::Types::Hash and Internal::Types::Array instances) + # + # @param value [Object] + # @param member_type [Object] + # @return [Boolean] + private def type_matches?(value, member_type) + case member_type + when Auth0::Internal::Types::Hash + value.is_a?(::Hash) + when Auth0::Internal::Types::Array + value.is_a?(::Array) + when Class, Module + value.is_a?(member_type) + else + false + end + end + + # Resolves the type of a value to be one of the members + # + # @param value [Object] + # @return [Class] + private def resolve_member(value) + if discriminated? && value.is_a?(::Hash) + # Try both symbol and string keys for the discriminant + discriminant_value = value.fetch(@discriminant, nil) || value.fetch(@discriminant.to_s, nil) + + return if discriminant_value.nil? + + # Convert to string for consistent comparison + discriminant_str = discriminant_value.to_s + + # First try exact match + members_hash = members.to_h + result = members_hash[discriminant_str]&.call + return result if result + + # Try case-insensitive match as fallback + discriminant_lower = discriminant_str.downcase + matching_keys = members_hash.keys.select { |k| k.to_s.downcase == discriminant_lower } + + # Only use case-insensitive match if exactly one key matches (avoid ambiguity) + return members_hash[matching_keys.first]&.call if matching_keys.length == 1 + + nil + else + # First try exact type matching + result = members.find do |_key, mem| + member_type = Utils.unwrap_type(mem) + type_matches?(value, member_type) + end&.last&.call + + return result if result + + # For Hash values, try to coerce into Model member types + if value.is_a?(::Hash) + members.find do |_key, mem| + member_type = Utils.unwrap_type(mem) + # Check if member_type is a Model class + next unless member_type.is_a?(Class) && member_type <= Model + + # Try to coerce the hash into this model type with strict mode + begin + candidate = Utils.coerce(member_type, value, strict: true) + + # Validate that all required (non-optional) fields are present + # This ensures undiscriminated unions properly distinguish between member types + member_type.fields.each do |field_name, field| + raise Errors::TypeError, "Required field `#{field_name}` missing for union member #{member_type.name}" if candidate.instance_variable_get(:@data)[field_name].nil? && !field.optional + end + + true + rescue Errors::TypeError + false + end + end&.last&.call + end + end + end + + def coerce(value, strict: strict?) + type = resolve_member(value) + + unless type + return value unless strict + + if discriminated? + raise Errors::TypeError, + "value of type `#{value.class}` not member of union #{self}" + end + + raise Errors::TypeError, "could not resolve to member of union #{self}" + end + + coerced = Utils.coerce(type, value, strict: strict) + + # For discriminated unions, store the discriminant info on the coerced instance + # so it can be injected back during serialization (to_h) + if discriminated? && value.is_a?(::Hash) && coerced.is_a?(Model) + discriminant_value = value.fetch(@discriminant, nil) || value.fetch(@discriminant.to_s, nil) + if discriminant_value + coerced.instance_variable_set(:@_fern_union_discriminant_key, @discriminant.to_s) + coerced.instance_variable_set(:@_fern_union_discriminant_value, discriminant_value) + end + end + + coerced + end + + # Parse JSON string and coerce to the correct union member type + # + # @param str [String] JSON string to parse + # @return [Object] Coerced value matching a union member + def load(str) + coerce(::JSON.parse(str, symbolize_names: true)) + end + end + end + end +end diff --git a/lib/auth0/internal/types/unknown.rb b/lib/auth0/internal/types/unknown.rb new file mode 100644 index 000000000..c72865670 --- /dev/null +++ b/lib/auth0/internal/types/unknown.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Internal + module Types + module Unknown + include Auth0::Internal::Types::Type + + def coerce(value) + value + end + end + end + end +end diff --git a/lib/auth0/internal/types/utils.rb b/lib/auth0/internal/types/utils.rb new file mode 100644 index 000000000..8d6cd9617 --- /dev/null +++ b/lib/auth0/internal/types/utils.rb @@ -0,0 +1,116 @@ +# frozen_string_literal: true + +module Auth0 + module Internal + module Types + # Utilities for dealing with and checking types + module Utils + # Wraps a type into a type function + # + # @param type [Proc, Object] + # @return [Proc] + def self.wrap_type(type) + case type + when Proc + type + else + -> { type } + end + end + + # Resolves a type or type function into a type + # + # @param type [Proc, Object] + # @return [Object] + def self.unwrap_type(type) + type.is_a?(Proc) ? type.call : type + end + + def self.coerce(target, value, strict: false) + type = unwrap_type(target) + + case type + in Array + case value + when ::Array + return type.coerce(value, strict: strict) + when Set, ::Hash + return coerce(type, value.to_a) + end + in Hash + case value + when ::Hash + return type.coerce(value, strict: strict) + when ::Array + return coerce(type, value.to_h) + end + in ->(t) { t <= NilClass } + return nil + in ->(t) { t <= String } + case value + when String, Symbol, Numeric, TrueClass, FalseClass + return value.to_s + end + in ->(t) { t <= Symbol } + case value + when Symbol, String + return value.to_sym + end + in ->(t) { t <= Integer } + case value + when Numeric, String, Time + return value.to_i + end + in ->(t) { t <= Float } + case value + when Numeric, Time, String + return value.to_f + end + in ->(t) { t <= Model } + case value + when type + return value + when ::Hash + return type.coerce(value, strict: strict) + end + in Module + case type + in ->(t) { + t.singleton_class.include?(Enum) || + t.singleton_class.include?(Union) + } + return type.coerce(value, strict: strict) + else + value # rubocop:disable Lint/Void + end + else + value # rubocop:disable Lint/Void + end + + raise Errors::TypeError, "cannot coerce value of type `#{value.class}` to `#{target}`" if strict + + value + end + + def self.symbolize_keys(hash) + hash.transform_keys(&:to_sym) + end + + # Converts camelCase keys to snake_case symbols + # This allows SDK methods to accept both snake_case and camelCase keys + # e.g., { refundMethod: ... } becomes { refund_method: ... } + # + # @param hash [Hash] + # @return [Hash] + def self.normalize_keys(hash) + hash.transform_keys do |key| + key_str = key.to_s + # Convert camelCase to snake_case + snake_case = key_str.gsub(/([a-z\d])([A-Z])/, '\1_\2').downcase + snake_case.to_sym + end + end + end + end + end +end diff --git a/lib/auth0/jobs/client.rb b/lib/auth0/jobs/client.rb new file mode 100644 index 000000000..9b13bb562 --- /dev/null +++ b/lib/auth0/jobs/client.rb @@ -0,0 +1,68 @@ +# frozen_string_literal: true + +module Auth0 + module Jobs + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieves a job. Useful to check its status. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::GetJobResponseContent] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "jobs/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetJobResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # @return [Auth0::UsersExports::Client] + def users_exports + @users_exports ||= Auth0::Jobs::UsersExports::Client.new(client: @client) + end + + # @return [Auth0::UsersImports::Client] + def users_imports + @users_imports ||= Auth0::Jobs::UsersImports::Client.new(client: @client) + end + + # @return [Auth0::VerificationEmail::Client] + def verification_email + @verification_email ||= Auth0::Jobs::VerificationEmail::Client.new(client: @client) + end + + # @return [Auth0::Errors::Client] + def errors + @errors ||= Auth0::Jobs::Errors::Client.new(client: @client) + end + end + end +end diff --git a/lib/auth0/jobs/errors/client.rb b/lib/auth0/jobs/errors/client.rb new file mode 100644 index 000000000..4130fb5d7 --- /dev/null +++ b/lib/auth0/jobs/errors/client.rb @@ -0,0 +1,48 @@ +# frozen_string_literal: true + +module Auth0 + module Jobs + module Errors + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve error details of a failed job. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Jobs::Errors::Types::ErrorsGetResponse, nil] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "jobs/#{URI.encode_uri_component(params[:id].to_s)}/errors", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end +end diff --git a/lib/auth0/jobs/errors/types/errors_get_response.rb b/lib/auth0/jobs/errors/types/errors_get_response.rb new file mode 100644 index 000000000..9a30a23e2 --- /dev/null +++ b/lib/auth0/jobs/errors/types/errors_get_response.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Jobs + module Errors + module Types + class ErrorsGetResponse < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Internal::Types::Array[Auth0::Types::GetJobErrorResponseContent] } + + member -> { Auth0::Types::GetJobGenericErrorResponseContent } + end + end + end + end +end diff --git a/lib/auth0/jobs/users_exports/client.rb b/lib/auth0/jobs/users_exports/client.rb new file mode 100644 index 000000000..08e4cb44d --- /dev/null +++ b/lib/auth0/jobs/users_exports/client.rb @@ -0,0 +1,50 @@ +# frozen_string_literal: true + +module Auth0 + module Jobs + module UsersExports + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Export all users to a file via a long-running job. + # + # @param request_options [Hash] + # @param params [Auth0::Jobs::UsersExports::Types::CreateExportUsersRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::CreateExportUsersResponseContent] + def create(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "jobs/users-exports", + body: Auth0::Jobs::UsersExports::Types::CreateExportUsersRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::CreateExportUsersResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end + end +end diff --git a/lib/auth0/jobs/users_exports/types/create_export_users_request_content.rb b/lib/auth0/jobs/users_exports/types/create_export_users_request_content.rb new file mode 100644 index 000000000..c0bc335bd --- /dev/null +++ b/lib/auth0/jobs/users_exports/types/create_export_users_request_content.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Jobs + module UsersExports + module Types + class CreateExportUsersRequestContent < Internal::Types::Model + field :connection_id, -> { String }, optional: true, nullable: false + + field :format, -> { Auth0::Types::JobFileFormatEnum }, optional: true, nullable: false + + field :limit, -> { Integer }, optional: true, nullable: false + + field :fields, -> { Internal::Types::Array[Auth0::Types::CreateExportUsersFields] }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/jobs/users_imports/client.rb b/lib/auth0/jobs/users_imports/client.rb new file mode 100644 index 000000000..bc7755df2 --- /dev/null +++ b/lib/auth0/jobs/users_imports/client.rb @@ -0,0 +1,82 @@ +# frozen_string_literal: true + +module Auth0 + module Jobs + module UsersImports + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Import users from a formatted file into a + # connection via a long-running job. When importing users, with or without upsert, the `email_verified` is set + # to `false` when the email address is added or updated. Users must verify their email address. To avoid this + # behavior, set `email_verified` to `true` in the imported data. + # + # @param request_options [Hash] + # @param params [void] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::CreateImportUsersResponseContent] + def create(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + body = Internal::Multipart::FormData.new + + body.add_part(params[:users].to_form_data_part(name: "users")) if params[:users] + if params[:connection_id] + body.add( + name: "connection_id", + value: params[:connection_id] + ) + end + if params[:upsert] + body.add( + name: "upsert", + value: params[:upsert] + ) + end + if params[:external_id] + body.add( + name: "external_id", + value: params[:external_id] + ) + end + if params[:send_completion_email] + body.add( + name: "send_completion_email", + value: params[:send_completion_email] + ) + end + + request = Auth0::Internal::Multipart::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "jobs/users-imports", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::CreateImportUsersResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end + end +end diff --git a/lib/auth0/jobs/users_imports/types/create_import_users_request_content.rb b/lib/auth0/jobs/users_imports/types/create_import_users_request_content.rb new file mode 100644 index 000000000..cc5003d17 --- /dev/null +++ b/lib/auth0/jobs/users_imports/types/create_import_users_request_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Jobs + module UsersImports + module Types + class CreateImportUsersRequestContent < Internal::Types::Model; end + end + end + end +end diff --git a/lib/auth0/jobs/verification_email/client.rb b/lib/auth0/jobs/verification_email/client.rb new file mode 100644 index 000000000..317e83bae --- /dev/null +++ b/lib/auth0/jobs/verification_email/client.rb @@ -0,0 +1,53 @@ +# frozen_string_literal: true + +module Auth0 + module Jobs + module VerificationEmail + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Send an email to the specified user that asks them to click a link to [verify their email + # address](https://auth0.com/docs/email/custom#verification-email). + # + # Note: You must have the `Status` toggle enabled for the verification email template for the email to be sent. + # + # @param request_options [Hash] + # @param params [Auth0::Jobs::VerificationEmail::Types::CreateVerificationEmailRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::CreateVerificationEmailResponseContent] + def create(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "jobs/verification-email", + body: Auth0::Jobs::VerificationEmail::Types::CreateVerificationEmailRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::CreateVerificationEmailResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end + end +end diff --git a/lib/auth0/jobs/verification_email/types/create_verification_email_request_content.rb b/lib/auth0/jobs/verification_email/types/create_verification_email_request_content.rb new file mode 100644 index 000000000..8b9fd7f25 --- /dev/null +++ b/lib/auth0/jobs/verification_email/types/create_verification_email_request_content.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Jobs + module VerificationEmail + module Types + class CreateVerificationEmailRequestContent < Internal::Types::Model + field :user_id, -> { String }, optional: false, nullable: false + + field :client_id, -> { String }, optional: true, nullable: false + + field :identity, -> { Auth0::Types::Identity }, optional: true, nullable: false + + field :organization_id, -> { String }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/keys/client.rb b/lib/auth0/keys/client.rb new file mode 100644 index 000000000..ccfdfd1db --- /dev/null +++ b/lib/auth0/keys/client.rb @@ -0,0 +1,29 @@ +# frozen_string_literal: true + +module Auth0 + module Keys + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # @return [Auth0::CustomSigning::Client] + def custom_signing + @custom_signing ||= Auth0::Keys::CustomSigning::Client.new(client: @client) + end + + # @return [Auth0::Encryption::Client] + def encryption + @encryption ||= Auth0::Keys::Encryption::Client.new(client: @client) + end + + # @return [Auth0::Signing::Client] + def signing + @signing ||= Auth0::Keys::Signing::Client.new(client: @client) + end + end + end +end diff --git a/lib/auth0/keys/custom_signing/client.rb b/lib/auth0/keys/custom_signing/client.rb new file mode 100644 index 000000000..8b2abbaa4 --- /dev/null +++ b/lib/auth0/keys/custom_signing/client.rb @@ -0,0 +1,112 @@ +# frozen_string_literal: true + +module Auth0 + module Keys + module CustomSigning + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Get entire jwks representation of custom signing keys. + # + # @param request_options [Hash] + # @param _params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::GetCustomSigningKeysResponseContent] + def get(request_options: {}, **_params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "keys/custom-signing", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetCustomSigningKeysResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Create or replace entire jwks representation of custom signing keys. + # + # @param request_options [Hash] + # @param params [Auth0::Keys::CustomSigning::Types::SetCustomSigningKeysRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::SetCustomSigningKeysResponseContent] + def set(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PUT", + path: "keys/custom-signing", + body: Auth0::Keys::CustomSigning::Types::SetCustomSigningKeysRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::SetCustomSigningKeysResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Delete entire jwks representation of custom signing keys. + # + # @param request_options [Hash] + # @param _params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [untyped] + def delete(request_options: {}, **_params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "keys/custom-signing", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end +end diff --git a/lib/auth0/keys/custom_signing/types/set_custom_signing_keys_request_content.rb b/lib/auth0/keys/custom_signing/types/set_custom_signing_keys_request_content.rb new file mode 100644 index 000000000..fc00d77de --- /dev/null +++ b/lib/auth0/keys/custom_signing/types/set_custom_signing_keys_request_content.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Keys + module CustomSigning + module Types + class SetCustomSigningKeysRequestContent < Internal::Types::Model + field :keys, -> { Internal::Types::Array[Auth0::Types::CustomSigningKeyJwk] }, optional: false, nullable: false + end + end + end + end +end diff --git a/lib/auth0/keys/encryption/client.rb b/lib/auth0/keys/encryption/client.rb new file mode 100644 index 000000000..dd233eb12 --- /dev/null +++ b/lib/auth0/keys/encryption/client.rb @@ -0,0 +1,270 @@ +# frozen_string_literal: true + +module Auth0 + module Keys + module Encryption + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve details of all the encryption keys associated with your tenant. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [Integer, nil] :page + # @option params [Integer, nil] :per_page + # @option params [Boolean, nil] :include_totals + # + # @return [Auth0::Types::ListEncryptionKeyOffsetPaginatedResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["page"] = params.fetch(:page, 0) + query_params["per_page"] = params.fetch(:per_page, 50) + query_params["include_totals"] = params.fetch(:include_totals, true) + + Auth0::Internal::OffsetItemIterator.new( + initial_page: query_params["page"], + item_field: :keys, + has_next_field: nil, + step: false + ) do |next_page| + query_params["page"] = next_page + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "keys/encryption", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListEncryptionKeyOffsetPaginatedResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # Create the new, pre-activated encryption key, without the key material. + # + # @param request_options [Hash] + # @param params [Auth0::Keys::Encryption::Types::CreateEncryptionKeyRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::CreateEncryptionKeyResponseContent] + def create(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "keys/encryption", + body: Auth0::Keys::Encryption::Types::CreateEncryptionKeyRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::CreateEncryptionKeyResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Perform rekeying operation on the key hierarchy. + # + # @param request_options [Hash] + # @param _params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [untyped] + def rekey(request_options: {}, **_params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "keys/encryption/rekey", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Retrieve details of the encryption key with the given ID. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :kid + # + # @return [Auth0::Types::GetEncryptionKeyResponseContent] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "keys/encryption/#{URI.encode_uri_component(params[:kid].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetEncryptionKeyResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Import wrapped key material and activate encryption key. + # + # @param request_options [Hash] + # @param params [Auth0::Keys::Encryption::Types::ImportEncryptionKeyRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :kid + # + # @return [Auth0::Types::ImportEncryptionKeyResponseContent] + def import(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Keys::Encryption::Types::ImportEncryptionKeyRequestContent.new(params).to_h + non_body_param_names = %w[kid] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "keys/encryption/#{URI.encode_uri_component(params[:kid].to_s)}", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::ImportEncryptionKeyResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Delete the custom provided encryption key with the given ID and move back to using native encryption key. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :kid + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "keys/encryption/#{URI.encode_uri_component(params[:kid].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Create the public wrapping key to wrap your own encryption key material. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :kid + # + # @return [Auth0::Types::CreateEncryptionKeyPublicWrappingResponseContent] + def create_public_wrapping_key(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "keys/encryption/#{URI.encode_uri_component(params[:kid].to_s)}/wrapping-key", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::CreateEncryptionKeyPublicWrappingResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end + end +end diff --git a/lib/auth0/keys/encryption/types/create_encryption_key_request_content.rb b/lib/auth0/keys/encryption/types/create_encryption_key_request_content.rb new file mode 100644 index 000000000..9ea90ecc1 --- /dev/null +++ b/lib/auth0/keys/encryption/types/create_encryption_key_request_content.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Keys + module Encryption + module Types + class CreateEncryptionKeyRequestContent < Internal::Types::Model + field :type, -> { Auth0::Types::CreateEncryptionKeyType }, optional: false, nullable: false + end + end + end + end +end diff --git a/lib/auth0/keys/encryption/types/import_encryption_key_request_content.rb b/lib/auth0/keys/encryption/types/import_encryption_key_request_content.rb new file mode 100644 index 000000000..62ecaa63a --- /dev/null +++ b/lib/auth0/keys/encryption/types/import_encryption_key_request_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Keys + module Encryption + module Types + class ImportEncryptionKeyRequestContent < Internal::Types::Model + field :kid, -> { String }, optional: false, nullable: false + + field :wrapped_key, -> { String }, optional: false, nullable: false + end + end + end + end +end diff --git a/lib/auth0/keys/encryption/types/list_encryption_keys_request_parameters.rb b/lib/auth0/keys/encryption/types/list_encryption_keys_request_parameters.rb new file mode 100644 index 000000000..b56595709 --- /dev/null +++ b/lib/auth0/keys/encryption/types/list_encryption_keys_request_parameters.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Keys + module Encryption + module Types + class ListEncryptionKeysRequestParameters < Internal::Types::Model + field :page, -> { Integer }, optional: true, nullable: false + + field :per_page, -> { Integer }, optional: true, nullable: false + + field :include_totals, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/keys/signing/client.rb b/lib/auth0/keys/signing/client.rb new file mode 100644 index 000000000..3da55ae69 --- /dev/null +++ b/lib/auth0/keys/signing/client.rb @@ -0,0 +1,146 @@ +# frozen_string_literal: true + +module Auth0 + module Keys + module Signing + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve details of all the application signing keys associated with your tenant. + # + # @param request_options [Hash] + # @param _params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Array[Auth0::Types::SigningKeys]] + def list(request_options: {}, **_params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "keys/signing", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Rotate the application signing key of your tenant. + # + # @param request_options [Hash] + # @param _params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::RotateSigningKeysResponseContent] + def rotate(request_options: {}, **_params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "keys/signing/rotate", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::RotateSigningKeysResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Retrieve details of the application signing key with the given ID. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :kid + # + # @return [Auth0::Types::GetSigningKeysResponseContent] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "keys/signing/#{URI.encode_uri_component(params[:kid].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetSigningKeysResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Revoke the application signing key with the given ID. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :kid + # + # @return [Auth0::Types::RevokedSigningKeysResponseContent] + def revoke(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PUT", + path: "keys/signing/#{URI.encode_uri_component(params[:kid].to_s)}/revoke", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::RevokedSigningKeysResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end + end +end diff --git a/lib/auth0/log_streams/client.rb b/lib/auth0/log_streams/client.rb new file mode 100644 index 000000000..9566b16a0 --- /dev/null +++ b/lib/auth0/log_streams/client.rb @@ -0,0 +1,673 @@ +# frozen_string_literal: true + +module Auth0 + module LogStreams + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve details on [log streams](https://auth0.com/docs/logs/streams). + # + # **Sample Response** + # + # ```json + # [{ + # "id": "string", + # "name": "string", + # "type": "eventbridge", + # "status": "active|paused|suspended", + # "sink": { + # "awsAccountId": "string", + # "awsRegion": "string", + # "awsPartnerEventSource": "string" + # } + # }, { + # "id": "string", + # "name": "string", + # "type": "http", + # "status": "active|paused|suspended", + # "sink": { + # "httpContentFormat": "JSONLINES|JSONARRAY", + # "httpContentType": "string", + # "httpEndpoint": "string", + # "httpAuthorization": "string" + # } + # }, + # { + # "id": "string", + # "name": "string", + # "type": "eventgrid", + # "status": "active|paused|suspended", + # "sink": { + # "azureSubscriptionId": "string", + # "azureResourceGroup": "string", + # "azureRegion": "string", + # "azurePartnerTopic": "string" + # } + # }, + # { + # "id": "string", + # "name": "string", + # "type": "splunk", + # "status": "active|paused|suspended", + # "sink": { + # "splunkDomain": "string", + # "splunkToken": "string", + # "splunkPort": "string", + # "splunkSecure": "boolean" + # } + # }, + # { + # "id": "string", + # "name": "string", + # "type": "sumo", + # "status": "active|paused|suspended", + # "sink": { + # "sumoSourceAddress": "string" + # } + # }, + # { + # "id": "string", + # "name": "string", + # "type": "datadog", + # "status": "active|paused|suspended", + # "sink": { + # "datadogRegion": "string", + # "datadogApiKey": "string" + # } + # }] + # ``` + # + # @param request_options [Hash] + # @param _params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Array[Auth0::Types::LogStreamResponseSchema]] + def list(request_options: {}, **_params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "log-streams", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Create a log stream. + # + # **Log Stream Types** + # + # The `type` of log stream being created determines the properties required in the `sink` payload. + # + # **HTTP Stream** + # + # For an `http` Stream, the `sink` properties are listed in the payload below. + # + # **Request:** + # ```json + # { + # "name": "string", + # "type": "http", + # "sink": { + # "httpEndpoint": "string", + # "httpContentType": "string", + # "httpContentFormat": "JSONLINES|JSONARRAY", + # "httpAuthorization": "string" + # } + # } + # ``` + # + # **Response:** + # ```json + # { + # "id": "string", + # "name": "string", + # "type": "http", + # "status": "active", + # "sink": { + # "httpEndpoint": "string", + # "httpContentType": "string", + # "httpContentFormat": "JSONLINES|JSONARRAY", + # "httpAuthorization": "string" + # } + # } + # ``` + # + # **Amazon EventBridge Stream** + # + # For an `eventbridge` Stream, the `sink` properties are listed in the payload below. + # + # **Request:** + # ```json + # { + # "name": "string", + # "type": "eventbridge", + # "sink": { + # "awsRegion": "string", + # "awsAccountId": "string" + # } + # } + # ``` + # + # The response will include an additional field `awsPartnerEventSource` in the `sink`: + # + # **Response:** + # ```json + # { + # "id": "string", + # "name": "string", + # "type": "eventbridge", + # "status": "active", + # "sink": { + # "awsAccountId": "string", + # "awsRegion": "string", + # "awsPartnerEventSource": "string" + # } + # } + # ``` + # + # **Azure Event Grid Stream** + # + # For an `Azure Event Grid` Stream, the `sink` properties are listed in the payload below. + # + # **Request:** + # ```json + # { + # "name": "string", + # "type": "eventgrid", + # "sink": { + # "azureSubscriptionId": "string", + # "azureResourceGroup": "string", + # "azureRegion": "string" + # } + # } + # ``` + # + # **Response:** + # ```json + # { + # "id": "string", + # "name": "string", + # "type": "http", + # "status": "active", + # "sink": { + # "azureSubscriptionId": "string", + # "azureResourceGroup": "string", + # "azureRegion": "string", + # "azurePartnerTopic": "string" + # } + # } + # ``` + # + # **Datadog Stream** + # + # For a `Datadog` Stream, the `sink` properties are listed in the payload below. + # + # **Request:** + # ```json + # { + # "name": "string", + # "type": "datadog", + # "sink": { + # "datadogRegion": "string", + # "datadogApiKey": "string" + # } + # } + # ``` + # + # **Response:** + # ```json + # { + # "id": "string", + # "name": "string", + # "type": "datadog", + # "status": "active", + # "sink": { + # "datadogRegion": "string", + # "datadogApiKey": "string" + # } + # } + # ``` + # + # **Splunk Stream** + # + # For a `Splunk` Stream, the `sink` properties are listed in the payload below. + # + # **Request:** + # ```json + # { + # "name": "string", + # "type": "splunk", + # "sink": { + # "splunkDomain": "string", + # "splunkToken": "string", + # "splunkPort": "string", + # "splunkSecure": "boolean" + # } + # } + # ``` + # + # **Response:** + # ```json + # { + # "id": "string", + # "name": "string", + # "type": "splunk", + # "status": "active", + # "sink": { + # "splunkDomain": "string", + # "splunkToken": "string", + # "splunkPort": "string", + # "splunkSecure": "boolean" + # } + # } + # ``` + # + # **Sumo Logic Stream** + # + # For a `Sumo Logic` Stream, the `sink` properties are listed in the payload below. + # + # **Request:** + # ```json + # { + # "name": "string", + # "type": "sumo", + # "sink": { + # "sumoSourceAddress": "string" + # } + # } + # ``` + # + # **Response:** + # ```json + # { + # "id": "string", + # "name": "string", + # "type": "sumo", + # "status": "active", + # "sink": { + # "sumoSourceAddress": "string" + # } + # } + # ``` + # + # @param request_options [Hash] + # @param params [Auth0::Types::CreateLogStreamRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::CreateLogStreamResponseContent] + def create(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "log-streams", + body: Auth0::Types::CreateLogStreamRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::CreateLogStreamResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Retrieve a log stream configuration and status. + # + # **Sample responses** + # + # **Amazon EventBridge Log Stream** + # + # ```json + # { + # "id": "string", + # "name": "string", + # "type": "eventbridge", + # "status": "active|paused|suspended", + # "sink": { + # "awsAccountId": "string", + # "awsRegion": "string", + # "awsPartnerEventSource": "string" + # } + # } + # ``` + # + # **HTTP Log Stream** + # + # ```json + # { + # "id": "string", + # "name": "string", + # "type": "http", + # "status": "active|paused|suspended", + # "sink": { + # "httpContentFormat": "JSONLINES|JSONARRAY", + # "httpContentType": "string", + # "httpEndpoint": "string", + # "httpAuthorization": "string" + # } + # } + # ``` + # + # **Datadog Log Stream** + # + # ```json + # { + # "id": "string", + # "name": "string", + # "type": "datadog", + # "status": "active|paused|suspended", + # "sink": { + # "datadogRegion": "string", + # "datadogApiKey": "string" + # } + # } + # ``` + # + # **Mixpanel** + # + # **Request:** + # + # ```json + # { + # "name": "string", + # "type": "mixpanel", + # "sink": { + # "mixpanelRegion": "string", + # "mixpanelProjectId": "string", + # "mixpanelServiceAccountUsername": "string", + # "mixpanelServiceAccountPassword": "string" + # } + # } + # ``` + # + # **Response:** + # + # ```json + # { + # "id": "string", + # "name": "string", + # "type": "mixpanel", + # "status": "active", + # "sink": { + # "mixpanelRegion": "string", + # "mixpanelProjectId": "string", + # "mixpanelServiceAccountUsername": "string", + # "mixpanelServiceAccountPassword": "string" + # } + # } + # ``` + # + # **Segment** + # + # **Request:** + # + # ```json + # { + # "name": "string", + # "type": "segment", + # "sink": { + # "segmentWriteKey": "string" + # } + # } + # ``` + # + # **Response:** + # + # ```json + # { + # "id": "string", + # "name": "string", + # "type": "segment", + # "status": "active", + # "sink": { + # "segmentWriteKey": "string" + # } + # } + # ``` + # + # **Splunk Log Stream** + # + # ```json + # { + # "id": "string", + # "name": "string", + # "type": "splunk", + # "status": "active|paused|suspended", + # "sink": { + # "splunkDomain": "string", + # "splunkToken": "string", + # "splunkPort": "string", + # "splunkSecure": "boolean" + # } + # } + # ``` + # + # **Sumo Logic Log Stream** + # + # ```json + # { + # "id": "string", + # "name": "string", + # "type": "sumo", + # "status": "active|paused|suspended", + # "sink": { + # "sumoSourceAddress": "string" + # } + # } + # ``` + # + # **Status** + # + # The `status` of a log stream maybe any of the following: + # + # 1. `active` - Stream is currently enabled. + # 2. `paused` - Stream is currently user disabled and will not attempt log delivery. + # 3. `suspended` - Stream is currently disabled because of errors and will not attempt log delivery. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::GetLogStreamResponseContent] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "log-streams/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetLogStreamResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Delete a log stream. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "log-streams/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Update a log stream. + # + # **Examples of how to use the PATCH endpoint.** + # + # The following fields may be updated in a PATCH operation: + # + # - name + # - status + # - sink + # + # Note: For log streams of type `eventbridge` and `eventgrid`, updating the `sink` is not permitted. + # + # **Update the status of a log stream** + # + # ```json + # { + # "status": "active|paused" + # } + # ``` + # + # **Update the name of a log stream** + # + # ```json + # { + # "name": "string" + # } + # ``` + # + # **Update the sink properties of a stream of type `http`** + # + # ```json + # { + # "sink": { + # "httpEndpoint": "string", + # "httpContentType": "string", + # "httpContentFormat": "JSONARRAY|JSONLINES", + # "httpAuthorization": "string" + # } + # } + # ``` + # + # **Update the sink properties of a stream of type `datadog`** + # + # ```json + # { + # "sink": { + # "datadogRegion": "string", + # "datadogApiKey": "string" + # } + # } + # ``` + # + # **Update the sink properties of a stream of type `splunk`** + # + # ```json + # { + # "sink": { + # "splunkDomain": "string", + # "splunkToken": "string", + # "splunkPort": "string", + # "splunkSecure": "boolean" + # } + # } + # ``` + # + # **Update the sink properties of a stream of type `sumo`** + # + # ```json + # { + # "sink": { + # "sumoSourceAddress": "string" + # } + # } + # ``` + # + # @param request_options [Hash] + # @param params [Auth0::LogStreams::Types::UpdateLogStreamRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::UpdateLogStreamResponseContent] + def update(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::LogStreams::Types::UpdateLogStreamRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "log-streams/#{URI.encode_uri_component(params[:id].to_s)}", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::UpdateLogStreamResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end +end diff --git a/lib/auth0/log_streams/types/update_log_stream_request_content.rb b/lib/auth0/log_streams/types/update_log_stream_request_content.rb new file mode 100644 index 000000000..5a3206e79 --- /dev/null +++ b/lib/auth0/log_streams/types/update_log_stream_request_content.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module LogStreams + module Types + class UpdateLogStreamRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :status, -> { Auth0::Types::LogStreamStatusEnum }, optional: true, nullable: false + + field :is_priority, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "isPriority" + + field :filters, -> { Internal::Types::Array[Auth0::Types::LogStreamFilter] }, optional: true, nullable: false + + field :pii_config, -> { Auth0::Types::LogStreamPiiConfig }, optional: true, nullable: false + + field :sink, -> { Auth0::Types::LogStreamSinkPatch }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/logs/client.rb b/lib/auth0/logs/client.rb new file mode 100644 index 000000000..36ea985c0 --- /dev/null +++ b/lib/auth0/logs/client.rb @@ -0,0 +1,144 @@ +# frozen_string_literal: true + +module Auth0 + module Logs + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve log entries that match the specified search criteria (or all log entries if no criteria specified). + # + # Set custom search criteria using the `q` parameter, or search from a specific log ID (_"search from + # checkpoint"_). + # + # For more information on all possible event types, their respective acronyms, and descriptions, see [Log Event + # Type Codes](https://auth0.com/docs/logs/log-event-type-codes). + # + # **To set custom search criteria, use the following parameters:** + # + # - **q:** Search Criteria using [Query String Syntax](https://auth0.com/docs/logs/log-search-query-syntax) + # - **page:** Page index of the results to return. First page is 0. + # - **per_page:** Number of results per page. + # - **sort:** Field to use for sorting appended with `:1` for ascending and `:-1` for descending. e.g. `date:-1` + # - **fields:** Comma-separated list of fields to include or exclude (depending on include_fields) from the + # result, empty to retrieve all fields. + # - **include_fields:** Whether specified fields are to be included (true) or excluded (false). + # - **include_totals:** Return results inside an object that contains the total result count (true) or as a direct + # array of results (false, default). **Deprecated:** this field is deprecated and should be removed from use. See + # [Search Engine V3 Breaking + # Changes](https://auth0.com/docs/product-lifecycle/deprecations-and-migrations/migrate-to-tenant-log-search-v3#pagination) + # + # For more information on the list of fields that can be used in `fields` and `sort`, see [Searchable + # Fields](https://auth0.com/docs/logs/log-search-query-syntax#searchable-fields). + # + # Auth0 [limits the number of logs](https://auth0.com/docs/logs/retrieve-log-events-using-mgmt-api#limitations) + # you can return by search criteria to 100 logs per request. Furthermore, you may paginate only through 1,000 + # search results. If you exceed this threshold, please redefine your search or use the [get logs by checkpoint + # method](https://auth0.com/docs/logs/retrieve-log-events-using-mgmt-api#retrieve-logs-by-checkpoint). + # + # **To search from a checkpoint log ID, use the following parameters:** + # + # - **from:** Log Event ID from which to start retrieving logs. You can limit the number of logs returned using + # the `take` parameter. If you use `from` at the same time as `q`, `from` takes precedence and `q` is ignored. + # - **take:** Number of entries to retrieve when using the `from` parameter. + # + # **Important:** When fetching logs from a checkpoint log ID, any parameter other than `from` and `take` will be + # ignored, and date ordering is not guaranteed. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [Integer, nil] :page + # @option params [Integer, nil] :per_page + # @option params [String, nil] :sort + # @option params [String, nil] :fields + # @option params [Boolean, nil] :include_fields + # @option params [Boolean, nil] :include_totals + # @option params [String, nil] :search + # + # @return [Auth0::Types::ListLogOffsetPaginatedResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["page"] = params.fetch(:page, 0) + query_params["per_page"] = params.fetch(:per_page, 50) + query_params["sort"] = params[:sort] if params.key?(:sort) + query_params["fields"] = params[:fields] if params.key?(:fields) + query_params["include_fields"] = params[:include_fields] if params.key?(:include_fields) + query_params["include_totals"] = params.fetch(:include_totals, true) + query_params["search"] = params[:search] if params.key?(:search) + + Auth0::Internal::OffsetItemIterator.new( + initial_page: query_params["page"], + item_field: :logs, + has_next_field: nil, + step: false + ) do |next_page| + query_params["page"] = next_page + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "logs", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListLogOffsetPaginatedResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # Retrieve an individual log event. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::GetLogResponseContent] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "logs/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetLogResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end +end diff --git a/lib/auth0/logs/types/list_logs_request_parameters.rb b/lib/auth0/logs/types/list_logs_request_parameters.rb new file mode 100644 index 000000000..08005f599 --- /dev/null +++ b/lib/auth0/logs/types/list_logs_request_parameters.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Logs + module Types + class ListLogsRequestParameters < Internal::Types::Model + field :page, -> { Integer }, optional: true, nullable: false + + field :per_page, -> { Integer }, optional: true, nullable: false + + field :sort, -> { String }, optional: true, nullable: false + + field :fields, -> { String }, optional: true, nullable: false + + field :include_fields, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :include_totals, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :search, -> { String }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/mixins.rb b/lib/auth0/mixins.rb index e6b40f30a..01efe5586 100644 --- a/lib/auth0/mixins.rb +++ b/lib/auth0/mixins.rb @@ -1,18 +1,19 @@ -require 'base64' -require 'rest-client' -require 'uri' +# frozen_string_literal: true -require 'auth0/mixins/access_token_struct' -require 'auth0/mixins/api_token_struct' -require 'auth0/mixins/headers' -require 'auth0/mixins/httpproxy' -require 'auth0/mixins/initializer' -require 'auth0/mixins/permission_struct' -require 'auth0/mixins/validation' -require 'auth0/mixins/token_management' +require "base64" +require "rest-client" +require "uri" -require 'auth0/api/authentication_endpoints' -require 'auth0/api/v2' +require "auth0/mixins/access_token_struct" +require "auth0/mixins/api_token_struct" +require "auth0/mixins/headers" +require "auth0/mixins/httpproxy" +require "auth0/mixins/initializer" +require "auth0/mixins/permission_struct" +require "auth0/mixins/validation" +require "auth0/mixins/token_management" + +require "auth0/api/authentication_endpoints" module Auth0 # Collecting dependencies here diff --git a/lib/auth0/mixins/httpproxy.rb b/lib/auth0/mixins/httpproxy.rb index acd052650..f4446c47b 100644 --- a/lib/auth0/mixins/httpproxy.rb +++ b/lib/auth0/mixins/httpproxy.rb @@ -1,8 +1,6 @@ -# frozen_string_literal: true - -require 'addressable/uri' -require 'retryable' -require_relative '../exception' +require "addressable/uri" +require "retryable" +require_relative "../exception.rb" module Auth0 module Mixins @@ -10,7 +8,6 @@ module Mixins # for now, if you want to feel free to use your own http client module HTTPProxy attr_accessor :headers, :base_uri, :timeout, :retry_count - DEFAULT_RETRIES = 3 MAX_ALLOWED_RETRIES = 10 MAX_REQUEST_RETRY_JITTER = 250 @@ -19,10 +16,10 @@ module HTTPProxy BASE_DELAY = 100 # proxying requests from instance methods to HTTP class methods - %i[get post post_file post_form put patch delete delete_with_body].each do |method| + %i(get post post_file post_form put patch delete delete_with_body).each do |method| define_method(method) do |uri, body = {}, extra_headers = {}| - body = safe_merge_body(body, extra_headers) - token = get_token + body = body.delete_if { |_, v| v.nil? } + token = get_token() authorization_header(token) unless token.nil? request_with_retry(method, uri, body, extra_headers) end @@ -30,8 +27,8 @@ module HTTPProxy def retry_options sleep_timer = lambda do |attempt| - wait = BASE_DELAY * (2**attempt - 1) # Exponential delay with each subsequent request attempt. - wait += rand(wait + 1..wait + MAX_REQUEST_RETRY_JITTER) # Add jitter to the delay window. + wait = BASE_DELAY * (2**attempt-1) # Exponential delay with each subsequent request attempt. + wait += rand(wait+1..wait+MAX_REQUEST_RETRY_JITTER) # Add jitter to the delay window. wait = [MAX_REQUEST_RETRY_DELAY, wait].min # Cap delay at MAX_REQUEST_RETRY_DELAY. wait = [MIN_REQUEST_RETRY_DELAY, wait].max # Ensure delay is no less than MIN_REQUEST_RETRY_DELAY. wait / 1000.to_f.round(2) # convert ms to seconds @@ -58,7 +55,6 @@ def url(path) def add_headers(h = {}) raise ArgumentError, 'Headers must be an object which responds to #to_hash' unless h.respond_to?(:to_hash) - @headers ||= {} @headers.merge!(h.to_hash) end @@ -76,29 +72,28 @@ def request_with_retry(method, uri, body = {}, extra_headers = {}) end def request(method, uri, body = {}, extra_headers = {}) - result = case method - when :get - @headers ||= {} - get_headers = @headers.merge({ params: body }).merge(extra_headers) - call(:get, encode_uri(uri), timeout, get_headers) - when :delete - @headers ||= {} - delete_headers = @headers.merge({ params: body }) - call(:delete, encode_uri(uri), timeout, delete_headers) - when :delete_with_body - call(:delete, encode_uri(uri), timeout, headers, body.to_json) - when :post_file - body.merge!(multipart: true) - # Ignore the default Content-Type headers and let the HTTP client define them - post_file_headers = headers.except('Content-Type') unless headers.nil? - # Actual call with the altered headers - call(:post, encode_uri(uri), timeout, post_file_headers, body) - when :post_form - form_post_headers = headers.except('Content-Type') unless headers.nil? - call(:post, encode_uri(uri), timeout, form_post_headers, body.compact) - else - call(method, encode_uri(uri), timeout, headers, body.to_json) - end + result = if method == :get + @headers ||= {} + get_headers = @headers.merge({params: body}).merge(extra_headers) + call(:get, encode_uri(uri), timeout, get_headers) + elsif method == :delete + @headers ||= {} + delete_headers = @headers.merge({ params: body }) + call(:delete, encode_uri(uri), timeout, delete_headers) + elsif method == :delete_with_body + call(:delete, encode_uri(uri), timeout, headers, body.to_json) + elsif method == :post_file + body.merge!(multipart: true) + # Ignore the default Content-Type headers and let the HTTP client define them + post_file_headers = headers.except('Content-Type') if headers != nil + # Actual call with the altered headers + call(:post, encode_uri(uri), timeout, post_file_headers, body) + elsif method == :post_form + form_post_headers = headers.except('Content-Type') if headers != nil + call(:post, encode_uri(uri), timeout, form_post_headers, body.compact) + else + call(method, encode_uri(uri), timeout, headers, body.to_json) + end case result.code when 200...226 then safe_parse_json(result.body) @@ -106,8 +101,7 @@ def request(method, uri, body = {}, extra_headers = {}) when 401 then raise Auth0::Unauthorized.new(result.body, code: result.code, headers: result.headers) when 403 then raise Auth0::AccessDenied.new(result.body, code: result.code, headers: result.headers) when 404 then raise Auth0::NotFound.new(result.body, code: result.code, headers: result.headers) - when 429 then raise Auth0::RateLimitEncountered.new(result.body, code: result.code, - headers: result.headers) + when 429 then raise Auth0::RateLimitEncountered.new(result.body, code: result.code, headers: result.headers) when 500 then raise Auth0::ServerError.new(result.body, code: result.code, headers: result.headers) else raise Auth0::Unsupported.new(result.body, code: result.code, headers: result.headers) end @@ -124,19 +118,11 @@ def call(method, url, timeout, headers, body = nil) rescue RestClient::Exception => e case e when RestClient::RequestTimeout - raise Auth0::RequestTimeout, e.message + raise Auth0::RequestTimeout.new(e.message) else - e.response + return e.response end end - - private - - def safe_merge_body(body, extra = {}) - return body unless body.is_a?(Hash) - merged = extra.any? ? body.merge(extra) : body - merged.compact - end end end end diff --git a/lib/auth0/mixins/initializer.rb b/lib/auth0/mixins/initializer.rb index ab4dffa25..a37ac88a2 100644 --- a/lib/auth0/mixins/initializer.rb +++ b/lib/auth0/mixins/initializer.rb @@ -1,24 +1,28 @@ -require 'json' +# frozen_string_literal: true + +require "json" module Auth0 module Mixins # Help class where Auth0::Client initialization described module Initializer - # Default initialization mechanism, moved here to keep Auth0::Client clear # accepts hash as parameter # you can get all required fields from here: https://auth0.com/docs/auth-api - # - # By Default API v2 def initialize(config) - options = Hash[config.map { |(k, v)| [k.to_sym, v] }] + options = config.transform_keys(&:to_sym) @base_uri = base_url(options) @headers = client_headers @timeout = options[:timeout] || 10 @retry_count = options[:retry_count] @client_assertion_signing_key = options[:client_assertion_signing_key] - @client_assertion_signing_alg = options[:client_assertion_signing_alg] || 'RS256'; + @client_assertion_signing_alg = options[:client_assertion_signing_alg] || "RS256" + @token_provider = options[:token_provider] + @management_timeout = options[:management_timeout] + @management_max_retries = options[:management_max_retries] + @management_additional_headers = options[:management_additional_headers] extend Auth0::Api::AuthenticationEndpoints + @client_id = options[:client_id] @client_secret = options[:client_secret] @organization = options[:organization] @@ -31,22 +35,23 @@ def self.included(klass) end def authorization_header(token) - add_headers('Authorization' => "Bearer #{token}") + add_headers("Authorization" => "Bearer #{token}") end def authorization_header_basic(options) connection_id = options.fetch(:connection_id, Auth0::Api::AuthenticationEndpoints::UP_AUTH) user = options.fetch(:user, nil) password = options.fetch(:password, nil) - add_headers('Authorization' => "Basic #{Base64.strict_encode64("#{connection_id}\\#{user}:#{password}")}") + add_headers("Authorization" => "Basic #{Base64.strict_encode64("#{connection_id}\\#{user}:#{password}")}") end private def initialize_api(options) - initialize_v2(options) - raise InvalidCredentials, 'Must supply a valid API token' if @token.nil? - if options.fetch(:authorization, nil) == 'Basic' + initialize_token(options) + raise InvalidCredentials, "Must supply a valid API token" if @token.nil? + + if options.fetch(:authorization, nil) == "Basic" authorization_header_basic(options) else authorization_header(@token) @@ -55,19 +60,9 @@ def initialize_api(options) def base_url(options) @domain = options[:domain] || options[:namespace] - raise InvalidApiNamespace, 'API namespace must supply an API domain' if @domain.to_s.empty? - "https://#{@domain}" - end + raise InvalidApiNamespace, "API namespace must supply an API domain" if @domain.to_s.empty? - def initialize_v2(options) - extend Auth0::Api::V2 - initialize_token(options) - end - - def api_v2?(options) - version = options[:api_version] || 2 - protocol = options[:protocols].to_s - !protocol.include?('v1') && (protocol.include?('v2') || version == 2) + "https://#{@domain}" end end end diff --git a/lib/auth0/mixins/token_management.rb b/lib/auth0/mixins/token_management.rb index f57a14086..5dc7c341f 100644 --- a/lib/auth0/mixins/token_management.rb +++ b/lib/auth0/mixins/token_management.rb @@ -9,7 +9,11 @@ module TokenManagement def get_token has_expired = @token && @token_expires_at ? @token_expires_at < (Time.now.to_i + 10) : false - if (@token.nil? || has_expired) && @client_id && (@client_secret || @client_assertion_signing_key) + if (@token.nil? || has_expired) && @token_provider + @token = @token_provider.call + @token_expires_at = nil + @token + elsif (@token.nil? || has_expired) && @client_id && (@client_secret || @client_assertion_signing_key) response = api_token(audience: @audience) @token = response.token @token_expires_at = response.expires_in ? Time.now.to_i + response.expires_in : nil diff --git a/lib/auth0/network_acls/client.rb b/lib/auth0/network_acls/client.rb new file mode 100644 index 000000000..fa91f43c0 --- /dev/null +++ b/lib/auth0/network_acls/client.rb @@ -0,0 +1,241 @@ +# frozen_string_literal: true + +module Auth0 + module NetworkACLs + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Get all access control list entries for your client. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [Integer, nil] :page + # @option params [Integer, nil] :per_page + # @option params [Boolean, nil] :include_totals + # + # @return [Auth0::Types::ListNetworkACLsOffsetPaginatedResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["page"] = params.fetch(:page, 0) + query_params["per_page"] = params.fetch(:per_page, 50) + query_params["include_totals"] = params.fetch(:include_totals, true) + + Auth0::Internal::OffsetItemIterator.new( + initial_page: query_params["page"], + item_field: :network_acls, + has_next_field: nil, + step: false + ) do |next_page| + query_params["page"] = next_page + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "network-acls", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListNetworkACLsOffsetPaginatedResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # Create a new access control list for your client. + # + # @param request_options [Hash] + # @param params [Auth0::NetworkACLs::Types::CreateNetworkACLRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [untyped] + def create(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "network-acls", + body: Auth0::NetworkACLs::Types::CreateNetworkACLRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Get a specific access control list entry for your client. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::GetNetworkACLsResponseContent] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "network-acls/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetNetworkACLsResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Update existing access control list for your client. + # + # @param request_options [Hash] + # @param params [Auth0::NetworkACLs::Types::SetNetworkACLRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::SetNetworkACLsResponseContent] + def set(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::NetworkACLs::Types::SetNetworkACLRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PUT", + path: "network-acls/#{URI.encode_uri_component(params[:id].to_s)}", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::SetNetworkACLsResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Delete existing access control list for your client. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "network-acls/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Update existing access control list for your client. + # + # @param request_options [Hash] + # @param params [Auth0::NetworkACLs::Types::UpdateNetworkACLRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::UpdateNetworkACLResponseContent] + def update(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::NetworkACLs::Types::UpdateNetworkACLRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "network-acls/#{URI.encode_uri_component(params[:id].to_s)}", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::UpdateNetworkACLResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end +end diff --git a/lib/auth0/network_acls/types/create_network_acl_request_content.rb b/lib/auth0/network_acls/types/create_network_acl_request_content.rb new file mode 100644 index 000000000..9e9fc5010 --- /dev/null +++ b/lib/auth0/network_acls/types/create_network_acl_request_content.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module NetworkACLs + module Types + class CreateNetworkACLRequestContent < Internal::Types::Model + field :description, -> { String }, optional: false, nullable: false + + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + + field :priority, -> { Integer }, optional: true, nullable: false + + field :rule, -> { Auth0::Types::NetworkACLRule }, optional: false, nullable: false + end + end + end +end diff --git a/lib/auth0/network_acls/types/list_network_acls_request_parameters.rb b/lib/auth0/network_acls/types/list_network_acls_request_parameters.rb new file mode 100644 index 000000000..3ae576928 --- /dev/null +++ b/lib/auth0/network_acls/types/list_network_acls_request_parameters.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module NetworkACLs + module Types + class ListNetworkACLsRequestParameters < Internal::Types::Model + field :page, -> { Integer }, optional: true, nullable: false + + field :per_page, -> { Integer }, optional: true, nullable: false + + field :include_totals, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/network_acls/types/set_network_acl_request_content.rb b/lib/auth0/network_acls/types/set_network_acl_request_content.rb new file mode 100644 index 000000000..ab32a738c --- /dev/null +++ b/lib/auth0/network_acls/types/set_network_acl_request_content.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module NetworkACLs + module Types + class SetNetworkACLRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :description, -> { String }, optional: false, nullable: false + + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + + field :priority, -> { Integer }, optional: true, nullable: false + + field :rule, -> { Auth0::Types::NetworkACLRule }, optional: false, nullable: false + end + end + end +end diff --git a/lib/auth0/network_acls/types/update_network_acl_request_content.rb b/lib/auth0/network_acls/types/update_network_acl_request_content.rb new file mode 100644 index 000000000..fa1942669 --- /dev/null +++ b/lib/auth0/network_acls/types/update_network_acl_request_content.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module NetworkACLs + module Types + class UpdateNetworkACLRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :description, -> { String }, optional: true, nullable: false + + field :active, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :priority, -> { Integer }, optional: true, nullable: false + + field :rule, -> { Auth0::Types::NetworkACLRule }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/organizations/client.rb b/lib/auth0/organizations/client.rb new file mode 100644 index 000000000..3b4e9fe66 --- /dev/null +++ b/lib/auth0/organizations/client.rb @@ -0,0 +1,312 @@ +# frozen_string_literal: true + +module Auth0 + module Organizations + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve detailed list of all Organizations available in your tenant. For more information, see Auth0 + # Organizations. + # + # This endpoint supports two types of pagination: + # + # - Offset pagination + # - Checkpoint pagination + # + # Checkpoint pagination must be used if you need to retrieve more than 1000 organizations. + # + # **Checkpoint Pagination** + # + # To search by checkpoint, use the following parameters: + # + # - `from`: Optional id from which to start selection. + # - `take`: The total number of entries to retrieve when using the `from` parameter. Defaults to 50. + # + # **Note**: The first time you call this endpoint using checkpoint pagination, omit the `from` parameter. If there + # are more results, a `next` value is included in the response. You can use this for subsequent API calls. When + # `next` is no longer included in the response, no pages are remaining. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [Boolean, nil] :include_totals + # @option params [String, nil] :from + # @option params [Integer, nil] :take + # @option params [String, nil] :sort + # @option params [String, nil] :include_client_association_for + # + # @return [Auth0::Types::ListOrganizationsPaginatedResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["include_totals"] = params.fetch(:include_totals, true) + query_params["from"] = params[:from] if params.key?(:from) + query_params["take"] = params.fetch(:take, 50) + query_params["sort"] = params[:sort] if params.key?(:sort) + query_params["include_client_association_for"] = params[:include_client_association_for] if params.key?(:include_client_association_for) + + Auth0::Internal::CursorItemIterator.new( + cursor_field: :next_, + item_field: :organizations, + initial_cursor: query_params["from"] + ) do |next_cursor| + query_params["from"] = next_cursor + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "organizations", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListOrganizationsPaginatedResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # Create a new Organization within your tenant. To learn more about Organization settings, behavior, and + # configuration options, review [Create Your First + # Organization](https://auth0.com/docs/manage-users/organizations/create-first-organization). + # + # @param request_options [Hash] + # @param params [Auth0::Organizations::Types::CreateOrganizationRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::CreateOrganizationResponseContent] + def create(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "organizations", + body: Auth0::Organizations::Types::CreateOrganizationRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::CreateOrganizationResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Retrieve details about a single Organization specified by name. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :name + # + # @return [Auth0::Types::GetOrganizationByNameResponseContent] + def get_by_name(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "organizations/name/#{URI.encode_uri_component(params[:name].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetOrganizationByNameResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Retrieve details about a single Organization specified by ID. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::GetOrganizationResponseContent] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "organizations/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetOrganizationResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Remove an Organization from your tenant. This action cannot be undone. + # + # **Note**: Members are automatically disassociated from an Organization when it is deleted. However, this action + # does **not** delete these users from your tenant. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "organizations/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Update the details of a specific + # [Organization](https://auth0.com/docs/manage-users/organizations/configure-organizations/create-organizations), + # such as name and display name, branding options, and metadata. + # + # @param request_options [Hash] + # @param params [Auth0::Organizations::Types::UpdateOrganizationRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::UpdateOrganizationResponseContent] + def update(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Organizations::Types::UpdateOrganizationRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "organizations/#{URI.encode_uri_component(params[:id].to_s)}", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::UpdateOrganizationResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # @return [Auth0::ClientGrants::Client] + def client_grants + @client_grants ||= Auth0::Organizations::ClientGrants::Client.new(client: @client) + end + + # @return [Auth0::Clients::Client] + def clients + @clients ||= Auth0::Organizations::Clients::Client.new(client: @client) + end + + # @return [Auth0::Connections::Client] + def connections + @connections ||= Auth0::Organizations::Connections::Client.new(client: @client) + end + + # @return [Auth0::DiscoveryDomains::Client] + def discovery_domains + @discovery_domains ||= Auth0::Organizations::DiscoveryDomains::Client.new(client: @client) + end + + # @return [Auth0::EnabledConnections::Client] + def enabled_connections + @enabled_connections ||= Auth0::Organizations::EnabledConnections::Client.new(client: @client) + end + + # @return [Auth0::Invitations::Client] + def invitations + @invitations ||= Auth0::Organizations::Invitations::Client.new(client: @client) + end + + # @return [Auth0::Members::Client] + def members + @members ||= Auth0::Organizations::Members::Client.new(client: @client) + end + + # @return [Auth0::Groups::Client] + def groups + @groups ||= Auth0::Organizations::Groups::Client.new(client: @client) + end + + # @return [Auth0::Roles::Client] + def roles + @roles ||= Auth0::Organizations::Roles::Client.new(client: @client) + end + end + end +end diff --git a/lib/auth0/organizations/client_grants/client.rb b/lib/auth0/organizations/client_grants/client.rb new file mode 100644 index 000000000..6bd0715ec --- /dev/null +++ b/lib/auth0/organizations/client_grants/client.rb @@ -0,0 +1,140 @@ +# frozen_string_literal: true + +module Auth0 + module Organizations + module ClientGrants + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [String, nil] :audience + # @option params [String, nil] :client_id + # @option params [String, nil] :grant_ids + # @option params [Integer, nil] :page + # @option params [Integer, nil] :per_page + # @option params [Boolean, nil] :include_totals + # + # @return [Auth0::Types::ListOrganizationClientGrantsOffsetPaginatedResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["audience"] = params[:audience] if params.key?(:audience) + query_params["client_id"] = params[:client_id] if params.key?(:client_id) + query_params["grant_ids"] = params[:grant_ids] if params.key?(:grant_ids) + query_params["page"] = params.fetch(:page, 0) + query_params["per_page"] = params.fetch(:per_page, 50) + query_params["include_totals"] = params.fetch(:include_totals, true) + + Auth0::Internal::OffsetItemIterator.new( + initial_page: query_params["page"], + item_field: :client_grants, + has_next_field: nil, + step: false + ) do |next_page| + query_params["page"] = next_page + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "organizations/#{URI.encode_uri_component(params[:id].to_s)}/client-grants", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListOrganizationClientGrantsOffsetPaginatedResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # @param request_options [Hash] + # @param params [Auth0::Organizations::ClientGrants::Types::AssociateOrganizationClientGrantRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::AssociateOrganizationClientGrantResponseContent] + def create(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Organizations::ClientGrants::Types::AssociateOrganizationClientGrantRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "organizations/#{URI.encode_uri_component(params[:id].to_s)}/client-grants", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::AssociateOrganizationClientGrantResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [String] :grant_id + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "organizations/#{URI.encode_uri_component(params[:id].to_s)}/client-grants/#{URI.encode_uri_component(params[:grant_id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end +end diff --git a/lib/auth0/organizations/client_grants/types/associate_organization_client_grant_request_content.rb b/lib/auth0/organizations/client_grants/types/associate_organization_client_grant_request_content.rb new file mode 100644 index 000000000..a23f454da --- /dev/null +++ b/lib/auth0/organizations/client_grants/types/associate_organization_client_grant_request_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Organizations + module ClientGrants + module Types + class AssociateOrganizationClientGrantRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :grant_id, -> { String }, optional: false, nullable: false + end + end + end + end +end diff --git a/lib/auth0/organizations/client_grants/types/list_organization_client_grants_request_parameters.rb b/lib/auth0/organizations/client_grants/types/list_organization_client_grants_request_parameters.rb new file mode 100644 index 000000000..c4bfe8d28 --- /dev/null +++ b/lib/auth0/organizations/client_grants/types/list_organization_client_grants_request_parameters.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module Auth0 + module Organizations + module ClientGrants + module Types + class ListOrganizationClientGrantsRequestParameters < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :audience, -> { String }, optional: true, nullable: false + + field :client_id, -> { String }, optional: true, nullable: false + + field :grant_ids, -> { String }, optional: true, nullable: false + + field :page, -> { Integer }, optional: true, nullable: false + + field :per_page, -> { Integer }, optional: true, nullable: false + + field :include_totals, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/organizations/clients/client.rb b/lib/auth0/organizations/clients/client.rb new file mode 100644 index 000000000..1209803eb --- /dev/null +++ b/lib/auth0/organizations/clients/client.rb @@ -0,0 +1,223 @@ +# frozen_string_literal: true + +module Auth0 + module Organizations + module Clients + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # List all clients associated with an organization, using checkpoint pagination. + #
    + #
  • + # Note: The first time you call this endpoint, omit the from parameter. If there are more + # results, a next value is included in the response. You can use this for subsequent API calls. + # When next is no longer included in the response, no further results are remaining. + #
  • + #
+ # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [String, nil] :from + # @option params [Integer, nil] :take + # + # @return [Auth0::Types::ListOrganizationClientsResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["from"] = params[:from] if params.key?(:from) + query_params["take"] = params.fetch(:take, 50) + + Auth0::Internal::CursorItemIterator.new( + cursor_field: :next_, + item_field: :clients, + initial_cursor: query_params["from"] + ) do |next_cursor| + query_params["from"] = next_cursor + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "organizations/#{URI.encode_uri_component(params[:id].to_s)}/clients", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListOrganizationClientsResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # Associate one or more clients with an organization. + # + # @param request_options [Hash] + # @param params [Auth0::Organizations::Clients::Types::CreateOrganizationClientsRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Array[Auth0::Types::OrganizationClient]] + def create(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Organizations::Clients::Types::CreateOrganizationClientsRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "organizations/#{URI.encode_uri_component(params[:id].to_s)}/clients", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::CreateOrganizationClientsResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Remove one or more client associations from an organization. + # + # @param request_options [Hash] + # @param params [Auth0::Organizations::Clients::Types::DeleteOrganizationClientsRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Organizations::Clients::Types::DeleteOrganizationClientsRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "organizations/#{URI.encode_uri_component(params[:id].to_s)}/clients", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Get a specific client association for an organization. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [String] :client_id + # + # @return [Auth0::Types::GetOrganizationClientResponseContent] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "organizations/#{URI.encode_uri_component(params[:id].to_s)}/clients/#{URI.encode_uri_component(params[:client_id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetOrganizationClientResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Update an organization client association. + # + # @param request_options [Hash] + # @param params [Auth0::Organizations::Clients::Types::UpdateOrganizationClientRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [String] :client_id + # + # @return [Auth0::Types::UpdateOrganizationClientResponseContent] + def update(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Organizations::Clients::Types::UpdateOrganizationClientRequestContent.new(params).to_h + non_body_param_names = %w[id client_id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "organizations/#{URI.encode_uri_component(params[:id].to_s)}/clients/#{URI.encode_uri_component(params[:client_id].to_s)}", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::UpdateOrganizationClientResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end + end +end diff --git a/lib/auth0/organizations/clients/types/create_organization_clients_request_content.rb b/lib/auth0/organizations/clients/types/create_organization_clients_request_content.rb new file mode 100644 index 000000000..29b4738d2 --- /dev/null +++ b/lib/auth0/organizations/clients/types/create_organization_clients_request_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Organizations + module Clients + module Types + class CreateOrganizationClientsRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :clients, -> { Internal::Types::Array[Auth0::Types::CreateOrganizationClientRequestItem] }, optional: false, nullable: false + end + end + end + end +end diff --git a/lib/auth0/organizations/clients/types/delete_organization_clients_request_content.rb b/lib/auth0/organizations/clients/types/delete_organization_clients_request_content.rb new file mode 100644 index 000000000..52fbf1e95 --- /dev/null +++ b/lib/auth0/organizations/clients/types/delete_organization_clients_request_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Organizations + module Clients + module Types + class DeleteOrganizationClientsRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :clients, -> { Internal::Types::Array[String] }, optional: false, nullable: false + end + end + end + end +end diff --git a/lib/auth0/organizations/clients/types/list_organization_clients_request_parameters.rb b/lib/auth0/organizations/clients/types/list_organization_clients_request_parameters.rb new file mode 100644 index 000000000..fbb16407d --- /dev/null +++ b/lib/auth0/organizations/clients/types/list_organization_clients_request_parameters.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Organizations + module Clients + module Types + class ListOrganizationClientsRequestParameters < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :from, -> { String }, optional: true, nullable: false + + field :take, -> { Integer }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/organizations/clients/types/update_organization_client_request_content.rb b/lib/auth0/organizations/clients/types/update_organization_client_request_content.rb new file mode 100644 index 000000000..a3bd09495 --- /dev/null +++ b/lib/auth0/organizations/clients/types/update_organization_client_request_content.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Organizations + module Clients + module Types + class UpdateOrganizationClientRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :client_id, -> { String }, optional: false, nullable: false + + field :use_for_member_access, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/organizations/connections/client.rb b/lib/auth0/organizations/connections/client.rb new file mode 100644 index 000000000..95ba79cf5 --- /dev/null +++ b/lib/auth0/organizations/connections/client.rb @@ -0,0 +1,207 @@ +# frozen_string_literal: true + +module Auth0 + module Organizations + module Connections + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [Integer, nil] :page + # @option params [Integer, nil] :per_page + # @option params [Boolean, nil] :include_totals + # @option params [Boolean, nil] :is_enabled + # + # @return [Auth0::Types::ListOrganizationAllConnectionsOffsetPaginatedResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["page"] = params.fetch(:page, 0) + query_params["per_page"] = params.fetch(:per_page, 50) + query_params["include_totals"] = params.fetch(:include_totals, true) + query_params["is_enabled"] = params[:is_enabled] if params.key?(:is_enabled) + + Auth0::Internal::OffsetItemIterator.new( + initial_page: query_params["page"], + item_field: :connections, + has_next_field: nil, + step: false + ) do |next_page| + query_params["page"] = next_page + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "organizations/#{URI.encode_uri_component(params[:id].to_s)}/connections", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListOrganizationAllConnectionsOffsetPaginatedResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # @param request_options [Hash] + # @param params [Auth0::Organizations::Connections::Types::CreateOrganizationAllConnectionRequestParameters] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::CreateOrganizationAllConnectionResponseContent] + def create(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Organizations::Connections::Types::CreateOrganizationAllConnectionRequestParameters.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "organizations/#{URI.encode_uri_component(params[:id].to_s)}/connections", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::CreateOrganizationAllConnectionResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [String] :connection_id + # + # @return [Auth0::Types::GetOrganizationAllConnectionResponseContent] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "organizations/#{URI.encode_uri_component(params[:id].to_s)}/connections/#{URI.encode_uri_component(params[:connection_id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetOrganizationAllConnectionResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [String] :connection_id + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "organizations/#{URI.encode_uri_component(params[:id].to_s)}/connections/#{URI.encode_uri_component(params[:connection_id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # @param request_options [Hash] + # @param params [Auth0::Organizations::Connections::Types::UpdateOrganizationConnectionRequestParameters] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [String] :connection_id + # + # @return [Auth0::Types::UpdateOrganizationAllConnectionResponseContent] + def update(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Organizations::Connections::Types::UpdateOrganizationConnectionRequestParameters.new(params).to_h + non_body_param_names = %w[id connection_id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "organizations/#{URI.encode_uri_component(params[:id].to_s)}/connections/#{URI.encode_uri_component(params[:connection_id].to_s)}", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::UpdateOrganizationAllConnectionResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end + end +end diff --git a/lib/auth0/organizations/connections/types/create_organization_all_connection_request_parameters.rb b/lib/auth0/organizations/connections/types/create_organization_all_connection_request_parameters.rb new file mode 100644 index 000000000..12772f2bd --- /dev/null +++ b/lib/auth0/organizations/connections/types/create_organization_all_connection_request_parameters.rb @@ -0,0 +1,27 @@ +# frozen_string_literal: true + +module Auth0 + module Organizations + module Connections + module Types + class CreateOrganizationAllConnectionRequestParameters < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :organization_connection_name, -> { String }, optional: true, nullable: false + + field :assign_membership_on_login, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :is_signup_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :organization_access_level, -> { Auth0::Types::OrganizationAccessLevelEnum }, optional: true, nullable: false + + field :is_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :connection_id, -> { String }, optional: false, nullable: false + end + end + end + end +end diff --git a/lib/auth0/organizations/connections/types/list_organization_all_connections_request_parameters.rb b/lib/auth0/organizations/connections/types/list_organization_all_connections_request_parameters.rb new file mode 100644 index 000000000..5eaf555a4 --- /dev/null +++ b/lib/auth0/organizations/connections/types/list_organization_all_connections_request_parameters.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Organizations + module Connections + module Types + class ListOrganizationAllConnectionsRequestParameters < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :page, -> { Integer }, optional: true, nullable: false + + field :per_page, -> { Integer }, optional: true, nullable: false + + field :include_totals, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :is_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/organizations/connections/types/update_organization_connection_request_parameters.rb b/lib/auth0/organizations/connections/types/update_organization_connection_request_parameters.rb new file mode 100644 index 000000000..a17d127ed --- /dev/null +++ b/lib/auth0/organizations/connections/types/update_organization_connection_request_parameters.rb @@ -0,0 +1,27 @@ +# frozen_string_literal: true + +module Auth0 + module Organizations + module Connections + module Types + class UpdateOrganizationConnectionRequestParameters < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :connection_id, -> { String }, optional: false, nullable: false + + field :organization_connection_name, -> { String }, optional: true, nullable: false + + field :assign_membership_on_login, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :is_signup_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :organization_access_level, -> { Auth0::Types::OrganizationAccessLevelEnumWithNull }, optional: true, nullable: false + + field :is_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/organizations/discovery_domains/client.rb b/lib/auth0/organizations/discovery_domains/client.rb new file mode 100644 index 000000000..e243939a6 --- /dev/null +++ b/lib/auth0/organizations/discovery_domains/client.rb @@ -0,0 +1,255 @@ +# frozen_string_literal: true + +module Auth0 + module Organizations + module DiscoveryDomains + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve list of all organization discovery domains associated with the specified organization. + # This endpoint is subject to eventual consistency; newly created, updated, or deleted discovery domains may not + # immediately appear in the response. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [String, nil] :from + # @option params [Integer, nil] :take + # + # @return [Auth0::Types::ListOrganizationDiscoveryDomainsResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["from"] = params[:from] if params.key?(:from) + query_params["take"] = params.fetch(:take, 50) + + Auth0::Internal::CursorItemIterator.new( + cursor_field: :next_, + item_field: :domains, + initial_cursor: query_params["from"] + ) do |next_cursor| + query_params["from"] = next_cursor + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "organizations/#{URI.encode_uri_component(params[:id].to_s)}/discovery-domains", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListOrganizationDiscoveryDomainsResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # Create a new discovery domain for an organization. + # + # @param request_options [Hash] + # @param params [Auth0::Organizations::DiscoveryDomains::Types::CreateOrganizationDiscoveryDomainRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::CreateOrganizationDiscoveryDomainResponseContent] + def create(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Organizations::DiscoveryDomains::Types::CreateOrganizationDiscoveryDomainRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "organizations/#{URI.encode_uri_component(params[:id].to_s)}/discovery-domains", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::CreateOrganizationDiscoveryDomainResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Retrieve details about a single organization discovery domain specified by domain name. + # This endpoint is subject to eventual consistency; newly created, updated, or deleted discovery domains may not + # immediately appear in the response. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [String] :discovery_domain + # + # @return [Auth0::Types::GetOrganizationDiscoveryDomainByNameResponseContent] + def get_by_name(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "organizations/#{URI.encode_uri_component(params[:id].to_s)}/discovery-domains/name/#{URI.encode_uri_component(params[:discovery_domain].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetOrganizationDiscoveryDomainByNameResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Retrieve details about a single organization discovery domain specified by ID. + # This endpoint is subject to eventual consistency; newly created, updated, or deleted discovery domains may not + # immediately appear in the response. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [String] :discovery_domain_id + # + # @return [Auth0::Types::GetOrganizationDiscoveryDomainResponseContent] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "organizations/#{URI.encode_uri_component(params[:id].to_s)}/discovery-domains/#{URI.encode_uri_component(params[:discovery_domain_id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetOrganizationDiscoveryDomainResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Remove a discovery domain from an organization. This action cannot be undone. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [String] :discovery_domain_id + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "organizations/#{URI.encode_uri_component(params[:id].to_s)}/discovery-domains/#{URI.encode_uri_component(params[:discovery_domain_id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Update the verification status and/or use_for_organization_discovery for an organization discovery domain. The + # `status` field must be either `pending` or `verified`. The `use_for_organization_discovery` field can be + # `true` or `false` (default: `true`). + # + # @param request_options [Hash] + # @param params [Auth0::Organizations::DiscoveryDomains::Types::UpdateOrganizationDiscoveryDomainRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [String] :discovery_domain_id + # + # @return [Auth0::Types::UpdateOrganizationDiscoveryDomainResponseContent] + def update(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Organizations::DiscoveryDomains::Types::UpdateOrganizationDiscoveryDomainRequestContent.new(params).to_h + non_body_param_names = %w[id discovery_domain_id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "organizations/#{URI.encode_uri_component(params[:id].to_s)}/discovery-domains/#{URI.encode_uri_component(params[:discovery_domain_id].to_s)}", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::UpdateOrganizationDiscoveryDomainResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end + end +end diff --git a/lib/auth0/organizations/discovery_domains/types/create_organization_discovery_domain_request_content.rb b/lib/auth0/organizations/discovery_domains/types/create_organization_discovery_domain_request_content.rb new file mode 100644 index 000000000..71b772cde --- /dev/null +++ b/lib/auth0/organizations/discovery_domains/types/create_organization_discovery_domain_request_content.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Organizations + module DiscoveryDomains + module Types + class CreateOrganizationDiscoveryDomainRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :domain, -> { String }, optional: false, nullable: false + + field :status, -> { Auth0::Types::OrganizationDiscoveryDomainStatus }, optional: true, nullable: false + + field :use_for_organization_discovery, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/organizations/discovery_domains/types/list_organization_discovery_domains_request_parameters.rb b/lib/auth0/organizations/discovery_domains/types/list_organization_discovery_domains_request_parameters.rb new file mode 100644 index 000000000..6199c5e22 --- /dev/null +++ b/lib/auth0/organizations/discovery_domains/types/list_organization_discovery_domains_request_parameters.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Organizations + module DiscoveryDomains + module Types + class ListOrganizationDiscoveryDomainsRequestParameters < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :from, -> { String }, optional: true, nullable: false + + field :take, -> { Integer }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/organizations/discovery_domains/types/update_organization_discovery_domain_request_content.rb b/lib/auth0/organizations/discovery_domains/types/update_organization_discovery_domain_request_content.rb new file mode 100644 index 000000000..a3dc830b5 --- /dev/null +++ b/lib/auth0/organizations/discovery_domains/types/update_organization_discovery_domain_request_content.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Organizations + module DiscoveryDomains + module Types + class UpdateOrganizationDiscoveryDomainRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :discovery_domain_id, -> { String }, optional: false, nullable: false + + field :status, -> { Auth0::Types::OrganizationDiscoveryDomainStatus }, optional: true, nullable: false + + field :use_for_organization_discovery, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/organizations/enabled_connections/client.rb b/lib/auth0/organizations/enabled_connections/client.rb new file mode 100644 index 000000000..4dcdfc26b --- /dev/null +++ b/lib/auth0/organizations/enabled_connections/client.rb @@ -0,0 +1,226 @@ +# frozen_string_literal: true + +module Auth0 + module Organizations + module EnabledConnections + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve details about a specific connection currently enabled for an Organization. Information returned + # includes details such as connection ID, name, strategy, and whether the connection automatically grants + # membership upon login. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [Integer, nil] :page + # @option params [Integer, nil] :per_page + # @option params [Boolean, nil] :include_totals + # + # @return [Auth0::Types::ListOrganizationConnectionsOffsetPaginatedResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["page"] = params.fetch(:page, 0) + query_params["per_page"] = params.fetch(:per_page, 50) + query_params["include_totals"] = params.fetch(:include_totals, true) + + Auth0::Internal::OffsetItemIterator.new( + initial_page: query_params["page"], + item_field: :enabled_connections, + has_next_field: nil, + step: false + ) do |next_page| + query_params["page"] = next_page + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "organizations/#{URI.encode_uri_component(params[:id].to_s)}/enabled_connections", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListOrganizationConnectionsOffsetPaginatedResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # Enable a specific connection for a given Organization. To enable a connection, it must already exist within + # your tenant; connections cannot be created through this action. + # + # [Connections](https://auth0.com/docs/authenticate/identity-providers) represent the relationship between Auth0 + # and a source of users. Available types of connections include database, enterprise, and social. + # + # @param request_options [Hash] + # @param params [Auth0::Organizations::EnabledConnections::Types::AddOrganizationConnectionRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::AddOrganizationConnectionResponseContent] + def add(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Organizations::EnabledConnections::Types::AddOrganizationConnectionRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "organizations/#{URI.encode_uri_component(params[:id].to_s)}/enabled_connections", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::AddOrganizationConnectionResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Retrieve details about a specific connection currently enabled for an Organization. Information returned + # includes details such as connection ID, name, strategy, and whether the connection automatically grants + # membership upon login. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [String] :connection_id + # + # @return [Auth0::Types::GetOrganizationConnectionResponseContent] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "organizations/#{URI.encode_uri_component(params[:id].to_s)}/enabled_connections/#{URI.encode_uri_component(params[:connection_id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetOrganizationConnectionResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Disable a specific connection for an Organization. Once disabled, Organization members can no longer use that + # connection to authenticate. + # + # **Note**: This action does not remove the connection from your tenant. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [String] :connection_id + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "organizations/#{URI.encode_uri_component(params[:id].to_s)}/enabled_connections/#{URI.encode_uri_component(params[:connection_id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Modify the details of a specific connection currently enabled for an Organization. + # + # @param request_options [Hash] + # @param params [Auth0::Organizations::EnabledConnections::Types::UpdateOrganizationConnectionRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [String] :connection_id + # + # @return [Auth0::Types::UpdateOrganizationConnectionResponseContent] + def update(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Organizations::EnabledConnections::Types::UpdateOrganizationConnectionRequestContent.new(params).to_h + non_body_param_names = %w[id connectionId] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "organizations/#{URI.encode_uri_component(params[:id].to_s)}/enabled_connections/#{URI.encode_uri_component(params[:connection_id].to_s)}", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::UpdateOrganizationConnectionResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end + end +end diff --git a/lib/auth0/organizations/enabled_connections/types/add_organization_connection_request_content.rb b/lib/auth0/organizations/enabled_connections/types/add_organization_connection_request_content.rb new file mode 100644 index 000000000..81a14a12b --- /dev/null +++ b/lib/auth0/organizations/enabled_connections/types/add_organization_connection_request_content.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Organizations + module EnabledConnections + module Types + class AddOrganizationConnectionRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :connection_id, -> { String }, optional: false, nullable: false + + field :assign_membership_on_login, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :is_signup_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/organizations/enabled_connections/types/list_organization_connections_request_parameters.rb b/lib/auth0/organizations/enabled_connections/types/list_organization_connections_request_parameters.rb new file mode 100644 index 000000000..cdbb50d0f --- /dev/null +++ b/lib/auth0/organizations/enabled_connections/types/list_organization_connections_request_parameters.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Organizations + module EnabledConnections + module Types + class ListOrganizationConnectionsRequestParameters < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :page, -> { Integer }, optional: true, nullable: false + + field :per_page, -> { Integer }, optional: true, nullable: false + + field :include_totals, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/organizations/enabled_connections/types/update_organization_connection_request_content.rb b/lib/auth0/organizations/enabled_connections/types/update_organization_connection_request_content.rb new file mode 100644 index 000000000..5a79051cb --- /dev/null +++ b/lib/auth0/organizations/enabled_connections/types/update_organization_connection_request_content.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Organizations + module EnabledConnections + module Types + class UpdateOrganizationConnectionRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :connection_id, -> { String }, optional: false, nullable: false, api_name: "connectionId" + + field :assign_membership_on_login, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :is_signup_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/organizations/groups/client.rb b/lib/auth0/organizations/groups/client.rb new file mode 100644 index 000000000..44e01f9aa --- /dev/null +++ b/lib/auth0/organizations/groups/client.rb @@ -0,0 +1,70 @@ +# frozen_string_literal: true + +module Auth0 + module Organizations + module Groups + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Lists the groups that are assigned to the specified organization. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :organization_id + # @option params [String, nil] :from + # @option params [Integer, nil] :take + # + # @return [Auth0::Types::ListOrganizationGroupsResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["from"] = params[:from] if params.key?(:from) + query_params["take"] = params.fetch(:take, 50) + + Auth0::Internal::CursorItemIterator.new( + cursor_field: :next_, + item_field: :groups, + initial_cursor: query_params["from"] + ) do |next_cursor| + query_params["from"] = next_cursor + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "organizations/#{URI.encode_uri_component(params[:organization_id].to_s)}/groups", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListOrganizationGroupsResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # @return [Auth0::Roles::Client] + def roles + @roles ||= Auth0::Organizations::Groups::Roles::Client.new(client: @client) + end + end + end + end +end diff --git a/lib/auth0/organizations/groups/roles/client.rb b/lib/auth0/organizations/groups/roles/client.rb new file mode 100644 index 000000000..425800f30 --- /dev/null +++ b/lib/auth0/organizations/groups/roles/client.rb @@ -0,0 +1,144 @@ +# frozen_string_literal: true + +module Auth0 + module Organizations + module Groups + module Roles + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Lists the roles assigned to the specified group in the context of an organization. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :organization_id + # @option params [String] :group_id + # @option params [String, nil] :from + # @option params [Integer, nil] :take + # + # @return [Auth0::Types::ListOrganizationGroupRolesResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["from"] = params[:from] if params.key?(:from) + query_params["take"] = params.fetch(:take, 50) + + Auth0::Internal::CursorItemIterator.new( + cursor_field: :next_, + item_field: :roles, + initial_cursor: query_params["from"] + ) do |next_cursor| + query_params["from"] = next_cursor + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "organizations/#{URI.encode_uri_component(params[:organization_id].to_s)}/groups/#{URI.encode_uri_component(params[:group_id].to_s)}/roles", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListOrganizationGroupRolesResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # Assign one or more roles to a specified group in the context of an organization. + # + # @param request_options [Hash] + # @param params [Auth0::Organizations::Groups::Roles::Types::CreateOrganizationGroupRolesRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :organization_id + # @option params [String] :group_id + # + # @return [untyped] + def create(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Organizations::Groups::Roles::Types::CreateOrganizationGroupRolesRequestContent.new(params).to_h + non_body_param_names = %w[organization_id group_id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "organizations/#{URI.encode_uri_component(params[:organization_id].to_s)}/groups/#{URI.encode_uri_component(params[:group_id].to_s)}/roles", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Unassign one or more roles from a specified group in the context of an organization. + # + # @param request_options [Hash] + # @param params [Auth0::Organizations::Groups::Roles::Types::DeleteOrganizationGroupRolesRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :organization_id + # @option params [String] :group_id + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Organizations::Groups::Roles::Types::DeleteOrganizationGroupRolesRequestContent.new(params).to_h + non_body_param_names = %w[organization_id group_id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "organizations/#{URI.encode_uri_component(params[:organization_id].to_s)}/groups/#{URI.encode_uri_component(params[:group_id].to_s)}/roles", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end + end +end diff --git a/lib/auth0/organizations/groups/roles/types/create_organization_group_roles_request_content.rb b/lib/auth0/organizations/groups/roles/types/create_organization_group_roles_request_content.rb new file mode 100644 index 000000000..7d0dc7b10 --- /dev/null +++ b/lib/auth0/organizations/groups/roles/types/create_organization_group_roles_request_content.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Organizations + module Groups + module Roles + module Types + class CreateOrganizationGroupRolesRequestContent < Internal::Types::Model + field :organization_id, -> { String }, optional: false, nullable: false + + field :group_id, -> { String }, optional: false, nullable: false + + field :roles, -> { Internal::Types::Array[String] }, optional: false, nullable: false + end + end + end + end + end +end diff --git a/lib/auth0/organizations/groups/roles/types/delete_organization_group_roles_request_content.rb b/lib/auth0/organizations/groups/roles/types/delete_organization_group_roles_request_content.rb new file mode 100644 index 000000000..77643dd04 --- /dev/null +++ b/lib/auth0/organizations/groups/roles/types/delete_organization_group_roles_request_content.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Organizations + module Groups + module Roles + module Types + class DeleteOrganizationGroupRolesRequestContent < Internal::Types::Model + field :organization_id, -> { String }, optional: false, nullable: false + + field :group_id, -> { String }, optional: false, nullable: false + + field :roles, -> { Internal::Types::Array[String] }, optional: false, nullable: false + end + end + end + end + end +end diff --git a/lib/auth0/organizations/groups/roles/types/list_organization_group_roles_request_parameters.rb b/lib/auth0/organizations/groups/roles/types/list_organization_group_roles_request_parameters.rb new file mode 100644 index 000000000..30a3265aa --- /dev/null +++ b/lib/auth0/organizations/groups/roles/types/list_organization_group_roles_request_parameters.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Organizations + module Groups + module Roles + module Types + class ListOrganizationGroupRolesRequestParameters < Internal::Types::Model + field :organization_id, -> { String }, optional: false, nullable: false + + field :group_id, -> { String }, optional: false, nullable: false + + field :from, -> { String }, optional: true, nullable: false + + field :take, -> { Integer }, optional: true, nullable: false + end + end + end + end + end +end diff --git a/lib/auth0/organizations/groups/types/list_organization_groups_request_parameters.rb b/lib/auth0/organizations/groups/types/list_organization_groups_request_parameters.rb new file mode 100644 index 000000000..70addaaa0 --- /dev/null +++ b/lib/auth0/organizations/groups/types/list_organization_groups_request_parameters.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Organizations + module Groups + module Types + class ListOrganizationGroupsRequestParameters < Internal::Types::Model + field :organization_id, -> { String }, optional: false, nullable: false + + field :from, -> { String }, optional: true, nullable: false + + field :take, -> { Integer }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/organizations/invitations/client.rb b/lib/auth0/organizations/invitations/client.rb new file mode 100644 index 000000000..fa370ee0b --- /dev/null +++ b/lib/auth0/organizations/invitations/client.rb @@ -0,0 +1,190 @@ +# frozen_string_literal: true + +module Auth0 + module Organizations + module Invitations + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve a detailed list of invitations sent to users for a specific Organization. The list includes details + # such as inviter and invitee information, invitation URLs, and dates of creation and expiration. To learn more + # about Organization invitations, review [Invite Organization + # Members](https://auth0.com/docs/manage-users/organizations/configure-organizations/invite-members). + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [Integer, nil] :page + # @option params [Integer, nil] :per_page + # @option params [Boolean, nil] :include_totals + # @option params [String, nil] :fields + # @option params [Boolean, nil] :include_fields + # @option params [String, nil] :sort + # + # @return [Auth0::Types::ListOrganizationInvitationsOffsetPaginatedResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["page"] = params.fetch(:page, 0) + query_params["per_page"] = params.fetch(:per_page, 50) + query_params["include_totals"] = params.fetch(:include_totals, true) + query_params["fields"] = params[:fields] if params.key?(:fields) + query_params["include_fields"] = params[:include_fields] if params.key?(:include_fields) + query_params["sort"] = params[:sort] if params.key?(:sort) + + Auth0::Internal::OffsetItemIterator.new( + initial_page: query_params["page"], + item_field: :invitations, + has_next_field: nil, + step: false + ) do |next_page| + query_params["page"] = next_page + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "organizations/#{URI.encode_uri_component(params[:id].to_s)}/invitations", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListOrganizationInvitationsOffsetPaginatedResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # Create a user invitation for a specific Organization. Upon creation, the listed user receives an email + # inviting them to join the Organization. To learn more about Organization invitations, review [Invite + # Organization + # Members](https://auth0.com/docs/manage-users/organizations/configure-organizations/invite-members). + # + # @param request_options [Hash] + # @param params [Auth0::Organizations::Invitations::Types::CreateOrganizationInvitationRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::CreateOrganizationInvitationResponseContent] + def create(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Organizations::Invitations::Types::CreateOrganizationInvitationRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "organizations/#{URI.encode_uri_component(params[:id].to_s)}/invitations", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::CreateOrganizationInvitationResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [String] :invitation_id + # @option params [String, nil] :fields + # @option params [Boolean, nil] :include_fields + # + # @return [Auth0::Types::GetOrganizationInvitationResponseContent] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["fields"] = params[:fields] if params.key?(:fields) + query_params["include_fields"] = params[:include_fields] if params.key?(:include_fields) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "organizations/#{URI.encode_uri_component(params[:id].to_s)}/invitations/#{URI.encode_uri_component(params[:invitation_id].to_s)}", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetOrganizationInvitationResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [String] :invitation_id + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "organizations/#{URI.encode_uri_component(params[:id].to_s)}/invitations/#{URI.encode_uri_component(params[:invitation_id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end +end diff --git a/lib/auth0/organizations/invitations/types/create_organization_invitation_request_content.rb b/lib/auth0/organizations/invitations/types/create_organization_invitation_request_content.rb new file mode 100644 index 000000000..e2633a3a4 --- /dev/null +++ b/lib/auth0/organizations/invitations/types/create_organization_invitation_request_content.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +module Auth0 + module Organizations + module Invitations + module Types + class CreateOrganizationInvitationRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :inviter, -> { Auth0::Types::OrganizationInvitationInviter }, optional: false, nullable: false + + field :invitee, -> { Auth0::Types::OrganizationInvitationInvitee }, optional: false, nullable: false + + field :client_id, -> { String }, optional: false, nullable: false + + field :connection_id, -> { String }, optional: true, nullable: false + + field :app_metadata, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :user_metadata, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :ttl_sec, -> { Integer }, optional: true, nullable: false + + field :roles, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :send_invitation_email, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/organizations/invitations/types/get_organization_invitation_request_parameters.rb b/lib/auth0/organizations/invitations/types/get_organization_invitation_request_parameters.rb new file mode 100644 index 000000000..1afef5f14 --- /dev/null +++ b/lib/auth0/organizations/invitations/types/get_organization_invitation_request_parameters.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Organizations + module Invitations + module Types + class GetOrganizationInvitationRequestParameters < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :invitation_id, -> { String }, optional: false, nullable: false + + field :fields, -> { String }, optional: true, nullable: false + + field :include_fields, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/organizations/invitations/types/list_organization_invitations_request_parameters.rb b/lib/auth0/organizations/invitations/types/list_organization_invitations_request_parameters.rb new file mode 100644 index 000000000..ab56003f9 --- /dev/null +++ b/lib/auth0/organizations/invitations/types/list_organization_invitations_request_parameters.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module Auth0 + module Organizations + module Invitations + module Types + class ListOrganizationInvitationsRequestParameters < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :page, -> { Integer }, optional: true, nullable: false + + field :per_page, -> { Integer }, optional: true, nullable: false + + field :include_totals, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :fields, -> { String }, optional: true, nullable: false + + field :include_fields, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :sort, -> { String }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/organizations/members/client.rb b/lib/auth0/organizations/members/client.rb new file mode 100644 index 000000000..ad1d09302 --- /dev/null +++ b/lib/auth0/organizations/members/client.rb @@ -0,0 +1,183 @@ +# frozen_string_literal: true + +module Auth0 + module Organizations + module Members + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # List organization members. + # This endpoint is subject to eventual consistency. New users may not be immediately included in the response + # and deleted users may not be immediately removed from it. + # + # - Use the `fields` parameter to optionally define the specific member details retrieved. If `fields` is left + # blank, all fields (except roles) are returned. + # - Member roles are not sent by default. Use `fields=roles` to retrieve the roles assigned to each listed + # member. To use this parameter, you must include the `read:organization_member_roles` scope in the token. Only + # directly assigned roles are returned. To also include group-based role assignments, use `GET + # /api/v2/organizations/{id}/members/{user_id}/effective-roles`. + # + # This endpoint supports two types of pagination: + # + # - Offset pagination + # - Checkpoint pagination + # + # Checkpoint pagination must be used if you need to retrieve more than 1000 organization members. + # + # **Checkpoint Pagination** + # + # To search by checkpoint, use the following parameters: - from: Optional id from which to start selection. - + # take: The total amount of entries to retrieve when using the from parameter. Defaults to 50. Note: The first + # time you call this endpoint using Checkpoint Pagination, you should omit the `from` parameter. If there are + # more results, a `next` value will be included in the response. You can use this for subsequent API calls. When + # `next` is no longer included in the response, this indicates there are no more pages remaining. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [Boolean, nil] :include_totals + # @option params [String, nil] :from + # @option params [Integer, nil] :take + # @option params [String, nil] :fields + # @option params [Boolean, nil] :include_fields + # + # @return [Auth0::Types::ListOrganizationMembersPaginatedResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["include_totals"] = params.fetch(:include_totals, true) + query_params["from"] = params[:from] if params.key?(:from) + query_params["take"] = params.fetch(:take, 50) + query_params["fields"] = params[:fields] if params.key?(:fields) + query_params["include_fields"] = params[:include_fields] if params.key?(:include_fields) + + Auth0::Internal::CursorItemIterator.new( + cursor_field: :next_, + item_field: :members, + initial_cursor: query_params["from"] + ) do |next_cursor| + query_params["from"] = next_cursor + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "organizations/#{URI.encode_uri_component(params[:id].to_s)}/members", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListOrganizationMembersPaginatedResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # Set one or more existing users as members of a specific + # [Organization](https://auth0.com/docs/manage-users/organizations). + # + # To add a user to an Organization through this action, the user must already exist in your tenant. If a user + # does not yet exist, you can [invite them to create an + # account](https://auth0.com/docs/manage-users/organizations/configure-organizations/invite-members), manually + # create them through the Auth0 Dashboard, or use the Management API. + # + # @param request_options [Hash] + # @param params [Auth0::Organizations::Members::Types::CreateOrganizationMemberRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def create(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Organizations::Members::Types::CreateOrganizationMemberRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "organizations/#{URI.encode_uri_component(params[:id].to_s)}/members", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # @param request_options [Hash] + # @param params [Auth0::Organizations::Members::Types::DeleteOrganizationMembersRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Organizations::Members::Types::DeleteOrganizationMembersRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "organizations/#{URI.encode_uri_component(params[:id].to_s)}/members", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # @return [Auth0::EffectiveRoles::Client] + def effective_roles + @effective_roles ||= Auth0::Organizations::Members::EffectiveRoles::Client.new(client: @client) + end + + # @return [Auth0::Roles::Client] + def roles + @roles ||= Auth0::Organizations::Members::Roles::Client.new(client: @client) + end + end + end + end +end diff --git a/lib/auth0/organizations/members/effective_roles/client.rb b/lib/auth0/organizations/members/effective_roles/client.rb new file mode 100644 index 000000000..f37cdd2d3 --- /dev/null +++ b/lib/auth0/organizations/members/effective_roles/client.rb @@ -0,0 +1,73 @@ +# frozen_string_literal: true + +module Auth0 + module Organizations + module Members + module EffectiveRoles + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Lists the roles assigned to an organization member directly or through group membership. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [String] :user_id + # @option params [String, nil] :from + # @option params [Integer, nil] :take + # + # @return [Auth0::Types::ListOrganizationMemberEffectiveRolesResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["from"] = params[:from] if params.key?(:from) + query_params["take"] = params.fetch(:take, 50) + + Auth0::Internal::CursorItemIterator.new( + cursor_field: :next_, + item_field: :roles, + initial_cursor: query_params["from"] + ) do |next_cursor| + query_params["from"] = next_cursor + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "organizations/#{URI.encode_uri_component(params[:id].to_s)}/members/#{URI.encode_uri_component(params[:user_id].to_s)}/effective-roles", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListOrganizationMemberEffectiveRolesResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # @return [Auth0::Sources::Client] + def sources + @sources ||= Auth0::Organizations::Members::EffectiveRoles::Sources::Client.new(client: @client) + end + end + end + end + end +end diff --git a/lib/auth0/organizations/members/effective_roles/sources/client.rb b/lib/auth0/organizations/members/effective_roles/sources/client.rb new file mode 100644 index 000000000..70b51f789 --- /dev/null +++ b/lib/auth0/organizations/members/effective_roles/sources/client.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module Auth0 + module Organizations + module Members + module EffectiveRoles + module Sources + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # @return [Auth0::Groups::Client] + def groups + @groups ||= Auth0::Organizations::Members::EffectiveRoles::Sources::Groups::Client.new(client: @client) + end + end + end + end + end + end +end diff --git a/lib/auth0/organizations/members/effective_roles/sources/groups/client.rb b/lib/auth0/organizations/members/effective_roles/sources/groups/client.rb new file mode 100644 index 000000000..9fd2ad46c --- /dev/null +++ b/lib/auth0/organizations/members/effective_roles/sources/groups/client.rb @@ -0,0 +1,74 @@ +# frozen_string_literal: true + +module Auth0 + module Organizations + module Members + module EffectiveRoles + module Sources + module Groups + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Lists the groups which grant the org member a given role. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [String] :user_id + # @option params [String, nil] :from + # @option params [Integer, nil] :take + # @option params [String] :role_id + # + # @return [Auth0::Types::ListOrganizationMemberRoleSourceGroupsResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["from"] = params[:from] if params.key?(:from) + query_params["take"] = params.fetch(:take, 50) + query_params["role_id"] = params[:role_id] if params.key?(:role_id) + + Auth0::Internal::CursorItemIterator.new( + cursor_field: :next_, + item_field: :groups, + initial_cursor: query_params["from"] + ) do |next_cursor| + query_params["from"] = next_cursor + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "organizations/#{URI.encode_uri_component(params[:id].to_s)}/members/#{URI.encode_uri_component(params[:user_id].to_s)}/effective-roles/sources/groups", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListOrganizationMemberRoleSourceGroupsResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end + end + end + end + end + end +end diff --git a/lib/auth0/organizations/members/effective_roles/sources/groups/types/list_organization_member_role_source_groups_request_parameters.rb b/lib/auth0/organizations/members/effective_roles/sources/groups/types/list_organization_member_role_source_groups_request_parameters.rb new file mode 100644 index 000000000..bb363fe8d --- /dev/null +++ b/lib/auth0/organizations/members/effective_roles/sources/groups/types/list_organization_member_role_source_groups_request_parameters.rb @@ -0,0 +1,27 @@ +# frozen_string_literal: true + +module Auth0 + module Organizations + module Members + module EffectiveRoles + module Sources + module Groups + module Types + class ListOrganizationMemberRoleSourceGroupsRequestParameters < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :user_id, -> { String }, optional: false, nullable: false + + field :from, -> { String }, optional: true, nullable: false + + field :take, -> { Integer }, optional: true, nullable: false + + field :role_id, -> { String }, optional: false, nullable: false + end + end + end + end + end + end + end +end diff --git a/lib/auth0/organizations/members/effective_roles/types/list_organization_member_effective_roles_request_parameters.rb b/lib/auth0/organizations/members/effective_roles/types/list_organization_member_effective_roles_request_parameters.rb new file mode 100644 index 000000000..0905487b2 --- /dev/null +++ b/lib/auth0/organizations/members/effective_roles/types/list_organization_member_effective_roles_request_parameters.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Organizations + module Members + module EffectiveRoles + module Types + class ListOrganizationMemberEffectiveRolesRequestParameters < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :user_id, -> { String }, optional: false, nullable: false + + field :from, -> { String }, optional: true, nullable: false + + field :take, -> { Integer }, optional: true, nullable: false + end + end + end + end + end +end diff --git a/lib/auth0/organizations/members/roles/client.rb b/lib/auth0/organizations/members/roles/client.rb new file mode 100644 index 000000000..567b421e8 --- /dev/null +++ b/lib/auth0/organizations/members/roles/client.rb @@ -0,0 +1,164 @@ +# frozen_string_literal: true + +module Auth0 + module Organizations + module Members + module Roles + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve detailed list of roles assigned to a given user within the context of a specific Organization. + # + # Users can be members of multiple Organizations with unique roles assigned for each membership. This action + # only returns the roles associated with the specified Organization; any roles assigned to the user within + # other Organizations are not included. + # + # **Note**: Returns only direct role assignments for this member. To also include group-based role + # assignments, use `GET /api/v2/organizations/{id}/members/{user_id}/effective-roles`. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [String] :user_id + # @option params [Integer, nil] :page + # @option params [Integer, nil] :per_page + # @option params [Boolean, nil] :include_totals + # + # @return [Auth0::Types::ListOrganizationMemberRolesOffsetPaginatedResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["page"] = params.fetch(:page, 0) + query_params["per_page"] = params.fetch(:per_page, 50) + query_params["include_totals"] = params.fetch(:include_totals, true) + + Auth0::Internal::OffsetItemIterator.new( + initial_page: query_params["page"], + item_field: :roles, + has_next_field: nil, + step: false + ) do |next_page| + query_params["page"] = next_page + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "organizations/#{URI.encode_uri_component(params[:id].to_s)}/members/#{URI.encode_uri_component(params[:user_id].to_s)}/roles", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListOrganizationMemberRolesOffsetPaginatedResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # Assign one or more [roles](https://auth0.com/docs/manage-users/access-control/rbac) to a user to determine + # their access for a specific Organization. + # + # Users can be members of multiple Organizations with unique roles assigned for each membership. This action + # assigns roles to a user only for the specified Organization. Roles cannot be assigned to a user across + # multiple Organizations in the same call. + # + # @param request_options [Hash] + # @param params [Auth0::Organizations::Members::Roles::Types::AssignOrganizationMemberRolesRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [String] :user_id + # + # @return [untyped] + def assign(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Organizations::Members::Roles::Types::AssignOrganizationMemberRolesRequestContent.new(params).to_h + non_body_param_names = %w[id user_id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "organizations/#{URI.encode_uri_component(params[:id].to_s)}/members/#{URI.encode_uri_component(params[:user_id].to_s)}/roles", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Remove one or more Organization-specific [roles](https://auth0.com/docs/manage-users/access-control/rbac) + # from a given user. + # + # Users can be members of multiple Organizations with unique roles assigned for each membership. This action + # removes roles from a user in relation to the specified Organization. Roles assigned to the user within a + # different Organization cannot be managed in the same call. + # + # @param request_options [Hash] + # @param params [Auth0::Organizations::Members::Roles::Types::DeleteOrganizationMemberRolesRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [String] :user_id + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Organizations::Members::Roles::Types::DeleteOrganizationMemberRolesRequestContent.new(params).to_h + non_body_param_names = %w[id user_id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "organizations/#{URI.encode_uri_component(params[:id].to_s)}/members/#{URI.encode_uri_component(params[:user_id].to_s)}/roles", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end + end +end diff --git a/lib/auth0/organizations/members/roles/types/assign_organization_member_roles_request_content.rb b/lib/auth0/organizations/members/roles/types/assign_organization_member_roles_request_content.rb new file mode 100644 index 000000000..ddf5cc04e --- /dev/null +++ b/lib/auth0/organizations/members/roles/types/assign_organization_member_roles_request_content.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Organizations + module Members + module Roles + module Types + class AssignOrganizationMemberRolesRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :user_id, -> { String }, optional: false, nullable: false + + field :roles, -> { Internal::Types::Array[String] }, optional: false, nullable: false + end + end + end + end + end +end diff --git a/lib/auth0/organizations/members/roles/types/delete_organization_member_roles_request_content.rb b/lib/auth0/organizations/members/roles/types/delete_organization_member_roles_request_content.rb new file mode 100644 index 000000000..06a548278 --- /dev/null +++ b/lib/auth0/organizations/members/roles/types/delete_organization_member_roles_request_content.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Organizations + module Members + module Roles + module Types + class DeleteOrganizationMemberRolesRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :user_id, -> { String }, optional: false, nullable: false + + field :roles, -> { Internal::Types::Array[String] }, optional: false, nullable: false + end + end + end + end + end +end diff --git a/lib/auth0/organizations/members/roles/types/list_organization_member_roles_request_parameters.rb b/lib/auth0/organizations/members/roles/types/list_organization_member_roles_request_parameters.rb new file mode 100644 index 000000000..01fcdf43a --- /dev/null +++ b/lib/auth0/organizations/members/roles/types/list_organization_member_roles_request_parameters.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Organizations + module Members + module Roles + module Types + class ListOrganizationMemberRolesRequestParameters < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :user_id, -> { String }, optional: false, nullable: false + + field :page, -> { Integer }, optional: true, nullable: false + + field :per_page, -> { Integer }, optional: true, nullable: false + + field :include_totals, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end + end + end +end diff --git a/lib/auth0/organizations/members/types/create_organization_member_request_content.rb b/lib/auth0/organizations/members/types/create_organization_member_request_content.rb new file mode 100644 index 000000000..15e2bcf7a --- /dev/null +++ b/lib/auth0/organizations/members/types/create_organization_member_request_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Organizations + module Members + module Types + class CreateOrganizationMemberRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :members, -> { Internal::Types::Array[String] }, optional: false, nullable: false + end + end + end + end +end diff --git a/lib/auth0/organizations/members/types/delete_organization_members_request_content.rb b/lib/auth0/organizations/members/types/delete_organization_members_request_content.rb new file mode 100644 index 000000000..daba811c9 --- /dev/null +++ b/lib/auth0/organizations/members/types/delete_organization_members_request_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Organizations + module Members + module Types + class DeleteOrganizationMembersRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :members, -> { Internal::Types::Array[String] }, optional: false, nullable: false + end + end + end + end +end diff --git a/lib/auth0/organizations/members/types/list_organization_members_request_parameters.rb b/lib/auth0/organizations/members/types/list_organization_members_request_parameters.rb new file mode 100644 index 000000000..e063dbf0e --- /dev/null +++ b/lib/auth0/organizations/members/types/list_organization_members_request_parameters.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Organizations + module Members + module Types + class ListOrganizationMembersRequestParameters < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :include_totals, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :from, -> { String }, optional: true, nullable: false + + field :take, -> { Integer }, optional: true, nullable: false + + field :fields, -> { String }, optional: true, nullable: false + + field :include_fields, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/organizations/roles/client.rb b/lib/auth0/organizations/roles/client.rb new file mode 100644 index 000000000..9c6d7e612 --- /dev/null +++ b/lib/auth0/organizations/roles/client.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module Auth0 + module Organizations + module Roles + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # @return [Auth0::Members::Client] + def members + @members ||= Auth0::Organizations::Roles::Members::Client.new(client: @client) + end + + # @return [Auth0::Groups::Client] + def groups + @groups ||= Auth0::Organizations::Roles::Groups::Client.new(client: @client) + end + end + end + end +end diff --git a/lib/auth0/organizations/roles/groups/client.rb b/lib/auth0/organizations/roles/groups/client.rb new file mode 100644 index 000000000..14dfc0a66 --- /dev/null +++ b/lib/auth0/organizations/roles/groups/client.rb @@ -0,0 +1,68 @@ +# frozen_string_literal: true + +module Auth0 + module Organizations + module Roles + module Groups + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve the list of groups assigned to a role in the context of an organization. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :organization_id + # @option params [String] :role_id + # @option params [String, nil] :from + # @option params [Integer, nil] :take + # + # @return [Auth0::Types::ListOrganizationRoleGroupsResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["from"] = params[:from] if params.key?(:from) + query_params["take"] = params.fetch(:take, 50) + + Auth0::Internal::CursorItemIterator.new( + cursor_field: :next_, + item_field: :groups, + initial_cursor: query_params["from"] + ) do |next_cursor| + query_params["from"] = next_cursor + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "organizations/#{URI.encode_uri_component(params[:organization_id].to_s)}/roles/#{URI.encode_uri_component(params[:role_id].to_s)}/groups", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListOrganizationRoleGroupsResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end + end + end + end +end diff --git a/lib/auth0/organizations/roles/groups/types/list_organization_role_groups_request_parameters.rb b/lib/auth0/organizations/roles/groups/types/list_organization_role_groups_request_parameters.rb new file mode 100644 index 000000000..fa9494eef --- /dev/null +++ b/lib/auth0/organizations/roles/groups/types/list_organization_role_groups_request_parameters.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Organizations + module Roles + module Groups + module Types + class ListOrganizationRoleGroupsRequestParameters < Internal::Types::Model + field :organization_id, -> { String }, optional: false, nullable: false + + field :role_id, -> { String }, optional: false, nullable: false + + field :from, -> { String }, optional: true, nullable: false + + field :take, -> { Integer }, optional: true, nullable: false + end + end + end + end + end +end diff --git a/lib/auth0/organizations/roles/members/client.rb b/lib/auth0/organizations/roles/members/client.rb new file mode 100644 index 000000000..32a0a0070 --- /dev/null +++ b/lib/auth0/organizations/roles/members/client.rb @@ -0,0 +1,78 @@ +# frozen_string_literal: true + +module Auth0 + module Organizations + module Roles + module Members + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # List the organization members assigned a specific role within the context of an organization. + #
    + #
  • + # Note: Returns only members with direct role assignments. For groups assigned to this role within the + # organization, use GET /api/v2/organizations/{organization_id}/roles/{role_id}/groups. + #
  • + #
+ # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [String] :role_id + # @option params [String, nil] :from + # @option params [Integer, nil] :take + # @option params [String, nil] :fields + # @option params [Boolean, nil] :include_fields + # + # @return [Auth0::Types::ListOrganizationRoleMembersResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["from"] = params[:from] if params.key?(:from) + query_params["take"] = params.fetch(:take, 50) + query_params["fields"] = params[:fields] if params.key?(:fields) + query_params["include_fields"] = params.fetch(:include_fields, true) + + Auth0::Internal::CursorItemIterator.new( + cursor_field: :next_, + item_field: :members, + initial_cursor: query_params["from"] + ) do |next_cursor| + query_params["from"] = next_cursor + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "organizations/#{URI.encode_uri_component(params[:id].to_s)}/roles/#{URI.encode_uri_component(params[:role_id].to_s)}/members", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListOrganizationRoleMembersResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end + end + end + end +end diff --git a/lib/auth0/organizations/roles/members/types/list_organization_role_members_request_parameters.rb b/lib/auth0/organizations/roles/members/types/list_organization_role_members_request_parameters.rb new file mode 100644 index 000000000..e73ce01af --- /dev/null +++ b/lib/auth0/organizations/roles/members/types/list_organization_role_members_request_parameters.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module Auth0 + module Organizations + module Roles + module Members + module Types + class ListOrganizationRoleMembersRequestParameters < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :role_id, -> { String }, optional: false, nullable: false + + field :from, -> { String }, optional: true, nullable: false + + field :take, -> { Integer }, optional: true, nullable: false + + field :fields, -> { String }, optional: true, nullable: false + + field :include_fields, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end + end + end +end diff --git a/lib/auth0/organizations/types/create_organization_request_content.rb b/lib/auth0/organizations/types/create_organization_request_content.rb new file mode 100644 index 000000000..6bc9aa136 --- /dev/null +++ b/lib/auth0/organizations/types/create_organization_request_content.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module Auth0 + module Organizations + module Types + class CreateOrganizationRequestContent < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :branding, -> { Auth0::Types::OrganizationBranding }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :enabled_connections, -> { Internal::Types::Array[Auth0::Types::ConnectionForOrganization] }, optional: true, nullable: false + + field :token_quota, -> { Auth0::Types::CreateTokenQuota }, optional: true, nullable: false + + field :third_party_client_access, -> { Auth0::Types::OrganizationThirdPartyClientAccessEnum }, optional: true, nullable: false + + field :is_app_entitlement_active, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/organizations/types/list_organizations_request_parameters.rb b/lib/auth0/organizations/types/list_organizations_request_parameters.rb new file mode 100644 index 000000000..9197896e5 --- /dev/null +++ b/lib/auth0/organizations/types/list_organizations_request_parameters.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Organizations + module Types + class ListOrganizationsRequestParameters < Internal::Types::Model + field :include_totals, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :from, -> { String }, optional: true, nullable: false + + field :take, -> { Integer }, optional: true, nullable: false + + field :sort, -> { String }, optional: true, nullable: false + + field :include_client_association_for, -> { String }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/organizations/types/update_organization_request_content.rb b/lib/auth0/organizations/types/update_organization_request_content.rb new file mode 100644 index 000000000..cbfa1c806 --- /dev/null +++ b/lib/auth0/organizations/types/update_organization_request_content.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module Auth0 + module Organizations + module Types + class UpdateOrganizationRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :branding, -> { Auth0::Types::OrganizationBranding }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :token_quota, -> { Auth0::Types::UpdateTokenQuota }, optional: true, nullable: false + + field :third_party_client_access, -> { Auth0::Types::OrganizationThirdPartyClientAccessEnum }, optional: true, nullable: false + + field :is_app_entitlement_active, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/prompts/client.rb b/lib/auth0/prompts/client.rb new file mode 100644 index 000000000..ea4837a0b --- /dev/null +++ b/lib/auth0/prompts/client.rb @@ -0,0 +1,103 @@ +# frozen_string_literal: true + +module Auth0 + module Prompts + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve details of the Universal Login configuration of your tenant. This includes the Identifier First + # Authentication and WebAuthn + # with Device Biometrics for MFA features. + # + # @param request_options [Hash] + # @param _params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::GetSettingsResponseContent] + def get_settings(request_options: {}, **_params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "prompts", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetSettingsResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Update the Universal Login configuration of your tenant. This includes the Identifier First + # Authentication and WebAuthn + # with Device Biometrics for MFA features. + # + # @param request_options [Hash] + # @param params [Auth0::Prompts::Types::UpdateSettingsRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::UpdateSettingsResponseContent] + def update_settings(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "prompts", + body: Auth0::Prompts::Types::UpdateSettingsRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::UpdateSettingsResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # @return [Auth0::Rendering::Client] + def rendering + @rendering ||= Auth0::Prompts::Rendering::Client.new(client: @client) + end + + # @return [Auth0::CustomText::Client] + def custom_text + @custom_text ||= Auth0::Prompts::CustomText::Client.new(client: @client) + end + + # @return [Auth0::Partials::Client] + def partials + @partials ||= Auth0::Prompts::Partials::Client.new(client: @client) + end + end + end +end diff --git a/lib/auth0/prompts/custom_text/client.rb b/lib/auth0/prompts/custom_text/client.rb new file mode 100644 index 000000000..235285370 --- /dev/null +++ b/lib/auth0/prompts/custom_text/client.rb @@ -0,0 +1,85 @@ +# frozen_string_literal: true + +module Auth0 + module Prompts + module CustomText + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve custom text for a specific prompt and language. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [Auth0::Types::PromptGroupNameEnum] :prompt + # @option params [Auth0::Types::PromptLanguageEnum] :language + # + # @return [Hash[String, Object]] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "prompts/#{URI.encode_uri_component(params[:prompt].to_s)}/custom-text/#{URI.encode_uri_component(params[:language].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetCustomTextsByLanguageResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Set custom text for a specific prompt. Existing texts will be overwritten. + # + # @param request_options [Hash] + # @param params [Auth0::Types::SetsCustomTextsByLanguageRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [Auth0::Types::PromptGroupNameEnum] :prompt + # @option params [Auth0::Types::PromptLanguageEnum] :language + # + # @return [untyped] + def set(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PUT", + path: "prompts/#{URI.encode_uri_component(params[:prompt].to_s)}/custom-text/#{URI.encode_uri_component(params[:language].to_s)}", + body: params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end +end diff --git a/lib/auth0/prompts/partials/client.rb b/lib/auth0/prompts/partials/client.rb new file mode 100644 index 000000000..0106660eb --- /dev/null +++ b/lib/auth0/prompts/partials/client.rb @@ -0,0 +1,83 @@ +# frozen_string_literal: true + +module Auth0 + module Prompts + module Partials + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Get template partials for a prompt + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [Auth0::Types::PartialGroupsEnum] :prompt + # + # @return [Hash[String, Object]] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "prompts/#{URI.encode_uri_component(params[:prompt].to_s)}/partials", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetPartialsResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Set template partials for a prompt + # + # @param request_options [Hash] + # @param params [Auth0::Types::SetPartialsRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [Auth0::Types::PartialGroupsEnum] :prompt + # + # @return [untyped] + def set(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PUT", + path: "prompts/#{URI.encode_uri_component(params[:prompt].to_s)}/partials", + body: params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end +end diff --git a/lib/auth0/prompts/rendering/client.rb b/lib/auth0/prompts/rendering/client.rb new file mode 100644 index 000000000..37f05b508 --- /dev/null +++ b/lib/auth0/prompts/rendering/client.rb @@ -0,0 +1,190 @@ +# frozen_string_literal: true + +module Auth0 + module Prompts + module Rendering + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Get render setting configurations for all screens. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String, nil] :fields + # @option params [Boolean, nil] :include_fields + # @option params [Integer, nil] :page + # @option params [Integer, nil] :per_page + # @option params [Boolean, nil] :include_totals + # @option params [String, nil] :prompt + # @option params [String, nil] :screen + # @option params [Auth0::Types::AculRenderingModeEnum, nil] :rendering_mode + # + # @return [Auth0::Types::ListAculsOffsetPaginatedResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["fields"] = params[:fields] if params.key?(:fields) + query_params["include_fields"] = params[:include_fields] if params.key?(:include_fields) + query_params["page"] = params.fetch(:page, 0) + query_params["per_page"] = params.fetch(:per_page, 50) + query_params["include_totals"] = params.fetch(:include_totals, true) + query_params["prompt"] = params[:prompt] if params.key?(:prompt) + query_params["screen"] = params[:screen] if params.key?(:screen) + query_params["rendering_mode"] = params[:rendering_mode] if params.key?(:rendering_mode) + + Auth0::Internal::OffsetItemIterator.new( + initial_page: query_params["page"], + item_field: :configs, + has_next_field: nil, + step: false + ) do |next_page| + query_params["page"] = next_page + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "prompts/rendering", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListAculsOffsetPaginatedResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # Learn more about [configuring render + # settings](https://auth0.com/docs/customize/login-pages/advanced-customizations/getting-started/configure-acul-screens) + # for advanced customization. + # + # @param request_options [Hash] + # @param params [Auth0::Prompts::Rendering::Types::BulkUpdateAculRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::BulkUpdateAculResponseContent] + def bulk_update(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "prompts/rendering", + body: Auth0::Prompts::Rendering::Types::BulkUpdateAculRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::BulkUpdateAculResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Get render settings for a screen. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [Auth0::Types::PromptGroupNameEnum] :prompt + # @option params [Auth0::Types::ScreenGroupNameEnum] :screen + # + # @return [Auth0::Types::GetAculResponseContent] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "prompts/#{URI.encode_uri_component(params[:prompt].to_s)}/screen/#{URI.encode_uri_component(params[:screen].to_s)}/rendering", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetAculResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Learn more about [configuring render + # settings](https://auth0.com/docs/customize/login-pages/advanced-customizations/getting-started/configure-acul-screens) + # for advanced customization. + # + # @param request_options [Hash] + # @param params [Auth0::Prompts::Rendering::Types::UpdateAculRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [Auth0::Types::PromptGroupNameEnum] :prompt + # @option params [Auth0::Types::ScreenGroupNameEnum] :screen + # + # @return [Auth0::Types::UpdateAculResponseContent] + def update(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Prompts::Rendering::Types::UpdateAculRequestContent.new(params).to_h + non_body_param_names = %w[prompt screen] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "prompts/#{URI.encode_uri_component(params[:prompt].to_s)}/screen/#{URI.encode_uri_component(params[:screen].to_s)}/rendering", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::UpdateAculResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end + end +end diff --git a/lib/auth0/prompts/rendering/types/bulk_update_acul_request_content.rb b/lib/auth0/prompts/rendering/types/bulk_update_acul_request_content.rb new file mode 100644 index 000000000..abd544fa1 --- /dev/null +++ b/lib/auth0/prompts/rendering/types/bulk_update_acul_request_content.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Prompts + module Rendering + module Types + class BulkUpdateAculRequestContent < Internal::Types::Model + field :configs, -> { Internal::Types::Array[Auth0::Types::AculConfigsItem] }, optional: false, nullable: false + end + end + end + end +end diff --git a/lib/auth0/prompts/rendering/types/list_aculs_request_parameters.rb b/lib/auth0/prompts/rendering/types/list_aculs_request_parameters.rb new file mode 100644 index 000000000..2be82cfbf --- /dev/null +++ b/lib/auth0/prompts/rendering/types/list_aculs_request_parameters.rb @@ -0,0 +1,27 @@ +# frozen_string_literal: true + +module Auth0 + module Prompts + module Rendering + module Types + class ListAculsRequestParameters < Internal::Types::Model + field :fields, -> { String }, optional: true, nullable: false + + field :include_fields, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :page, -> { Integer }, optional: true, nullable: false + + field :per_page, -> { Integer }, optional: true, nullable: false + + field :include_totals, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :prompt, -> { String }, optional: true, nullable: false + + field :screen, -> { String }, optional: true, nullable: false + + field :rendering_mode, -> { Auth0::Types::AculRenderingModeEnum }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/prompts/rendering/types/update_acul_request_content.rb b/lib/auth0/prompts/rendering/types/update_acul_request_content.rb new file mode 100644 index 000000000..4da90d4dc --- /dev/null +++ b/lib/auth0/prompts/rendering/types/update_acul_request_content.rb @@ -0,0 +1,27 @@ +# frozen_string_literal: true + +module Auth0 + module Prompts + module Rendering + module Types + class UpdateAculRequestContent < Internal::Types::Model + field :prompt, -> { Auth0::Types::PromptGroupNameEnum }, optional: false, nullable: false + + field :screen, -> { Auth0::Types::ScreenGroupNameEnum }, optional: false, nullable: false + + field :rendering_mode, -> { Auth0::Types::AculRenderingModeEnum }, optional: true, nullable: false + + field :context_configuration, -> { Internal::Types::Array[Auth0::Types::AculContextConfigurationItem] }, optional: true, nullable: false + + field :default_head_tags_disabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :use_page_template, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :head_tags, -> { Internal::Types::Array[Auth0::Types::AculHeadTag] }, optional: true, nullable: false + + field :filters, -> { Auth0::Types::AculFilters }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/prompts/types/update_settings_request_content.rb b/lib/auth0/prompts/types/update_settings_request_content.rb new file mode 100644 index 000000000..e860335c6 --- /dev/null +++ b/lib/auth0/prompts/types/update_settings_request_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Prompts + module Types + class UpdateSettingsRequestContent < Internal::Types::Model + field :universal_login_experience, -> { Auth0::Types::UniversalLoginExperienceEnum }, optional: true, nullable: false + + field :identifier_first, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :webauthn_platform_first_factor, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/rate_limit_policies/client.rb b/lib/auth0/rate_limit_policies/client.rb new file mode 100644 index 000000000..40c070c1e --- /dev/null +++ b/lib/auth0/rate_limit_policies/client.rb @@ -0,0 +1,197 @@ +# frozen_string_literal: true + +module Auth0 + module RateLimitPolicies + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [Auth0::Types::RateLimitPolicyResourceEnum, nil] :resource + # @option params [Auth0::Types::RateLimitPolicyConsumerEnum, nil] :consumer + # @option params [String, nil] :consumer_selector + # @option params [Integer, nil] :take + # @option params [String, nil] :from + # + # @return [Auth0::Types::ListRateLimitPoliciesPaginatedResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["resource"] = params[:resource] if params.key?(:resource) + query_params["consumer"] = params[:consumer] if params.key?(:consumer) + query_params["consumer_selector"] = params[:consumer_selector] if params.key?(:consumer_selector) + query_params["take"] = params.fetch(:take, 50) + query_params["from"] = params[:from] if params.key?(:from) + + Auth0::Internal::CursorItemIterator.new( + cursor_field: :next_, + item_field: :rate_limit_policies, + initial_cursor: query_params["from"] + ) do |next_cursor| + query_params["from"] = next_cursor + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "rate-limit-policies", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListRateLimitPoliciesPaginatedResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # @param request_options [Hash] + # @param params [Auth0::RateLimitPolicies::Types::CreateRateLimitPolicyRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::CreateRateLimitPolicyResponseContent] + def create(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "rate-limit-policies", + body: Auth0::RateLimitPolicies::Types::CreateRateLimitPolicyRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::CreateRateLimitPolicyResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::GetRateLimitPolicyResponseContent] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "rate-limit-policies/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetRateLimitPolicyResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "rate-limit-policies/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # @param request_options [Hash] + # @param params [Auth0::RateLimitPolicies::Types::PatchRateLimitPolicyRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::UpdateRateLimitPolicyResponseContent] + def update(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::RateLimitPolicies::Types::PatchRateLimitPolicyRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "rate-limit-policies/#{URI.encode_uri_component(params[:id].to_s)}", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::UpdateRateLimitPolicyResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end +end diff --git a/lib/auth0/rate_limit_policies/types/create_rate_limit_policy_request_content.rb b/lib/auth0/rate_limit_policies/types/create_rate_limit_policy_request_content.rb new file mode 100644 index 000000000..8e37fc5d5 --- /dev/null +++ b/lib/auth0/rate_limit_policies/types/create_rate_limit_policy_request_content.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module RateLimitPolicies + module Types + class CreateRateLimitPolicyRequestContent < Internal::Types::Model + field :resource, -> { Auth0::Types::RateLimitPolicyResourceEnum }, optional: false, nullable: false + + field :consumer, -> { Auth0::Types::RateLimitPolicyConsumerEnum }, optional: false, nullable: false + + field :consumer_selector, -> { String }, optional: false, nullable: false + + field :configuration, -> { Auth0::Types::RateLimitPolicyConfiguration }, optional: false, nullable: false + end + end + end +end diff --git a/lib/auth0/rate_limit_policies/types/list_rate_limit_policies_request_parameters.rb b/lib/auth0/rate_limit_policies/types/list_rate_limit_policies_request_parameters.rb new file mode 100644 index 000000000..4966166cc --- /dev/null +++ b/lib/auth0/rate_limit_policies/types/list_rate_limit_policies_request_parameters.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module RateLimitPolicies + module Types + class ListRateLimitPoliciesRequestParameters < Internal::Types::Model + field :resource, -> { Auth0::Types::RateLimitPolicyResourceEnum }, optional: true, nullable: false + + field :consumer, -> { Auth0::Types::RateLimitPolicyConsumerEnum }, optional: true, nullable: false + + field :consumer_selector, -> { String }, optional: true, nullable: false + + field :take, -> { Integer }, optional: true, nullable: false + + field :from, -> { String }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/rate_limit_policies/types/patch_rate_limit_policy_request_content.rb b/lib/auth0/rate_limit_policies/types/patch_rate_limit_policy_request_content.rb new file mode 100644 index 000000000..8b0bfc5cd --- /dev/null +++ b/lib/auth0/rate_limit_policies/types/patch_rate_limit_policy_request_content.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module RateLimitPolicies + module Types + class PatchRateLimitPolicyRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :configuration, -> { Auth0::Types::PatchRateLimitPolicyConfigurationRequestContent }, optional: false, nullable: false + end + end + end +end diff --git a/lib/auth0/refresh_tokens/client.rb b/lib/auth0/refresh_tokens/client.rb new file mode 100644 index 000000000..dc6e52aeb --- /dev/null +++ b/lib/auth0/refresh_tokens/client.rb @@ -0,0 +1,208 @@ +# frozen_string_literal: true + +module Auth0 + module RefreshTokens + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve a paginated list of refresh tokens for a specific user, with optional filtering by client ID. Results + # are sorted by credential_id ascending. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :user_id + # @option params [String, nil] :client_id + # @option params [String, nil] :from + # @option params [Integer, nil] :take + # @option params [String, nil] :fields + # @option params [Boolean, nil] :include_fields + # + # @return [Auth0::Types::GetRefreshTokensPaginatedResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["user_id"] = params[:user_id] if params.key?(:user_id) + query_params["client_id"] = params[:client_id] if params.key?(:client_id) + query_params["from"] = params[:from] if params.key?(:from) + query_params["take"] = params.fetch(:take, 50) + query_params["fields"] = params[:fields] if params.key?(:fields) + query_params["include_fields"] = params[:include_fields] if params.key?(:include_fields) + + Auth0::Internal::CursorItemIterator.new( + cursor_field: :next_, + item_field: :refresh_tokens, + initial_cursor: query_params["from"] + ) do |next_cursor| + query_params["from"] = next_cursor + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "refresh-tokens", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::GetRefreshTokensPaginatedResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # Revoke refresh tokens in bulk by ID list, user, user+client, or user+client+audience. + # + # @param request_options [Hash] + # @param params [Auth0::RefreshTokens::Types::RevokeRefreshTokensRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [untyped] + def revoke(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "refresh-tokens/revoke", + body: Auth0::RefreshTokens::Types::RevokeRefreshTokensRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Retrieve refresh token information. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::GetRefreshTokenResponseContent] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "refresh-tokens/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetRefreshTokenResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Delete a refresh token by its ID. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "refresh-tokens/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Update a refresh token by its ID. + # + # @param request_options [Hash] + # @param params [Auth0::RefreshTokens::Types::UpdateRefreshTokenRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::UpdateRefreshTokenResponseContent] + def update(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::RefreshTokens::Types::UpdateRefreshTokenRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "refresh-tokens/#{URI.encode_uri_component(params[:id].to_s)}", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::UpdateRefreshTokenResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end +end diff --git a/lib/auth0/refresh_tokens/types/get_refresh_tokens_request_parameters.rb b/lib/auth0/refresh_tokens/types/get_refresh_tokens_request_parameters.rb new file mode 100644 index 000000000..f3c38b889 --- /dev/null +++ b/lib/auth0/refresh_tokens/types/get_refresh_tokens_request_parameters.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module RefreshTokens + module Types + class GetRefreshTokensRequestParameters < Internal::Types::Model + field :user_id, -> { String }, optional: false, nullable: false + + field :client_id, -> { String }, optional: true, nullable: false + + field :from, -> { String }, optional: true, nullable: false + + field :take, -> { Integer }, optional: true, nullable: false + + field :fields, -> { String }, optional: true, nullable: false + + field :include_fields, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/refresh_tokens/types/revoke_refresh_tokens_request_content.rb b/lib/auth0/refresh_tokens/types/revoke_refresh_tokens_request_content.rb new file mode 100644 index 000000000..ba3ae8c4b --- /dev/null +++ b/lib/auth0/refresh_tokens/types/revoke_refresh_tokens_request_content.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module RefreshTokens + module Types + class RevokeRefreshTokensRequestContent < Internal::Types::Model + field :ids, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :user_id, -> { String }, optional: true, nullable: false + + field :client_id, -> { String }, optional: true, nullable: false + + field :audience, -> { String }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/refresh_tokens/types/update_refresh_token_request_content.rb b/lib/auth0/refresh_tokens/types/update_refresh_token_request_content.rb new file mode 100644 index 000000000..3b48c008d --- /dev/null +++ b/lib/auth0/refresh_tokens/types/update_refresh_token_request_content.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module RefreshTokens + module Types + class UpdateRefreshTokenRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :refresh_token_metadata, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/resource_servers/client.rb b/lib/auth0/resource_servers/client.rb new file mode 100644 index 000000000..b42a5e25c --- /dev/null +++ b/lib/auth0/resource_servers/client.rb @@ -0,0 +1,216 @@ +# frozen_string_literal: true + +module Auth0 + module ResourceServers + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve details of all APIs associated with your tenant. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String, nil] :identifiers + # @option params [Integer, nil] :page + # @option params [Integer, nil] :per_page + # @option params [Boolean, nil] :include_totals + # @option params [Boolean, nil] :include_fields + # + # @return [Auth0::Types::ListResourceServerOffsetPaginatedResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["identifiers"] = params[:identifiers] if params.key?(:identifiers) + query_params["page"] = params.fetch(:page, 0) + query_params["per_page"] = params.fetch(:per_page, 50) + query_params["include_totals"] = params.fetch(:include_totals, true) + query_params["include_fields"] = params[:include_fields] if params.key?(:include_fields) + + Auth0::Internal::OffsetItemIterator.new( + initial_page: query_params["page"], + item_field: :resource_servers, + has_next_field: nil, + step: false + ) do |next_page| + query_params["page"] = next_page + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "resource-servers", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListResourceServerOffsetPaginatedResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # Create a new API associated with your tenant. Note that all new APIs must be registered with Auth0. For more + # information, read APIs. + # + # @param request_options [Hash] + # @param params [Auth0::ResourceServers::Types::CreateResourceServerRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::CreateResourceServerResponseContent] + def create(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "resource-servers", + body: Auth0::ResourceServers::Types::CreateResourceServerRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::CreateResourceServerResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Retrieve API details with the given ID. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [Boolean, nil] :include_fields + # + # @return [Auth0::Types::GetResourceServerResponseContent] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["include_fields"] = params[:include_fields] if params.key?(:include_fields) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "resource-servers/#{URI.encode_uri_component(params[:id].to_s)}", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetResourceServerResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Delete an existing API by ID. For more information, read API Settings. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "resource-servers/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Change an existing API setting by resource server ID. For more information, read API Settings. + # + # @param request_options [Hash] + # @param params [Auth0::ResourceServers::Types::UpdateResourceServerRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::UpdateResourceServerResponseContent] + def update(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::ResourceServers::Types::UpdateResourceServerRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "resource-servers/#{URI.encode_uri_component(params[:id].to_s)}", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::UpdateResourceServerResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end +end diff --git a/lib/auth0/resource_servers/types/create_resource_server_request_content.rb b/lib/auth0/resource_servers/types/create_resource_server_request_content.rb new file mode 100644 index 000000000..b715a4a1d --- /dev/null +++ b/lib/auth0/resource_servers/types/create_resource_server_request_content.rb @@ -0,0 +1,45 @@ +# frozen_string_literal: true + +module Auth0 + module ResourceServers + module Types + class CreateResourceServerRequestContent < Internal::Types::Model + field :name, -> { String }, optional: true, nullable: false + + field :identifier, -> { String }, optional: false, nullable: false + + field :scopes, -> { Internal::Types::Array[Auth0::Types::ResourceServerScope] }, optional: true, nullable: false + + field :signing_alg, -> { Auth0::Types::SigningAlgorithmEnum }, optional: true, nullable: false + + field :signing_secret, -> { String }, optional: true, nullable: false + + field :allow_offline_access, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :allow_online_access, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :allow_online_access_with_ephemeral_sessions, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :token_lifetime, -> { Integer }, optional: true, nullable: false + + field :token_dialect, -> { Auth0::Types::ResourceServerTokenDialectSchemaEnum }, optional: true, nullable: false + + field :skip_consent_for_verifiable_first_party_clients, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :enforce_policies, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :token_encryption, -> { Auth0::Types::ResourceServerTokenEncryption }, optional: true, nullable: false + + field :consent_policy, -> { Auth0::Types::ResourceServerConsentPolicyEnum }, optional: true, nullable: false + + field :authorization_details, -> { Internal::Types::Array[Object] }, optional: true, nullable: false + + field :proof_of_possession, -> { Auth0::Types::ResourceServerProofOfPossession }, optional: true, nullable: false + + field :subject_type_authorization, -> { Auth0::Types::ResourceServerSubjectTypeAuthorization }, optional: true, nullable: false + + field :authorization_policy, -> { Auth0::Types::ResourceServerAuthorizationPolicy }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/resource_servers/types/get_resource_server_request_parameters.rb b/lib/auth0/resource_servers/types/get_resource_server_request_parameters.rb new file mode 100644 index 000000000..83321d26f --- /dev/null +++ b/lib/auth0/resource_servers/types/get_resource_server_request_parameters.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module ResourceServers + module Types + class GetResourceServerRequestParameters < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :include_fields, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/resource_servers/types/list_resource_server_request_parameters.rb b/lib/auth0/resource_servers/types/list_resource_server_request_parameters.rb new file mode 100644 index 000000000..40db8b008 --- /dev/null +++ b/lib/auth0/resource_servers/types/list_resource_server_request_parameters.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module ResourceServers + module Types + class ListResourceServerRequestParameters < Internal::Types::Model + field :identifiers, -> { String }, optional: true, nullable: false + + field :page, -> { Integer }, optional: true, nullable: false + + field :per_page, -> { Integer }, optional: true, nullable: false + + field :include_totals, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :include_fields, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/resource_servers/types/update_resource_server_request_content.rb b/lib/auth0/resource_servers/types/update_resource_server_request_content.rb new file mode 100644 index 000000000..9679c537f --- /dev/null +++ b/lib/auth0/resource_servers/types/update_resource_server_request_content.rb @@ -0,0 +1,45 @@ +# frozen_string_literal: true + +module Auth0 + module ResourceServers + module Types + class UpdateResourceServerRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :scopes, -> { Internal::Types::Array[Auth0::Types::ResourceServerScope] }, optional: true, nullable: false + + field :signing_alg, -> { Auth0::Types::SigningAlgorithmEnum }, optional: true, nullable: false + + field :signing_secret, -> { String }, optional: true, nullable: false + + field :skip_consent_for_verifiable_first_party_clients, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :allow_offline_access, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :allow_online_access, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :allow_online_access_with_ephemeral_sessions, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :token_lifetime, -> { Integer }, optional: true, nullable: false + + field :token_dialect, -> { Auth0::Types::ResourceServerTokenDialectSchemaEnum }, optional: true, nullable: false + + field :enforce_policies, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :token_encryption, -> { Auth0::Types::ResourceServerTokenEncryption }, optional: true, nullable: false + + field :consent_policy, -> { Auth0::Types::ResourceServerConsentPolicyEnum }, optional: true, nullable: false + + field :authorization_details, -> { Internal::Types::Array[Object] }, optional: true, nullable: false + + field :proof_of_possession, -> { Auth0::Types::ResourceServerProofOfPossession }, optional: true, nullable: false + + field :subject_type_authorization, -> { Auth0::Types::ResourceServerSubjectTypeAuthorization }, optional: true, nullable: false + + field :authorization_policy, -> { Auth0::Types::ResourceServerAuthorizationPolicy }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/risk_assessments/client.rb b/lib/auth0/risk_assessments/client.rb new file mode 100644 index 000000000..2143b608c --- /dev/null +++ b/lib/auth0/risk_assessments/client.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module RiskAssessments + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # @return [Auth0::Settings::Client] + def settings + @settings ||= Auth0::RiskAssessments::Settings::Client.new(client: @client) + end + end + end +end diff --git a/lib/auth0/risk_assessments/settings/client.rb b/lib/auth0/risk_assessments/settings/client.rb new file mode 100644 index 000000000..0159c59d4 --- /dev/null +++ b/lib/auth0/risk_assessments/settings/client.rb @@ -0,0 +1,87 @@ +# frozen_string_literal: true + +module Auth0 + module RiskAssessments + module Settings + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Gets the tenant settings for risk assessments + # + # @param request_options [Hash] + # @param _params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::GetRiskAssessmentsSettingsResponseContent] + def get(request_options: {}, **_params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "risk-assessments/settings", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetRiskAssessmentsSettingsResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Updates the tenant settings for risk assessments + # + # @param request_options [Hash] + # @param params [Auth0::RiskAssessments::Settings::Types::UpdateRiskAssessmentsSettingsRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::UpdateRiskAssessmentsSettingsResponseContent] + def update(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "risk-assessments/settings", + body: Auth0::RiskAssessments::Settings::Types::UpdateRiskAssessmentsSettingsRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::UpdateRiskAssessmentsSettingsResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # @return [Auth0::NewDevice::Client] + def new_device + @new_device ||= Auth0::RiskAssessments::Settings::NewDevice::Client.new(client: @client) + end + end + end + end +end diff --git a/lib/auth0/risk_assessments/settings/new_device/client.rb b/lib/auth0/risk_assessments/settings/new_device/client.rb new file mode 100644 index 000000000..fdd4e14fe --- /dev/null +++ b/lib/auth0/risk_assessments/settings/new_device/client.rb @@ -0,0 +1,84 @@ +# frozen_string_literal: true + +module Auth0 + module RiskAssessments + module Settings + module NewDevice + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Gets the risk assessment settings for the new device assessor + # + # @param request_options [Hash] + # @param _params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::GetRiskAssessmentsSettingsNewDeviceResponseContent] + def get(request_options: {}, **_params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "risk-assessments/settings/new-device", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetRiskAssessmentsSettingsNewDeviceResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Updates the risk assessment settings for the new device assessor + # + # @param request_options [Hash] + # @param params [Auth0::RiskAssessments::Settings::NewDevice::Types::UpdateRiskAssessmentsSettingsNewDeviceRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::UpdateRiskAssessmentsSettingsNewDeviceResponseContent] + def update(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "risk-assessments/settings/new-device", + body: Auth0::RiskAssessments::Settings::NewDevice::Types::UpdateRiskAssessmentsSettingsNewDeviceRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::UpdateRiskAssessmentsSettingsNewDeviceResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end + end + end +end diff --git a/lib/auth0/risk_assessments/settings/new_device/types/update_risk_assessments_settings_new_device_request_content.rb b/lib/auth0/risk_assessments/settings/new_device/types/update_risk_assessments_settings_new_device_request_content.rb new file mode 100644 index 000000000..136075a02 --- /dev/null +++ b/lib/auth0/risk_assessments/settings/new_device/types/update_risk_assessments_settings_new_device_request_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module RiskAssessments + module Settings + module NewDevice + module Types + class UpdateRiskAssessmentsSettingsNewDeviceRequestContent < Internal::Types::Model + field :remember_for, -> { Integer }, optional: false, nullable: false + end + end + end + end + end +end diff --git a/lib/auth0/risk_assessments/settings/types/update_risk_assessments_settings_request_content.rb b/lib/auth0/risk_assessments/settings/types/update_risk_assessments_settings_request_content.rb new file mode 100644 index 000000000..bfa350179 --- /dev/null +++ b/lib/auth0/risk_assessments/settings/types/update_risk_assessments_settings_request_content.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module RiskAssessments + module Settings + module Types + class UpdateRiskAssessmentsSettingsRequestContent < Internal::Types::Model + field :enabled, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end + end + end +end diff --git a/lib/auth0/roles/client.rb b/lib/auth0/roles/client.rb new file mode 100644 index 000000000..3140a5910 --- /dev/null +++ b/lib/auth0/roles/client.rb @@ -0,0 +1,234 @@ +# frozen_string_literal: true + +module Auth0 + module Roles + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve detailed list of user roles created in your tenant. + # + # **Note**: The returned list does not include standard roles available for tenant members, such as Admin or + # Support Access. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [Integer, nil] :per_page + # @option params [Integer, nil] :page + # @option params [Boolean, nil] :include_totals + # @option params [String, nil] :name_filter + # @option params [Auth0::Types::RoleTypeEnum, nil] :type + # @option params [String, nil] :owner_id + # + # @return [Auth0::Types::ListRolesOffsetPaginatedResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["per_page"] = params.fetch(:per_page, 50) + query_params["page"] = params.fetch(:page, 0) + query_params["include_totals"] = params.fetch(:include_totals, true) + query_params["name_filter"] = params[:name_filter] if params.key?(:name_filter) + query_params["type"] = params[:type] if params.key?(:type) + query_params["owner_id"] = params[:owner_id] if params.key?(:owner_id) + + Auth0::Internal::OffsetItemIterator.new( + initial_page: query_params["page"], + item_field: :roles, + has_next_field: nil, + step: false + ) do |next_page| + query_params["page"] = next_page + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "roles", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListRolesOffsetPaginatedResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # Create a user role for [Role-Based Access Control](https://auth0.com/docs/manage-users/access-control/rbac). + # + # **Note**: New roles are not associated with any permissions by default. To assign existing permissions to your + # role, review Associate Permissions with a Role. To create new permissions, review Add API Permissions. + # + # @param request_options [Hash] + # @param params [Auth0::Roles::Types::CreateRoleRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::CreateRoleResponseContent] + def create(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "roles", + body: Auth0::Roles::Types::CreateRoleRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::CreateRoleResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Retrieve details about a specific [user role](https://auth0.com/docs/manage-users/access-control/rbac) specified + # by ID. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::GetRoleResponseContent] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "roles/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetRoleResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Delete a specific [user role](https://auth0.com/docs/manage-users/access-control/rbac) from your tenant. Once + # deleted, it is removed from any user who was previously assigned that role. This action cannot be undone. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "roles/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Modify the details of a specific [user role](https://auth0.com/docs/manage-users/access-control/rbac) specified + # by ID. + # + # @param request_options [Hash] + # @param params [Auth0::Roles::Types::UpdateRoleRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::UpdateRoleResponseContent] + def update(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Roles::Types::UpdateRoleRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "roles/#{URI.encode_uri_component(params[:id].to_s)}", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::UpdateRoleResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # @return [Auth0::Groups::Client] + def groups + @groups ||= Auth0::Roles::Groups::Client.new(client: @client) + end + + # @return [Auth0::Permissions::Client] + def permissions + @permissions ||= Auth0::Roles::Permissions::Client.new(client: @client) + end + + # @return [Auth0::Users::Client] + def users + @users ||= Auth0::Roles::Users::Client.new(client: @client) + end + end + end +end diff --git a/lib/auth0/roles/groups/client.rb b/lib/auth0/roles/groups/client.rb new file mode 100644 index 000000000..b661dc330 --- /dev/null +++ b/lib/auth0/roles/groups/client.rb @@ -0,0 +1,139 @@ +# frozen_string_literal: true + +module Auth0 + module Roles + module Groups + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Lists the groups to which the specified role is assigned. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [String, nil] :from + # @option params [Integer, nil] :take + # + # @return [Auth0::Types::ListRoleGroupsResponseContent] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["from"] = params[:from] if params.key?(:from) + query_params["take"] = params.fetch(:take, 50) + + Auth0::Internal::CursorItemIterator.new( + cursor_field: :next_, + item_field: :groups, + initial_cursor: query_params["from"] + ) do |next_cursor| + query_params["from"] = next_cursor + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "roles/#{URI.encode_uri_component(params[:id].to_s)}/groups", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListRoleGroupsResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # Assign one or more groups to a specified role. + # + # @param request_options [Hash] + # @param params [Auth0::Roles::Groups::Types::AssignRoleGroupsRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def create(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Roles::Groups::Types::AssignRoleGroupsRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "roles/#{URI.encode_uri_component(params[:id].to_s)}/groups", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Unassign one or more groups from a specified role. + # + # @param request_options [Hash] + # @param params [Auth0::Roles::Groups::Types::DeleteRoleGroupsRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Roles::Groups::Types::DeleteRoleGroupsRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "roles/#{URI.encode_uri_component(params[:id].to_s)}/groups", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end +end diff --git a/lib/auth0/roles/groups/types/assign_role_groups_request_content.rb b/lib/auth0/roles/groups/types/assign_role_groups_request_content.rb new file mode 100644 index 000000000..68aa635b3 --- /dev/null +++ b/lib/auth0/roles/groups/types/assign_role_groups_request_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Roles + module Groups + module Types + class AssignRoleGroupsRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :groups, -> { Internal::Types::Array[String] }, optional: false, nullable: false + end + end + end + end +end diff --git a/lib/auth0/roles/groups/types/delete_role_groups_request_content.rb b/lib/auth0/roles/groups/types/delete_role_groups_request_content.rb new file mode 100644 index 000000000..cec08d47d --- /dev/null +++ b/lib/auth0/roles/groups/types/delete_role_groups_request_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Roles + module Groups + module Types + class DeleteRoleGroupsRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :groups, -> { Internal::Types::Array[String] }, optional: false, nullable: false + end + end + end + end +end diff --git a/lib/auth0/roles/groups/types/list_role_groups_parameters.rb b/lib/auth0/roles/groups/types/list_role_groups_parameters.rb new file mode 100644 index 000000000..f8113cb8b --- /dev/null +++ b/lib/auth0/roles/groups/types/list_role_groups_parameters.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Roles + module Groups + module Types + class ListRoleGroupsParameters < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :from, -> { String }, optional: true, nullable: false + + field :take, -> { Integer }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/roles/permissions/client.rb b/lib/auth0/roles/permissions/client.rb new file mode 100644 index 000000000..1b5bedb57 --- /dev/null +++ b/lib/auth0/roles/permissions/client.rb @@ -0,0 +1,146 @@ +# frozen_string_literal: true + +module Auth0 + module Roles + module Permissions + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve detailed list (name, description, resource server) of permissions granted by a specified user role. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [Integer, nil] :per_page + # @option params [Integer, nil] :page + # @option params [Boolean, nil] :include_totals + # + # @return [Auth0::Types::ListRolePermissionsOffsetPaginatedResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["per_page"] = params.fetch(:per_page, 50) + query_params["page"] = params.fetch(:page, 0) + query_params["include_totals"] = params.fetch(:include_totals, true) + + Auth0::Internal::OffsetItemIterator.new( + initial_page: query_params["page"], + item_field: :permissions, + has_next_field: nil, + step: false + ) do |next_page| + query_params["page"] = next_page + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "roles/#{URI.encode_uri_component(params[:id].to_s)}/permissions", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListRolePermissionsOffsetPaginatedResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # Add one or more + # [permissions](https://auth0.com/docs/manage-users/access-control/configure-core-rbac/manage-permissions) to a + # specified user role. + # + # @param request_options [Hash] + # @param params [Auth0::Roles::Permissions::Types::AddRolePermissionsRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def add(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Roles::Permissions::Types::AddRolePermissionsRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "roles/#{URI.encode_uri_component(params[:id].to_s)}/permissions", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Remove one or more + # [permissions](https://auth0.com/docs/manage-users/access-control/configure-core-rbac/manage-permissions) from + # a specified user role. + # + # @param request_options [Hash] + # @param params [Auth0::Roles::Permissions::Types::DeleteRolePermissionsRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Roles::Permissions::Types::DeleteRolePermissionsRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "roles/#{URI.encode_uri_component(params[:id].to_s)}/permissions", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end +end diff --git a/lib/auth0/roles/permissions/types/add_role_permissions_request_content.rb b/lib/auth0/roles/permissions/types/add_role_permissions_request_content.rb new file mode 100644 index 000000000..99c4843fe --- /dev/null +++ b/lib/auth0/roles/permissions/types/add_role_permissions_request_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Roles + module Permissions + module Types + class AddRolePermissionsRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :permissions, -> { Internal::Types::Array[Auth0::Types::PermissionRequestPayload] }, optional: false, nullable: false + end + end + end + end +end diff --git a/lib/auth0/roles/permissions/types/delete_role_permissions_request_content.rb b/lib/auth0/roles/permissions/types/delete_role_permissions_request_content.rb new file mode 100644 index 000000000..2de2d38ae --- /dev/null +++ b/lib/auth0/roles/permissions/types/delete_role_permissions_request_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Roles + module Permissions + module Types + class DeleteRolePermissionsRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :permissions, -> { Internal::Types::Array[Auth0::Types::PermissionRequestPayload] }, optional: false, nullable: false + end + end + end + end +end diff --git a/lib/auth0/roles/permissions/types/list_role_permissions_request_parameters.rb b/lib/auth0/roles/permissions/types/list_role_permissions_request_parameters.rb new file mode 100644 index 000000000..9cd831541 --- /dev/null +++ b/lib/auth0/roles/permissions/types/list_role_permissions_request_parameters.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Roles + module Permissions + module Types + class ListRolePermissionsRequestParameters < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :per_page, -> { Integer }, optional: true, nullable: false + + field :page, -> { Integer }, optional: true, nullable: false + + field :include_totals, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/roles/types/create_role_request_content.rb b/lib/auth0/roles/types/create_role_request_content.rb new file mode 100644 index 000000000..16d0895dc --- /dev/null +++ b/lib/auth0/roles/types/create_role_request_content.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Roles + module Types + class CreateRoleRequestContent < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :description, -> { String }, optional: true, nullable: false + + field :type, -> { Auth0::Types::RoleTypeEnum }, optional: true, nullable: false + + field :owner_id, -> { String }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/roles/types/list_roles_request_parameters.rb b/lib/auth0/roles/types/list_roles_request_parameters.rb new file mode 100644 index 000000000..24208c2db --- /dev/null +++ b/lib/auth0/roles/types/list_roles_request_parameters.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Roles + module Types + class ListRolesRequestParameters < Internal::Types::Model + field :per_page, -> { Integer }, optional: true, nullable: false + + field :page, -> { Integer }, optional: true, nullable: false + + field :include_totals, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :name_filter, -> { String }, optional: true, nullable: false + + field :type, -> { Auth0::Types::RoleTypeEnum }, optional: true, nullable: false + + field :owner_id, -> { String }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/roles/types/update_role_request_content.rb b/lib/auth0/roles/types/update_role_request_content.rb new file mode 100644 index 000000000..44503ee7b --- /dev/null +++ b/lib/auth0/roles/types/update_role_request_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Roles + module Types + class UpdateRoleRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :description, -> { String }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/roles/users/client.rb b/lib/auth0/roles/users/client.rb new file mode 100644 index 000000000..93b42f6df --- /dev/null +++ b/lib/auth0/roles/users/client.rb @@ -0,0 +1,130 @@ +# frozen_string_literal: true + +module Auth0 + module Roles + module Users + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve list of users associated with a specific role. For Dashboard instructions, review [View Users + # Assigned to + # Roles](https://auth0.com/docs/manage-users/access-control/configure-core-rbac/roles/view-users-assigned-to-roles). + # + # **Note**: Returns only users with direct role assignments. For groups assigned to this role, use `GET + # /api/v2/roles/{id}/groups`. + # + # This endpoint supports two types of pagination: + # + # - Offset pagination + # - Checkpoint pagination + # + # Checkpoint pagination must be used if you need to retrieve more than 1000 organization members. + # + # **Checkpoint Pagination** + # + # To search by checkpoint, use the following parameters: + # + # - `from`: Optional id from which to start selection. + # - `take`: The total amount of entries to retrieve when using the from parameter. Defaults to 50. + # + # **Note**: The first time you call this endpoint using checkpoint pagination, omit the `from` parameter. If + # there are more results, a `next` value is included in the response. You can use this for subsequent API calls. + # When `next` is no longer included in the response, no pages are remaining. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [Boolean, nil] :include_totals + # @option params [String, nil] :from + # @option params [Integer, nil] :take + # + # @return [Auth0::Types::ListRoleUsersPaginatedResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["include_totals"] = params.fetch(:include_totals, true) + query_params["from"] = params[:from] if params.key?(:from) + query_params["take"] = params.fetch(:take, 50) + + Auth0::Internal::CursorItemIterator.new( + cursor_field: :next_, + item_field: :users, + initial_cursor: query_params["from"] + ) do |next_cursor| + query_params["from"] = next_cursor + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "roles/#{URI.encode_uri_component(params[:id].to_s)}/users", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListRoleUsersPaginatedResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # Assign one or more users to an existing user role. To learn more, review [Role-Based Access + # Control](https://auth0.com/docs/manage-users/access-control/rbac). + # + # **Note**: New roles cannot be created through this action. + # + # @param request_options [Hash] + # @param params [Auth0::Roles::Users::Types::AssignRoleUsersRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def assign(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Roles::Users::Types::AssignRoleUsersRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "roles/#{URI.encode_uri_component(params[:id].to_s)}/users", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end +end diff --git a/lib/auth0/roles/users/types/assign_role_users_request_content.rb b/lib/auth0/roles/users/types/assign_role_users_request_content.rb new file mode 100644 index 000000000..a3aa66357 --- /dev/null +++ b/lib/auth0/roles/users/types/assign_role_users_request_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Roles + module Users + module Types + class AssignRoleUsersRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :users, -> { Internal::Types::Array[String] }, optional: false, nullable: false + end + end + end + end +end diff --git a/lib/auth0/roles/users/types/list_role_users_request_parameters.rb b/lib/auth0/roles/users/types/list_role_users_request_parameters.rb new file mode 100644 index 000000000..3ce8bbf42 --- /dev/null +++ b/lib/auth0/roles/users/types/list_role_users_request_parameters.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Roles + module Users + module Types + class ListRoleUsersRequestParameters < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :include_totals, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :from, -> { String }, optional: true, nullable: false + + field :take, -> { Integer }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/rules/client.rb b/lib/auth0/rules/client.rb new file mode 100644 index 000000000..000591805 --- /dev/null +++ b/lib/auth0/rules/client.rb @@ -0,0 +1,222 @@ +# frozen_string_literal: true + +module Auth0 + module Rules + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve a filtered list of [rules](https://auth0.com/docs/rules). Accepts a list of fields to include or + # exclude. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [Integer, nil] :page + # @option params [Integer, nil] :per_page + # @option params [Boolean, nil] :include_totals + # @option params [Boolean, nil] :enabled + # @option params [String, nil] :fields + # @option params [Boolean, nil] :include_fields + # + # @return [Auth0::Types::ListRulesOffsetPaginatedResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["page"] = params.fetch(:page, 0) + query_params["per_page"] = params.fetch(:per_page, 50) + query_params["include_totals"] = params.fetch(:include_totals, true) + query_params["enabled"] = params[:enabled] if params.key?(:enabled) + query_params["fields"] = params[:fields] if params.key?(:fields) + query_params["include_fields"] = params[:include_fields] if params.key?(:include_fields) + + Auth0::Internal::OffsetItemIterator.new( + initial_page: query_params["page"], + item_field: :rules, + has_next_field: nil, + step: false + ) do |next_page| + query_params["page"] = next_page + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "rules", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListRulesOffsetPaginatedResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # Create a [new rule](https://auth0.com/docs/rules#create-a-new-rule-using-the-management-api). + # + # Note: Changing a rule's stage of execution from the default `login_success` can change the rule's function + # signature to have user omitted. + # + # @param request_options [Hash] + # @param params [Auth0::Rules::Types::CreateRuleRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::CreateRuleResponseContent] + def create(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "rules", + body: Auth0::Rules::Types::CreateRuleRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::CreateRuleResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Retrieve [rule](https://auth0.com/docs/rules) details. Accepts a list of fields to include or exclude in the + # result. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [String, nil] :fields + # @option params [Boolean, nil] :include_fields + # + # @return [Auth0::Types::GetRuleResponseContent] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["fields"] = params[:fields] if params.key?(:fields) + query_params["include_fields"] = params[:include_fields] if params.key?(:include_fields) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "rules/#{URI.encode_uri_component(params[:id].to_s)}", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetRuleResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Delete a rule. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "rules/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Update an existing rule. + # + # @param request_options [Hash] + # @param params [Auth0::Rules::Types::UpdateRuleRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::UpdateRuleResponseContent] + def update(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Rules::Types::UpdateRuleRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "rules/#{URI.encode_uri_component(params[:id].to_s)}", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::UpdateRuleResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end +end diff --git a/lib/auth0/rules/types/create_rule_request_content.rb b/lib/auth0/rules/types/create_rule_request_content.rb new file mode 100644 index 000000000..d8ef52cc0 --- /dev/null +++ b/lib/auth0/rules/types/create_rule_request_content.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Rules + module Types + class CreateRuleRequestContent < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :script, -> { String }, optional: false, nullable: false + + field :order, -> { Integer }, optional: true, nullable: false + + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/rules/types/get_rule_request_parameters.rb b/lib/auth0/rules/types/get_rule_request_parameters.rb new file mode 100644 index 000000000..8d5410200 --- /dev/null +++ b/lib/auth0/rules/types/get_rule_request_parameters.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Rules + module Types + class GetRuleRequestParameters < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :fields, -> { String }, optional: true, nullable: false + + field :include_fields, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/rules/types/list_rules_request_parameters.rb b/lib/auth0/rules/types/list_rules_request_parameters.rb new file mode 100644 index 000000000..fbc1adfc1 --- /dev/null +++ b/lib/auth0/rules/types/list_rules_request_parameters.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Rules + module Types + class ListRulesRequestParameters < Internal::Types::Model + field :page, -> { Integer }, optional: true, nullable: false + + field :per_page, -> { Integer }, optional: true, nullable: false + + field :include_totals, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :fields, -> { String }, optional: true, nullable: false + + field :include_fields, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/rules/types/update_rule_request_content.rb b/lib/auth0/rules/types/update_rule_request_content.rb new file mode 100644 index 000000000..a8f3ebfd2 --- /dev/null +++ b/lib/auth0/rules/types/update_rule_request_content.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Rules + module Types + class UpdateRuleRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :script, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :order, -> { Integer }, optional: true, nullable: false + + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/rules_configs/client.rb b/lib/auth0/rules_configs/client.rb new file mode 100644 index 000000000..8ca956962 --- /dev/null +++ b/lib/auth0/rules_configs/client.rb @@ -0,0 +1,117 @@ +# frozen_string_literal: true + +module Auth0 + module RulesConfigs + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve rules config variable keys. + # + # Note: For security, config variable values cannot be retrieved outside rule execution. + # + # @param request_options [Hash] + # @param _params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Array[Auth0::Types::RulesConfig]] + def list(request_options: {}, **_params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "rules-configs", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Sets a rules config variable. + # + # @param request_options [Hash] + # @param params [Auth0::RulesConfigs::Types::SetRulesConfigRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :key + # + # @return [Auth0::Types::SetRulesConfigResponseContent] + def set(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::RulesConfigs::Types::SetRulesConfigRequestContent.new(params).to_h + non_body_param_names = %w[key] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PUT", + path: "rules-configs/#{URI.encode_uri_component(params[:key].to_s)}", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::SetRulesConfigResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Delete a rules config variable identified by its key. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :key + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "rules-configs/#{URI.encode_uri_component(params[:key].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end +end diff --git a/lib/auth0/rules_configs/types/set_rules_config_request_content.rb b/lib/auth0/rules_configs/types/set_rules_config_request_content.rb new file mode 100644 index 000000000..ea842544d --- /dev/null +++ b/lib/auth0/rules_configs/types/set_rules_config_request_content.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module RulesConfigs + module Types + class SetRulesConfigRequestContent < Internal::Types::Model + field :key, -> { String }, optional: false, nullable: false + + field :value, -> { String }, optional: false, nullable: false + end + end + end +end diff --git a/lib/auth0/self_service_profiles/client.rb b/lib/auth0/self_service_profiles/client.rb new file mode 100644 index 000000000..afc363e22 --- /dev/null +++ b/lib/auth0/self_service_profiles/client.rb @@ -0,0 +1,214 @@ +# frozen_string_literal: true + +module Auth0 + module SelfServiceProfiles + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieves self-service profiles. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [Integer, nil] :page + # @option params [Integer, nil] :per_page + # @option params [Boolean, nil] :include_totals + # + # @return [Auth0::Types::ListSelfServiceProfilesPaginatedResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["page"] = params.fetch(:page, 0) + query_params["per_page"] = params.fetch(:per_page, 50) + query_params["include_totals"] = params.fetch(:include_totals, true) + + Auth0::Internal::OffsetItemIterator.new( + initial_page: query_params["page"], + item_field: :self_service_profiles, + has_next_field: nil, + step: false + ) do |next_page| + query_params["page"] = next_page + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "self-service-profiles", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListSelfServiceProfilesPaginatedResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # Creates a self-service profile. + # + # @param request_options [Hash] + # @param params [Auth0::SelfServiceProfiles::Types::CreateSelfServiceProfileRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::CreateSelfServiceProfileResponseContent] + def create(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "self-service-profiles", + body: Auth0::SelfServiceProfiles::Types::CreateSelfServiceProfileRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::CreateSelfServiceProfileResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Retrieves a self-service profile by Id. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::GetSelfServiceProfileResponseContent] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "self-service-profiles/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetSelfServiceProfileResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Deletes a self-service profile by Id. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "self-service-profiles/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Updates a self-service profile. + # + # @param request_options [Hash] + # @param params [Auth0::SelfServiceProfiles::Types::UpdateSelfServiceProfileRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::UpdateSelfServiceProfileResponseContent] + def update(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::SelfServiceProfiles::Types::UpdateSelfServiceProfileRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "self-service-profiles/#{URI.encode_uri_component(params[:id].to_s)}", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::UpdateSelfServiceProfileResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # @return [Auth0::CustomText::Client] + def custom_text + @custom_text ||= Auth0::SelfServiceProfiles::CustomText::Client.new(client: @client) + end + + # @return [Auth0::SSOTicket::Client] + def sso_ticket + @sso_ticket ||= Auth0::SelfServiceProfiles::SSOTicket::Client.new(client: @client) + end + end + end +end diff --git a/lib/auth0/self_service_profiles/custom_text/client.rb b/lib/auth0/self_service_profiles/custom_text/client.rb new file mode 100644 index 000000000..fdade57a0 --- /dev/null +++ b/lib/auth0/self_service_profiles/custom_text/client.rb @@ -0,0 +1,91 @@ +# frozen_string_literal: true + +module Auth0 + module SelfServiceProfiles + module CustomText + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieves text customizations for a given self-service profile, language and Self-Service Enterprise + # Configuration flow page. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [Auth0::Types::SelfServiceProfileCustomTextLanguageEnum] :language + # @option params [Auth0::Types::SelfServiceProfileCustomTextPageEnum] :page + # + # @return [Hash[String, String]] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "self-service-profiles/#{URI.encode_uri_component(params[:id].to_s)}/custom-text/#{URI.encode_uri_component(params[:language].to_s)}/#{URI.encode_uri_component(params[:page].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::ListSelfServiceProfileCustomTextResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Updates text customizations for a given self-service profile, language and Self-Service Enterprise + # Configuration flow page. + # + # @param request_options [Hash] + # @param params [Auth0::Types::SetSelfServiceProfileCustomTextRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [Auth0::Types::SelfServiceProfileCustomTextLanguageEnum] :language + # @option params [Auth0::Types::SelfServiceProfileCustomTextPageEnum] :page + # + # @return [Hash[String, String]] + def set(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PUT", + path: "self-service-profiles/#{URI.encode_uri_component(params[:id].to_s)}/custom-text/#{URI.encode_uri_component(params[:language].to_s)}/#{URI.encode_uri_component(params[:page].to_s)}", + body: params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::SetSelfServiceProfileCustomTextResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end + end +end diff --git a/lib/auth0/self_service_profiles/sso_ticket/client.rb b/lib/auth0/self_service_profiles/sso_ticket/client.rb new file mode 100644 index 000000000..cace1e50e --- /dev/null +++ b/lib/auth0/self_service_profiles/sso_ticket/client.rb @@ -0,0 +1,96 @@ +# frozen_string_literal: true + +module Auth0 + module SelfServiceProfiles + module SSOTicket + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Creates an access ticket to initiate the Self-Service Enterprise Configuration flow using a self-service + # profile. + # + # @param request_options [Hash] + # @param params [Auth0::SelfServiceProfiles::SSOTicket::Types::CreateSelfServiceProfileSSOTicketRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::CreateSelfServiceProfileSSOTicketResponseContent] + def create(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::SelfServiceProfiles::SSOTicket::Types::CreateSelfServiceProfileSSOTicketRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "self-service-profiles/#{URI.encode_uri_component(params[:id].to_s)}/sso-ticket", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::CreateSelfServiceProfileSSOTicketResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Revokes a Self-Service Enterprise Configuration access ticket and invalidates associated sessions. The ticket + # will no longer be accepted to initiate a Self-Service Enterprise Configuration session. If any users have + # already started a session through this ticket, their session will be terminated. Clients should expect a `202 + # Accepted` response upon successful processing, indicating that the request has been acknowledged and that the + # revocation is underway but may not be fully completed at the time of response. If the specified ticket does + # not exist, a `202 Accepted` response is also returned, signaling that no further action is required. + # Clients should treat these `202` responses as an acknowledgment that the request has been accepted and is in + # progress, even if the ticket was not found. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :profile_id + # @option params [String] :id + # + # @return [untyped] + def revoke(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "self-service-profiles/#{URI.encode_uri_component(params[:profile_id].to_s)}/sso-ticket/#{URI.encode_uri_component(params[:id].to_s)}/revoke", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end +end diff --git a/lib/auth0/self_service_profiles/sso_ticket/types/create_self_service_profile_sso_ticket_request_content.rb b/lib/auth0/self_service_profiles/sso_ticket/types/create_self_service_profile_sso_ticket_request_content.rb new file mode 100644 index 000000000..c46e22dad --- /dev/null +++ b/lib/auth0/self_service_profiles/sso_ticket/types/create_self_service_profile_sso_ticket_request_content.rb @@ -0,0 +1,33 @@ +# frozen_string_literal: true + +module Auth0 + module SelfServiceProfiles + module SSOTicket + module Types + class CreateSelfServiceProfileSSOTicketRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :connection_id, -> { String }, optional: true, nullable: false + + field :connection_config, -> { Auth0::Types::SelfServiceProfileSSOTicketConnectionConfig }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :enabled_organizations, -> { Internal::Types::Array[Auth0::Types::SelfServiceProfileSSOTicketEnabledOrganization] }, optional: true, nullable: false + + field :ttl_sec, -> { Integer }, optional: true, nullable: false + + field :domain_aliases_config, -> { Auth0::Types::SelfServiceProfileSSOTicketDomainAliasesConfig }, optional: true, nullable: false + + field :provisioning_config, -> { Auth0::Types::SelfServiceProfileSSOTicketProvisioningConfig }, optional: true, nullable: false + + field :use_for_organization_discovery, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :third_party_client_access_config, -> { Auth0::Types::ThirdPartyClientAccessConfig }, optional: true, nullable: false + + field :enabled_features, -> { Auth0::Types::SelfServiceProfileSSOTicketEnabledFeatures }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/self_service_profiles/types/create_self_service_profile_request_content.rb b/lib/auth0/self_service_profiles/types/create_self_service_profile_request_content.rb new file mode 100644 index 000000000..50d720339 --- /dev/null +++ b/lib/auth0/self_service_profiles/types/create_self_service_profile_request_content.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module SelfServiceProfiles + module Types + class CreateSelfServiceProfileRequestContent < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :description, -> { String }, optional: true, nullable: false + + field :branding, -> { Auth0::Types::SelfServiceProfileBrandingProperties }, optional: true, nullable: false + + field :allowed_strategies, -> { Internal::Types::Array[Auth0::Types::SelfServiceProfileAllowedStrategyEnum] }, optional: true, nullable: false + + field :user_attributes, -> { Internal::Types::Array[Auth0::Types::SelfServiceProfileUserAttribute] }, optional: true, nullable: false + + field :user_attribute_profile_id, -> { String }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/self_service_profiles/types/list_self_service_profiles_request_parameters.rb b/lib/auth0/self_service_profiles/types/list_self_service_profiles_request_parameters.rb new file mode 100644 index 000000000..47dc0f5ff --- /dev/null +++ b/lib/auth0/self_service_profiles/types/list_self_service_profiles_request_parameters.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module SelfServiceProfiles + module Types + class ListSelfServiceProfilesRequestParameters < Internal::Types::Model + field :page, -> { Integer }, optional: true, nullable: false + + field :per_page, -> { Integer }, optional: true, nullable: false + + field :include_totals, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/self_service_profiles/types/update_self_service_profile_request_content.rb b/lib/auth0/self_service_profiles/types/update_self_service_profile_request_content.rb new file mode 100644 index 000000000..b0ee8fb4e --- /dev/null +++ b/lib/auth0/self_service_profiles/types/update_self_service_profile_request_content.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module SelfServiceProfiles + module Types + class UpdateSelfServiceProfileRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :description, -> { String }, optional: true, nullable: false + + field :branding, -> { Auth0::Types::SelfServiceProfileBrandingProperties }, optional: true, nullable: false + + field :allowed_strategies, -> { Internal::Types::Array[Auth0::Types::SelfServiceProfileAllowedStrategyEnum] }, optional: true, nullable: false + + field :user_attributes, -> { Internal::Types::Array[Auth0::Types::SelfServiceProfileUserAttribute] }, optional: true, nullable: false + + field :user_attribute_profile_id, -> { String }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/sessions/client.rb b/lib/auth0/sessions/client.rb new file mode 100644 index 000000000..42cc1ad64 --- /dev/null +++ b/lib/auth0/sessions/client.rb @@ -0,0 +1,151 @@ +# frozen_string_literal: true + +module Auth0 + module Sessions + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve session information. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::GetSessionResponseContent] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "sessions/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetSessionResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Delete a session by ID. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "sessions/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Update session information. + # + # @param request_options [Hash] + # @param params [Auth0::Sessions::Types::UpdateSessionRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::UpdateSessionResponseContent] + def update(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Sessions::Types::UpdateSessionRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "sessions/#{URI.encode_uri_component(params[:id].to_s)}", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::UpdateSessionResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Revokes a session by ID and all associated refresh tokens. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def revoke(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "sessions/#{URI.encode_uri_component(params[:id].to_s)}/revoke", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end +end diff --git a/lib/auth0/sessions/types/update_session_request_content.rb b/lib/auth0/sessions/types/update_session_request_content.rb new file mode 100644 index 000000000..44cb89ec7 --- /dev/null +++ b/lib/auth0/sessions/types/update_session_request_content.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Sessions + module Types + class UpdateSessionRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :session_metadata, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/stats/client.rb b/lib/auth0/stats/client.rb new file mode 100644 index 000000000..0adaa97ea --- /dev/null +++ b/lib/auth0/stats/client.rb @@ -0,0 +1,85 @@ +# frozen_string_literal: true + +module Auth0 + module Stats + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve the number of active users that logged in during the last 30 days. + # + # @param request_options [Hash] + # @param _params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Integer] + def get_active_users_count(request_options: {}, **_params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "stats/active-users", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetActiveUsersCountStatsResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Retrieve the number of logins, signups and breached-password detections (subscription required) that occurred + # each day within a specified date range. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String, nil] :from + # @option params [String, nil] :to + # + # @return [Array[Auth0::Types::DailyStats]] + def get_daily(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["from"] = params[:from] if params.key?(:from) + query_params["to"] = params[:to] if params.key?(:to) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "stats/daily", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end +end diff --git a/lib/auth0/stats/types/get_daily_stats_request_parameters.rb b/lib/auth0/stats/types/get_daily_stats_request_parameters.rb new file mode 100644 index 000000000..747b42184 --- /dev/null +++ b/lib/auth0/stats/types/get_daily_stats_request_parameters.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Stats + module Types + class GetDailyStatsRequestParameters < Internal::Types::Model + field :from, -> { String }, optional: true, nullable: false + + field :to, -> { String }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/supplemental_signals/client.rb b/lib/auth0/supplemental_signals/client.rb new file mode 100644 index 000000000..2da8030ca --- /dev/null +++ b/lib/auth0/supplemental_signals/client.rb @@ -0,0 +1,80 @@ +# frozen_string_literal: true + +module Auth0 + module SupplementalSignals + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Get the supplemental signals configuration for a tenant. + # + # @param request_options [Hash] + # @param _params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::GetSupplementalSignalsResponseContent] + def get(request_options: {}, **_params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "supplemental-signals", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetSupplementalSignalsResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Update the supplemental signals configuration for a tenant. + # + # @param request_options [Hash] + # @param params [Auth0::SupplementalSignals::Types::UpdateSupplementalSignalsRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::PatchSupplementalSignalsResponseContent] + def patch(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "supplemental-signals", + body: Auth0::SupplementalSignals::Types::UpdateSupplementalSignalsRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::PatchSupplementalSignalsResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end +end diff --git a/lib/auth0/supplemental_signals/types/update_supplemental_signals_request_content.rb b/lib/auth0/supplemental_signals/types/update_supplemental_signals_request_content.rb new file mode 100644 index 000000000..3f171acaa --- /dev/null +++ b/lib/auth0/supplemental_signals/types/update_supplemental_signals_request_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module SupplementalSignals + module Types + class UpdateSupplementalSignalsRequestContent < Internal::Types::Model + field :akamai_enabled, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end + end +end diff --git a/lib/auth0/tenants/client.rb b/lib/auth0/tenants/client.rb new file mode 100644 index 000000000..ac33c9a01 --- /dev/null +++ b/lib/auth0/tenants/client.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Tenants + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # @return [Auth0::Settings::Client] + def settings + @settings ||= Auth0::Tenants::Settings::Client.new(client: @client) + end + end + end +end diff --git a/lib/auth0/tenants/settings/client.rb b/lib/auth0/tenants/settings/client.rb new file mode 100644 index 000000000..273de0791 --- /dev/null +++ b/lib/auth0/tenants/settings/client.rb @@ -0,0 +1,90 @@ +# frozen_string_literal: true + +module Auth0 + module Tenants + module Settings + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve tenant settings. A list of fields to include or exclude may also be specified. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String, nil] :fields + # @option params [Boolean, nil] :include_fields + # + # @return [Auth0::Types::GetTenantSettingsResponseContent] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["fields"] = params[:fields] if params.key?(:fields) + query_params["include_fields"] = params[:include_fields] if params.key?(:include_fields) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "tenants/settings", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetTenantSettingsResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Update settings for a tenant. + # + # @param request_options [Hash] + # @param params [Auth0::Tenants::Settings::Types::UpdateTenantSettingsRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::UpdateTenantSettingsResponseContent] + def update(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "tenants/settings", + body: Auth0::Tenants::Settings::Types::UpdateTenantSettingsRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::UpdateTenantSettingsResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end + end +end diff --git a/lib/auth0/tenants/settings/types/get_tenant_settings_request_parameters.rb b/lib/auth0/tenants/settings/types/get_tenant_settings_request_parameters.rb new file mode 100644 index 000000000..c7bf181ad --- /dev/null +++ b/lib/auth0/tenants/settings/types/get_tenant_settings_request_parameters.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Tenants + module Settings + module Types + class GetTenantSettingsRequestParameters < Internal::Types::Model + field :fields, -> { String }, optional: true, nullable: false + + field :include_fields, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/tenants/settings/types/update_tenant_settings_request_content.rb b/lib/auth0/tenants/settings/types/update_tenant_settings_request_content.rb new file mode 100644 index 000000000..da241e0c7 --- /dev/null +++ b/lib/auth0/tenants/settings/types/update_tenant_settings_request_content.rb @@ -0,0 +1,97 @@ +# frozen_string_literal: true + +module Auth0 + module Tenants + module Settings + module Types + class UpdateTenantSettingsRequestContent < Internal::Types::Model + field :change_password, -> { Auth0::Types::TenantSettingsPasswordPage }, optional: true, nullable: false + + field :device_flow, -> { Auth0::Types::TenantSettingsDeviceFlow }, optional: true, nullable: false + + field :guardian_mfa_page, -> { Auth0::Types::TenantSettingsGuardianPage }, optional: true, nullable: false + + field :default_audience, -> { String }, optional: true, nullable: false + + field :default_directory, -> { String }, optional: true, nullable: false + + field :error_page, -> { Auth0::Types::TenantSettingsErrorPage }, optional: true, nullable: false + + field :default_token_quota, -> { Auth0::Types::DefaultTokenQuota }, optional: true, nullable: false + + field :flags, -> { Auth0::Types::TenantSettingsFlags }, optional: true, nullable: false + + field :friendly_name, -> { String }, optional: true, nullable: false + + field :picture_url, -> { String }, optional: true, nullable: false + + field :support_email, -> { String }, optional: true, nullable: false + + field :support_url, -> { String }, optional: true, nullable: false + + field :allowed_logout_urls, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :session_lifetime, -> { Integer }, optional: true, nullable: false + + field :session_lifetime_in_minutes, -> { Integer }, optional: true, nullable: false + + field :idle_session_lifetime, -> { Integer }, optional: true, nullable: false + + field :idle_session_lifetime_in_minutes, -> { Integer }, optional: true, nullable: false + + field :ephemeral_session_lifetime, -> { Integer }, optional: true, nullable: false + + field :idle_ephemeral_session_lifetime, -> { Integer }, optional: true, nullable: false + + field :ephemeral_session_lifetime_in_minutes, -> { Integer }, optional: true, nullable: false + + field :idle_ephemeral_session_lifetime_in_minutes, -> { Integer }, optional: true, nullable: false + + field :sandbox_version, -> { String }, optional: true, nullable: false + + field :legacy_sandbox_version, -> { String }, optional: true, nullable: false + + field :default_redirection_uri, -> { String }, optional: true, nullable: false + + field :enabled_locales, -> { Internal::Types::Array[Auth0::Types::TenantSettingsSupportedLocalesEnum] }, optional: true, nullable: false + + field :security_headers, -> { Auth0::Types::TenantSettingsNullableSecurityHeaders }, optional: true, nullable: false + + field :session_cookie, -> { Auth0::Types::SessionCookieSchema }, optional: true, nullable: false + + field :sessions, -> { Auth0::Types::TenantSettingsSessions }, optional: true, nullable: false + + field :oidc_logout, -> { Auth0::Types::TenantOidcLogoutSettings }, optional: true, nullable: false + + field :customize_mfa_in_postlogin_action, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :allow_organization_name_in_authentication_api, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :acr_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :mtls, -> { Auth0::Types::TenantSettingsMtls }, optional: true, nullable: false + + field :pushed_authorization_requests_supported, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :authorization_response_iss_parameter_supported, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :skip_non_verifiable_callback_uri_confirmation_prompt, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :resource_parameter_profile, -> { Auth0::Types::TenantSettingsResourceParameterProfile }, optional: true, nullable: false + + field :client_id_metadata_document_supported, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :enable_ai_guide, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :phone_consolidated_experience, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :include_session_metadata_in_tenant_logs, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :dynamic_client_registration_security_mode, -> { Auth0::Types::TenantSettingsDynamicClientRegistrationSecurityMode }, optional: true, nullable: false + + field :country_codes, -> { Auth0::Types::TenantSettingsCountryCodes }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/tickets/client.rb b/lib/auth0/tickets/client.rb new file mode 100644 index 000000000..cf23bb7a2 --- /dev/null +++ b/lib/auth0/tickets/client.rb @@ -0,0 +1,87 @@ +# frozen_string_literal: true + +module Auth0 + module Tickets + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Create an email verification ticket for a given user. An email verification ticket is a generated URL that the + # user can consume to verify their email address. + # + # @param request_options [Hash] + # @param params [Auth0::Tickets::Types::VerifyEmailTicketRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::VerifyEmailTicketResponseContent] + def verify_email(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "tickets/email-verification", + body: Auth0::Tickets::Types::VerifyEmailTicketRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::VerifyEmailTicketResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Create a password change ticket for a given user. A password change ticket is a generated URL that the user can + # consume to start a reset password flow. + # + # Note: This endpoint does not verify the given user’s identity. If you call this endpoint within your + # application, you must design your application to verify the user’s identity. + # + # @param request_options [Hash] + # @param params [Auth0::Tickets::Types::ChangePasswordTicketRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::ChangePasswordTicketResponseContent] + def change_password(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "tickets/password-change", + body: Auth0::Tickets::Types::ChangePasswordTicketRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::ChangePasswordTicketResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end +end diff --git a/lib/auth0/tickets/types/change_password_ticket_request_content.rb b/lib/auth0/tickets/types/change_password_ticket_request_content.rb new file mode 100644 index 000000000..52e05d310 --- /dev/null +++ b/lib/auth0/tickets/types/change_password_ticket_request_content.rb @@ -0,0 +1,29 @@ +# frozen_string_literal: true + +module Auth0 + module Tickets + module Types + class ChangePasswordTicketRequestContent < Internal::Types::Model + field :result_url, -> { String }, optional: true, nullable: false + + field :user_id, -> { String }, optional: true, nullable: false + + field :client_id, -> { String }, optional: true, nullable: false + + field :organization_id, -> { String }, optional: true, nullable: false + + field :connection_id, -> { String }, optional: true, nullable: false + + field :email, -> { String }, optional: true, nullable: false + + field :ttl_sec, -> { Integer }, optional: true, nullable: false + + field :mark_email_as_verified, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :include_email_in_redirect, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "includeEmailInRedirect" + + field :identity, -> { Auth0::Types::ChangePasswordTicketIdentity }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/tickets/types/verify_email_ticket_request_content.rb b/lib/auth0/tickets/types/verify_email_ticket_request_content.rb new file mode 100644 index 000000000..a8062994b --- /dev/null +++ b/lib/auth0/tickets/types/verify_email_ticket_request_content.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Tickets + module Types + class VerifyEmailTicketRequestContent < Internal::Types::Model + field :result_url, -> { String }, optional: true, nullable: false + + field :user_id, -> { String }, optional: false, nullable: false + + field :client_id, -> { String }, optional: true, nullable: false + + field :organization_id, -> { String }, optional: true, nullable: false + + field :ttl_sec, -> { Integer }, optional: true, nullable: false + + field :include_email_in_redirect, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "includeEmailInRedirect" + + field :identity, -> { Auth0::Types::Identity }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/token_exchange_profiles/client.rb b/lib/auth0/token_exchange_profiles/client.rb new file mode 100644 index 000000000..d95fe3f1a --- /dev/null +++ b/lib/auth0/token_exchange_profiles/client.rb @@ -0,0 +1,228 @@ +# frozen_string_literal: true + +module Auth0 + module TokenExchangeProfiles + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve a list of all Token Exchange Profiles available in your tenant. + # + # By using this feature, you agree to the applicable Free Trial terms in [Okta’s Master Subscription + # Agreement](https://www.okta.com/legal/). It is your responsibility to securely validate the user’s + # subject_token. See [User Guide](https://auth0.com/docs/authenticate/custom-token-exchange) for more details. + # + # This endpoint supports Checkpoint pagination. To search by checkpoint, use the following parameters: + # + # - `from`: Optional id from which to start selection. + # - `take`: The total amount of entries to retrieve when using the from parameter. Defaults to 50. + # + # **Note**: The first time you call this endpoint using checkpoint pagination, omit the `from` parameter. If there + # are more results, a `next` value is included in the response. You can use this for subsequent API calls. When + # `next` is no longer included in the response, no pages are remaining. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String, nil] :from + # @option params [Integer, nil] :take + # + # @return [Auth0::Types::ListTokenExchangeProfileResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["from"] = params[:from] if params.key?(:from) + query_params["take"] = params.fetch(:take, 50) + + Auth0::Internal::CursorItemIterator.new( + cursor_field: :next_, + item_field: :token_exchange_profiles, + initial_cursor: query_params["from"] + ) do |next_cursor| + query_params["from"] = next_cursor + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "token-exchange-profiles", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListTokenExchangeProfileResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # Create a new Token Exchange Profile within your tenant. + # + # By using this feature, you agree to the applicable Free Trial terms in [Okta’s Master Subscription + # Agreement](https://www.okta.com/legal/). It is your responsibility to securely validate the user’s + # subject_token. See [User Guide](https://auth0.com/docs/authenticate/custom-token-exchange) for more details. + # + # @param request_options [Hash] + # @param params [Auth0::TokenExchangeProfiles::Types::CreateTokenExchangeProfileRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::CreateTokenExchangeProfileResponseContent] + def create(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "token-exchange-profiles", + body: Auth0::TokenExchangeProfiles::Types::CreateTokenExchangeProfileRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::CreateTokenExchangeProfileResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Retrieve details about a single Token Exchange Profile specified by ID. + # + # By using this feature, you agree to the applicable Free Trial terms in [Okta’s Master Subscription + # Agreement](https://www.okta.com/legal/). It is your responsibility to securely validate the user’s + # subject_token. See [User Guide](https://auth0.com/docs/authenticate/custom-token-exchange) for more details. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::GetTokenExchangeProfileResponseContent] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "token-exchange-profiles/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetTokenExchangeProfileResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Delete a Token Exchange Profile within your tenant. + # + # By using this feature, you agree to the applicable Free Trial terms in [Okta's Master Subscription + # Agreement](https://www.okta.com/legal/). It is your responsibility to securely validate the user's + # subject_token. See [User Guide](https://auth0.com/docs/authenticate/custom-token-exchange) for more details. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "token-exchange-profiles/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Update a Token Exchange Profile within your tenant. + # + # By using this feature, you agree to the applicable Free Trial terms in [Okta's Master Subscription + # Agreement](https://www.okta.com/legal/). It is your responsibility to securely validate the user's + # subject_token. See [User Guide](https://auth0.com/docs/authenticate/custom-token-exchange) for more details. + # + # @param request_options [Hash] + # @param params [Auth0::TokenExchangeProfiles::Types::UpdateTokenExchangeProfileRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def update(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::TokenExchangeProfiles::Types::UpdateTokenExchangeProfileRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "token-exchange-profiles/#{URI.encode_uri_component(params[:id].to_s)}", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end +end diff --git a/lib/auth0/token_exchange_profiles/types/create_token_exchange_profile_request_content.rb b/lib/auth0/token_exchange_profiles/types/create_token_exchange_profile_request_content.rb new file mode 100644 index 000000000..e1e784cc7 --- /dev/null +++ b/lib/auth0/token_exchange_profiles/types/create_token_exchange_profile_request_content.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module TokenExchangeProfiles + module Types + class CreateTokenExchangeProfileRequestContent < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :subject_token_type, -> { String }, optional: false, nullable: false + + field :action_id, -> { String }, optional: false, nullable: false + + field :type, -> { Auth0::Types::TokenExchangeProfileTypeEnum }, optional: false, nullable: false + end + end + end +end diff --git a/lib/auth0/token_exchange_profiles/types/token_exchange_profiles_list_request.rb b/lib/auth0/token_exchange_profiles/types/token_exchange_profiles_list_request.rb new file mode 100644 index 000000000..825c2bbb9 --- /dev/null +++ b/lib/auth0/token_exchange_profiles/types/token_exchange_profiles_list_request.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module TokenExchangeProfiles + module Types + class TokenExchangeProfilesListRequest < Internal::Types::Model + field :from, -> { String }, optional: true, nullable: false + + field :take, -> { Integer }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/token_exchange_profiles/types/update_token_exchange_profile_request_content.rb b/lib/auth0/token_exchange_profiles/types/update_token_exchange_profile_request_content.rb new file mode 100644 index 000000000..647966d67 --- /dev/null +++ b/lib/auth0/token_exchange_profiles/types/update_token_exchange_profile_request_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module TokenExchangeProfiles + module Types + class UpdateTokenExchangeProfileRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :subject_token_type, -> { String }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/types/action.rb b/lib/auth0/types/action.rb new file mode 100644 index 000000000..674f65d1d --- /dev/null +++ b/lib/auth0/types/action.rb @@ -0,0 +1,41 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class Action < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :supported_triggers, -> { Internal::Types::Array[Auth0::Types::ActionTrigger] }, optional: true, nullable: false + + field :all_changes_deployed, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :updated_at, -> { String }, optional: true, nullable: false + + field :code, -> { String }, optional: true, nullable: false + + field :dependencies, -> { Internal::Types::Array[Auth0::Types::ActionVersionDependency] }, optional: true, nullable: false + + field :runtime, -> { String }, optional: true, nullable: false + + field :secrets, -> { Internal::Types::Array[Auth0::Types::ActionSecretResponse] }, optional: true, nullable: false + + field :deployed_version, -> { Auth0::Types::ActionDeployedVersion }, optional: true, nullable: false + + field :installed_integration_id, -> { String }, optional: true, nullable: false + + field :integration, -> { Auth0::Types::Integration }, optional: true, nullable: false + + field :status, -> { Auth0::Types::ActionBuildStatusEnum }, optional: true, nullable: false + + field :built_at, -> { String }, optional: true, nullable: false + + field :deploy, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :modules, -> { Internal::Types::Array[Auth0::Types::ActionModuleReference] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/action_base.rb b/lib/auth0/types/action_base.rb new file mode 100644 index 000000000..18aa1c982 --- /dev/null +++ b/lib/auth0/types/action_base.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The action to which this version belongs. + class ActionBase < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :supported_triggers, -> { Internal::Types::Array[Auth0::Types::ActionTrigger] }, optional: true, nullable: false + + field :all_changes_deployed, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :updated_at, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/action_binding.rb b/lib/auth0/types/action_binding.rb new file mode 100644 index 000000000..cc79db5fd --- /dev/null +++ b/lib/auth0/types/action_binding.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Binding is the associative entity joining a trigger, and an action together. + class ActionBinding < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :trigger_id, -> { Auth0::Types::ActionTriggerTypeEnum }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :action, -> { Auth0::Types::Action }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :updated_at, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/action_binding_ref.rb b/lib/auth0/types/action_binding_ref.rb new file mode 100644 index 000000000..3ea578b74 --- /dev/null +++ b/lib/auth0/types/action_binding_ref.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # A reference to an action. An action can be referred to by ID or by Name. + class ActionBindingRef < Internal::Types::Model + field :type, -> { Auth0::Types::ActionBindingRefTypeEnum }, optional: true, nullable: false + + field :value, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/action_binding_ref_type_enum.rb b/lib/auth0/types/action_binding_ref_type_enum.rb new file mode 100644 index 000000000..0aaa127ef --- /dev/null +++ b/lib/auth0/types/action_binding_ref_type_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ActionBindingRefTypeEnum + extend Auth0::Internal::Types::Enum + + BINDING_ID = "binding_id" + ACTION_ID = "action_id" + ACTION_NAME = "action_name" + end + end +end diff --git a/lib/auth0/types/action_binding_type_enum.rb b/lib/auth0/types/action_binding_type_enum.rb new file mode 100644 index 000000000..061f6a270 --- /dev/null +++ b/lib/auth0/types/action_binding_type_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ActionBindingTypeEnum + extend Auth0::Internal::Types::Enum + + TRIGGER_BOUND = "trigger-bound" + ENTITY_BOUND = "entity-bound" + end + end +end diff --git a/lib/auth0/types/action_binding_with_ref.rb b/lib/auth0/types/action_binding_with_ref.rb new file mode 100644 index 000000000..f646ae480 --- /dev/null +++ b/lib/auth0/types/action_binding_with_ref.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ActionBindingWithRef < Internal::Types::Model + field :ref, -> { Auth0::Types::ActionBindingRef }, optional: false, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :secrets, -> { Internal::Types::Array[Auth0::Types::ActionSecretRequest] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/action_build_status_enum.rb b/lib/auth0/types/action_build_status_enum.rb new file mode 100644 index 000000000..a304b1882 --- /dev/null +++ b/lib/auth0/types/action_build_status_enum.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ActionBuildStatusEnum + extend Auth0::Internal::Types::Enum + + PENDING = "pending" + BUILDING = "building" + PACKAGED = "packaged" + BUILT = "built" + RETRYING = "retrying" + FAILED = "failed" + end + end +end diff --git a/lib/auth0/types/action_deployed_version.rb b/lib/auth0/types/action_deployed_version.rb new file mode 100644 index 000000000..6329b7f4a --- /dev/null +++ b/lib/auth0/types/action_deployed_version.rb @@ -0,0 +1,40 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The version of the action that is currently deployed. + class ActionDeployedVersion < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :action_id, -> { String }, optional: true, nullable: false + + field :code, -> { String }, optional: true, nullable: false + + field :dependencies, -> { Internal::Types::Array[Auth0::Types::ActionVersionDependency] }, optional: true, nullable: false + + field :deployed, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :runtime, -> { String }, optional: true, nullable: false + + field :secrets, -> { Internal::Types::Array[Auth0::Types::ActionSecretResponse] }, optional: true, nullable: false + + field :status, -> { Auth0::Types::ActionVersionBuildStatusEnum }, optional: true, nullable: false + + field :number, -> { Integer }, optional: true, nullable: false + + field :errors, -> { Internal::Types::Array[Auth0::Types::ActionError] }, optional: true, nullable: false + + field :action, -> { Auth0::Types::ActionBase }, optional: true, nullable: false + + field :built_at, -> { String }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :updated_at, -> { String }, optional: true, nullable: false + + field :supported_triggers, -> { Internal::Types::Array[Auth0::Types::ActionTrigger] }, optional: true, nullable: false + + field :modules, -> { Internal::Types::Array[Auth0::Types::ActionModuleReference] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/action_error.rb b/lib/auth0/types/action_error.rb new file mode 100644 index 000000000..cd348efba --- /dev/null +++ b/lib/auth0/types/action_error.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Error is a generic error with a human readable id which should be easily referenced in support tickets. + class ActionError < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :msg, -> { String }, optional: true, nullable: false + + field :url, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/action_execution_result.rb b/lib/auth0/types/action_execution_result.rb new file mode 100644 index 000000000..363d6d26c --- /dev/null +++ b/lib/auth0/types/action_execution_result.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Captures the results of a single action being executed. + class ActionExecutionResult < Internal::Types::Model + field :action_name, -> { String }, optional: true, nullable: false + + field :error, -> { Auth0::Types::ActionError }, optional: true, nullable: false + + field :started_at, -> { String }, optional: true, nullable: false + + field :ended_at, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/action_execution_status_enum.rb b/lib/auth0/types/action_execution_status_enum.rb new file mode 100644 index 000000000..422713064 --- /dev/null +++ b/lib/auth0/types/action_execution_status_enum.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ActionExecutionStatusEnum + extend Auth0::Internal::Types::Enum + + UNSPECIFIED = "unspecified" + PENDING = "pending" + FINAL = "final" + PARTIAL = "partial" + CANCELED = "canceled" + SUSPENDED = "suspended" + end + end +end diff --git a/lib/auth0/types/action_module_action.rb b/lib/auth0/types/action_module_action.rb new file mode 100644 index 000000000..385180efd --- /dev/null +++ b/lib/auth0/types/action_module_action.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ActionModuleAction < Internal::Types::Model + field :action_id, -> { String }, optional: true, nullable: false + + field :action_name, -> { String }, optional: true, nullable: false + + field :module_version_id, -> { String }, optional: true, nullable: false + + field :module_version_number, -> { Integer }, optional: true, nullable: false + + field :supported_triggers, -> { Internal::Types::Array[Auth0::Types::ActionTrigger] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/action_module_dependency.rb b/lib/auth0/types/action_module_dependency.rb new file mode 100644 index 000000000..e55c2b340 --- /dev/null +++ b/lib/auth0/types/action_module_dependency.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ActionModuleDependency < Internal::Types::Model + field :name, -> { String }, optional: true, nullable: false + + field :version, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/action_module_dependency_request.rb b/lib/auth0/types/action_module_dependency_request.rb new file mode 100644 index 000000000..0a30dae7b --- /dev/null +++ b/lib/auth0/types/action_module_dependency_request.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ActionModuleDependencyRequest < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :version, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/action_module_list_item.rb b/lib/auth0/types/action_module_list_item.rb new file mode 100644 index 000000000..62c00e064 --- /dev/null +++ b/lib/auth0/types/action_module_list_item.rb @@ -0,0 +1,27 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ActionModuleListItem < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :code, -> { String }, optional: true, nullable: false + + field :dependencies, -> { Internal::Types::Array[Auth0::Types::ActionModuleDependency] }, optional: true, nullable: false + + field :secrets, -> { Internal::Types::Array[Auth0::Types::ActionModuleSecret] }, optional: true, nullable: false + + field :actions_using_module_total, -> { Integer }, optional: true, nullable: false + + field :all_changes_published, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :latest_version_number, -> { Integer }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :updated_at, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/action_module_reference.rb b/lib/auth0/types/action_module_reference.rb new file mode 100644 index 000000000..dd692fe9f --- /dev/null +++ b/lib/auth0/types/action_module_reference.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Reference to a module and its version used by an action. + class ActionModuleReference < Internal::Types::Model + field :module_id, -> { String }, optional: true, nullable: false + + field :module_name, -> { String }, optional: true, nullable: false + + field :module_version_id, -> { String }, optional: true, nullable: false + + field :module_version_number, -> { Integer }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/action_module_secret.rb b/lib/auth0/types/action_module_secret.rb new file mode 100644 index 000000000..846c69a23 --- /dev/null +++ b/lib/auth0/types/action_module_secret.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ActionModuleSecret < Internal::Types::Model + field :name, -> { String }, optional: true, nullable: false + + field :updated_at, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/action_module_secret_request.rb b/lib/auth0/types/action_module_secret_request.rb new file mode 100644 index 000000000..bbf387e9c --- /dev/null +++ b/lib/auth0/types/action_module_secret_request.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ActionModuleSecretRequest < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :value, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/action_module_version.rb b/lib/auth0/types/action_module_version.rb new file mode 100644 index 000000000..6a8ceaed5 --- /dev/null +++ b/lib/auth0/types/action_module_version.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ActionModuleVersion < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :module_id, -> { String }, optional: true, nullable: false + + field :version_number, -> { Integer }, optional: true, nullable: false + + field :code, -> { String }, optional: true, nullable: false + + field :secrets, -> { Internal::Types::Array[Auth0::Types::ActionModuleSecret] }, optional: true, nullable: false + + field :dependencies, -> { Internal::Types::Array[Auth0::Types::ActionModuleDependency] }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/action_module_version_reference.rb b/lib/auth0/types/action_module_version_reference.rb new file mode 100644 index 000000000..e015b7f14 --- /dev/null +++ b/lib/auth0/types/action_module_version_reference.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The latest published version as a reference object. Omitted if no versions have been published. + class ActionModuleVersionReference < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :version_number, -> { Integer }, optional: true, nullable: false + + field :code, -> { String }, optional: true, nullable: false + + field :dependencies, -> { Internal::Types::Array[Auth0::Types::ActionModuleDependency] }, optional: true, nullable: false + + field :secrets, -> { Internal::Types::Array[Auth0::Types::ActionModuleSecret] }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/action_secret_request.rb b/lib/auth0/types/action_secret_request.rb new file mode 100644 index 000000000..446032952 --- /dev/null +++ b/lib/auth0/types/action_secret_request.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ActionSecretRequest < Internal::Types::Model + field :name, -> { String }, optional: true, nullable: false + + field :value, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/action_secret_response.rb b/lib/auth0/types/action_secret_response.rb new file mode 100644 index 000000000..94493e75e --- /dev/null +++ b/lib/auth0/types/action_secret_response.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ActionSecretResponse < Internal::Types::Model + field :name, -> { String }, optional: true, nullable: false + + field :updated_at, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/action_trigger.rb b/lib/auth0/types/action_trigger.rb new file mode 100644 index 000000000..7bd7cc218 --- /dev/null +++ b/lib/auth0/types/action_trigger.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ActionTrigger < Internal::Types::Model + field :id, -> { Auth0::Types::ActionTriggerTypeEnum }, optional: false, nullable: false + + field :version, -> { String }, optional: true, nullable: false + + field :status, -> { String }, optional: true, nullable: false + + field :runtimes, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :default_runtime, -> { String }, optional: true, nullable: false + + field :compatible_triggers, -> { Internal::Types::Array[Auth0::Types::ActionTriggerCompatibleTrigger] }, optional: true, nullable: false + + field :binding_policy, -> { Auth0::Types::ActionBindingTypeEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/action_trigger_compatible_trigger.rb b/lib/auth0/types/action_trigger_compatible_trigger.rb new file mode 100644 index 000000000..63df67096 --- /dev/null +++ b/lib/auth0/types/action_trigger_compatible_trigger.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ActionTriggerCompatibleTrigger < Internal::Types::Model + field :id, -> { Auth0::Types::ActionTriggerTypeEnum }, optional: false, nullable: false + + field :version, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/action_trigger_type_enum.rb b/lib/auth0/types/action_trigger_type_enum.rb new file mode 100644 index 000000000..f2bafe1ac --- /dev/null +++ b/lib/auth0/types/action_trigger_type_enum.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ActionTriggerTypeEnum + extend Auth0::Internal::Types::Enum + + POST_LOGIN = "post-login" + CREDENTIALS_EXCHANGE = "credentials-exchange" + PRE_USER_REGISTRATION = "pre-user-registration" + POST_USER_REGISTRATION = "post-user-registration" + POST_CHANGE_PASSWORD = "post-change-password" + SEND_PHONE_MESSAGE = "send-phone-message" + CUSTOM_PHONE_PROVIDER = "custom-phone-provider" + CUSTOM_EMAIL_PROVIDER = "custom-email-provider" + PASSWORD_RESET_POST_CHALLENGE = "password-reset-post-challenge" + CUSTOM_TOKEN_EXCHANGE = "custom-token-exchange" + EVENT_STREAM = "event-stream" + PASSWORD_HASH_MIGRATION = "password-hash-migration" + LOGIN_POST_IDENTIFIER = "login-post-identifier" + SIGNUP_POST_IDENTIFIER = "signup-post-identifier" + end + end +end diff --git a/lib/auth0/types/action_version.rb b/lib/auth0/types/action_version.rb new file mode 100644 index 000000000..f3370f192 --- /dev/null +++ b/lib/auth0/types/action_version.rb @@ -0,0 +1,39 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ActionVersion < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :action_id, -> { String }, optional: true, nullable: false + + field :code, -> { String }, optional: true, nullable: false + + field :dependencies, -> { Internal::Types::Array[Auth0::Types::ActionVersionDependency] }, optional: true, nullable: false + + field :deployed, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :runtime, -> { String }, optional: true, nullable: false + + field :secrets, -> { Internal::Types::Array[Auth0::Types::ActionSecretResponse] }, optional: true, nullable: false + + field :status, -> { Auth0::Types::ActionVersionBuildStatusEnum }, optional: true, nullable: false + + field :number, -> { Integer }, optional: true, nullable: false + + field :errors, -> { Internal::Types::Array[Auth0::Types::ActionError] }, optional: true, nullable: false + + field :action, -> { Auth0::Types::ActionBase }, optional: true, nullable: false + + field :built_at, -> { String }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :updated_at, -> { String }, optional: true, nullable: false + + field :supported_triggers, -> { Internal::Types::Array[Auth0::Types::ActionTrigger] }, optional: true, nullable: false + + field :modules, -> { Internal::Types::Array[Auth0::Types::ActionModuleReference] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/action_version_build_status_enum.rb b/lib/auth0/types/action_version_build_status_enum.rb new file mode 100644 index 000000000..f31c914fe --- /dev/null +++ b/lib/auth0/types/action_version_build_status_enum.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ActionVersionBuildStatusEnum + extend Auth0::Internal::Types::Enum + + PENDING = "pending" + BUILDING = "building" + PACKAGED = "packaged" + BUILT = "built" + RETRYING = "retrying" + FAILED = "failed" + end + end +end diff --git a/lib/auth0/types/action_version_dependency.rb b/lib/auth0/types/action_version_dependency.rb new file mode 100644 index 000000000..fb4017c37 --- /dev/null +++ b/lib/auth0/types/action_version_dependency.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Dependency is an npm module. These values are used to produce an immutable artifact, which manifests as a + # layer_id. + class ActionVersionDependency < Internal::Types::Model + field :name, -> { String }, optional: true, nullable: false + + field :version, -> { String }, optional: true, nullable: false + + field :registry_url, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/acul_client_filter.rb b/lib/auth0/types/acul_client_filter.rb new file mode 100644 index 000000000..d4413b914 --- /dev/null +++ b/lib/auth0/types/acul_client_filter.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Client array filter items + class AculClientFilter < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::AculClientFilterByID } + + member -> { Auth0::Types::AculClientFilterByMetadata } + end + end +end diff --git a/lib/auth0/types/acul_client_filter_by_id.rb b/lib/auth0/types/acul_client_filter_by_id.rb new file mode 100644 index 000000000..d237e43f6 --- /dev/null +++ b/lib/auth0/types/acul_client_filter_by_id.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class AculClientFilterByID < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/acul_client_filter_by_metadata.rb b/lib/auth0/types/acul_client_filter_by_metadata.rb new file mode 100644 index 000000000..caa8b2127 --- /dev/null +++ b/lib/auth0/types/acul_client_filter_by_metadata.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class AculClientFilterByMetadata < Internal::Types::Model + field :metadata, -> { Internal::Types::Hash[String, Object] }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/acul_client_metadata.rb b/lib/auth0/types/acul_client_metadata.rb new file mode 100644 index 000000000..e7f6c2f28 --- /dev/null +++ b/lib/auth0/types/acul_client_metadata.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module AculClientMetadata + # AculClientMetadata is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/acul_configs.rb b/lib/auth0/types/acul_configs.rb new file mode 100644 index 000000000..59fb0a015 --- /dev/null +++ b/lib/auth0/types/acul_configs.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module AculConfigs + # AculConfigs is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/acul_configs_item.rb b/lib/auth0/types/acul_configs_item.rb new file mode 100644 index 000000000..48cce396e --- /dev/null +++ b/lib/auth0/types/acul_configs_item.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class AculConfigsItem < Internal::Types::Model + field :prompt, -> { Auth0::Types::PromptGroupNameEnum }, optional: false, nullable: false + + field :screen, -> { Auth0::Types::ScreenGroupNameEnum }, optional: false, nullable: false + + field :rendering_mode, -> { Auth0::Types::AculRenderingModeEnum }, optional: true, nullable: false + + field :context_configuration, -> { Internal::Types::Array[Auth0::Types::AculContextConfigurationItem] }, optional: true, nullable: false + + field :default_head_tags_disabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :use_page_template, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :head_tags, -> { Internal::Types::Array[Auth0::Types::AculHeadTag] }, optional: true, nullable: false + + field :filters, -> { Auth0::Types::AculFilters }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/acul_context_configuration.rb b/lib/auth0/types/acul_context_configuration.rb new file mode 100644 index 000000000..2a36eeeb2 --- /dev/null +++ b/lib/auth0/types/acul_context_configuration.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module AculContextConfiguration + # AculContextConfiguration is an alias for Object + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/acul_context_configuration_item.rb b/lib/auth0/types/acul_context_configuration_item.rb new file mode 100644 index 000000000..53b325311 --- /dev/null +++ b/lib/auth0/types/acul_context_configuration_item.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class AculContextConfigurationItem < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::AculContextEnum } + + member -> { String } + end + end +end diff --git a/lib/auth0/types/acul_context_enum.rb b/lib/auth0/types/acul_context_enum.rb new file mode 100644 index 000000000..464318ac5 --- /dev/null +++ b/lib/auth0/types/acul_context_enum.rb @@ -0,0 +1,29 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module AculContextEnum + extend Auth0::Internal::Types::Enum + + BRANDING_SETTINGS = "branding.settings" + BRANDING_THEMES_DEFAULT = "branding.themes.default" + COUNTRY_CODES = "country_codes" + CLIENT_LOGO_URI = "client.logo_uri" + CLIENT_DESCRIPTION = "client.description" + ORGANIZATION_DISPLAY_NAME = "organization.display_name" + ORGANIZATION_BRANDING = "organization.branding" + SCREEN_TEXTS = "screen.texts" + TENANT_NAME = "tenant.name" + TENANT_FRIENDLY_NAME = "tenant.friendly_name" + TENANT_LOGO_URL = "tenant.logo_url" + TENANT_ENABLED_LOCALES = "tenant.enabled_locales" + UNTRUSTED_DATA_SUBMITTED_FORM_DATA = "untrusted_data.submitted_form_data" + UNTRUSTED_DATA_AUTHORIZATION_PARAMS_LOGIN_HINT = "untrusted_data.authorization_params.login_hint" + UNTRUSTED_DATA_AUTHORIZATION_PARAMS_SCREEN_HINT = "untrusted_data.authorization_params.screen_hint" + UNTRUSTED_DATA_AUTHORIZATION_PARAMS_UI_LOCALES = "untrusted_data.authorization_params.ui_locales" + USER_ORGANIZATIONS = "user.organizations" + TRANSACTION_CUSTOM_DOMAIN_DOMAIN = "transaction.custom_domain.domain" + EXPERIMENT = "experiment" + end + end +end diff --git a/lib/auth0/types/acul_domain_filter.rb b/lib/auth0/types/acul_domain_filter.rb new file mode 100644 index 000000000..c05addd94 --- /dev/null +++ b/lib/auth0/types/acul_domain_filter.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Domains array filter items + class AculDomainFilter < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::AculDomainFilterByID } + + member -> { Auth0::Types::AculDomainFilterByMetadata } + end + end +end diff --git a/lib/auth0/types/acul_domain_filter_by_id.rb b/lib/auth0/types/acul_domain_filter_by_id.rb new file mode 100644 index 000000000..11eb2cba9 --- /dev/null +++ b/lib/auth0/types/acul_domain_filter_by_id.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class AculDomainFilterByID < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/acul_domain_filter_by_metadata.rb b/lib/auth0/types/acul_domain_filter_by_metadata.rb new file mode 100644 index 000000000..d14b1b31b --- /dev/null +++ b/lib/auth0/types/acul_domain_filter_by_metadata.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class AculDomainFilterByMetadata < Internal::Types::Model + field :metadata, -> { Internal::Types::Hash[String, Object] }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/acul_domain_metadata.rb b/lib/auth0/types/acul_domain_metadata.rb new file mode 100644 index 000000000..358cbd03d --- /dev/null +++ b/lib/auth0/types/acul_domain_metadata.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module AculDomainMetadata + # AculDomainMetadata is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/acul_filters.rb b/lib/auth0/types/acul_filters.rb new file mode 100644 index 000000000..a7fa365d6 --- /dev/null +++ b/lib/auth0/types/acul_filters.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Optional filters to apply rendering rules to specific entities + class AculFilters < Internal::Types::Model + field :match_type, -> { Auth0::Types::AculMatchTypeEnum }, optional: true, nullable: false + + field :clients, -> { Internal::Types::Array[Auth0::Types::AculClientFilter] }, optional: true, nullable: false + + field :organizations, -> { Internal::Types::Array[Auth0::Types::AculOrganizationFilter] }, optional: true, nullable: false + + field :domains, -> { Internal::Types::Array[Auth0::Types::AculDomainFilter] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/acul_head_tag.rb b/lib/auth0/types/acul_head_tag.rb new file mode 100644 index 000000000..b9d3f7c8f --- /dev/null +++ b/lib/auth0/types/acul_head_tag.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class AculHeadTag < Internal::Types::Model + field :tag, -> { String }, optional: true, nullable: false + + field :attributes, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :content, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/acul_head_tag_attributes.rb b/lib/auth0/types/acul_head_tag_attributes.rb new file mode 100644 index 000000000..dd1b54883 --- /dev/null +++ b/lib/auth0/types/acul_head_tag_attributes.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module AculHeadTagAttributes + # AculHeadTagAttributes is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/acul_head_tag_content.rb b/lib/auth0/types/acul_head_tag_content.rb new file mode 100644 index 000000000..a090a6fb0 --- /dev/null +++ b/lib/auth0/types/acul_head_tag_content.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module AculHeadTagContent + # AculHeadTagContent is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/acul_match_type_enum.rb b/lib/auth0/types/acul_match_type_enum.rb new file mode 100644 index 000000000..bf27afb53 --- /dev/null +++ b/lib/auth0/types/acul_match_type_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module AculMatchTypeEnum + extend Auth0::Internal::Types::Enum + + INCLUDES_ANY = "includes_any" + EXCLUDES_ANY = "excludes_any" + end + end +end diff --git a/lib/auth0/types/acul_organization_filter.rb b/lib/auth0/types/acul_organization_filter.rb new file mode 100644 index 000000000..0a165ce89 --- /dev/null +++ b/lib/auth0/types/acul_organization_filter.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Organizations array filter items + class AculOrganizationFilter < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::AculOrganizationFilterByID } + + member -> { Auth0::Types::AculOrganizationFilterByMetadata } + end + end +end diff --git a/lib/auth0/types/acul_organization_filter_by_id.rb b/lib/auth0/types/acul_organization_filter_by_id.rb new file mode 100644 index 000000000..109f160f0 --- /dev/null +++ b/lib/auth0/types/acul_organization_filter_by_id.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class AculOrganizationFilterByID < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/acul_organization_filter_by_metadata.rb b/lib/auth0/types/acul_organization_filter_by_metadata.rb new file mode 100644 index 000000000..eda003301 --- /dev/null +++ b/lib/auth0/types/acul_organization_filter_by_metadata.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class AculOrganizationFilterByMetadata < Internal::Types::Model + field :metadata, -> { Internal::Types::Hash[String, Object] }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/acul_organization_metadata.rb b/lib/auth0/types/acul_organization_metadata.rb new file mode 100644 index 000000000..72dae6e5f --- /dev/null +++ b/lib/auth0/types/acul_organization_metadata.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module AculOrganizationMetadata + # AculOrganizationMetadata is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/acul_rendering_mode_enum.rb b/lib/auth0/types/acul_rendering_mode_enum.rb new file mode 100644 index 000000000..be446eb74 --- /dev/null +++ b/lib/auth0/types/acul_rendering_mode_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module AculRenderingModeEnum + extend Auth0::Internal::Types::Enum + + ADVANCED = "advanced" + STANDARD = "standard" + end + end +end diff --git a/lib/auth0/types/add_organization_connection_response_content.rb b/lib/auth0/types/add_organization_connection_response_content.rb new file mode 100644 index 000000000..819baedb6 --- /dev/null +++ b/lib/auth0/types/add_organization_connection_response_content.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class AddOrganizationConnectionResponseContent < Internal::Types::Model + field :connection_id, -> { String }, optional: true, nullable: false + + field :assign_membership_on_login, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :is_signup_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :connection, -> { Auth0::Types::OrganizationConnectionInformation }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/agent_metadata.rb b/lib/auth0/types/agent_metadata.rb new file mode 100644 index 000000000..49acf8060 --- /dev/null +++ b/lib/auth0/types/agent_metadata.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module AgentMetadata + # AgentMetadata is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/agent_response_content.rb b/lib/auth0/types/agent_response_content.rb new file mode 100644 index 000000000..bf90bfd19 --- /dev/null +++ b/lib/auth0/types/agent_response_content.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class AgentResponseContent < Internal::Types::Model + field :agent_id, -> { String }, optional: false, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :created_at, -> { String }, optional: false, nullable: false + + field :updated_at, -> { String }, optional: false, nullable: false + + field :external_agent_id, -> { String }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, Object] }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/anomaly_ip_format.rb b/lib/auth0/types/anomaly_ip_format.rb new file mode 100644 index 000000000..56e55c30b --- /dev/null +++ b/lib/auth0/types/anomaly_ip_format.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module AnomalyIPFormat + # AnomalyIPFormat is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/app_metadata.rb b/lib/auth0/types/app_metadata.rb new file mode 100644 index 000000000..2be4752c0 --- /dev/null +++ b/lib/auth0/types/app_metadata.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module AppMetadata + # AppMetadata is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/assessors_type_enum.rb b/lib/auth0/types/assessors_type_enum.rb new file mode 100644 index 000000000..75da759c5 --- /dev/null +++ b/lib/auth0/types/assessors_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module AssessorsTypeEnum + extend Auth0::Internal::Types::Enum + + NEW_DEVICE = "new-device" + end + end +end diff --git a/lib/auth0/types/associate_organization_client_grant_response_content.rb b/lib/auth0/types/associate_organization_client_grant_response_content.rb new file mode 100644 index 000000000..cbd844e34 --- /dev/null +++ b/lib/auth0/types/associate_organization_client_grant_response_content.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class AssociateOrganizationClientGrantResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :client_id, -> { String }, optional: true, nullable: false + + field :audience, -> { String }, optional: true, nullable: false + + field :scope, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :organization_usage, -> { Auth0::Types::OrganizationUsageEnum }, optional: true, nullable: false + + field :allow_any_organization, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/async_approval_notifications_channels_enum.rb b/lib/auth0/types/async_approval_notifications_channels_enum.rb new file mode 100644 index 000000000..e6a70a932 --- /dev/null +++ b/lib/auth0/types/async_approval_notifications_channels_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module AsyncApprovalNotificationsChannelsEnum + extend Auth0::Internal::Types::Enum + + GUARDIAN_PUSH = "guardian-push" + EMAIL = "email" + end + end +end diff --git a/lib/auth0/types/attack_protection_captcha_arkose_response_content.rb b/lib/auth0/types/attack_protection_captcha_arkose_response_content.rb new file mode 100644 index 000000000..324ad2462 --- /dev/null +++ b/lib/auth0/types/attack_protection_captcha_arkose_response_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class AttackProtectionCaptchaArkoseResponseContent < Internal::Types::Model + field :site_key, -> { String }, optional: true, nullable: false + + field :fail_open, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :client_subdomain, -> { String }, optional: true, nullable: false + + field :verify_subdomain, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/attack_protection_captcha_auth_challenge_request.rb b/lib/auth0/types/attack_protection_captcha_auth_challenge_request.rb new file mode 100644 index 000000000..85c8a9044 --- /dev/null +++ b/lib/auth0/types/attack_protection_captcha_auth_challenge_request.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class AttackProtectionCaptchaAuthChallengeRequest < Internal::Types::Model + field :fail_open, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/attack_protection_captcha_auth_challenge_response_content.rb b/lib/auth0/types/attack_protection_captcha_auth_challenge_response_content.rb new file mode 100644 index 000000000..52eee9cac --- /dev/null +++ b/lib/auth0/types/attack_protection_captcha_auth_challenge_response_content.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class AttackProtectionCaptchaAuthChallengeResponseContent < Internal::Types::Model + field :fail_open, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/attack_protection_captcha_friendly_captcha_response_content.rb b/lib/auth0/types/attack_protection_captcha_friendly_captcha_response_content.rb new file mode 100644 index 000000000..0dddb0e2d --- /dev/null +++ b/lib/auth0/types/attack_protection_captcha_friendly_captcha_response_content.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class AttackProtectionCaptchaFriendlyCaptchaResponseContent < Internal::Types::Model + field :site_key, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/attack_protection_captcha_hcaptcha_response_content.rb b/lib/auth0/types/attack_protection_captcha_hcaptcha_response_content.rb new file mode 100644 index 000000000..68def7790 --- /dev/null +++ b/lib/auth0/types/attack_protection_captcha_hcaptcha_response_content.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class AttackProtectionCaptchaHcaptchaResponseContent < Internal::Types::Model + field :site_key, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/attack_protection_captcha_provider_id.rb b/lib/auth0/types/attack_protection_captcha_provider_id.rb new file mode 100644 index 000000000..83ab187f0 --- /dev/null +++ b/lib/auth0/types/attack_protection_captcha_provider_id.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module AttackProtectionCaptchaProviderID + extend Auth0::Internal::Types::Enum + + ARKOSE = "arkose" + AUTH_CHALLENGE = "auth_challenge" + FRIENDLY_CAPTCHA = "friendly_captcha" + HCAPTCHA = "hcaptcha" + RECAPTCHA_V2 = "recaptcha_v2" + RECAPTCHA_ENTERPRISE = "recaptcha_enterprise" + SIMPLE_CAPTCHA = "simple_captcha" + end + end +end diff --git a/lib/auth0/types/attack_protection_captcha_recaptcha_enterprise_response_content.rb b/lib/auth0/types/attack_protection_captcha_recaptcha_enterprise_response_content.rb new file mode 100644 index 000000000..e9bf77ed5 --- /dev/null +++ b/lib/auth0/types/attack_protection_captcha_recaptcha_enterprise_response_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class AttackProtectionCaptchaRecaptchaEnterpriseResponseContent < Internal::Types::Model + field :site_key, -> { String }, optional: true, nullable: false + + field :project_id, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/attack_protection_captcha_recaptcha_v2response_content.rb b/lib/auth0/types/attack_protection_captcha_recaptcha_v2response_content.rb new file mode 100644 index 000000000..8f8202149 --- /dev/null +++ b/lib/auth0/types/attack_protection_captcha_recaptcha_v2response_content.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class AttackProtectionCaptchaRecaptchaV2ResponseContent < Internal::Types::Model + field :site_key, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/attack_protection_captcha_simple_captcha_response_content.rb b/lib/auth0/types/attack_protection_captcha_simple_captcha_response_content.rb new file mode 100644 index 000000000..42dbbe1aa --- /dev/null +++ b/lib/auth0/types/attack_protection_captcha_simple_captcha_response_content.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module AttackProtectionCaptchaSimpleCaptchaResponseContent + # AttackProtectionCaptchaSimpleCaptchaResponseContent is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/attack_protection_update_captcha_arkose.rb b/lib/auth0/types/attack_protection_update_captcha_arkose.rb new file mode 100644 index 000000000..403378672 --- /dev/null +++ b/lib/auth0/types/attack_protection_update_captcha_arkose.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class AttackProtectionUpdateCaptchaArkose < Internal::Types::Model + field :site_key, -> { String }, optional: false, nullable: false + + field :secret, -> { String }, optional: false, nullable: false + + field :client_subdomain, -> { String }, optional: true, nullable: false + + field :verify_subdomain, -> { String }, optional: true, nullable: false + + field :fail_open, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/attack_protection_update_captcha_friendly_captcha.rb b/lib/auth0/types/attack_protection_update_captcha_friendly_captcha.rb new file mode 100644 index 000000000..c25b862bb --- /dev/null +++ b/lib/auth0/types/attack_protection_update_captcha_friendly_captcha.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class AttackProtectionUpdateCaptchaFriendlyCaptcha < Internal::Types::Model + field :site_key, -> { String }, optional: false, nullable: false + + field :secret, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/attack_protection_update_captcha_hcaptcha.rb b/lib/auth0/types/attack_protection_update_captcha_hcaptcha.rb new file mode 100644 index 000000000..62a0a022d --- /dev/null +++ b/lib/auth0/types/attack_protection_update_captcha_hcaptcha.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class AttackProtectionUpdateCaptchaHcaptcha < Internal::Types::Model + field :site_key, -> { String }, optional: false, nullable: false + + field :secret, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/attack_protection_update_captcha_recaptcha_enterprise.rb b/lib/auth0/types/attack_protection_update_captcha_recaptcha_enterprise.rb new file mode 100644 index 000000000..7fca80bc5 --- /dev/null +++ b/lib/auth0/types/attack_protection_update_captcha_recaptcha_enterprise.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class AttackProtectionUpdateCaptchaRecaptchaEnterprise < Internal::Types::Model + field :site_key, -> { String }, optional: false, nullable: false + + field :api_key, -> { String }, optional: false, nullable: false + + field :project_id, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/attack_protection_update_captcha_recaptcha_v2.rb b/lib/auth0/types/attack_protection_update_captcha_recaptcha_v2.rb new file mode 100644 index 000000000..eb1e782fa --- /dev/null +++ b/lib/auth0/types/attack_protection_update_captcha_recaptcha_v2.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class AttackProtectionUpdateCaptchaRecaptchaV2 < Internal::Types::Model + field :site_key, -> { String }, optional: false, nullable: false + + field :secret, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/authentication_method_type_enum.rb b/lib/auth0/types/authentication_method_type_enum.rb new file mode 100644 index 000000000..e027a59bf --- /dev/null +++ b/lib/auth0/types/authentication_method_type_enum.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module AuthenticationMethodTypeEnum + extend Auth0::Internal::Types::Enum + + RECOVERY_CODE = "recovery-code" + TOTP = "totp" + PUSH = "push" + PHONE = "phone" + EMAIL = "email" + EMAIL_VERIFICATION = "email-verification" + WEBAUTHN_ROAMING = "webauthn-roaming" + WEBAUTHN_PLATFORM = "webauthn-platform" + GUARDIAN = "guardian" + PASSKEY = "passkey" + PASSWORD = "password" + end + end +end diff --git a/lib/auth0/types/authentication_type_enum.rb b/lib/auth0/types/authentication_type_enum.rb new file mode 100644 index 000000000..e457eb29e --- /dev/null +++ b/lib/auth0/types/authentication_type_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module AuthenticationTypeEnum + extend Auth0::Internal::Types::Enum + + PHONE = "phone" + EMAIL = "email" + TOTP = "totp" + end + end +end diff --git a/lib/auth0/types/bad_request_schema.rb b/lib/auth0/types/bad_request_schema.rb new file mode 100644 index 000000000..abeec481c --- /dev/null +++ b/lib/auth0/types/bad_request_schema.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Bad Request + class BadRequestSchema < Internal::Types::Model + field :message, -> { String }, optional: false, nullable: false + + field :status_code, -> { String }, optional: false, nullable: false, api_name: "statusCode" + + field :error, -> { Auth0::Types::BadRequestSchemaError }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/bad_request_schema_error.rb b/lib/auth0/types/bad_request_schema_error.rb new file mode 100644 index 000000000..16faa0ebf --- /dev/null +++ b/lib/auth0/types/bad_request_schema_error.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module BadRequestSchemaError + extend Auth0::Internal::Types::Enum + + BAD_REQUEST = "Bad Request" + end + end +end diff --git a/lib/auth0/types/bot_detection_allowlist.rb b/lib/auth0/types/bot_detection_allowlist.rb new file mode 100644 index 000000000..6b8297fc2 --- /dev/null +++ b/lib/auth0/types/bot_detection_allowlist.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module BotDetectionAllowlist + # BotDetectionAllowlist is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/bot_detection_challenge_policy_password_flow_enum.rb b/lib/auth0/types/bot_detection_challenge_policy_password_flow_enum.rb new file mode 100644 index 000000000..b5e4dcb2c --- /dev/null +++ b/lib/auth0/types/bot_detection_challenge_policy_password_flow_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module BotDetectionChallengePolicyPasswordFlowEnum + extend Auth0::Internal::Types::Enum + + NEVER = "never" + WHEN_RISKY = "when_risky" + ALWAYS = "always" + end + end +end diff --git a/lib/auth0/types/bot_detection_challenge_policy_password_reset_flow_enum.rb b/lib/auth0/types/bot_detection_challenge_policy_password_reset_flow_enum.rb new file mode 100644 index 000000000..b04733d7a --- /dev/null +++ b/lib/auth0/types/bot_detection_challenge_policy_password_reset_flow_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module BotDetectionChallengePolicyPasswordResetFlowEnum + extend Auth0::Internal::Types::Enum + + NEVER = "never" + WHEN_RISKY = "when_risky" + ALWAYS = "always" + end + end +end diff --git a/lib/auth0/types/bot_detection_challenge_policy_passwordless_flow_enum.rb b/lib/auth0/types/bot_detection_challenge_policy_passwordless_flow_enum.rb new file mode 100644 index 000000000..95a29ce99 --- /dev/null +++ b/lib/auth0/types/bot_detection_challenge_policy_passwordless_flow_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module BotDetectionChallengePolicyPasswordlessFlowEnum + extend Auth0::Internal::Types::Enum + + NEVER = "never" + WHEN_RISKY = "when_risky" + ALWAYS = "always" + end + end +end diff --git a/lib/auth0/types/bot_detection_cidr_block.rb b/lib/auth0/types/bot_detection_cidr_block.rb new file mode 100644 index 000000000..e3debd440 --- /dev/null +++ b/lib/auth0/types/bot_detection_cidr_block.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module BotDetectionCidrBlock + # BotDetectionCidrBlock is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/bot_detection_i_pv4.rb b/lib/auth0/types/bot_detection_i_pv4.rb new file mode 100644 index 000000000..19e88137f --- /dev/null +++ b/lib/auth0/types/bot_detection_i_pv4.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module BotDetectionIPv4 + # BotDetectionIPv4 is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/bot_detection_i_pv6.rb b/lib/auth0/types/bot_detection_i_pv6.rb new file mode 100644 index 000000000..7360905a3 --- /dev/null +++ b/lib/auth0/types/bot_detection_i_pv6.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module BotDetectionIPv6 + # BotDetectionIPv6 is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/bot_detection_i_pv6cidr_block.rb b/lib/auth0/types/bot_detection_i_pv6cidr_block.rb new file mode 100644 index 000000000..412e61284 --- /dev/null +++ b/lib/auth0/types/bot_detection_i_pv6cidr_block.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module BotDetectionIPv6CidrBlock + # BotDetectionIPv6CidrBlock is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/bot_detection_ip_address_or_cidr_block.rb b/lib/auth0/types/bot_detection_ip_address_or_cidr_block.rb new file mode 100644 index 000000000..d4ddf935b --- /dev/null +++ b/lib/auth0/types/bot_detection_ip_address_or_cidr_block.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module BotDetectionIPAddressOrCidrBlock + # BotDetectionIPAddressOrCidrBlock is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/bot_detection_level_enum.rb b/lib/auth0/types/bot_detection_level_enum.rb new file mode 100644 index 000000000..8e4da2792 --- /dev/null +++ b/lib/auth0/types/bot_detection_level_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module BotDetectionLevelEnum + extend Auth0::Internal::Types::Enum + + LOW = "low" + MEDIUM = "medium" + HIGH = "high" + end + end +end diff --git a/lib/auth0/types/bot_detection_monitoring_mode_enabled.rb b/lib/auth0/types/bot_detection_monitoring_mode_enabled.rb new file mode 100644 index 000000000..566af7fe4 --- /dev/null +++ b/lib/auth0/types/bot_detection_monitoring_mode_enabled.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module BotDetectionMonitoringModeEnabled + # BotDetectionMonitoringModeEnabled is an alias for Boolean + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/branding_colors.rb b/lib/auth0/types/branding_colors.rb new file mode 100644 index 000000000..8e140bcfd --- /dev/null +++ b/lib/auth0/types/branding_colors.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Custom color settings. + class BrandingColors < Internal::Types::Model + field :primary, -> { String }, optional: true, nullable: false + + field :page_background, -> { Auth0::Types::BrandingPageBackground }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/branding_font.rb b/lib/auth0/types/branding_font.rb new file mode 100644 index 000000000..eca44c76d --- /dev/null +++ b/lib/auth0/types/branding_font.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Custom font settings. + class BrandingFont < Internal::Types::Model + field :url, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/branding_page_background.rb b/lib/auth0/types/branding_page_background.rb new file mode 100644 index 000000000..d2bedc88a --- /dev/null +++ b/lib/auth0/types/branding_page_background.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Page Background Color or Gradient. + # Property contains either `null` to unset, a solid color as a string value `#FFFFFF`, or a gradient as an object. + # + # ```js + # { + # type: 'linear-gradient', + # start: '#FFFFFF', + # end: '#000000', + # angle_deg: 35 + # } + # ``` + class BrandingPageBackground < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { String } + + member -> { Internal::Types::Hash[String, Object] } + end + end +end diff --git a/lib/auth0/types/branding_theme_borders.rb b/lib/auth0/types/branding_theme_borders.rb new file mode 100644 index 000000000..e0b3ffb1c --- /dev/null +++ b/lib/auth0/types/branding_theme_borders.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class BrandingThemeBorders < Internal::Types::Model + field :button_border_radius, -> { Integer }, optional: false, nullable: false + + field :button_border_weight, -> { Integer }, optional: false, nullable: false + + field :buttons_style, -> { Auth0::Types::BrandingThemeBordersButtonsStyleEnum }, optional: false, nullable: false + + field :input_border_radius, -> { Integer }, optional: false, nullable: false + + field :input_border_weight, -> { Integer }, optional: false, nullable: false + + field :inputs_style, -> { Auth0::Types::BrandingThemeBordersInputsStyleEnum }, optional: false, nullable: false + + field :show_widget_shadow, -> { Internal::Types::Boolean }, optional: false, nullable: false + + field :widget_border_weight, -> { Integer }, optional: false, nullable: false + + field :widget_corner_radius, -> { Integer }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/branding_theme_borders_buttons_style_enum.rb b/lib/auth0/types/branding_theme_borders_buttons_style_enum.rb new file mode 100644 index 000000000..37122bfcd --- /dev/null +++ b/lib/auth0/types/branding_theme_borders_buttons_style_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module BrandingThemeBordersButtonsStyleEnum + extend Auth0::Internal::Types::Enum + + PILL = "pill" + ROUNDED = "rounded" + SHARP = "sharp" + end + end +end diff --git a/lib/auth0/types/branding_theme_borders_inputs_style_enum.rb b/lib/auth0/types/branding_theme_borders_inputs_style_enum.rb new file mode 100644 index 000000000..d318bad9d --- /dev/null +++ b/lib/auth0/types/branding_theme_borders_inputs_style_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module BrandingThemeBordersInputsStyleEnum + extend Auth0::Internal::Types::Enum + + PILL = "pill" + ROUNDED = "rounded" + SHARP = "sharp" + end + end +end diff --git a/lib/auth0/types/branding_theme_colors.rb b/lib/auth0/types/branding_theme_colors.rb new file mode 100644 index 000000000..7e3bb7600 --- /dev/null +++ b/lib/auth0/types/branding_theme_colors.rb @@ -0,0 +1,47 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class BrandingThemeColors < Internal::Types::Model + field :base_focus_color, -> { String }, optional: true, nullable: false + + field :base_hover_color, -> { String }, optional: true, nullable: false + + field :body_text, -> { String }, optional: false, nullable: false + + field :captcha_widget_theme, -> { Auth0::Types::BrandingThemeColorsCaptchaWidgetThemeEnum }, optional: true, nullable: false + + field :error, -> { String }, optional: false, nullable: false + + field :header, -> { String }, optional: false, nullable: false + + field :icons, -> { String }, optional: false, nullable: false + + field :input_background, -> { String }, optional: false, nullable: false + + field :input_border, -> { String }, optional: false, nullable: false + + field :input_filled_text, -> { String }, optional: false, nullable: false + + field :input_labels_placeholders, -> { String }, optional: false, nullable: false + + field :links_focused_components, -> { String }, optional: false, nullable: false + + field :primary_button, -> { String }, optional: false, nullable: false + + field :primary_button_label, -> { String }, optional: false, nullable: false + + field :read_only_background, -> { String }, optional: true, nullable: false + + field :secondary_button_border, -> { String }, optional: false, nullable: false + + field :secondary_button_label, -> { String }, optional: false, nullable: false + + field :success, -> { String }, optional: false, nullable: false + + field :widget_background, -> { String }, optional: false, nullable: false + + field :widget_border, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/branding_theme_colors_captcha_widget_theme_enum.rb b/lib/auth0/types/branding_theme_colors_captcha_widget_theme_enum.rb new file mode 100644 index 000000000..03e902aa7 --- /dev/null +++ b/lib/auth0/types/branding_theme_colors_captcha_widget_theme_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module BrandingThemeColorsCaptchaWidgetThemeEnum + extend Auth0::Internal::Types::Enum + + AUTO = "auto" + DARK = "dark" + LIGHT = "light" + end + end +end diff --git a/lib/auth0/types/branding_theme_font_body_text.rb b/lib/auth0/types/branding_theme_font_body_text.rb new file mode 100644 index 000000000..a097bbe35 --- /dev/null +++ b/lib/auth0/types/branding_theme_font_body_text.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Body text + class BrandingThemeFontBodyText < Internal::Types::Model + field :bold, -> { Internal::Types::Boolean }, optional: false, nullable: false + + field :size, -> { Integer }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/branding_theme_font_buttons_text.rb b/lib/auth0/types/branding_theme_font_buttons_text.rb new file mode 100644 index 000000000..ddf3a429d --- /dev/null +++ b/lib/auth0/types/branding_theme_font_buttons_text.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Buttons text + class BrandingThemeFontButtonsText < Internal::Types::Model + field :bold, -> { Internal::Types::Boolean }, optional: false, nullable: false + + field :size, -> { Integer }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/branding_theme_font_input_labels.rb b/lib/auth0/types/branding_theme_font_input_labels.rb new file mode 100644 index 000000000..f758dc213 --- /dev/null +++ b/lib/auth0/types/branding_theme_font_input_labels.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Input Labels + class BrandingThemeFontInputLabels < Internal::Types::Model + field :bold, -> { Internal::Types::Boolean }, optional: false, nullable: false + + field :size, -> { Integer }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/branding_theme_font_links.rb b/lib/auth0/types/branding_theme_font_links.rb new file mode 100644 index 000000000..d1390282c --- /dev/null +++ b/lib/auth0/types/branding_theme_font_links.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Links + class BrandingThemeFontLinks < Internal::Types::Model + field :bold, -> { Internal::Types::Boolean }, optional: false, nullable: false + + field :size, -> { Integer }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/branding_theme_font_links_style_enum.rb b/lib/auth0/types/branding_theme_font_links_style_enum.rb new file mode 100644 index 000000000..57d8f22c5 --- /dev/null +++ b/lib/auth0/types/branding_theme_font_links_style_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module BrandingThemeFontLinksStyleEnum + extend Auth0::Internal::Types::Enum + + NORMAL = "normal" + UNDERLINED = "underlined" + end + end +end diff --git a/lib/auth0/types/branding_theme_font_subtitle.rb b/lib/auth0/types/branding_theme_font_subtitle.rb new file mode 100644 index 000000000..24bad3e17 --- /dev/null +++ b/lib/auth0/types/branding_theme_font_subtitle.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Subtitle + class BrandingThemeFontSubtitle < Internal::Types::Model + field :bold, -> { Internal::Types::Boolean }, optional: false, nullable: false + + field :size, -> { Integer }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/branding_theme_font_title.rb b/lib/auth0/types/branding_theme_font_title.rb new file mode 100644 index 000000000..9984ba93b --- /dev/null +++ b/lib/auth0/types/branding_theme_font_title.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Title + class BrandingThemeFontTitle < Internal::Types::Model + field :bold, -> { Internal::Types::Boolean }, optional: false, nullable: false + + field :size, -> { Integer }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/branding_theme_fonts.rb b/lib/auth0/types/branding_theme_fonts.rb new file mode 100644 index 000000000..d05bf4487 --- /dev/null +++ b/lib/auth0/types/branding_theme_fonts.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class BrandingThemeFonts < Internal::Types::Model + field :body_text, -> { Auth0::Types::BrandingThemeFontBodyText }, optional: false, nullable: false + + field :buttons_text, -> { Auth0::Types::BrandingThemeFontButtonsText }, optional: false, nullable: false + + field :font_url, -> { String }, optional: false, nullable: false + + field :input_labels, -> { Auth0::Types::BrandingThemeFontInputLabels }, optional: false, nullable: false + + field :links, -> { Auth0::Types::BrandingThemeFontLinks }, optional: false, nullable: false + + field :links_style, -> { Auth0::Types::BrandingThemeFontLinksStyleEnum }, optional: false, nullable: false + + field :reference_text_size, -> { Integer }, optional: false, nullable: false + + field :subtitle, -> { Auth0::Types::BrandingThemeFontSubtitle }, optional: false, nullable: false + + field :title, -> { Auth0::Types::BrandingThemeFontTitle }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/branding_theme_identifiers.rb b/lib/auth0/types/branding_theme_identifiers.rb new file mode 100644 index 000000000..57422c48b --- /dev/null +++ b/lib/auth0/types/branding_theme_identifiers.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class BrandingThemeIdentifiers < Internal::Types::Model + field :login_display, -> { Auth0::Types::BrandingThemeIdentifiersLoginDisplayEnum }, optional: false, nullable: false + + field :otp_autocomplete, -> { Internal::Types::Boolean }, optional: false, nullable: false + + field :phone_display, -> { Auth0::Types::BrandingThemeIdentifiersPhoneDisplay }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/branding_theme_identifiers_login_display_enum.rb b/lib/auth0/types/branding_theme_identifiers_login_display_enum.rb new file mode 100644 index 000000000..ad2f0b1ec --- /dev/null +++ b/lib/auth0/types/branding_theme_identifiers_login_display_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module BrandingThemeIdentifiersLoginDisplayEnum + extend Auth0::Internal::Types::Enum + + SEPARATE = "separate" + UNIFIED = "unified" + end + end +end diff --git a/lib/auth0/types/branding_theme_identifiers_phone_display.rb b/lib/auth0/types/branding_theme_identifiers_phone_display.rb new file mode 100644 index 000000000..6a9dfea03 --- /dev/null +++ b/lib/auth0/types/branding_theme_identifiers_phone_display.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Phone display + class BrandingThemeIdentifiersPhoneDisplay < Internal::Types::Model + field :formatting, -> { Auth0::Types::BrandingThemeIdentifiersPhoneDisplayFormattingEnum }, optional: false, nullable: false + + field :masking, -> { Auth0::Types::BrandingThemeIdentifiersPhoneDisplayMaskingEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/branding_theme_identifiers_phone_display_formatting_enum.rb b/lib/auth0/types/branding_theme_identifiers_phone_display_formatting_enum.rb new file mode 100644 index 000000000..e891ac5d9 --- /dev/null +++ b/lib/auth0/types/branding_theme_identifiers_phone_display_formatting_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module BrandingThemeIdentifiersPhoneDisplayFormattingEnum + extend Auth0::Internal::Types::Enum + + INTERNATIONAL = "international" + REGIONAL = "regional" + end + end +end diff --git a/lib/auth0/types/branding_theme_identifiers_phone_display_masking_enum.rb b/lib/auth0/types/branding_theme_identifiers_phone_display_masking_enum.rb new file mode 100644 index 000000000..c8e492975 --- /dev/null +++ b/lib/auth0/types/branding_theme_identifiers_phone_display_masking_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module BrandingThemeIdentifiersPhoneDisplayMaskingEnum + extend Auth0::Internal::Types::Enum + + HIDE_COUNTRY_CODE = "hide_country_code" + MASK_DIGITS = "mask_digits" + SHOW_ALL = "show_all" + end + end +end diff --git a/lib/auth0/types/branding_theme_page_background.rb b/lib/auth0/types/branding_theme_page_background.rb new file mode 100644 index 000000000..8347a5c8a --- /dev/null +++ b/lib/auth0/types/branding_theme_page_background.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class BrandingThemePageBackground < Internal::Types::Model + field :background_color, -> { String }, optional: false, nullable: false + + field :background_image_url, -> { String }, optional: false, nullable: false + + field :page_layout, -> { Auth0::Types::BrandingThemePageBackgroundPageLayoutEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/branding_theme_page_background_page_layout_enum.rb b/lib/auth0/types/branding_theme_page_background_page_layout_enum.rb new file mode 100644 index 000000000..a223f472a --- /dev/null +++ b/lib/auth0/types/branding_theme_page_background_page_layout_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module BrandingThemePageBackgroundPageLayoutEnum + extend Auth0::Internal::Types::Enum + + CENTER = "center" + LEFT = "left" + RIGHT = "right" + end + end +end diff --git a/lib/auth0/types/branding_theme_widget.rb b/lib/auth0/types/branding_theme_widget.rb new file mode 100644 index 000000000..9f9a5c304 --- /dev/null +++ b/lib/auth0/types/branding_theme_widget.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class BrandingThemeWidget < Internal::Types::Model + field :header_text_alignment, -> { Auth0::Types::BrandingThemeWidgetHeaderTextAlignmentEnum }, optional: false, nullable: false + + field :logo_height, -> { Integer }, optional: false, nullable: false + + field :logo_position, -> { Auth0::Types::BrandingThemeWidgetLogoPositionEnum }, optional: false, nullable: false + + field :logo_url, -> { String }, optional: false, nullable: false + + field :social_buttons_layout, -> { Auth0::Types::BrandingThemeWidgetSocialButtonsLayoutEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/branding_theme_widget_header_text_alignment_enum.rb b/lib/auth0/types/branding_theme_widget_header_text_alignment_enum.rb new file mode 100644 index 000000000..cee4332ba --- /dev/null +++ b/lib/auth0/types/branding_theme_widget_header_text_alignment_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module BrandingThemeWidgetHeaderTextAlignmentEnum + extend Auth0::Internal::Types::Enum + + CENTER = "center" + LEFT = "left" + RIGHT = "right" + end + end +end diff --git a/lib/auth0/types/branding_theme_widget_logo_position_enum.rb b/lib/auth0/types/branding_theme_widget_logo_position_enum.rb new file mode 100644 index 000000000..bed7b7f03 --- /dev/null +++ b/lib/auth0/types/branding_theme_widget_logo_position_enum.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module BrandingThemeWidgetLogoPositionEnum + extend Auth0::Internal::Types::Enum + + CENTER = "center" + LEFT = "left" + NONE = "none" + RIGHT = "right" + end + end +end diff --git a/lib/auth0/types/branding_theme_widget_social_buttons_layout_enum.rb b/lib/auth0/types/branding_theme_widget_social_buttons_layout_enum.rb new file mode 100644 index 000000000..d7b3a648f --- /dev/null +++ b/lib/auth0/types/branding_theme_widget_social_buttons_layout_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module BrandingThemeWidgetSocialButtonsLayoutEnum + extend Auth0::Internal::Types::Enum + + BOTTOM = "bottom" + TOP = "top" + end + end +end diff --git a/lib/auth0/types/breached_password_detection_admin_notification_frequency_enum.rb b/lib/auth0/types/breached_password_detection_admin_notification_frequency_enum.rb new file mode 100644 index 000000000..697ee3f80 --- /dev/null +++ b/lib/auth0/types/breached_password_detection_admin_notification_frequency_enum.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module BreachedPasswordDetectionAdminNotificationFrequencyEnum + extend Auth0::Internal::Types::Enum + + IMMEDIATELY = "immediately" + DAILY = "daily" + WEEKLY = "weekly" + MONTHLY = "monthly" + end + end +end diff --git a/lib/auth0/types/breached_password_detection_method_enum.rb b/lib/auth0/types/breached_password_detection_method_enum.rb new file mode 100644 index 000000000..7e022992e --- /dev/null +++ b/lib/auth0/types/breached_password_detection_method_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module BreachedPasswordDetectionMethodEnum + extend Auth0::Internal::Types::Enum + + STANDARD = "standard" + ENHANCED = "enhanced" + end + end +end diff --git a/lib/auth0/types/breached_password_detection_pre_change_password_shields_enum.rb b/lib/auth0/types/breached_password_detection_pre_change_password_shields_enum.rb new file mode 100644 index 000000000..484993bf0 --- /dev/null +++ b/lib/auth0/types/breached_password_detection_pre_change_password_shields_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module BreachedPasswordDetectionPreChangePasswordShieldsEnum + extend Auth0::Internal::Types::Enum + + BLOCK = "block" + ADMIN_NOTIFICATION = "admin_notification" + end + end +end diff --git a/lib/auth0/types/breached_password_detection_pre_change_password_stage.rb b/lib/auth0/types/breached_password_detection_pre_change_password_stage.rb new file mode 100644 index 000000000..dd2072915 --- /dev/null +++ b/lib/auth0/types/breached_password_detection_pre_change_password_stage.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class BreachedPasswordDetectionPreChangePasswordStage < Internal::Types::Model + field :shields, -> { Internal::Types::Array[Auth0::Types::BreachedPasswordDetectionPreChangePasswordShieldsEnum] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/breached_password_detection_pre_user_registration_shields_enum.rb b/lib/auth0/types/breached_password_detection_pre_user_registration_shields_enum.rb new file mode 100644 index 000000000..f46b39d26 --- /dev/null +++ b/lib/auth0/types/breached_password_detection_pre_user_registration_shields_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module BreachedPasswordDetectionPreUserRegistrationShieldsEnum + extend Auth0::Internal::Types::Enum + + BLOCK = "block" + ADMIN_NOTIFICATION = "admin_notification" + end + end +end diff --git a/lib/auth0/types/breached_password_detection_pre_user_registration_stage.rb b/lib/auth0/types/breached_password_detection_pre_user_registration_stage.rb new file mode 100644 index 000000000..3e84ad3b1 --- /dev/null +++ b/lib/auth0/types/breached_password_detection_pre_user_registration_stage.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class BreachedPasswordDetectionPreUserRegistrationStage < Internal::Types::Model + field :shields, -> { Internal::Types::Array[Auth0::Types::BreachedPasswordDetectionPreUserRegistrationShieldsEnum] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/breached_password_detection_shields_enum.rb b/lib/auth0/types/breached_password_detection_shields_enum.rb new file mode 100644 index 000000000..df1360fe8 --- /dev/null +++ b/lib/auth0/types/breached_password_detection_shields_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module BreachedPasswordDetectionShieldsEnum + extend Auth0::Internal::Types::Enum + + BLOCK = "block" + USER_NOTIFICATION = "user_notification" + ADMIN_NOTIFICATION = "admin_notification" + end + end +end diff --git a/lib/auth0/types/breached_password_detection_stage.rb b/lib/auth0/types/breached_password_detection_stage.rb new file mode 100644 index 000000000..8f4df2898 --- /dev/null +++ b/lib/auth0/types/breached_password_detection_stage.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class BreachedPasswordDetectionStage < Internal::Types::Model + field :pre_user_registration, -> { Auth0::Types::BreachedPasswordDetectionPreUserRegistrationStage }, optional: true, nullable: false, api_name: "pre-user-registration" + + field :pre_change_password, -> { Auth0::Types::BreachedPasswordDetectionPreChangePasswordStage }, optional: true, nullable: false, api_name: "pre-change-password" + end + end +end diff --git a/lib/auth0/types/brute_force_protection_mode_enum.rb b/lib/auth0/types/brute_force_protection_mode_enum.rb new file mode 100644 index 000000000..e755284fa --- /dev/null +++ b/lib/auth0/types/brute_force_protection_mode_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module BruteForceProtectionModeEnum + extend Auth0::Internal::Types::Enum + + COUNT_PER_IDENTIFIER_AND_IP = "count_per_identifier_and_ip" + COUNT_PER_IDENTIFIER = "count_per_identifier" + end + end +end diff --git a/lib/auth0/types/brute_force_protection_shields_enum.rb b/lib/auth0/types/brute_force_protection_shields_enum.rb new file mode 100644 index 000000000..86ac6af2a --- /dev/null +++ b/lib/auth0/types/brute_force_protection_shields_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module BruteForceProtectionShieldsEnum + extend Auth0::Internal::Types::Enum + + BLOCK = "block" + USER_NOTIFICATION = "user_notification" + end + end +end diff --git a/lib/auth0/types/bulk_update_acul_response_content.rb b/lib/auth0/types/bulk_update_acul_response_content.rb new file mode 100644 index 000000000..c7fb35423 --- /dev/null +++ b/lib/auth0/types/bulk_update_acul_response_content.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class BulkUpdateAculResponseContent < Internal::Types::Model + field :configs, -> { Internal::Types::Array[Auth0::Types::AculConfigsItem] }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/certificate_subject_dn_credential.rb b/lib/auth0/types/certificate_subject_dn_credential.rb new file mode 100644 index 000000000..4d6d1d691 --- /dev/null +++ b/lib/auth0/types/certificate_subject_dn_credential.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CertificateSubjectDnCredential < Internal::Types::Model + field :credential_type, -> { Auth0::Types::CertificateSubjectDnCredentialTypeEnum }, optional: false, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :subject_dn, -> { String }, optional: true, nullable: false + + field :pem, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/certificate_subject_dn_credential_type_enum.rb b/lib/auth0/types/certificate_subject_dn_credential_type_enum.rb new file mode 100644 index 000000000..54f87baed --- /dev/null +++ b/lib/auth0/types/certificate_subject_dn_credential_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CertificateSubjectDnCredentialTypeEnum + extend Auth0::Internal::Types::Enum + + CERT_SUBJECT_DN = "cert_subject_dn" + end + end +end diff --git a/lib/auth0/types/change_password_ticket_identity.rb b/lib/auth0/types/change_password_ticket_identity.rb new file mode 100644 index 000000000..75a18d84e --- /dev/null +++ b/lib/auth0/types/change_password_ticket_identity.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The user's identity. If you set this value, you must also send the user_id parameter. + class ChangePasswordTicketIdentity < Internal::Types::Model + field :user_id, -> { String }, optional: false, nullable: false + + field :provider, -> { Auth0::Types::IdentityProviderOnlyAuth0Enum }, optional: false, nullable: false + + field :connection_id, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/change_password_ticket_response_content.rb b/lib/auth0/types/change_password_ticket_response_content.rb new file mode 100644 index 000000000..1b0eb7937 --- /dev/null +++ b/lib/auth0/types/change_password_ticket_response_content.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ChangePasswordTicketResponseContent < Internal::Types::Model + field :ticket, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/cimd_mapped_client_authentication_methods.rb b/lib/auth0/types/cimd_mapped_client_authentication_methods.rb new file mode 100644 index 000000000..fa625dd8f --- /dev/null +++ b/lib/auth0/types/cimd_mapped_client_authentication_methods.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Client authentication methods derived from the JWKS document + class CimdMappedClientAuthenticationMethods < Internal::Types::Model + field :private_key_jwt, -> { Auth0::Types::CimdMappedClientAuthenticationMethodsPrivateKeyJwt }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/cimd_mapped_client_authentication_methods_private_key_jwt.rb b/lib/auth0/types/cimd_mapped_client_authentication_methods_private_key_jwt.rb new file mode 100644 index 000000000..7cf93cb50 --- /dev/null +++ b/lib/auth0/types/cimd_mapped_client_authentication_methods_private_key_jwt.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Private Key JWT authentication configuration + class CimdMappedClientAuthenticationMethodsPrivateKeyJwt < Internal::Types::Model + field :credentials, -> { Internal::Types::Array[Auth0::Types::CimdMappedPrivateKeyJwtCredential] }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/cimd_mapped_client_fields.rb b/lib/auth0/types/cimd_mapped_client_fields.rb new file mode 100644 index 000000000..944a58c5c --- /dev/null +++ b/lib/auth0/types/cimd_mapped_client_fields.rb @@ -0,0 +1,28 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Auth0 client fields mapped from the Client ID Metadata Document + class CimdMappedClientFields < Internal::Types::Model + field :external_client_id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :app_type, -> { String }, optional: true, nullable: false + + field :callbacks, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :logo_uri, -> { String }, optional: true, nullable: false + + field :description, -> { String }, optional: true, nullable: false + + field :grant_types, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :token_endpoint_auth_method, -> { String }, optional: true, nullable: false + + field :jwks_uri, -> { String }, optional: true, nullable: false + + field :client_authentication_methods, -> { Auth0::Types::CimdMappedClientAuthenticationMethods }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/cimd_mapped_private_key_jwt_credential.rb b/lib/auth0/types/cimd_mapped_private_key_jwt_credential.rb new file mode 100644 index 000000000..ee32902a3 --- /dev/null +++ b/lib/auth0/types/cimd_mapped_private_key_jwt_credential.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CimdMappedPrivateKeyJwtCredential < Internal::Types::Model + field :credential_type, -> { String }, optional: false, nullable: false + + field :kid, -> { String }, optional: false, nullable: false + + field :alg, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/cimd_validation_result.rb b/lib/auth0/types/cimd_validation_result.rb new file mode 100644 index 000000000..6929a21ef --- /dev/null +++ b/lib/auth0/types/cimd_validation_result.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Validation result for the Client ID Metadata Document + class CimdValidationResult < Internal::Types::Model + field :valid, -> { Internal::Types::Boolean }, optional: false, nullable: false + + field :violations, -> { Internal::Types::Array[String] }, optional: false, nullable: false + + field :warnings, -> { Internal::Types::Array[String] }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/client.rb b/lib/auth0/types/client.rb new file mode 100644 index 000000000..1c31142cd --- /dev/null +++ b/lib/auth0/types/client.rb @@ -0,0 +1,135 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class Client < Internal::Types::Model + field :client_id, -> { String }, optional: true, nullable: false + + field :tenant, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :description, -> { String }, optional: true, nullable: false + + field :global, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :client_secret, -> { String }, optional: true, nullable: false + + field :app_type, -> { Auth0::Types::ClientAppTypeEnum }, optional: true, nullable: false + + field :logo_uri, -> { String }, optional: true, nullable: false + + field :is_first_party, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :oidc_conformant, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :callbacks, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :allowed_origins, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :web_origins, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :client_aliases, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :allowed_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :allowed_logout_urls, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :session_transfer, -> { Auth0::Types::ClientSessionTransferConfiguration }, optional: true, nullable: false + + field :oidc_logout, -> { Auth0::Types::ClientOidcBackchannelLogoutSettings }, optional: true, nullable: false + + field :grant_types, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :jwt_configuration, -> { Auth0::Types::ClientJwtConfiguration }, optional: true, nullable: false + + field :signing_keys, -> { Internal::Types::Array[Auth0::Types::ClientSigningKey] }, optional: true, nullable: false + + field :encryption_key, -> { Auth0::Types::ClientEncryptionKey }, optional: true, nullable: false + + field :sso, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :sso_disabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :cross_origin_authentication, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :cross_origin_loc, -> { String }, optional: true, nullable: false + + field :custom_login_page_on, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :custom_login_page, -> { String }, optional: true, nullable: false + + field :custom_login_page_preview, -> { String }, optional: true, nullable: false + + field :form_template, -> { String }, optional: true, nullable: false + + field :addons, -> { Auth0::Types::ClientAddons }, optional: true, nullable: false + + field :token_endpoint_auth_method, -> { Auth0::Types::ClientTokenEndpointAuthMethodEnum }, optional: true, nullable: false + + field :is_token_endpoint_ip_header_trusted, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :client_metadata, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :mobile, -> { Auth0::Types::ClientMobile }, optional: true, nullable: false + + field :initiate_login_uri, -> { String }, optional: true, nullable: false + + field :native_social_login, -> { Auth0::Types::NativeSocialLogin }, optional: true, nullable: false + + field :fedcm_login, -> { Auth0::Types::FedCmLogin }, optional: true, nullable: false + + field :refresh_token, -> { Auth0::Types::ClientRefreshTokenConfiguration }, optional: true, nullable: false + + field :default_organization, -> { Auth0::Types::ClientDefaultOrganization }, optional: true, nullable: false + + field :organization_usage, -> { Auth0::Types::ClientOrganizationUsageEnum }, optional: true, nullable: false + + field :organization_require_behavior, -> { Auth0::Types::ClientOrganizationRequireBehaviorEnum }, optional: true, nullable: false + + field :organization_discovery_methods, -> { Internal::Types::Array[Auth0::Types::ClientOrganizationDiscoveryEnum] }, optional: true, nullable: false + + field :client_authentication_methods, -> { Auth0::Types::ClientAuthenticationMethod }, optional: true, nullable: false + + field :require_pushed_authorization_requests, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :require_proof_of_possession, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :signed_request_object, -> { Auth0::Types::ClientSignedRequestObjectWithCredentialID }, optional: true, nullable: false + + field :token_vault_privileged_access, -> { Auth0::Types::ClientTokenVaultPrivilegedAccessWithCredentialID }, optional: true, nullable: false + + field :compliance_level, -> { Auth0::Types::ClientComplianceLevelEnum }, optional: true, nullable: false + + field :skip_non_verifiable_callback_uri_confirmation_prompt, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :token_exchange, -> { Auth0::Types::ClientTokenExchangeConfiguration }, optional: true, nullable: false + + field :par_request_expiry, -> { Integer }, optional: true, nullable: false + + field :token_quota, -> { Auth0::Types::TokenQuota }, optional: true, nullable: false + + field :express_configuration, -> { Auth0::Types::ExpressConfiguration }, optional: true, nullable: false + + field :my_organization_configuration, -> { Auth0::Types::ClientMyOrganizationResponseConfiguration }, optional: true, nullable: false + + field :identity_assertion_authorization_grant, -> { Auth0::Types::IdentityAssertionAuthorizationGrant }, optional: true, nullable: false + + field :third_party_security_mode, -> { Auth0::Types::ClientThirdPartySecurityModeEnum }, optional: true, nullable: false + + field :redirection_policy, -> { Auth0::Types::ClientRedirectionPolicyEnum }, optional: true, nullable: false + + field :resource_server_identifier, -> { String }, optional: true, nullable: false + + field :async_approval_notification_channels, -> { Internal::Types::Array[Auth0::Types::AsyncApprovalNotificationsChannelsEnum] }, optional: true, nullable: false + + field :external_metadata_type, -> { Auth0::Types::ClientExternalMetadataTypeEnum }, optional: true, nullable: false + + field :external_metadata_created_by, -> { Auth0::Types::ClientExternalMetadataCreatedByEnum }, optional: true, nullable: false + + field :external_client_id, -> { String }, optional: true, nullable: false + + field :jwks_uri, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/client_addon_aws.rb b/lib/auth0/types/client_addon_aws.rb new file mode 100644 index 000000000..9556a6517 --- /dev/null +++ b/lib/auth0/types/client_addon_aws.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # AWS addon configuration. + class ClientAddonAws < Internal::Types::Model + field :principal, -> { String }, optional: true, nullable: false + + field :role, -> { String }, optional: true, nullable: false + + field :lifetime_in_seconds, -> { Integer }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/client_addon_azure_blob.rb b/lib/auth0/types/client_addon_azure_blob.rb new file mode 100644 index 000000000..19b63dff2 --- /dev/null +++ b/lib/auth0/types/client_addon_azure_blob.rb @@ -0,0 +1,34 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Azure Blob Storage addon configuration. + class ClientAddonAzureBlob < Internal::Types::Model + field :account_name, -> { String }, optional: true, nullable: false, api_name: "accountName" + + field :storage_access_key, -> { String }, optional: true, nullable: false, api_name: "storageAccessKey" + + field :container_name, -> { String }, optional: true, nullable: false, api_name: "containerName" + + field :blob_name, -> { String }, optional: true, nullable: false, api_name: "blobName" + + field :expiration, -> { Integer }, optional: true, nullable: false + + field :signed_identifier, -> { String }, optional: true, nullable: false, api_name: "signedIdentifier" + + field :blob_read, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :blob_write, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :blob_delete, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :container_read, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :container_write, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :container_delete, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :container_list, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/client_addon_azure_sb.rb b/lib/auth0/types/client_addon_azure_sb.rb new file mode 100644 index 000000000..a699e286a --- /dev/null +++ b/lib/auth0/types/client_addon_azure_sb.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Azure Storage Bus addon configuration. + class ClientAddonAzureSb < Internal::Types::Model + field :namespace, -> { String }, optional: true, nullable: false + + field :sas_key_name, -> { String }, optional: true, nullable: false, api_name: "sasKeyName" + + field :sas_key, -> { String }, optional: true, nullable: false, api_name: "sasKey" + + field :entity_path, -> { String }, optional: true, nullable: false, api_name: "entityPath" + + field :expiration, -> { Integer }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/client_addon_box.rb b/lib/auth0/types/client_addon_box.rb new file mode 100644 index 000000000..7cb1bfd7f --- /dev/null +++ b/lib/auth0/types/client_addon_box.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ClientAddonBox + # ClientAddonBox is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/client_addon_cloud_bees.rb b/lib/auth0/types/client_addon_cloud_bees.rb new file mode 100644 index 000000000..0de67f964 --- /dev/null +++ b/lib/auth0/types/client_addon_cloud_bees.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ClientAddonCloudBees + # ClientAddonCloudBees is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/client_addon_concur.rb b/lib/auth0/types/client_addon_concur.rb new file mode 100644 index 000000000..1baf186e1 --- /dev/null +++ b/lib/auth0/types/client_addon_concur.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ClientAddonConcur + # ClientAddonConcur is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/client_addon_dropbox.rb b/lib/auth0/types/client_addon_dropbox.rb new file mode 100644 index 000000000..dbb7ce23b --- /dev/null +++ b/lib/auth0/types/client_addon_dropbox.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ClientAddonDropbox + # ClientAddonDropbox is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/client_addon_echo_sign.rb b/lib/auth0/types/client_addon_echo_sign.rb new file mode 100644 index 000000000..de7da188a --- /dev/null +++ b/lib/auth0/types/client_addon_echo_sign.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Adobe EchoSign SSO configuration. + class ClientAddonEchoSign < Internal::Types::Model + field :domain, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/client_addon_egnyte.rb b/lib/auth0/types/client_addon_egnyte.rb new file mode 100644 index 000000000..cfa254e4a --- /dev/null +++ b/lib/auth0/types/client_addon_egnyte.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Egnyte SSO configuration. + class ClientAddonEgnyte < Internal::Types::Model + field :domain, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/client_addon_firebase.rb b/lib/auth0/types/client_addon_firebase.rb new file mode 100644 index 000000000..0ed6a0f3e --- /dev/null +++ b/lib/auth0/types/client_addon_firebase.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Google Firebase addon configuration. + class ClientAddonFirebase < Internal::Types::Model + field :secret, -> { String }, optional: true, nullable: false + + field :private_key_id, -> { String }, optional: true, nullable: false + + field :private_key, -> { String }, optional: true, nullable: false + + field :client_email, -> { String }, optional: true, nullable: false + + field :lifetime_in_seconds, -> { Integer }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/client_addon_layer.rb b/lib/auth0/types/client_addon_layer.rb new file mode 100644 index 000000000..3e19840b8 --- /dev/null +++ b/lib/auth0/types/client_addon_layer.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Layer addon configuration. + class ClientAddonLayer < Internal::Types::Model + field :provider_id, -> { String }, optional: false, nullable: false, api_name: "providerId" + + field :key_id, -> { String }, optional: false, nullable: false, api_name: "keyId" + + field :private_key, -> { String }, optional: false, nullable: false, api_name: "privateKey" + + field :principal, -> { String }, optional: true, nullable: false + + field :expiration, -> { Integer }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/client_addon_mscrm.rb b/lib/auth0/types/client_addon_mscrm.rb new file mode 100644 index 000000000..ef92bb934 --- /dev/null +++ b/lib/auth0/types/client_addon_mscrm.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Microsoft Dynamics CRM SSO configuration. + class ClientAddonMscrm < Internal::Types::Model + field :url, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/client_addon_new_relic.rb b/lib/auth0/types/client_addon_new_relic.rb new file mode 100644 index 000000000..7a9f0e200 --- /dev/null +++ b/lib/auth0/types/client_addon_new_relic.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # New Relic SSO configuration. + class ClientAddonNewRelic < Internal::Types::Model + field :account, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/client_addon_oag.rb b/lib/auth0/types/client_addon_oag.rb new file mode 100644 index 000000000..55055598a --- /dev/null +++ b/lib/auth0/types/client_addon_oag.rb @@ -0,0 +1,8 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Okta Access Gateway SSO configuration + class ClientAddonOag < Internal::Types::Model; end + end +end diff --git a/lib/auth0/types/client_addon_office365.rb b/lib/auth0/types/client_addon_office365.rb new file mode 100644 index 000000000..cabc5478e --- /dev/null +++ b/lib/auth0/types/client_addon_office365.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Microsoft Office 365 SSO configuration. + class ClientAddonOffice365 < Internal::Types::Model + field :domain, -> { String }, optional: true, nullable: false + + field :connection, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/client_addon_rms.rb b/lib/auth0/types/client_addon_rms.rb new file mode 100644 index 000000000..1305956a3 --- /dev/null +++ b/lib/auth0/types/client_addon_rms.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Active Directory Rights Management Service SSO configuration. + class ClientAddonRms < Internal::Types::Model + field :url, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/client_addon_salesforce.rb b/lib/auth0/types/client_addon_salesforce.rb new file mode 100644 index 000000000..d4bcb7f89 --- /dev/null +++ b/lib/auth0/types/client_addon_salesforce.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Salesforce SSO configuration. + class ClientAddonSalesforce < Internal::Types::Model + field :entity_id, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/client_addon_salesforce_api.rb b/lib/auth0/types/client_addon_salesforce_api.rb new file mode 100644 index 000000000..45742ff46 --- /dev/null +++ b/lib/auth0/types/client_addon_salesforce_api.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Salesforce API addon configuration. + class ClientAddonSalesforceAPI < Internal::Types::Model + field :clientid, -> { String }, optional: true, nullable: false + + field :principal, -> { String }, optional: true, nullable: false + + field :community_name, -> { String }, optional: true, nullable: false, api_name: "communityName" + + field :community_url_section, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/client_addon_salesforce_sandbox_api.rb b/lib/auth0/types/client_addon_salesforce_sandbox_api.rb new file mode 100644 index 000000000..5a5f78da2 --- /dev/null +++ b/lib/auth0/types/client_addon_salesforce_sandbox_api.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Salesforce Sandbox addon configuration. + class ClientAddonSalesforceSandboxAPI < Internal::Types::Model + field :clientid, -> { String }, optional: true, nullable: false + + field :principal, -> { String }, optional: true, nullable: false + + field :community_name, -> { String }, optional: true, nullable: false, api_name: "communityName" + + field :community_url_section, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/client_addon_saml.rb b/lib/auth0/types/client_addon_saml.rb new file mode 100644 index 000000000..6c8fdc8a7 --- /dev/null +++ b/lib/auth0/types/client_addon_saml.rb @@ -0,0 +1,40 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # SAML2 addon indicator (no configuration settings needed for SAML2 addon). + class ClientAddonSAML < Internal::Types::Model + field :mappings, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :audience, -> { String }, optional: true, nullable: false + + field :recipient, -> { String }, optional: true, nullable: false + + field :create_upn_claim, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "createUpnClaim" + + field :map_unknown_claims_as_is, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "mapUnknownClaimsAsIs" + + field :passthrough_claims_with_no_mapping, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "passthroughClaimsWithNoMapping" + + field :map_identities, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "mapIdentities" + + field :signature_algorithm, -> { String }, optional: true, nullable: false, api_name: "signatureAlgorithm" + + field :digest_algorithm, -> { String }, optional: true, nullable: false, api_name: "digestAlgorithm" + + field :issuer, -> { String }, optional: true, nullable: false + + field :destination, -> { String }, optional: true, nullable: false + + field :lifetime_in_seconds, -> { Integer }, optional: true, nullable: false, api_name: "lifetimeInSeconds" + + field :sign_response, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "signResponse" + + field :name_identifier_format, -> { String }, optional: true, nullable: false, api_name: "nameIdentifierFormat" + + field :name_identifier_probes, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "nameIdentifierProbes" + + field :authn_context_class_ref, -> { String }, optional: true, nullable: false, api_name: "authnContextClassRef" + end + end +end diff --git a/lib/auth0/types/client_addon_saml_mapping.rb b/lib/auth0/types/client_addon_saml_mapping.rb new file mode 100644 index 000000000..e08fd5d07 --- /dev/null +++ b/lib/auth0/types/client_addon_saml_mapping.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ClientAddonSAMLMapping + # ClientAddonSAMLMapping is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/client_addon_sapapi.rb b/lib/auth0/types/client_addon_sapapi.rb new file mode 100644 index 000000000..8403eba04 --- /dev/null +++ b/lib/auth0/types/client_addon_sapapi.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # SAP API addon configuration. + class ClientAddonSapapi < Internal::Types::Model + field :clientid, -> { String }, optional: true, nullable: false + + field :username_attribute, -> { String }, optional: true, nullable: false, api_name: "usernameAttribute" + + field :token_endpoint_url, -> { String }, optional: true, nullable: false, api_name: "tokenEndpointUrl" + + field :scope, -> { String }, optional: true, nullable: false + + field :service_password, -> { String }, optional: true, nullable: false, api_name: "servicePassword" + + field :name_identifier_format, -> { String }, optional: true, nullable: false, api_name: "nameIdentifierFormat" + end + end +end diff --git a/lib/auth0/types/client_addon_sentry.rb b/lib/auth0/types/client_addon_sentry.rb new file mode 100644 index 000000000..85866bdc2 --- /dev/null +++ b/lib/auth0/types/client_addon_sentry.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Sentry SSO configuration. + class ClientAddonSentry < Internal::Types::Model + field :org_slug, -> { String }, optional: true, nullable: false + + field :base_url, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/client_addon_share_point.rb b/lib/auth0/types/client_addon_share_point.rb new file mode 100644 index 000000000..bd0d780e0 --- /dev/null +++ b/lib/auth0/types/client_addon_share_point.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # SharePoint SSO configuration. + class ClientAddonSharePoint < Internal::Types::Model + field :url, -> { String }, optional: true, nullable: false + + field :external_url, -> { Auth0::Types::ClientAddonSharePointExternalURL }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/client_addon_share_point_external_url.rb b/lib/auth0/types/client_addon_share_point_external_url.rb new file mode 100644 index 000000000..3d9259e95 --- /dev/null +++ b/lib/auth0/types/client_addon_share_point_external_url.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # External SharePoint application URLs if exposed to the Internet. + class ClientAddonSharePointExternalURL < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Internal::Types::Array[String] } + + member -> { String } + end + end +end diff --git a/lib/auth0/types/client_addon_slack.rb b/lib/auth0/types/client_addon_slack.rb new file mode 100644 index 000000000..d4017b512 --- /dev/null +++ b/lib/auth0/types/client_addon_slack.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Slack team or workspace name usually first segment in your Slack URL. e.g. `https://acme-org.slack.com` would be + # `acme-org`. + class ClientAddonSlack < Internal::Types::Model + field :team, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/client_addon_spring_cm.rb b/lib/auth0/types/client_addon_spring_cm.rb new file mode 100644 index 000000000..aa20051bb --- /dev/null +++ b/lib/auth0/types/client_addon_spring_cm.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # SpringCM SSO configuration. + class ClientAddonSpringCm < Internal::Types::Model + field :acsurl, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/client_addon_sso_integration.rb b/lib/auth0/types/client_addon_sso_integration.rb new file mode 100644 index 000000000..1abfba7cb --- /dev/null +++ b/lib/auth0/types/client_addon_sso_integration.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ClientAddonSSOIntegration < Internal::Types::Model + field :name, -> { String }, optional: true, nullable: false + + field :version, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/client_addon_wams.rb b/lib/auth0/types/client_addon_wams.rb new file mode 100644 index 000000000..bf6efe3e5 --- /dev/null +++ b/lib/auth0/types/client_addon_wams.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Windows Azure Mobile Services addon configuration. + class ClientAddonWams < Internal::Types::Model + field :masterkey, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/client_addon_ws_fed.rb b/lib/auth0/types/client_addon_ws_fed.rb new file mode 100644 index 000000000..6a18a31e6 --- /dev/null +++ b/lib/auth0/types/client_addon_ws_fed.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ClientAddonWsFed + # ClientAddonWsFed is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/client_addon_zendesk.rb b/lib/auth0/types/client_addon_zendesk.rb new file mode 100644 index 000000000..312ccfde6 --- /dev/null +++ b/lib/auth0/types/client_addon_zendesk.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Zendesk SSO configuration. + class ClientAddonZendesk < Internal::Types::Model + field :account_name, -> { String }, optional: true, nullable: false, api_name: "accountName" + end + end +end diff --git a/lib/auth0/types/client_addon_zoom.rb b/lib/auth0/types/client_addon_zoom.rb new file mode 100644 index 000000000..70940b601 --- /dev/null +++ b/lib/auth0/types/client_addon_zoom.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Zoom SSO configuration. + class ClientAddonZoom < Internal::Types::Model + field :account, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/client_addons.rb b/lib/auth0/types/client_addons.rb new file mode 100644 index 000000000..6030bed84 --- /dev/null +++ b/lib/auth0/types/client_addons.rb @@ -0,0 +1,68 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Addons enabled for this client and their associated configurations. + class ClientAddons < Internal::Types::Model + field :aws, -> { Auth0::Types::ClientAddonAws }, optional: true, nullable: false + + field :azure_blob, -> { Auth0::Types::ClientAddonAzureBlob }, optional: true, nullable: false + + field :azure_sb, -> { Auth0::Types::ClientAddonAzureSb }, optional: true, nullable: false + + field :rms, -> { Auth0::Types::ClientAddonRms }, optional: true, nullable: false + + field :mscrm, -> { Auth0::Types::ClientAddonMscrm }, optional: true, nullable: false + + field :slack, -> { Auth0::Types::ClientAddonSlack }, optional: true, nullable: false + + field :sentry, -> { Auth0::Types::ClientAddonSentry }, optional: true, nullable: false + + field :box, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :cloudbees, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :concur, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :dropbox, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :echosign, -> { Auth0::Types::ClientAddonEchoSign }, optional: true, nullable: false + + field :egnyte, -> { Auth0::Types::ClientAddonEgnyte }, optional: true, nullable: false + + field :firebase, -> { Auth0::Types::ClientAddonFirebase }, optional: true, nullable: false + + field :newrelic, -> { Auth0::Types::ClientAddonNewRelic }, optional: true, nullable: false + + field :office365, -> { Auth0::Types::ClientAddonOffice365 }, optional: true, nullable: false + + field :salesforce, -> { Auth0::Types::ClientAddonSalesforce }, optional: true, nullable: false + + field :salesforce_api, -> { Auth0::Types::ClientAddonSalesforceAPI }, optional: true, nullable: false + + field :salesforce_sandbox_api, -> { Auth0::Types::ClientAddonSalesforceSandboxAPI }, optional: true, nullable: false + + field :samlp, -> { Auth0::Types::ClientAddonSAML }, optional: true, nullable: false + + field :layer, -> { Auth0::Types::ClientAddonLayer }, optional: true, nullable: false + + field :sap_api, -> { Auth0::Types::ClientAddonSapapi }, optional: true, nullable: false + + field :sharepoint, -> { Auth0::Types::ClientAddonSharePoint }, optional: true, nullable: false + + field :springcm, -> { Auth0::Types::ClientAddonSpringCm }, optional: true, nullable: false + + field :wams, -> { Auth0::Types::ClientAddonWams }, optional: true, nullable: false + + field :wsfed, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :zendesk, -> { Auth0::Types::ClientAddonZendesk }, optional: true, nullable: false + + field :zoom, -> { Auth0::Types::ClientAddonZoom }, optional: true, nullable: false + + field :sso_integration, -> { Auth0::Types::ClientAddonSSOIntegration }, optional: true, nullable: false + + field :oag, -> { Auth0::Types::ClientAddonOag }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/client_app_type_enum.rb b/lib/auth0/types/client_app_type_enum.rb new file mode 100644 index 000000000..a837139e7 --- /dev/null +++ b/lib/auth0/types/client_app_type_enum.rb @@ -0,0 +1,36 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ClientAppTypeEnum + extend Auth0::Internal::Types::Enum + + NATIVE = "native" + SPA = "spa" + REGULAR_WEB = "regular_web" + NON_INTERACTIVE = "non_interactive" + RESOURCE_SERVER = "resource_server" + EXPRESS_CONFIGURATION = "express_configuration" + B2B_INTEGRATION = "b2b_integration" + RMS = "rms" + BOX = "box" + CLOUDBEES = "cloudbees" + CONCUR = "concur" + DROPBOX = "dropbox" + MSCRM = "mscrm" + ECHOSIGN = "echosign" + EGNYTE = "egnyte" + NEWRELIC = "newrelic" + OFFICE365 = "office365" + SALESFORCE = "salesforce" + SENTRY = "sentry" + SHAREPOINT = "sharepoint" + SLACK = "slack" + SPRINGCM = "springcm" + ZENDESK = "zendesk" + ZOOM = "zoom" + SSO_INTEGRATION = "sso_integration" + OAG = "oag" + end + end +end diff --git a/lib/auth0/types/client_async_approval_notifications_channels_api_patch_configuration.rb b/lib/auth0/types/client_async_approval_notifications_channels_api_patch_configuration.rb new file mode 100644 index 000000000..683e90791 --- /dev/null +++ b/lib/auth0/types/client_async_approval_notifications_channels_api_patch_configuration.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ClientAsyncApprovalNotificationsChannelsAPIPatchConfiguration + # ClientAsyncApprovalNotificationsChannelsAPIPatchConfiguration is an alias for Object + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/client_async_approval_notifications_channels_api_post_configuration.rb b/lib/auth0/types/client_async_approval_notifications_channels_api_post_configuration.rb new file mode 100644 index 000000000..5d95e6d95 --- /dev/null +++ b/lib/auth0/types/client_async_approval_notifications_channels_api_post_configuration.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ClientAsyncApprovalNotificationsChannelsAPIPostConfiguration + # ClientAsyncApprovalNotificationsChannelsAPIPostConfiguration is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/client_authentication_method.rb b/lib/auth0/types/client_authentication_method.rb new file mode 100644 index 000000000..43db2386e --- /dev/null +++ b/lib/auth0/types/client_authentication_method.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Defines client authentication methods. + class ClientAuthenticationMethod < Internal::Types::Model + field :private_key_jwt, -> { Auth0::Types::ClientAuthenticationMethodPrivateKeyJwt }, optional: true, nullable: false + + field :tls_client_auth, -> { Auth0::Types::ClientAuthenticationMethodTLSClientAuth }, optional: true, nullable: false + + field :self_signed_tls_client_auth, -> { Auth0::Types::ClientAuthenticationMethodSelfSignedTLSClientAuth }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/client_authentication_method_private_key_jwt.rb b/lib/auth0/types/client_authentication_method_private_key_jwt.rb new file mode 100644 index 000000000..b4a981de7 --- /dev/null +++ b/lib/auth0/types/client_authentication_method_private_key_jwt.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Defines `private_key_jwt` client authentication method. If this property is defined, the client is enabled to use + # the Private Key JWT authentication method. + class ClientAuthenticationMethodPrivateKeyJwt < Internal::Types::Model + field :credentials, -> { Internal::Types::Array[Auth0::Types::CredentialID] }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/client_authentication_method_private_key_jwt_credentials.rb b/lib/auth0/types/client_authentication_method_private_key_jwt_credentials.rb new file mode 100644 index 000000000..002084571 --- /dev/null +++ b/lib/auth0/types/client_authentication_method_private_key_jwt_credentials.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ClientAuthenticationMethodPrivateKeyJwtCredentials + # ClientAuthenticationMethodPrivateKeyJwtCredentials is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/client_authentication_method_self_signed_tls_client_auth.rb b/lib/auth0/types/client_authentication_method_self_signed_tls_client_auth.rb new file mode 100644 index 000000000..b043908b0 --- /dev/null +++ b/lib/auth0/types/client_authentication_method_self_signed_tls_client_auth.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Defines `self_signed_tls_client_auth` client authentication method. If the property is defined, the client is + # configured to use mTLS authentication method utilizing self-signed certificate. + class ClientAuthenticationMethodSelfSignedTLSClientAuth < Internal::Types::Model + field :credentials, -> { Internal::Types::Array[Auth0::Types::CredentialID] }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/client_authentication_method_self_signed_tls_client_auth_credentials.rb b/lib/auth0/types/client_authentication_method_self_signed_tls_client_auth_credentials.rb new file mode 100644 index 000000000..b653654e6 --- /dev/null +++ b/lib/auth0/types/client_authentication_method_self_signed_tls_client_auth_credentials.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ClientAuthenticationMethodSelfSignedTLSClientAuthCredentials + # ClientAuthenticationMethodSelfSignedTLSClientAuthCredentials is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/client_authentication_method_tls_client_auth.rb b/lib/auth0/types/client_authentication_method_tls_client_auth.rb new file mode 100644 index 000000000..32787bcea --- /dev/null +++ b/lib/auth0/types/client_authentication_method_tls_client_auth.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Defines `tls_client_auth` client authentication method. If the property is defined, the client is configured to + # use CA-based mTLS authentication method. + class ClientAuthenticationMethodTLSClientAuth < Internal::Types::Model + field :credentials, -> { Internal::Types::Array[Auth0::Types::CredentialID] }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/client_authentication_method_tls_client_auth_credentials.rb b/lib/auth0/types/client_authentication_method_tls_client_auth_credentials.rb new file mode 100644 index 000000000..901ce58b8 --- /dev/null +++ b/lib/auth0/types/client_authentication_method_tls_client_auth_credentials.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ClientAuthenticationMethodTLSClientAuthCredentials + # ClientAuthenticationMethodTLSClientAuthCredentials is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/client_compliance_level_enum.rb b/lib/auth0/types/client_compliance_level_enum.rb new file mode 100644 index 000000000..bb3fb1671 --- /dev/null +++ b/lib/auth0/types/client_compliance_level_enum.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ClientComplianceLevelEnum + extend Auth0::Internal::Types::Enum + + NONE = "none" + FAPI1ADV_PKJ_PAR = "fapi1_adv_pkj_par" + FAPI1ADV_MTLS_PAR = "fapi1_adv_mtls_par" + FAPI2SP_PKJ_MTLS = "fapi2_sp_pkj_mtls" + FAPI2SP_MTLS_MTLS = "fapi2_sp_mtls_mtls" + end + end +end diff --git a/lib/auth0/types/client_create_authentication_method.rb b/lib/auth0/types/client_create_authentication_method.rb new file mode 100644 index 000000000..495630277 --- /dev/null +++ b/lib/auth0/types/client_create_authentication_method.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Defines client authentication methods. + class ClientCreateAuthenticationMethod < Internal::Types::Model + field :private_key_jwt, -> { Auth0::Types::ClientCreateAuthenticationMethodPrivateKeyJwt }, optional: true, nullable: false + + field :tls_client_auth, -> { Auth0::Types::ClientCreateAuthenticationMethodTLSClientAuth }, optional: true, nullable: false + + field :self_signed_tls_client_auth, -> { Auth0::Types::CreateClientAuthenticationMethodSelfSignedTLSClientAuth }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/client_create_authentication_method_private_key_jwt.rb b/lib/auth0/types/client_create_authentication_method_private_key_jwt.rb new file mode 100644 index 000000000..15a4d9b1b --- /dev/null +++ b/lib/auth0/types/client_create_authentication_method_private_key_jwt.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Defines `private_key_jwt` client authentication method. If this property is defined, the client is enabled to use + # the Private Key JWT authentication method. + class ClientCreateAuthenticationMethodPrivateKeyJwt < Internal::Types::Model + field :credentials, -> { Internal::Types::Array[Auth0::Types::PublicKeyCredential] }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/client_create_authentication_method_private_key_jwt_credentials.rb b/lib/auth0/types/client_create_authentication_method_private_key_jwt_credentials.rb new file mode 100644 index 000000000..ddaab7106 --- /dev/null +++ b/lib/auth0/types/client_create_authentication_method_private_key_jwt_credentials.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ClientCreateAuthenticationMethodPrivateKeyJwtCredentials + # ClientCreateAuthenticationMethodPrivateKeyJwtCredentials is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/client_create_authentication_method_tls_client_auth.rb b/lib/auth0/types/client_create_authentication_method_tls_client_auth.rb new file mode 100644 index 000000000..d05e6e839 --- /dev/null +++ b/lib/auth0/types/client_create_authentication_method_tls_client_auth.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Defines `tls_client_auth` client authentication method. If the property is defined, the client is configured to + # use CA-based mTLS authentication method. + class ClientCreateAuthenticationMethodTLSClientAuth < Internal::Types::Model + field :credentials, -> { Internal::Types::Array[Auth0::Types::CertificateSubjectDnCredential] }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/client_create_authentication_method_tls_client_auth_credentials.rb b/lib/auth0/types/client_create_authentication_method_tls_client_auth_credentials.rb new file mode 100644 index 000000000..90806b131 --- /dev/null +++ b/lib/auth0/types/client_create_authentication_method_tls_client_auth_credentials.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ClientCreateAuthenticationMethodTLSClientAuthCredentials + # ClientCreateAuthenticationMethodTLSClientAuthCredentials is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/client_credential.rb b/lib/auth0/types/client_credential.rb new file mode 100644 index 000000000..94230ee01 --- /dev/null +++ b/lib/auth0/types/client_credential.rb @@ -0,0 +1,27 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ClientCredential < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :kid, -> { String }, optional: true, nullable: false + + field :alg, -> { Auth0::Types::ClientCredentialAlgorithmEnum }, optional: true, nullable: false + + field :credential_type, -> { Auth0::Types::ClientCredentialTypeEnum }, optional: true, nullable: false + + field :subject_dn, -> { String }, optional: true, nullable: false + + field :thumbprint_sha256, -> { String }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :updated_at, -> { String }, optional: true, nullable: false + + field :expires_at, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/client_credential_algorithm_enum.rb b/lib/auth0/types/client_credential_algorithm_enum.rb new file mode 100644 index 000000000..d2c104350 --- /dev/null +++ b/lib/auth0/types/client_credential_algorithm_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ClientCredentialAlgorithmEnum + extend Auth0::Internal::Types::Enum + + RS256 = "RS256" + RS384 = "RS384" + PS256 = "PS256" + end + end +end diff --git a/lib/auth0/types/client_credential_type_enum.rb b/lib/auth0/types/client_credential_type_enum.rb new file mode 100644 index 000000000..e1df83839 --- /dev/null +++ b/lib/auth0/types/client_credential_type_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ClientCredentialTypeEnum + extend Auth0::Internal::Types::Enum + + PUBLIC_KEY = "public_key" + CERT_SUBJECT_DN = "cert_subject_dn" + X509CERT = "x509_cert" + end + end +end diff --git a/lib/auth0/types/client_default_organization.rb b/lib/auth0/types/client_default_organization.rb new file mode 100644 index 000000000..6ad8cb23f --- /dev/null +++ b/lib/auth0/types/client_default_organization.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Defines the default Organization ID and flows + class ClientDefaultOrganization < Internal::Types::Model + field :organization_id, -> { String }, optional: false, nullable: false + + field :flows, -> { Internal::Types::Array[Auth0::Types::ClientDefaultOrganizationFlowsEnum] }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/client_default_organization_flows_enum.rb b/lib/auth0/types/client_default_organization_flows_enum.rb new file mode 100644 index 000000000..98aef4ee6 --- /dev/null +++ b/lib/auth0/types/client_default_organization_flows_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ClientDefaultOrganizationFlowsEnum + extend Auth0::Internal::Types::Enum + + CLIENT_CREDENTIALS = "client_credentials" + end + end +end diff --git a/lib/auth0/types/client_encryption_key.rb b/lib/auth0/types/client_encryption_key.rb new file mode 100644 index 000000000..af87908d0 --- /dev/null +++ b/lib/auth0/types/client_encryption_key.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Encryption used for WsFed responses with this client. + class ClientEncryptionKey < Internal::Types::Model + field :pub, -> { String }, optional: true, nullable: false + + field :cert, -> { String }, optional: true, nullable: false + + field :subject, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/client_external_metadata_created_by_enum.rb b/lib/auth0/types/client_external_metadata_created_by_enum.rb new file mode 100644 index 000000000..b4552b445 --- /dev/null +++ b/lib/auth0/types/client_external_metadata_created_by_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ClientExternalMetadataCreatedByEnum + extend Auth0::Internal::Types::Enum + + ADMIN = "admin" + CLIENT = "client" + end + end +end diff --git a/lib/auth0/types/client_external_metadata_type_enum.rb b/lib/auth0/types/client_external_metadata_type_enum.rb new file mode 100644 index 000000000..0e09fa6b7 --- /dev/null +++ b/lib/auth0/types/client_external_metadata_type_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ClientExternalMetadataTypeEnum + extend Auth0::Internal::Types::Enum + + CIMD = "cimd" + DCR = "dcr" + end + end +end diff --git a/lib/auth0/types/client_grant_allow_any_organization_enum.rb b/lib/auth0/types/client_grant_allow_any_organization_enum.rb new file mode 100644 index 000000000..709339bc0 --- /dev/null +++ b/lib/auth0/types/client_grant_allow_any_organization_enum.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ClientGrantAllowAnyOrganizationEnum + # ClientGrantAllowAnyOrganizationEnum is an alias for Boolean + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/client_grant_default_for_enum.rb b/lib/auth0/types/client_grant_default_for_enum.rb new file mode 100644 index 000000000..df9a78334 --- /dev/null +++ b/lib/auth0/types/client_grant_default_for_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ClientGrantDefaultForEnum + extend Auth0::Internal::Types::Enum + + THIRD_PARTY_CLIENTS = "third_party_clients" + end + end +end diff --git a/lib/auth0/types/client_grant_organization_nullable_usage_enum.rb b/lib/auth0/types/client_grant_organization_nullable_usage_enum.rb new file mode 100644 index 000000000..7609abbd6 --- /dev/null +++ b/lib/auth0/types/client_grant_organization_nullable_usage_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ClientGrantOrganizationNullableUsageEnum + extend Auth0::Internal::Types::Enum + + DENY = "deny" + ALLOW = "allow" + REQUIRE = "require" + end + end +end diff --git a/lib/auth0/types/client_grant_organization_usage_enum.rb b/lib/auth0/types/client_grant_organization_usage_enum.rb new file mode 100644 index 000000000..d006c9f5e --- /dev/null +++ b/lib/auth0/types/client_grant_organization_usage_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ClientGrantOrganizationUsageEnum + extend Auth0::Internal::Types::Enum + + DENY = "deny" + ALLOW = "allow" + REQUIRE = "require" + end + end +end diff --git a/lib/auth0/types/client_grant_response_content.rb b/lib/auth0/types/client_grant_response_content.rb new file mode 100644 index 000000000..a4b5f81fe --- /dev/null +++ b/lib/auth0/types/client_grant_response_content.rb @@ -0,0 +1,29 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ClientGrantResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :client_id, -> { String }, optional: true, nullable: false + + field :audience, -> { String }, optional: true, nullable: false + + field :scope, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :organization_usage, -> { Auth0::Types::ClientGrantOrganizationUsageEnum }, optional: true, nullable: false + + field :allow_any_organization, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :default_for, -> { Auth0::Types::ClientGrantDefaultForEnum }, optional: true, nullable: false + + field :is_system, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :subject_type, -> { Auth0::Types::ClientGrantSubjectTypeEnum }, optional: true, nullable: false + + field :authorization_details_types, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :allow_all_scopes, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/client_grant_subject_type_enum.rb b/lib/auth0/types/client_grant_subject_type_enum.rb new file mode 100644 index 000000000..487a2a35a --- /dev/null +++ b/lib/auth0/types/client_grant_subject_type_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ClientGrantSubjectTypeEnum + extend Auth0::Internal::Types::Enum + + CLIENT = "client" + USER = "user" + ANONYMOUS_USER = "anonymous_user" + end + end +end diff --git a/lib/auth0/types/client_jwt_configuration.rb b/lib/auth0/types/client_jwt_configuration.rb new file mode 100644 index 000000000..c78af0c2a --- /dev/null +++ b/lib/auth0/types/client_jwt_configuration.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configuration related to JWTs for the client. + class ClientJwtConfiguration < Internal::Types::Model + field :lifetime_in_seconds, -> { Integer }, optional: true, nullable: false + + field :secret_encoded, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :scopes, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :alg, -> { Auth0::Types::SigningAlgorithmEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/client_jwt_configuration_scopes.rb b/lib/auth0/types/client_jwt_configuration_scopes.rb new file mode 100644 index 000000000..1c1db0e88 --- /dev/null +++ b/lib/auth0/types/client_jwt_configuration_scopes.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ClientJwtConfigurationScopes + # ClientJwtConfigurationScopes is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/client_metadata.rb b/lib/auth0/types/client_metadata.rb new file mode 100644 index 000000000..4f9d6ca92 --- /dev/null +++ b/lib/auth0/types/client_metadata.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ClientMetadata + # ClientMetadata is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/client_mobile.rb b/lib/auth0/types/client_mobile.rb new file mode 100644 index 000000000..f0a709ba7 --- /dev/null +++ b/lib/auth0/types/client_mobile.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Additional configuration for native mobile apps. + class ClientMobile < Internal::Types::Model + field :android, -> { Auth0::Types::ClientMobileAndroid }, optional: true, nullable: false + + field :ios, -> { Auth0::Types::ClientMobileiOs }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/client_mobile_android.rb b/lib/auth0/types/client_mobile_android.rb new file mode 100644 index 000000000..b80ecf1ad --- /dev/null +++ b/lib/auth0/types/client_mobile_android.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Android native app configuration. + class ClientMobileAndroid < Internal::Types::Model + field :app_package_name, -> { String }, optional: true, nullable: false + + field :sha256cert_fingerprints, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "sha256_cert_fingerprints" + end + end +end diff --git a/lib/auth0/types/client_mobilei_os.rb b/lib/auth0/types/client_mobilei_os.rb new file mode 100644 index 000000000..d0e4fe6fc --- /dev/null +++ b/lib/auth0/types/client_mobilei_os.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # iOS native app configuration. + class ClientMobileiOs < Internal::Types::Model + field :team_id, -> { String }, optional: true, nullable: false + + field :app_bundle_identifier, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/client_my_organization_configuration_allowed_strategies_enum.rb b/lib/auth0/types/client_my_organization_configuration_allowed_strategies_enum.rb new file mode 100644 index 000000000..e9890ea3e --- /dev/null +++ b/lib/auth0/types/client_my_organization_configuration_allowed_strategies_enum.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ClientMyOrganizationConfigurationAllowedStrategiesEnum + extend Auth0::Internal::Types::Enum + + PINGFEDERATE = "pingfederate" + ADFS = "adfs" + WAAD = "waad" + GOOGLE_APPS = "google-apps" + OKTA = "okta" + OIDC = "oidc" + SAMLP = "samlp" + end + end +end diff --git a/lib/auth0/types/client_my_organization_deletion_behavior_enum.rb b/lib/auth0/types/client_my_organization_deletion_behavior_enum.rb new file mode 100644 index 000000000..5a4e6d5af --- /dev/null +++ b/lib/auth0/types/client_my_organization_deletion_behavior_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ClientMyOrganizationDeletionBehaviorEnum + extend Auth0::Internal::Types::Enum + + ALLOW = "allow" + ALLOW_IF_EMPTY = "allow_if_empty" + end + end +end diff --git a/lib/auth0/types/client_my_organization_patch_configuration.rb b/lib/auth0/types/client_my_organization_patch_configuration.rb new file mode 100644 index 000000000..c97c79122 --- /dev/null +++ b/lib/auth0/types/client_my_organization_patch_configuration.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configuration related to the My Organization Configuration for the client. + class ClientMyOrganizationPatchConfiguration < Internal::Types::Model + field :connection_profile_id, -> { String }, optional: true, nullable: false + + field :user_attribute_profile_id, -> { String }, optional: true, nullable: false + + field :allowed_strategies, -> { Internal::Types::Array[Auth0::Types::ClientMyOrganizationConfigurationAllowedStrategiesEnum] }, optional: false, nullable: false + + field :connection_deletion_behavior, -> { Auth0::Types::ClientMyOrganizationDeletionBehaviorEnum }, optional: false, nullable: false + + field :invitation_landing_client_id, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/client_my_organization_post_configuration.rb b/lib/auth0/types/client_my_organization_post_configuration.rb new file mode 100644 index 000000000..0815040e6 --- /dev/null +++ b/lib/auth0/types/client_my_organization_post_configuration.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configuration related to the My Organization Configuration for the client. + class ClientMyOrganizationPostConfiguration < Internal::Types::Model + field :connection_profile_id, -> { String }, optional: true, nullable: false + + field :user_attribute_profile_id, -> { String }, optional: true, nullable: false + + field :allowed_strategies, -> { Internal::Types::Array[Auth0::Types::ClientMyOrganizationConfigurationAllowedStrategiesEnum] }, optional: false, nullable: false + + field :connection_deletion_behavior, -> { Auth0::Types::ClientMyOrganizationDeletionBehaviorEnum }, optional: false, nullable: false + + field :invitation_landing_client_id, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/client_my_organization_response_configuration.rb b/lib/auth0/types/client_my_organization_response_configuration.rb new file mode 100644 index 000000000..4d719379c --- /dev/null +++ b/lib/auth0/types/client_my_organization_response_configuration.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configuration related to the My Organization Configuration for the client. + class ClientMyOrganizationResponseConfiguration < Internal::Types::Model + field :connection_profile_id, -> { String }, optional: true, nullable: false + + field :user_attribute_profile_id, -> { String }, optional: true, nullable: false + + field :allowed_strategies, -> { Internal::Types::Array[Auth0::Types::ClientMyOrganizationConfigurationAllowedStrategiesEnum] }, optional: false, nullable: false + + field :connection_deletion_behavior, -> { Auth0::Types::ClientMyOrganizationDeletionBehaviorEnum }, optional: false, nullable: false + + field :invitation_landing_client_id, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/client_oidc_backchannel_logout_initiators.rb b/lib/auth0/types/client_oidc_backchannel_logout_initiators.rb new file mode 100644 index 000000000..b14aeced1 --- /dev/null +++ b/lib/auth0/types/client_oidc_backchannel_logout_initiators.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configuration for OIDC backchannel logout initiators + class ClientOidcBackchannelLogoutInitiators < Internal::Types::Model + field :mode, -> { Auth0::Types::ClientOidcBackchannelLogoutInitiatorsModeEnum }, optional: true, nullable: false + + field :selected_initiators, -> { Internal::Types::Array[Auth0::Types::ClientOidcBackchannelLogoutInitiatorsEnum] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/client_oidc_backchannel_logout_initiators_enum.rb b/lib/auth0/types/client_oidc_backchannel_logout_initiators_enum.rb new file mode 100644 index 000000000..628a49d22 --- /dev/null +++ b/lib/auth0/types/client_oidc_backchannel_logout_initiators_enum.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ClientOidcBackchannelLogoutInitiatorsEnum + extend Auth0::Internal::Types::Enum + + RP_LOGOUT = "rp-logout" + IDP_LOGOUT = "idp-logout" + PASSWORD_CHANGED = "password-changed" + SESSION_EXPIRED = "session-expired" + SESSION_REVOKED = "session-revoked" + ACCOUNT_DELETED = "account-deleted" + EMAIL_IDENTIFIER_CHANGED = "email-identifier-changed" + MFA_PHONE_UNENROLLED = "mfa-phone-unenrolled" + ACCOUNT_DEACTIVATED = "account-deactivated" + end + end +end diff --git a/lib/auth0/types/client_oidc_backchannel_logout_initiators_mode_enum.rb b/lib/auth0/types/client_oidc_backchannel_logout_initiators_mode_enum.rb new file mode 100644 index 000000000..942d141e2 --- /dev/null +++ b/lib/auth0/types/client_oidc_backchannel_logout_initiators_mode_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ClientOidcBackchannelLogoutInitiatorsModeEnum + extend Auth0::Internal::Types::Enum + + CUSTOM = "custom" + ALL = "all" + end + end +end diff --git a/lib/auth0/types/client_oidc_backchannel_logout_session_metadata.rb b/lib/auth0/types/client_oidc_backchannel_logout_session_metadata.rb new file mode 100644 index 000000000..5ed4fcde0 --- /dev/null +++ b/lib/auth0/types/client_oidc_backchannel_logout_session_metadata.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Controls whether session metadata is included in the logout token. Default value is null. + class ClientOidcBackchannelLogoutSessionMetadata < Internal::Types::Model + field :include, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/client_oidc_backchannel_logout_settings.rb b/lib/auth0/types/client_oidc_backchannel_logout_settings.rb new file mode 100644 index 000000000..233cd50b4 --- /dev/null +++ b/lib/auth0/types/client_oidc_backchannel_logout_settings.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configuration for OIDC backchannel logout + class ClientOidcBackchannelLogoutSettings < Internal::Types::Model + field :backchannel_logout_urls, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :backchannel_logout_initiators, -> { Auth0::Types::ClientOidcBackchannelLogoutInitiators }, optional: true, nullable: false + + field :backchannel_logout_session_metadata, -> { Auth0::Types::ClientOidcBackchannelLogoutSessionMetadata }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/client_organization_discovery_enum.rb b/lib/auth0/types/client_organization_discovery_enum.rb new file mode 100644 index 000000000..9fb7490de --- /dev/null +++ b/lib/auth0/types/client_organization_discovery_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ClientOrganizationDiscoveryEnum + extend Auth0::Internal::Types::Enum + + EMAIL = "email" + ORGANIZATION_NAME = "organization_name" + end + end +end diff --git a/lib/auth0/types/client_organization_require_behavior_enum.rb b/lib/auth0/types/client_organization_require_behavior_enum.rb new file mode 100644 index 000000000..c89e4cd88 --- /dev/null +++ b/lib/auth0/types/client_organization_require_behavior_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ClientOrganizationRequireBehaviorEnum + extend Auth0::Internal::Types::Enum + + NO_PROMPT = "no_prompt" + PRE_LOGIN_PROMPT = "pre_login_prompt" + POST_LOGIN_PROMPT = "post_login_prompt" + end + end +end diff --git a/lib/auth0/types/client_organization_require_behavior_patch_enum.rb b/lib/auth0/types/client_organization_require_behavior_patch_enum.rb new file mode 100644 index 000000000..b6f95b060 --- /dev/null +++ b/lib/auth0/types/client_organization_require_behavior_patch_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ClientOrganizationRequireBehaviorPatchEnum + extend Auth0::Internal::Types::Enum + + NO_PROMPT = "no_prompt" + PRE_LOGIN_PROMPT = "pre_login_prompt" + POST_LOGIN_PROMPT = "post_login_prompt" + end + end +end diff --git a/lib/auth0/types/client_organization_usage_enum.rb b/lib/auth0/types/client_organization_usage_enum.rb new file mode 100644 index 000000000..4da7d0094 --- /dev/null +++ b/lib/auth0/types/client_organization_usage_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ClientOrganizationUsageEnum + extend Auth0::Internal::Types::Enum + + DENY = "deny" + ALLOW = "allow" + REQUIRE = "require" + end + end +end diff --git a/lib/auth0/types/client_organization_usage_patch_enum.rb b/lib/auth0/types/client_organization_usage_patch_enum.rb new file mode 100644 index 000000000..c6430f265 --- /dev/null +++ b/lib/auth0/types/client_organization_usage_patch_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ClientOrganizationUsagePatchEnum + extend Auth0::Internal::Types::Enum + + DENY = "deny" + ALLOW = "allow" + REQUIRE = "require" + end + end +end diff --git a/lib/auth0/types/client_redirection_policy_enum.rb b/lib/auth0/types/client_redirection_policy_enum.rb new file mode 100644 index 000000000..b7c7a8f4a --- /dev/null +++ b/lib/auth0/types/client_redirection_policy_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ClientRedirectionPolicyEnum + extend Auth0::Internal::Types::Enum + + ALLOW_ALWAYS = "allow_always" + OPEN_REDIRECT_PROTECTION = "open_redirect_protection" + end + end +end diff --git a/lib/auth0/types/client_refresh_token_configuration.rb b/lib/auth0/types/client_refresh_token_configuration.rb new file mode 100644 index 000000000..da7527546 --- /dev/null +++ b/lib/auth0/types/client_refresh_token_configuration.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Refresh token configuration + class ClientRefreshTokenConfiguration < Internal::Types::Model + field :rotation_type, -> { Auth0::Types::RefreshTokenRotationTypeEnum }, optional: false, nullable: false + + field :expiration_type, -> { Auth0::Types::RefreshTokenExpirationTypeEnum }, optional: false, nullable: false + + field :leeway, -> { Integer }, optional: true, nullable: false + + field :token_lifetime, -> { Integer }, optional: true, nullable: false + + field :infinite_token_lifetime, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :idle_token_lifetime, -> { Integer }, optional: true, nullable: false + + field :infinite_idle_token_lifetime, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :policies, -> { Internal::Types::Array[Auth0::Types::ClientRefreshTokenPolicy] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/client_refresh_token_policy.rb b/lib/auth0/types/client_refresh_token_policy.rb new file mode 100644 index 000000000..6385f3e27 --- /dev/null +++ b/lib/auth0/types/client_refresh_token_policy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ClientRefreshTokenPolicy < Internal::Types::Model + field :audience, -> { String }, optional: false, nullable: false + + field :scope, -> { Internal::Types::Array[String] }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/client_session_transfer_allowed_authentication_methods_enum.rb b/lib/auth0/types/client_session_transfer_allowed_authentication_methods_enum.rb new file mode 100644 index 000000000..6f3cd473b --- /dev/null +++ b/lib/auth0/types/client_session_transfer_allowed_authentication_methods_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ClientSessionTransferAllowedAuthenticationMethodsEnum + extend Auth0::Internal::Types::Enum + + COOKIE = "cookie" + QUERY = "query" + end + end +end diff --git a/lib/auth0/types/client_session_transfer_configuration.rb b/lib/auth0/types/client_session_transfer_configuration.rb new file mode 100644 index 000000000..d2b6aa6d2 --- /dev/null +++ b/lib/auth0/types/client_session_transfer_configuration.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Native to Web SSO Configuration + class ClientSessionTransferConfiguration < Internal::Types::Model + field :can_create_session_transfer_token, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :enforce_cascade_revocation, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :allowed_authentication_methods, -> { Internal::Types::Array[Auth0::Types::ClientSessionTransferAllowedAuthenticationMethodsEnum] }, optional: true, nullable: false + + field :enforce_device_binding, -> { Auth0::Types::ClientSessionTransferDeviceBindingEnum }, optional: true, nullable: false + + field :allow_refresh_token, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :enforce_online_refresh_tokens, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :delegation, -> { Auth0::Types::ClientSessionTransferDelegationConfiguration }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/client_session_transfer_delegation_configuration.rb b/lib/auth0/types/client_session_transfer_delegation_configuration.rb new file mode 100644 index 000000000..2f552fa4d --- /dev/null +++ b/lib/auth0/types/client_session_transfer_delegation_configuration.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configuration for delegation (impersonation) access using Session Transfer Tokens + class ClientSessionTransferDelegationConfiguration < Internal::Types::Model + field :allow_delegated_access, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :enforce_device_binding, -> { Auth0::Types::ClientSessionTransferDelegationDeviceBindingEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/client_session_transfer_delegation_device_binding_enum.rb b/lib/auth0/types/client_session_transfer_delegation_device_binding_enum.rb new file mode 100644 index 000000000..41013bd63 --- /dev/null +++ b/lib/auth0/types/client_session_transfer_delegation_device_binding_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ClientSessionTransferDelegationDeviceBindingEnum + extend Auth0::Internal::Types::Enum + + IP = "ip" + end + end +end diff --git a/lib/auth0/types/client_session_transfer_device_binding_enum.rb b/lib/auth0/types/client_session_transfer_device_binding_enum.rb new file mode 100644 index 000000000..86a0aa7c5 --- /dev/null +++ b/lib/auth0/types/client_session_transfer_device_binding_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ClientSessionTransferDeviceBindingEnum + extend Auth0::Internal::Types::Enum + + IP = "ip" + ASN = "asn" + NONE = "none" + end + end +end diff --git a/lib/auth0/types/client_signed_request_object_with_credential_id.rb b/lib/auth0/types/client_signed_request_object_with_credential_id.rb new file mode 100644 index 000000000..405f7d736 --- /dev/null +++ b/lib/auth0/types/client_signed_request_object_with_credential_id.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # JWT-secured Authorization Requests (JAR) settings. + class ClientSignedRequestObjectWithCredentialID < Internal::Types::Model + field :required, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :credentials, -> { Internal::Types::Array[Auth0::Types::CredentialID] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/client_signed_request_object_with_public_key.rb b/lib/auth0/types/client_signed_request_object_with_public_key.rb new file mode 100644 index 000000000..6bf842527 --- /dev/null +++ b/lib/auth0/types/client_signed_request_object_with_public_key.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # JWT-secured Authorization Requests (JAR) settings. + class ClientSignedRequestObjectWithPublicKey < Internal::Types::Model + field :required, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :credentials, -> { Internal::Types::Array[Auth0::Types::PublicKeyCredential] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/client_signing_key.rb b/lib/auth0/types/client_signing_key.rb new file mode 100644 index 000000000..95b7dc73b --- /dev/null +++ b/lib/auth0/types/client_signing_key.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ClientSigningKey < Internal::Types::Model + field :pkcs7, -> { String }, optional: true, nullable: false + + field :cert, -> { String }, optional: true, nullable: false + + field :subject, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/client_signing_keys.rb b/lib/auth0/types/client_signing_keys.rb new file mode 100644 index 000000000..4ea8ae4f1 --- /dev/null +++ b/lib/auth0/types/client_signing_keys.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ClientSigningKeys + # ClientSigningKeys is an alias for Object + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/client_third_party_security_mode_enum.rb b/lib/auth0/types/client_third_party_security_mode_enum.rb new file mode 100644 index 000000000..97301c1a6 --- /dev/null +++ b/lib/auth0/types/client_third_party_security_mode_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ClientThirdPartySecurityModeEnum + extend Auth0::Internal::Types::Enum + + STRICT = "strict" + PERMISSIVE = "permissive" + end + end +end diff --git a/lib/auth0/types/client_token_endpoint_auth_method_enum.rb b/lib/auth0/types/client_token_endpoint_auth_method_enum.rb new file mode 100644 index 000000000..08ef4a067 --- /dev/null +++ b/lib/auth0/types/client_token_endpoint_auth_method_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ClientTokenEndpointAuthMethodEnum + extend Auth0::Internal::Types::Enum + + NONE = "none" + CLIENT_SECRET_POST = "client_secret_post" + CLIENT_SECRET_BASIC = "client_secret_basic" + end + end +end diff --git a/lib/auth0/types/client_token_endpoint_auth_method_or_null_enum.rb b/lib/auth0/types/client_token_endpoint_auth_method_or_null_enum.rb new file mode 100644 index 000000000..989ffc81f --- /dev/null +++ b/lib/auth0/types/client_token_endpoint_auth_method_or_null_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ClientTokenEndpointAuthMethodOrNullEnum + extend Auth0::Internal::Types::Enum + + NONE = "none" + CLIENT_SECRET_POST = "client_secret_post" + CLIENT_SECRET_BASIC = "client_secret_basic" + end + end +end diff --git a/lib/auth0/types/client_token_exchange_configuration.rb b/lib/auth0/types/client_token_exchange_configuration.rb new file mode 100644 index 000000000..3d91656d6 --- /dev/null +++ b/lib/auth0/types/client_token_exchange_configuration.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configuration for token exchange. + class ClientTokenExchangeConfiguration < Internal::Types::Model + field :allow_any_profile_of_type, -> { Internal::Types::Array[Auth0::Types::ClientTokenExchangeTypeEnum] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/client_token_exchange_configuration_or_null.rb b/lib/auth0/types/client_token_exchange_configuration_or_null.rb new file mode 100644 index 000000000..32acccaa5 --- /dev/null +++ b/lib/auth0/types/client_token_exchange_configuration_or_null.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configuration for token exchange. + class ClientTokenExchangeConfigurationOrNull < Internal::Types::Model + field :allow_any_profile_of_type, -> { Internal::Types::Array[Auth0::Types::ClientTokenExchangeTypeEnum] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/client_token_exchange_type_enum.rb b/lib/auth0/types/client_token_exchange_type_enum.rb new file mode 100644 index 000000000..cdc8aa64e --- /dev/null +++ b/lib/auth0/types/client_token_exchange_type_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ClientTokenExchangeTypeEnum + extend Auth0::Internal::Types::Enum + + CUSTOM_AUTHENTICATION = "custom_authentication" + ON_BEHALF_OF_TOKEN_EXCHANGE = "on_behalf_of_token_exchange" + end + end +end diff --git a/lib/auth0/types/client_token_vault_privileged_access_with_credential_id.rb b/lib/auth0/types/client_token_vault_privileged_access_with_credential_id.rb new file mode 100644 index 000000000..52f01949c --- /dev/null +++ b/lib/auth0/types/client_token_vault_privileged_access_with_credential_id.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Settings for Token Vault Privileged Access. + class ClientTokenVaultPrivilegedAccessWithCredentialID < Internal::Types::Model + field :credentials, -> { Internal::Types::Array[Auth0::Types::CredentialID] }, optional: false, nullable: false + + field :ip_allowlist, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :grants, -> { Internal::Types::Array[Auth0::Types::TokenVaultPrivilegedAccessGrant] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/client_token_vault_privileged_access_with_public_key.rb b/lib/auth0/types/client_token_vault_privileged_access_with_public_key.rb new file mode 100644 index 000000000..a06ecd6a0 --- /dev/null +++ b/lib/auth0/types/client_token_vault_privileged_access_with_public_key.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Settings for Token Vault Privileged Access. + class ClientTokenVaultPrivilegedAccessWithPublicKey < Internal::Types::Model + field :credentials, -> { Internal::Types::Array[Auth0::Types::PublicKeyCredential] }, optional: false, nullable: false + + field :ip_allowlist, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :grants, -> { Internal::Types::Array[Auth0::Types::TokenVaultPrivilegedAccessGrant] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/conflict_schema.rb b/lib/auth0/types/conflict_schema.rb new file mode 100644 index 000000000..7ea94b9b3 --- /dev/null +++ b/lib/auth0/types/conflict_schema.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Conflict + class ConflictSchema < Internal::Types::Model + field :message, -> { String }, optional: false, nullable: false + + field :status_code, -> { String }, optional: false, nullable: false, api_name: "statusCode" + + field :error, -> { Auth0::Types::ConflictSchemaError }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/conflict_schema_error.rb b/lib/auth0/types/conflict_schema_error.rb new file mode 100644 index 000000000..2376e460f --- /dev/null +++ b/lib/auth0/types/conflict_schema_error.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConflictSchemaError + extend Auth0::Internal::Types::Enum + + CONFLICT = "Conflict" + end + end +end diff --git a/lib/auth0/types/connected_account.rb b/lib/auth0/types/connected_account.rb new file mode 100644 index 000000000..126e855ba --- /dev/null +++ b/lib/auth0/types/connected_account.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ConnectedAccount < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :connection, -> { String }, optional: false, nullable: false + + field :connection_id, -> { String }, optional: false, nullable: false + + field :strategy, -> { String }, optional: false, nullable: false + + field :access_type, -> { Auth0::Types::ConnectedAccountAccessTypeEnum }, optional: false, nullable: false + + field :scopes, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :created_at, -> { String }, optional: false, nullable: false + + field :expires_at, -> { String }, optional: true, nullable: false + + field :organization_id, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connected_account_access_type_enum.rb b/lib/auth0/types/connected_account_access_type_enum.rb new file mode 100644 index 000000000..fcb4f3203 --- /dev/null +++ b/lib/auth0/types/connected_account_access_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectedAccountAccessTypeEnum + extend Auth0::Internal::Types::Enum + + OFFLINE = "offline" + end + end +end diff --git a/lib/auth0/types/connection_access_token_urlo_auth1.rb b/lib/auth0/types/connection_access_token_urlo_auth1.rb new file mode 100644 index 000000000..d46692605 --- /dev/null +++ b/lib/auth0/types/connection_access_token_urlo_auth1.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionAccessTokenUrloAuth1 + # ConnectionAccessTokenUrloAuth1 is an alias for ConnectionHttpsUrlWithHttpFallback255 + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_acr_values_supported.rb b/lib/auth0/types/connection_acr_values_supported.rb new file mode 100644 index 000000000..ee2a5bbf3 --- /dev/null +++ b/lib/auth0/types/connection_acr_values_supported.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionAcrValuesSupported + # ConnectionAcrValuesSupported is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_admin_access_token_expires_in_google_apps.rb b/lib/auth0/types/connection_admin_access_token_expires_in_google_apps.rb new file mode 100644 index 000000000..432f9afc3 --- /dev/null +++ b/lib/auth0/types/connection_admin_access_token_expires_in_google_apps.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionAdminAccessTokenExpiresInGoogleApps + # ConnectionAdminAccessTokenExpiresInGoogleApps is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_admin_access_token_google_apps.rb b/lib/auth0/types/connection_admin_access_token_google_apps.rb new file mode 100644 index 000000000..6dc8af036 --- /dev/null +++ b/lib/auth0/types/connection_admin_access_token_google_apps.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionAdminAccessTokenGoogleApps + # ConnectionAdminAccessTokenGoogleApps is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_admin_refresh_token_google_apps.rb b/lib/auth0/types/connection_admin_refresh_token_google_apps.rb new file mode 100644 index 000000000..19a676f3d --- /dev/null +++ b/lib/auth0/types/connection_admin_refresh_token_google_apps.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionAdminRefreshTokenGoogleApps + # ConnectionAdminRefreshTokenGoogleApps is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_agent_ipad.rb b/lib/auth0/types/connection_agent_ipad.rb new file mode 100644 index 000000000..d3c30c471 --- /dev/null +++ b/lib/auth0/types/connection_agent_ipad.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionAgentIpad + # ConnectionAgentIpad is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_agent_mode_ad.rb b/lib/auth0/types/connection_agent_mode_ad.rb new file mode 100644 index 000000000..8a2a671d7 --- /dev/null +++ b/lib/auth0/types/connection_agent_mode_ad.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionAgentModeAd + # ConnectionAgentModeAd is an alias for Boolean + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_agent_version_ad.rb b/lib/auth0/types/connection_agent_version_ad.rb new file mode 100644 index 000000000..4f07beca6 --- /dev/null +++ b/lib/auth0/types/connection_agent_version_ad.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionAgentVersionAd + # ConnectionAgentVersionAd is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_allowed_audiences_google_o_auth2.rb b/lib/auth0/types/connection_allowed_audiences_google_o_auth2.rb new file mode 100644 index 000000000..ddb271328 --- /dev/null +++ b/lib/auth0/types/connection_allowed_audiences_google_o_auth2.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionAllowedAudiencesGoogleOAuth2 + # ConnectionAllowedAudiencesGoogleOAuth2 is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_api_behavior_enum.rb b/lib/auth0/types/connection_api_behavior_enum.rb new file mode 100644 index 000000000..5f2494743 --- /dev/null +++ b/lib/auth0/types/connection_api_behavior_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionAPIBehaviorEnum + extend Auth0::Internal::Types::Enum + + REQUIRED = "required" + OPTIONAL = "optional" + end + end +end diff --git a/lib/auth0/types/connection_api_enable_groups.rb b/lib/auth0/types/connection_api_enable_groups.rb new file mode 100644 index 000000000..59cd9e3df --- /dev/null +++ b/lib/auth0/types/connection_api_enable_groups.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionAPIEnableGroups + # ConnectionAPIEnableGroups is an alias for Boolean + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_api_enable_groups_google_apps.rb b/lib/auth0/types/connection_api_enable_groups_google_apps.rb new file mode 100644 index 000000000..3c571a5bb --- /dev/null +++ b/lib/auth0/types/connection_api_enable_groups_google_apps.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionAPIEnableGroupsGoogleApps + # ConnectionAPIEnableGroupsGoogleApps is an alias for ConnectionAPIEnableGroups + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_api_enable_users.rb b/lib/auth0/types/connection_api_enable_users.rb new file mode 100644 index 000000000..2a37dbd7c --- /dev/null +++ b/lib/auth0/types/connection_api_enable_users.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionAPIEnableUsers + # ConnectionAPIEnableUsers is an alias for Boolean + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_api_enable_users_google_apps.rb b/lib/auth0/types/connection_api_enable_users_google_apps.rb new file mode 100644 index 000000000..c516d772a --- /dev/null +++ b/lib/auth0/types/connection_api_enable_users_google_apps.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionAPIEnableUsersGoogleApps + # ConnectionAPIEnableUsersGoogleApps is an alias for ConnectionAPIEnableUsers + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_app_domain_azure_ad.rb b/lib/auth0/types/connection_app_domain_azure_ad.rb new file mode 100644 index 000000000..f64f94c5e --- /dev/null +++ b/lib/auth0/types/connection_app_domain_azure_ad.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionAppDomainAzureAd + # ConnectionAppDomainAzureAd is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_assertion_decryption_algorithm_profile_enum.rb b/lib/auth0/types/connection_assertion_decryption_algorithm_profile_enum.rb new file mode 100644 index 000000000..add18109c --- /dev/null +++ b/lib/auth0/types/connection_assertion_decryption_algorithm_profile_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionAssertionDecryptionAlgorithmProfileEnum + extend Auth0::Internal::Types::Enum + + V20261 = "v2026-1" + end + end +end diff --git a/lib/auth0/types/connection_assertion_decryption_settings.rb b/lib/auth0/types/connection_assertion_decryption_settings.rb new file mode 100644 index 000000000..a01105f2c --- /dev/null +++ b/lib/auth0/types/connection_assertion_decryption_settings.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Settings for SAML assertion decryption. + class ConnectionAssertionDecryptionSettings < Internal::Types::Model + field :algorithm_profile, -> { Auth0::Types::ConnectionAssertionDecryptionAlgorithmProfileEnum }, optional: false, nullable: false + + field :algorithm_exceptions, -> { Internal::Types::Array[String] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_attribute_map_attributes.rb b/lib/auth0/types/connection_attribute_map_attributes.rb new file mode 100644 index 000000000..3832b1104 --- /dev/null +++ b/lib/auth0/types/connection_attribute_map_attributes.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionAttributeMapAttributes + # ConnectionAttributeMapAttributes is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_attribute_map_oidc.rb b/lib/auth0/types/connection_attribute_map_oidc.rb new file mode 100644 index 000000000..66c0548ea --- /dev/null +++ b/lib/auth0/types/connection_attribute_map_oidc.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configuration for mapping claims from the identity provider to Auth0 user profile attributes. Allows customizing + # which IdP claims populate user fields and how they are transformed. + class ConnectionAttributeMapOidc < Internal::Types::Model + field :attributes, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :mapping_mode, -> { Auth0::Types::ConnectionMappingModeEnumOidc }, optional: true, nullable: false + + field :userinfo_scope, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_attribute_map_okta.rb b/lib/auth0/types/connection_attribute_map_okta.rb new file mode 100644 index 000000000..085f9b1bf --- /dev/null +++ b/lib/auth0/types/connection_attribute_map_okta.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Mapping of claims received from the identity provider (IdP) + class ConnectionAttributeMapOkta < Internal::Types::Model + field :attributes, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :mapping_mode, -> { Auth0::Types::ConnectionMappingModeEnumOkta }, optional: true, nullable: false + + field :userinfo_scope, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_attribute_map_userinfo_scope.rb b/lib/auth0/types/connection_attribute_map_userinfo_scope.rb new file mode 100644 index 000000000..e65ca1608 --- /dev/null +++ b/lib/auth0/types/connection_attribute_map_userinfo_scope.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionAttributeMapUserinfoScope + # ConnectionAttributeMapUserinfoScope is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_attributes.rb b/lib/auth0/types/connection_attributes.rb new file mode 100644 index 000000000..4030ed12f --- /dev/null +++ b/lib/auth0/types/connection_attributes.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Attribute configuration + class ConnectionAttributes < Internal::Types::Model + field :email, -> { Auth0::Types::EmailAttribute }, optional: true, nullable: false + + field :phone_number, -> { Auth0::Types::PhoneAttribute }, optional: true, nullable: false + + field :username, -> { Auth0::Types::UsernameAttribute }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_auth_params_additional_properties_o_auth2.rb b/lib/auth0/types/connection_auth_params_additional_properties_o_auth2.rb new file mode 100644 index 000000000..98c803aff --- /dev/null +++ b/lib/auth0/types/connection_auth_params_additional_properties_o_auth2.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionAuthParamsAdditionalPropertiesOAuth2 + # ConnectionAuthParamsAdditionalPropertiesOAuth2 is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_auth_params_email.rb b/lib/auth0/types/connection_auth_params_email.rb new file mode 100644 index 000000000..0e0c0d4e2 --- /dev/null +++ b/lib/auth0/types/connection_auth_params_email.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionAuthParamsEmail + # ConnectionAuthParamsEmail is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_auth_params_map.rb b/lib/auth0/types/connection_auth_params_map.rb new file mode 100644 index 000000000..4e56bb716 --- /dev/null +++ b/lib/auth0/types/connection_auth_params_map.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionAuthParamsMap + # ConnectionAuthParamsMap is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_auth_params_o_auth2.rb b/lib/auth0/types/connection_auth_params_o_auth2.rb new file mode 100644 index 000000000..c81ef2435 --- /dev/null +++ b/lib/auth0/types/connection_auth_params_o_auth2.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionAuthParamsOAuth2 + # ConnectionAuthParamsOAuth2 is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_authentication_methods.rb b/lib/auth0/types/connection_authentication_methods.rb new file mode 100644 index 000000000..34d4b5ae7 --- /dev/null +++ b/lib/auth0/types/connection_authentication_methods.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for enabling authentication methods. + class ConnectionAuthenticationMethods < Internal::Types::Model + field :password, -> { Auth0::Types::ConnectionPasswordAuthenticationMethod }, optional: true, nullable: false + + field :passkey, -> { Auth0::Types::ConnectionPasskeyAuthenticationMethod }, optional: true, nullable: false + + field :email_otp, -> { Auth0::Types::ConnectionEmailOtpAuthenticationMethod }, optional: true, nullable: false + + field :phone_otp, -> { Auth0::Types::ConnectionPhoneOtpAuthenticationMethod }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_authentication_purpose.rb b/lib/auth0/types/connection_authentication_purpose.rb new file mode 100644 index 000000000..d80cbd705 --- /dev/null +++ b/lib/auth0/types/connection_authentication_purpose.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configure the purpose of a connection to be used for authentication during login. + class ConnectionAuthenticationPurpose < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_authorization_endpoint.rb b/lib/auth0/types/connection_authorization_endpoint.rb new file mode 100644 index 000000000..2f36a037d --- /dev/null +++ b/lib/auth0/types/connection_authorization_endpoint.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionAuthorizationEndpoint + # ConnectionAuthorizationEndpoint is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_base_url_exact.rb b/lib/auth0/types/connection_base_url_exact.rb new file mode 100644 index 000000000..2962743dc --- /dev/null +++ b/lib/auth0/types/connection_base_url_exact.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionBaseURLExact + # ConnectionBaseURLExact is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_brute_force_protection.rb b/lib/auth0/types/connection_brute_force_protection.rb new file mode 100644 index 000000000..b5648860c --- /dev/null +++ b/lib/auth0/types/connection_brute_force_protection.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionBruteForceProtection + # ConnectionBruteForceProtection is an alias for Boolean + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_calculated_thumbprint_saml.rb b/lib/auth0/types/connection_calculated_thumbprint_saml.rb new file mode 100644 index 000000000..1c05ddc0a --- /dev/null +++ b/lib/auth0/types/connection_calculated_thumbprint_saml.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionCalculatedThumbprintSAML + # ConnectionCalculatedThumbprintSAML is an alias for ConnectionSha1Thumbprint + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_certs_ad.rb b/lib/auth0/types/connection_certs_ad.rb new file mode 100644 index 000000000..adf8baaa2 --- /dev/null +++ b/lib/auth0/types/connection_certs_ad.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionCertsAd + # ConnectionCertsAd is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_claim_types_supported.rb b/lib/auth0/types/connection_claim_types_supported.rb new file mode 100644 index 000000000..e0f340544 --- /dev/null +++ b/lib/auth0/types/connection_claim_types_supported.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionClaimTypesSupported + # ConnectionClaimTypesSupported is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_claims_locales_supported.rb b/lib/auth0/types/connection_claims_locales_supported.rb new file mode 100644 index 000000000..e7efeb991 --- /dev/null +++ b/lib/auth0/types/connection_claims_locales_supported.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionClaimsLocalesSupported + # ConnectionClaimsLocalesSupported is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_claims_parameter_supported.rb b/lib/auth0/types/connection_claims_parameter_supported.rb new file mode 100644 index 000000000..dc9f3f656 --- /dev/null +++ b/lib/auth0/types/connection_claims_parameter_supported.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionClaimsParameterSupported + # ConnectionClaimsParameterSupported is an alias for Boolean + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_claims_supported.rb b/lib/auth0/types/connection_claims_supported.rb new file mode 100644 index 000000000..856587834 --- /dev/null +++ b/lib/auth0/types/connection_claims_supported.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionClaimsSupported + # ConnectionClaimsSupported is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_client_id.rb b/lib/auth0/types/connection_client_id.rb new file mode 100644 index 000000000..e644f4f3e --- /dev/null +++ b/lib/auth0/types/connection_client_id.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionClientID + # ConnectionClientID is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_client_id_amazon.rb b/lib/auth0/types/connection_client_id_amazon.rb new file mode 100644 index 000000000..d884db65e --- /dev/null +++ b/lib/auth0/types/connection_client_id_amazon.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionClientIDAmazon + # ConnectionClientIDAmazon is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_client_id_azure_ad.rb b/lib/auth0/types/connection_client_id_azure_ad.rb new file mode 100644 index 000000000..fe577992f --- /dev/null +++ b/lib/auth0/types/connection_client_id_azure_ad.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionClientIDAzureAd + # ConnectionClientIDAzureAd is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_client_id_bitbucket.rb b/lib/auth0/types/connection_client_id_bitbucket.rb new file mode 100644 index 000000000..c34430735 --- /dev/null +++ b/lib/auth0/types/connection_client_id_bitbucket.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionClientIDBitbucket + # ConnectionClientIDBitbucket is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_client_id_exact.rb b/lib/auth0/types/connection_client_id_exact.rb new file mode 100644 index 000000000..3893a58e6 --- /dev/null +++ b/lib/auth0/types/connection_client_id_exact.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionClientIDExact + # ConnectionClientIDExact is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_client_id_facebook.rb b/lib/auth0/types/connection_client_id_facebook.rb new file mode 100644 index 000000000..f242b1b57 --- /dev/null +++ b/lib/auth0/types/connection_client_id_facebook.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionClientIDFacebook + # ConnectionClientIDFacebook is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_client_id_google_apps.rb b/lib/auth0/types/connection_client_id_google_apps.rb new file mode 100644 index 000000000..4435948a5 --- /dev/null +++ b/lib/auth0/types/connection_client_id_google_apps.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionClientIDGoogleApps + # ConnectionClientIDGoogleApps is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_client_id_google_o_auth2.rb b/lib/auth0/types/connection_client_id_google_o_auth2.rb new file mode 100644 index 000000000..392443bc8 --- /dev/null +++ b/lib/auth0/types/connection_client_id_google_o_auth2.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionClientIDGoogleOAuth2 + # ConnectionClientIDGoogleOAuth2 is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_client_id_line.rb b/lib/auth0/types/connection_client_id_line.rb new file mode 100644 index 000000000..1647fd5ab --- /dev/null +++ b/lib/auth0/types/connection_client_id_line.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionClientIDLine + # ConnectionClientIDLine is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_client_id_linkedin.rb b/lib/auth0/types/connection_client_id_linkedin.rb new file mode 100644 index 000000000..fad61f5f0 --- /dev/null +++ b/lib/auth0/types/connection_client_id_linkedin.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionClientIDLinkedin + # ConnectionClientIDLinkedin is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_client_id_o_auth1.rb b/lib/auth0/types/connection_client_id_o_auth1.rb new file mode 100644 index 000000000..e98a7343f --- /dev/null +++ b/lib/auth0/types/connection_client_id_o_auth1.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionClientIDOAuth1 + # ConnectionClientIDOAuth1 is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_client_id_o_auth2.rb b/lib/auth0/types/connection_client_id_o_auth2.rb new file mode 100644 index 000000000..b3e53fa7d --- /dev/null +++ b/lib/auth0/types/connection_client_id_o_auth2.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionClientIDOAuth2 + # ConnectionClientIDOAuth2 is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_client_id_oidc.rb b/lib/auth0/types/connection_client_id_oidc.rb new file mode 100644 index 000000000..a153498fa --- /dev/null +++ b/lib/auth0/types/connection_client_id_oidc.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionClientIDOidc + # ConnectionClientIDOidc is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_client_id_paypal.rb b/lib/auth0/types/connection_client_id_paypal.rb new file mode 100644 index 000000000..099f06a9c --- /dev/null +++ b/lib/auth0/types/connection_client_id_paypal.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionClientIDPaypal + # ConnectionClientIDPaypal is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_client_id_salesforce.rb b/lib/auth0/types/connection_client_id_salesforce.rb new file mode 100644 index 000000000..fec232008 --- /dev/null +++ b/lib/auth0/types/connection_client_id_salesforce.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionClientIDSalesforce + # ConnectionClientIDSalesforce is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_client_id_windows_live.rb b/lib/auth0/types/connection_client_id_windows_live.rb new file mode 100644 index 000000000..7f041680c --- /dev/null +++ b/lib/auth0/types/connection_client_id_windows_live.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionClientIDWindowsLive + # ConnectionClientIDWindowsLive is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_client_protocol_saml.rb b/lib/auth0/types/connection_client_protocol_saml.rb new file mode 100644 index 000000000..a8ff2c97c --- /dev/null +++ b/lib/auth0/types/connection_client_protocol_saml.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionClientProtocolSAML + # ConnectionClientProtocolSAML is an alias for ConnectionOptionsIdpInitiatedClientProtocolEnumSAML + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_client_secret.rb b/lib/auth0/types/connection_client_secret.rb new file mode 100644 index 000000000..bc7e2a2f9 --- /dev/null +++ b/lib/auth0/types/connection_client_secret.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionClientSecret + # ConnectionClientSecret is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_client_secret_amazon.rb b/lib/auth0/types/connection_client_secret_amazon.rb new file mode 100644 index 000000000..dc8786baa --- /dev/null +++ b/lib/auth0/types/connection_client_secret_amazon.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionClientSecretAmazon + # ConnectionClientSecretAmazon is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_client_secret_azure_ad.rb b/lib/auth0/types/connection_client_secret_azure_ad.rb new file mode 100644 index 000000000..82a5fa6f0 --- /dev/null +++ b/lib/auth0/types/connection_client_secret_azure_ad.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionClientSecretAzureAd + # ConnectionClientSecretAzureAd is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_client_secret_bitbucket.rb b/lib/auth0/types/connection_client_secret_bitbucket.rb new file mode 100644 index 000000000..361a3f609 --- /dev/null +++ b/lib/auth0/types/connection_client_secret_bitbucket.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionClientSecretBitbucket + # ConnectionClientSecretBitbucket is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_client_secret_exact.rb b/lib/auth0/types/connection_client_secret_exact.rb new file mode 100644 index 000000000..6df378cc4 --- /dev/null +++ b/lib/auth0/types/connection_client_secret_exact.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionClientSecretExact + # ConnectionClientSecretExact is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_client_secret_facebook.rb b/lib/auth0/types/connection_client_secret_facebook.rb new file mode 100644 index 000000000..f651381c0 --- /dev/null +++ b/lib/auth0/types/connection_client_secret_facebook.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionClientSecretFacebook + # ConnectionClientSecretFacebook is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_client_secret_google_apps.rb b/lib/auth0/types/connection_client_secret_google_apps.rb new file mode 100644 index 000000000..bcdd96555 --- /dev/null +++ b/lib/auth0/types/connection_client_secret_google_apps.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionClientSecretGoogleApps + # ConnectionClientSecretGoogleApps is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_client_secret_google_o_auth2.rb b/lib/auth0/types/connection_client_secret_google_o_auth2.rb new file mode 100644 index 000000000..0406b58c2 --- /dev/null +++ b/lib/auth0/types/connection_client_secret_google_o_auth2.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionClientSecretGoogleOAuth2 + # ConnectionClientSecretGoogleOAuth2 is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_client_secret_line.rb b/lib/auth0/types/connection_client_secret_line.rb new file mode 100644 index 000000000..a2c8b1fff --- /dev/null +++ b/lib/auth0/types/connection_client_secret_line.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionClientSecretLine + # ConnectionClientSecretLine is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_client_secret_linkedin.rb b/lib/auth0/types/connection_client_secret_linkedin.rb new file mode 100644 index 000000000..2ea4d166d --- /dev/null +++ b/lib/auth0/types/connection_client_secret_linkedin.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionClientSecretLinkedin + # ConnectionClientSecretLinkedin is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_client_secret_o_auth1.rb b/lib/auth0/types/connection_client_secret_o_auth1.rb new file mode 100644 index 000000000..2ccca344c --- /dev/null +++ b/lib/auth0/types/connection_client_secret_o_auth1.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionClientSecretOAuth1 + # ConnectionClientSecretOAuth1 is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_client_secret_o_auth2.rb b/lib/auth0/types/connection_client_secret_o_auth2.rb new file mode 100644 index 000000000..18d5b5c74 --- /dev/null +++ b/lib/auth0/types/connection_client_secret_o_auth2.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionClientSecretOAuth2 + # ConnectionClientSecretOAuth2 is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_client_secret_oidc.rb b/lib/auth0/types/connection_client_secret_oidc.rb new file mode 100644 index 000000000..5556762e4 --- /dev/null +++ b/lib/auth0/types/connection_client_secret_oidc.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionClientSecretOidc + # ConnectionClientSecretOidc is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_client_secret_paypal.rb b/lib/auth0/types/connection_client_secret_paypal.rb new file mode 100644 index 000000000..eff7c045c --- /dev/null +++ b/lib/auth0/types/connection_client_secret_paypal.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionClientSecretPaypal + # ConnectionClientSecretPaypal is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_client_secret_salesforce.rb b/lib/auth0/types/connection_client_secret_salesforce.rb new file mode 100644 index 000000000..1b7e1428d --- /dev/null +++ b/lib/auth0/types/connection_client_secret_salesforce.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionClientSecretSalesforce + # ConnectionClientSecretSalesforce is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_client_secret_windows_live.rb b/lib/auth0/types/connection_client_secret_windows_live.rb new file mode 100644 index 000000000..1cd477478 --- /dev/null +++ b/lib/auth0/types/connection_client_secret_windows_live.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionClientSecretWindowsLive + # ConnectionClientSecretWindowsLive is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_common.rb b/lib/auth0/types/connection_common.rb new file mode 100644 index 000000000..1488d2257 --- /dev/null +++ b/lib/auth0/types/connection_common.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ConnectionCommon < Internal::Types::Model + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_community_base_url_salesforce.rb b/lib/auth0/types/connection_community_base_url_salesforce.rb new file mode 100644 index 000000000..61bbe4e72 --- /dev/null +++ b/lib/auth0/types/connection_community_base_url_salesforce.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionCommunityBaseURLSalesforce + # ConnectionCommunityBaseURLSalesforce is an alias for ConnectionHttpsUrlWithHttpFallback + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_configuration.rb b/lib/auth0/types/connection_configuration.rb new file mode 100644 index 000000000..128735cf5 --- /dev/null +++ b/lib/auth0/types/connection_configuration.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionConfiguration + # ConnectionConfiguration is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_connected_accounts_purpose.rb b/lib/auth0/types/connection_connected_accounts_purpose.rb new file mode 100644 index 000000000..61dd1a701 --- /dev/null +++ b/lib/auth0/types/connection_connected_accounts_purpose.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configure the purpose of a connection to be used for connected accounts and Token Vault. + class ConnectionConnectedAccountsPurpose < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + + field :cross_app_access, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :allow_missing_user_id, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_connected_accounts_purpose_xaa.rb b/lib/auth0/types/connection_connected_accounts_purpose_xaa.rb new file mode 100644 index 000000000..5fb372cc3 --- /dev/null +++ b/lib/auth0/types/connection_connected_accounts_purpose_xaa.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configure the purpose of a connection to be used for connected accounts and Token Vault. + class ConnectionConnectedAccountsPurposeXaa < Internal::Types::Model + field :cross_app_access, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + + field :allow_missing_user_id, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_connection_settings.rb b/lib/auth0/types/connection_connection_settings.rb new file mode 100644 index 000000000..2c1cd5073 --- /dev/null +++ b/lib/auth0/types/connection_connection_settings.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # OAuth 2.0 PKCE (Proof Key for Code Exchange) settings. PKCE enhances security for public clients by preventing + # authorization code interception attacks. 'auto' (recommended) uses the strongest method supported by the IdP. + class ConnectionConnectionSettings < Internal::Types::Model + field :pkce, -> { Auth0::Types::ConnectionConnectionSettingsPkceEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_connection_settings_pkce_enum.rb b/lib/auth0/types/connection_connection_settings_pkce_enum.rb new file mode 100644 index 000000000..2470b1007 --- /dev/null +++ b/lib/auth0/types/connection_connection_settings_pkce_enum.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionConnectionSettingsPkceEnum + extend Auth0::Internal::Types::Enum + + AUTO = "auto" + S256 = "S256" + PLAIN = "plain" + DISABLED = "disabled" + end + end +end diff --git a/lib/auth0/types/connection_cross_app_access_resource_app.rb b/lib/auth0/types/connection_cross_app_access_resource_app.rb new file mode 100644 index 000000000..8e06f5fd2 --- /dev/null +++ b/lib/auth0/types/connection_cross_app_access_resource_app.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Cross App Access - Resource App settings that apply to this connection. + class ConnectionCrossAppAccessResourceApp < Internal::Types::Model + field :status, -> { Auth0::Types::ConnectionCrossAppAccessResourceAppStatusEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_cross_app_access_resource_app_status_enum.rb b/lib/auth0/types/connection_cross_app_access_resource_app_status_enum.rb new file mode 100644 index 000000000..e6b3326e2 --- /dev/null +++ b/lib/auth0/types/connection_cross_app_access_resource_app_status_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionCrossAppAccessResourceAppStatusEnum + extend Auth0::Internal::Types::Enum + + DISABLED = "disabled" + ENABLED = "enabled" + end + end +end diff --git a/lib/auth0/types/connection_custom_headers_o_auth2.rb b/lib/auth0/types/connection_custom_headers_o_auth2.rb new file mode 100644 index 000000000..386cef637 --- /dev/null +++ b/lib/auth0/types/connection_custom_headers_o_auth2.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionCustomHeadersOAuth2 + # ConnectionCustomHeadersOAuth2 is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_custom_scripts.rb b/lib/auth0/types/connection_custom_scripts.rb new file mode 100644 index 000000000..acb709911 --- /dev/null +++ b/lib/auth0/types/connection_custom_scripts.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # A map of scripts used to integrate with a custom database. + class ConnectionCustomScripts < Internal::Types::Model + field :login, -> { String }, optional: true, nullable: false + + field :get_user, -> { String }, optional: true, nullable: false + + field :delete, -> { String }, optional: true, nullable: false + + field :change_password, -> { String }, optional: true, nullable: false + + field :verify, -> { String }, optional: true, nullable: false + + field :create, -> { String }, optional: true, nullable: false + + field :change_username, -> { String }, optional: true, nullable: false + + field :change_email, -> { String }, optional: true, nullable: false + + field :change_phone_number, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_debug_saml.rb b/lib/auth0/types/connection_debug_saml.rb new file mode 100644 index 000000000..e9cd639ce --- /dev/null +++ b/lib/auth0/types/connection_debug_saml.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionDebugSAML + # ConnectionDebugSAML is an alias for Boolean + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_decryption_key_saml.rb b/lib/auth0/types/connection_decryption_key_saml.rb new file mode 100644 index 000000000..79374cff3 --- /dev/null +++ b/lib/auth0/types/connection_decryption_key_saml.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Private key used to decrypt encrypted SAML Assertions received from the identity provider. Required when the + # identity provider encrypts assertions for enhanced security. Can be a string (PEM) or an object with key-value + # pairs. + class ConnectionDecryptionKeySAML < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::ConnectionDecryptionKeySAMLCert } + + member -> { String } + end + end +end diff --git a/lib/auth0/types/connection_decryption_key_saml_cert.rb b/lib/auth0/types/connection_decryption_key_saml_cert.rb new file mode 100644 index 000000000..96023cee1 --- /dev/null +++ b/lib/auth0/types/connection_decryption_key_saml_cert.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Key pair with 'key' and 'cert' properties. + class ConnectionDecryptionKeySAMLCert < Internal::Types::Model + field :cert, -> { String }, optional: true, nullable: false + + field :key, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_destination_url_saml.rb b/lib/auth0/types/connection_destination_url_saml.rb new file mode 100644 index 000000000..0d87b02df --- /dev/null +++ b/lib/auth0/types/connection_destination_url_saml.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionDestinationUrlSaml + # ConnectionDestinationUrlSaml is an alias for ConnectionHttpsUrlWithHttpFallback255 + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_digest_algorithm_enum_saml.rb b/lib/auth0/types/connection_digest_algorithm_enum_saml.rb new file mode 100644 index 000000000..9c075d677 --- /dev/null +++ b/lib/auth0/types/connection_digest_algorithm_enum_saml.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionDigestAlgorithmEnumSAML + extend Auth0::Internal::Types::Enum + + SHA1 = "sha1" + SHA256 = "sha256" + end + end +end diff --git a/lib/auth0/types/connection_digest_algorithm_saml.rb b/lib/auth0/types/connection_digest_algorithm_saml.rb new file mode 100644 index 000000000..d48c438d1 --- /dev/null +++ b/lib/auth0/types/connection_digest_algorithm_saml.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionDigestAlgorithmSAML + # ConnectionDigestAlgorithmSAML is an alias for ConnectionDigestAlgorithmEnumSAML + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_disable_self_service_change_password.rb b/lib/auth0/types/connection_disable_self_service_change_password.rb new file mode 100644 index 000000000..9c7135b8a --- /dev/null +++ b/lib/auth0/types/connection_disable_self_service_change_password.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionDisableSelfServiceChangePassword + # ConnectionDisableSelfServiceChangePassword is an alias for Boolean + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_disable_signup.rb b/lib/auth0/types/connection_disable_signup.rb new file mode 100644 index 000000000..dcafcd085 --- /dev/null +++ b/lib/auth0/types/connection_disable_signup.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionDisableSignup + # ConnectionDisableSignup is an alias for Boolean + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_disable_signup_sms.rb b/lib/auth0/types/connection_disable_signup_sms.rb new file mode 100644 index 000000000..33ab74132 --- /dev/null +++ b/lib/auth0/types/connection_disable_signup_sms.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionDisableSignupSms + # ConnectionDisableSignupSms is an alias for ConnectionDisableSignup + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_discovery_url.rb b/lib/auth0/types/connection_discovery_url.rb new file mode 100644 index 000000000..0b96d8d35 --- /dev/null +++ b/lib/auth0/types/connection_discovery_url.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionDiscoveryURL + # ConnectionDiscoveryURL is an alias for ConnectionHttpsUrlWithHttpFallback255 + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_display_name.rb b/lib/auth0/types/connection_display_name.rb new file mode 100644 index 000000000..94f5c8586 --- /dev/null +++ b/lib/auth0/types/connection_display_name.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionDisplayName + # ConnectionDisplayName is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_display_values_supported.rb b/lib/auth0/types/connection_display_values_supported.rb new file mode 100644 index 000000000..6a9fa466b --- /dev/null +++ b/lib/auth0/types/connection_display_values_supported.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionDisplayValuesSupported + # ConnectionDisplayValuesSupported is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_domain_aliases.rb b/lib/auth0/types/connection_domain_aliases.rb new file mode 100644 index 000000000..d2eb09828 --- /dev/null +++ b/lib/auth0/types/connection_domain_aliases.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionDomainAliases + # ConnectionDomainAliases is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_domain_aliases_ad.rb b/lib/auth0/types/connection_domain_aliases_ad.rb new file mode 100644 index 000000000..d09eb2cd7 --- /dev/null +++ b/lib/auth0/types/connection_domain_aliases_ad.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionDomainAliasesAd + # ConnectionDomainAliasesAd is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_domain_aliases_azure_ad.rb b/lib/auth0/types/connection_domain_aliases_azure_ad.rb new file mode 100644 index 000000000..53bb0bba0 --- /dev/null +++ b/lib/auth0/types/connection_domain_aliases_azure_ad.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionDomainAliasesAzureAd + # ConnectionDomainAliasesAzureAd is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_domain_aliases_items_one.rb b/lib/auth0/types/connection_domain_aliases_items_one.rb new file mode 100644 index 000000000..d4e8ae16a --- /dev/null +++ b/lib/auth0/types/connection_domain_aliases_items_one.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionDomainAliasesItemsOne + # ConnectionDomainAliasesItemsOne is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_domain_aliases_saml.rb b/lib/auth0/types/connection_domain_aliases_saml.rb new file mode 100644 index 000000000..2c129005a --- /dev/null +++ b/lib/auth0/types/connection_domain_aliases_saml.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionDomainAliasesSAML + # ConnectionDomainAliasesSAML is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_domain_google_apps.rb b/lib/auth0/types/connection_domain_google_apps.rb new file mode 100644 index 000000000..326e85e89 --- /dev/null +++ b/lib/auth0/types/connection_domain_google_apps.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionDomainGoogleApps + # ConnectionDomainGoogleApps is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_domain_okta.rb b/lib/auth0/types/connection_domain_okta.rb new file mode 100644 index 000000000..3f52daee8 --- /dev/null +++ b/lib/auth0/types/connection_domain_okta.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionDomainOkta + # ConnectionDomainOkta is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_dpop_signing_alg_enum.rb b/lib/auth0/types/connection_dpop_signing_alg_enum.rb new file mode 100644 index 000000000..b820d8f1a --- /dev/null +++ b/lib/auth0/types/connection_dpop_signing_alg_enum.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionDpopSigningAlgEnum + extend Auth0::Internal::Types::Enum + + ES256 = "ES256" + ES384 = "ES384" + ES512 = "ES512" + ED25519 = "Ed25519" + end + end +end diff --git a/lib/auth0/types/connection_dpop_signing_alg_values_supported.rb b/lib/auth0/types/connection_dpop_signing_alg_values_supported.rb new file mode 100644 index 000000000..00f355cce --- /dev/null +++ b/lib/auth0/types/connection_dpop_signing_alg_values_supported.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionDpopSigningAlgValuesSupported + # ConnectionDpopSigningAlgValuesSupported is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_email_body_email.rb b/lib/auth0/types/connection_email_body_email.rb new file mode 100644 index 000000000..c6a14159b --- /dev/null +++ b/lib/auth0/types/connection_email_body_email.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionEmailBodyEmail + # ConnectionEmailBodyEmail is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_email_email.rb b/lib/auth0/types/connection_email_email.rb new file mode 100644 index 000000000..a0ff46560 --- /dev/null +++ b/lib/auth0/types/connection_email_email.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Email template configuration + class ConnectionEmailEmail < Internal::Types::Model + field :body, -> { String }, optional: true, nullable: false + + field :from, -> { String }, optional: true, nullable: false + + field :subject, -> { String }, optional: true, nullable: false + + field :syntax, -> { Auth0::Types::ConnectionEmailEmailSyntax }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_email_email_syntax.rb b/lib/auth0/types/connection_email_email_syntax.rb new file mode 100644 index 000000000..72c860800 --- /dev/null +++ b/lib/auth0/types/connection_email_email_syntax.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionEmailEmailSyntax + extend Auth0::Internal::Types::Enum + + LIQUID = "liquid" + end + end +end diff --git a/lib/auth0/types/connection_email_from_email.rb b/lib/auth0/types/connection_email_from_email.rb new file mode 100644 index 000000000..502fd1d19 --- /dev/null +++ b/lib/auth0/types/connection_email_from_email.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionEmailFromEmail + # ConnectionEmailFromEmail is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_email_otp_authentication_method.rb b/lib/auth0/types/connection_email_otp_authentication_method.rb new file mode 100644 index 000000000..bb8e2a040 --- /dev/null +++ b/lib/auth0/types/connection_email_otp_authentication_method.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Email OTP authentication enablement + class ConnectionEmailOtpAuthenticationMethod < Internal::Types::Model + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_email_subject_email.rb b/lib/auth0/types/connection_email_subject_email.rb new file mode 100644 index 000000000..26b516e66 --- /dev/null +++ b/lib/auth0/types/connection_email_subject_email.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionEmailSubjectEmail + # ConnectionEmailSubjectEmail is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_enable_script_context.rb b/lib/auth0/types/connection_enable_script_context.rb new file mode 100644 index 000000000..a291eeaaf --- /dev/null +++ b/lib/auth0/types/connection_enable_script_context.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionEnableScriptContext + # ConnectionEnableScriptContext is an alias for Boolean + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_enabled_client.rb b/lib/auth0/types/connection_enabled_client.rb new file mode 100644 index 000000000..a80e7615f --- /dev/null +++ b/lib/auth0/types/connection_enabled_client.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ConnectionEnabledClient < Internal::Types::Model + field :client_id, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_enabled_clients.rb b/lib/auth0/types/connection_enabled_clients.rb new file mode 100644 index 000000000..3c30e79ee --- /dev/null +++ b/lib/auth0/types/connection_enabled_clients.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionEnabledClients + # ConnectionEnabledClients is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_enabled_database_customization.rb b/lib/auth0/types/connection_enabled_database_customization.rb new file mode 100644 index 000000000..fc08c17a2 --- /dev/null +++ b/lib/auth0/types/connection_enabled_database_customization.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionEnabledDatabaseCustomization + # ConnectionEnabledDatabaseCustomization is an alias for Boolean + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_end_session_endpoint.rb b/lib/auth0/types/connection_end_session_endpoint.rb new file mode 100644 index 000000000..e1646c0f6 --- /dev/null +++ b/lib/auth0/types/connection_end_session_endpoint.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionEndSessionEndpoint + # ConnectionEndSessionEndpoint is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_entity_id_saml.rb b/lib/auth0/types/connection_entity_id_saml.rb new file mode 100644 index 000000000..26665d4e1 --- /dev/null +++ b/lib/auth0/types/connection_entity_id_saml.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionEntityIdSaml + # ConnectionEntityIdSaml is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_ext_admin.rb b/lib/auth0/types/connection_ext_admin.rb new file mode 100644 index 000000000..b0bf90ae6 --- /dev/null +++ b/lib/auth0/types/connection_ext_admin.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionExtAdmin + # ConnectionExtAdmin is an alias for Boolean + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_ext_agreed_terms.rb b/lib/auth0/types/connection_ext_agreed_terms.rb new file mode 100644 index 000000000..409b9f35c --- /dev/null +++ b/lib/auth0/types/connection_ext_agreed_terms.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionExtAgreedTerms + # ConnectionExtAgreedTerms is an alias for Boolean + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_ext_agreed_terms_google_apps.rb b/lib/auth0/types/connection_ext_agreed_terms_google_apps.rb new file mode 100644 index 000000000..076b971e8 --- /dev/null +++ b/lib/auth0/types/connection_ext_agreed_terms_google_apps.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionExtAgreedTermsGoogleApps + # ConnectionExtAgreedTermsGoogleApps is an alias for ConnectionExtAgreedTerms + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_ext_assigned_plans.rb b/lib/auth0/types/connection_ext_assigned_plans.rb new file mode 100644 index 000000000..5ede95bf7 --- /dev/null +++ b/lib/auth0/types/connection_ext_assigned_plans.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionExtAssignedPlans + # ConnectionExtAssignedPlans is an alias for Boolean + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_ext_groups.rb b/lib/auth0/types/connection_ext_groups.rb new file mode 100644 index 000000000..67d5a82d2 --- /dev/null +++ b/lib/auth0/types/connection_ext_groups.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionExtGroups + # ConnectionExtGroups is an alias for Boolean + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_ext_groups_azure_ad.rb b/lib/auth0/types/connection_ext_groups_azure_ad.rb new file mode 100644 index 000000000..ea4654001 --- /dev/null +++ b/lib/auth0/types/connection_ext_groups_azure_ad.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionExtGroupsAzureAd + # ConnectionExtGroupsAzureAd is an alias for ConnectionExtGroups + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_ext_groups_google_apps.rb b/lib/auth0/types/connection_ext_groups_google_apps.rb new file mode 100644 index 000000000..c5e9bdf2e --- /dev/null +++ b/lib/auth0/types/connection_ext_groups_google_apps.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionExtGroupsGoogleApps + # ConnectionExtGroupsGoogleApps is an alias for ConnectionExtGroups + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_ext_is_admin_google_apps.rb b/lib/auth0/types/connection_ext_is_admin_google_apps.rb new file mode 100644 index 000000000..0d11274f2 --- /dev/null +++ b/lib/auth0/types/connection_ext_is_admin_google_apps.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionExtIsAdminGoogleApps + # ConnectionExtIsAdminGoogleApps is an alias for ConnectionExtAdmin + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_ext_is_suspended.rb b/lib/auth0/types/connection_ext_is_suspended.rb new file mode 100644 index 000000000..522d86dbb --- /dev/null +++ b/lib/auth0/types/connection_ext_is_suspended.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionExtIsSuspended + # ConnectionExtIsSuspended is an alias for Boolean + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_ext_is_suspended_google_apps.rb b/lib/auth0/types/connection_ext_is_suspended_google_apps.rb new file mode 100644 index 000000000..7105acfc2 --- /dev/null +++ b/lib/auth0/types/connection_ext_is_suspended_google_apps.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionExtIsSuspendedGoogleApps + # ConnectionExtIsSuspendedGoogleApps is an alias for ConnectionExtIsSuspended + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_ext_profile.rb b/lib/auth0/types/connection_ext_profile.rb new file mode 100644 index 000000000..8b8e69212 --- /dev/null +++ b/lib/auth0/types/connection_ext_profile.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionExtProfile + # ConnectionExtProfile is an alias for Boolean + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_fields_map.rb b/lib/auth0/types/connection_fields_map.rb new file mode 100644 index 000000000..d7dcb5327 --- /dev/null +++ b/lib/auth0/types/connection_fields_map.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionFieldsMap + # ConnectionFieldsMap is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_fields_map_saml.rb b/lib/auth0/types/connection_fields_map_saml.rb new file mode 100644 index 000000000..581de23b3 --- /dev/null +++ b/lib/auth0/types/connection_fields_map_saml.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionFieldsMapSAML + # ConnectionFieldsMapSAML is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_fields_map_saml_value.rb b/lib/auth0/types/connection_fields_map_saml_value.rb new file mode 100644 index 000000000..ce60418d7 --- /dev/null +++ b/lib/auth0/types/connection_fields_map_saml_value.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ConnectionFieldsMapSAMLValue < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { String } + + member -> { Internal::Types::Array[String] } + end + end +end diff --git a/lib/auth0/types/connection_for_list.rb b/lib/auth0/types/connection_for_list.rb new file mode 100644 index 000000000..7975c625f --- /dev/null +++ b/lib/auth0/types/connection_for_list.rb @@ -0,0 +1,33 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ConnectionForList < Internal::Types::Model + field :name, -> { String }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :options, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :id, -> { String }, optional: true, nullable: false + + field :strategy, -> { String }, optional: true, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :cross_app_access_requesting_app, -> { Auth0::Types::CrossAppAccessRequestingApp }, optional: true, nullable: false + + field :cross_app_access_resource_app, -> { Auth0::Types::CrossAppAccessResourceApp }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_for_organization.rb b/lib/auth0/types/connection_for_organization.rb new file mode 100644 index 000000000..c98493f67 --- /dev/null +++ b/lib/auth0/types/connection_for_organization.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Connection to be added to the organization. + class ConnectionForOrganization < Internal::Types::Model + field :connection_id, -> { String }, optional: false, nullable: false + + field :assign_membership_on_login, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :is_signup_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_forward_req_info_sms.rb b/lib/auth0/types/connection_forward_req_info_sms.rb new file mode 100644 index 000000000..4627d3073 --- /dev/null +++ b/lib/auth0/types/connection_forward_req_info_sms.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionForwardReqInfoSms + # ConnectionForwardReqInfoSms is an alias for Boolean + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_freeform_scopes_amazon.rb b/lib/auth0/types/connection_freeform_scopes_amazon.rb new file mode 100644 index 000000000..8606b198c --- /dev/null +++ b/lib/auth0/types/connection_freeform_scopes_amazon.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionFreeformScopesAmazon + # ConnectionFreeformScopesAmazon is an alias for ConnectionScopeArray + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_freeform_scopes_google_o_auth2.rb b/lib/auth0/types/connection_freeform_scopes_google_o_auth2.rb new file mode 100644 index 000000000..26a6f95e8 --- /dev/null +++ b/lib/auth0/types/connection_freeform_scopes_google_o_auth2.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionFreeformScopesGoogleOAuth2 + # ConnectionFreeformScopesGoogleOAuth2 is an alias for ConnectionScopeArray + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_freeform_scopes_linkedin.rb b/lib/auth0/types/connection_freeform_scopes_linkedin.rb new file mode 100644 index 000000000..a484123f1 --- /dev/null +++ b/lib/auth0/types/connection_freeform_scopes_linkedin.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionFreeformScopesLinkedin + # ConnectionFreeformScopesLinkedin is an alias for ConnectionScopeArray + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_freeform_scopes_paypal.rb b/lib/auth0/types/connection_freeform_scopes_paypal.rb new file mode 100644 index 000000000..b4f962b9b --- /dev/null +++ b/lib/auth0/types/connection_freeform_scopes_paypal.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionFreeformScopesPaypal + # ConnectionFreeformScopesPaypal is an alias for ConnectionScopeArray + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_freeform_scopes_salesforce.rb b/lib/auth0/types/connection_freeform_scopes_salesforce.rb new file mode 100644 index 000000000..a07b2afcd --- /dev/null +++ b/lib/auth0/types/connection_freeform_scopes_salesforce.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionFreeformScopesSalesforce + # ConnectionFreeformScopesSalesforce is an alias for ConnectionScopeArray + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_freeform_scopes_windows_live.rb b/lib/auth0/types/connection_freeform_scopes_windows_live.rb new file mode 100644 index 000000000..fb896880a --- /dev/null +++ b/lib/auth0/types/connection_freeform_scopes_windows_live.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionFreeformScopesWindowsLive + # ConnectionFreeformScopesWindowsLive is an alias for ConnectionScopeArray + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_from_sms.rb b/lib/auth0/types/connection_from_sms.rb new file mode 100644 index 000000000..cf9838c9c --- /dev/null +++ b/lib/auth0/types/connection_from_sms.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionFromSms + # ConnectionFromSms is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_gateway_authentication.rb b/lib/auth0/types/connection_gateway_authentication.rb new file mode 100644 index 000000000..eb2865c82 --- /dev/null +++ b/lib/auth0/types/connection_gateway_authentication.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Token-based authentication settings to be applied when connection is using an sms strategy. + class ConnectionGatewayAuthentication < Internal::Types::Model + field :method_, -> { String }, optional: false, nullable: false, api_name: "method" + + field :subject, -> { String }, optional: true, nullable: false + + field :audience, -> { String }, optional: false, nullable: false + + field :secret, -> { String }, optional: false, nullable: false + + field :secret_base64encoded, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "secret_base64_encoded" + end + end +end diff --git a/lib/auth0/types/connection_gateway_authentication_audience_sms.rb b/lib/auth0/types/connection_gateway_authentication_audience_sms.rb new file mode 100644 index 000000000..c652c1797 --- /dev/null +++ b/lib/auth0/types/connection_gateway_authentication_audience_sms.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionGatewayAuthenticationAudienceSms + # ConnectionGatewayAuthenticationAudienceSms is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_gateway_authentication_method_sms.rb b/lib/auth0/types/connection_gateway_authentication_method_sms.rb new file mode 100644 index 000000000..d8c25c639 --- /dev/null +++ b/lib/auth0/types/connection_gateway_authentication_method_sms.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionGatewayAuthenticationMethodSms + # ConnectionGatewayAuthenticationMethodSms is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_gateway_authentication_sms.rb b/lib/auth0/types/connection_gateway_authentication_sms.rb new file mode 100644 index 000000000..c79337763 --- /dev/null +++ b/lib/auth0/types/connection_gateway_authentication_sms.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Optional token-based authentication configuration for the SMS gateway + class ConnectionGatewayAuthenticationSms < Internal::Types::Model + field :audience, -> { String }, optional: false, nullable: false + + field :method_, -> { String }, optional: false, nullable: false, api_name: "method" + + field :secret, -> { String }, optional: false, nullable: false + + field :secret_base64encoded, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "secret_base64_encoded" + + field :subject, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_gateway_authentication_subject_sms.rb b/lib/auth0/types/connection_gateway_authentication_subject_sms.rb new file mode 100644 index 000000000..db820ea4a --- /dev/null +++ b/lib/auth0/types/connection_gateway_authentication_subject_sms.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionGatewayAuthenticationSubjectSms + # ConnectionGatewayAuthenticationSubjectSms is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_gateway_url_sms.rb b/lib/auth0/types/connection_gateway_url_sms.rb new file mode 100644 index 000000000..2bb2db8b3 --- /dev/null +++ b/lib/auth0/types/connection_gateway_url_sms.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionGatewayURLSms + # ConnectionGatewayURLSms is an alias for ConnectionHttpsUrlWithHttpFallback255 + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_global_token_revocation_jwt_iss_saml.rb b/lib/auth0/types/connection_global_token_revocation_jwt_iss_saml.rb new file mode 100644 index 000000000..f019d8948 --- /dev/null +++ b/lib/auth0/types/connection_global_token_revocation_jwt_iss_saml.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionGlobalTokenRevocationJwtIssSAML + # ConnectionGlobalTokenRevocationJwtIssSAML is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_global_token_revocation_jwt_sub_saml.rb b/lib/auth0/types/connection_global_token_revocation_jwt_sub_saml.rb new file mode 100644 index 000000000..3a93711e6 --- /dev/null +++ b/lib/auth0/types/connection_global_token_revocation_jwt_sub_saml.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionGlobalTokenRevocationJwtSubSAML + # ConnectionGlobalTokenRevocationJwtSubSAML is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_grant_types_supported.rb b/lib/auth0/types/connection_grant_types_supported.rb new file mode 100644 index 000000000..7f7fe7bfc --- /dev/null +++ b/lib/auth0/types/connection_grant_types_supported.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionGrantTypesSupported + # ConnectionGrantTypesSupported is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_handle_login_from_social_google_apps.rb b/lib/auth0/types/connection_handle_login_from_social_google_apps.rb new file mode 100644 index 000000000..82d5e80d2 --- /dev/null +++ b/lib/auth0/types/connection_handle_login_from_social_google_apps.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionHandleLoginFromSocialGoogleApps + # ConnectionHandleLoginFromSocialGoogleApps is an alias for Boolean + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_https_url_with_http_fallback.rb b/lib/auth0/types/connection_https_url_with_http_fallback.rb new file mode 100644 index 000000000..b78b649c1 --- /dev/null +++ b/lib/auth0/types/connection_https_url_with_http_fallback.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionHttpsUrlWithHttpFallback + # ConnectionHttpsUrlWithHttpFallback is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_https_url_with_http_fallback2048.rb b/lib/auth0/types/connection_https_url_with_http_fallback2048.rb new file mode 100644 index 000000000..43cec144d --- /dev/null +++ b/lib/auth0/types/connection_https_url_with_http_fallback2048.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionHttpsUrlWithHttpFallback2048 + # ConnectionHttpsUrlWithHttpFallback2048 is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_https_url_with_http_fallback255.rb b/lib/auth0/types/connection_https_url_with_http_fallback255.rb new file mode 100644 index 000000000..c3d5c02e4 --- /dev/null +++ b/lib/auth0/types/connection_https_url_with_http_fallback255.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionHttpsUrlWithHttpFallback255 + # ConnectionHttpsUrlWithHttpFallback255 is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_icon_url.rb b/lib/auth0/types/connection_icon_url.rb new file mode 100644 index 000000000..16c7c83bc --- /dev/null +++ b/lib/auth0/types/connection_icon_url.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionIconURL + # ConnectionIconURL is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_icon_url_adfs.rb b/lib/auth0/types/connection_icon_url_adfs.rb new file mode 100644 index 000000000..a9b36ad29 --- /dev/null +++ b/lib/auth0/types/connection_icon_url_adfs.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionIconURLAdfs + # ConnectionIconURLAdfs is an alias for ConnectionIconURL + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_icon_url_azure_ad.rb b/lib/auth0/types/connection_icon_url_azure_ad.rb new file mode 100644 index 000000000..afc906cc6 --- /dev/null +++ b/lib/auth0/types/connection_icon_url_azure_ad.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionIconURLAzureAd + # ConnectionIconURLAzureAd is an alias for ConnectionIconURL + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_icon_url_google_apps.rb b/lib/auth0/types/connection_icon_url_google_apps.rb new file mode 100644 index 000000000..5bc992968 --- /dev/null +++ b/lib/auth0/types/connection_icon_url_google_apps.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionIconURLGoogleApps + # ConnectionIconURLGoogleApps is an alias for ConnectionIconURL + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_icon_url_google_o_auth2.rb b/lib/auth0/types/connection_icon_url_google_o_auth2.rb new file mode 100644 index 000000000..ff9dd2b4d --- /dev/null +++ b/lib/auth0/types/connection_icon_url_google_o_auth2.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionIconURLGoogleOAuth2 + # ConnectionIconURLGoogleOAuth2 is an alias for ConnectionIconURL + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_icon_url_saml.rb b/lib/auth0/types/connection_icon_url_saml.rb new file mode 100644 index 000000000..edbea6e00 --- /dev/null +++ b/lib/auth0/types/connection_icon_url_saml.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionIconUrlSaml + # ConnectionIconUrlSaml is an alias for ConnectionIconURL + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_id.rb b/lib/auth0/types/connection_id.rb new file mode 100644 index 000000000..bade0aac0 --- /dev/null +++ b/lib/auth0/types/connection_id.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionID + # ConnectionID is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_id_token_encryption_alg_values_supported.rb b/lib/auth0/types/connection_id_token_encryption_alg_values_supported.rb new file mode 100644 index 000000000..59718886e --- /dev/null +++ b/lib/auth0/types/connection_id_token_encryption_alg_values_supported.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionIDTokenEncryptionAlgValuesSupported + # ConnectionIDTokenEncryptionAlgValuesSupported is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_id_token_encryption_enc_values_supported.rb b/lib/auth0/types/connection_id_token_encryption_enc_values_supported.rb new file mode 100644 index 000000000..d4a902c5a --- /dev/null +++ b/lib/auth0/types/connection_id_token_encryption_enc_values_supported.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionIDTokenEncryptionEncValuesSupported + # ConnectionIDTokenEncryptionEncValuesSupported is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_id_token_session_expiry_supported.rb b/lib/auth0/types/connection_id_token_session_expiry_supported.rb new file mode 100644 index 000000000..0b44226b7 --- /dev/null +++ b/lib/auth0/types/connection_id_token_session_expiry_supported.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionIDTokenSessionExpirySupported + # ConnectionIDTokenSessionExpirySupported is an alias for Boolean + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_id_token_signed_response_alg_enum.rb b/lib/auth0/types/connection_id_token_signed_response_alg_enum.rb new file mode 100644 index 000000000..0f0366186 --- /dev/null +++ b/lib/auth0/types/connection_id_token_signed_response_alg_enum.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionIDTokenSignedResponseAlgEnum + extend Auth0::Internal::Types::Enum + + ES256 = "ES256" + ES384 = "ES384" + PS256 = "PS256" + PS384 = "PS384" + RS256 = "RS256" + RS384 = "RS384" + RS512 = "RS512" + end + end +end diff --git a/lib/auth0/types/connection_id_token_signed_response_algs.rb b/lib/auth0/types/connection_id_token_signed_response_algs.rb new file mode 100644 index 000000000..a4ae91697 --- /dev/null +++ b/lib/auth0/types/connection_id_token_signed_response_algs.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionIDTokenSignedResponseAlgs + # ConnectionIDTokenSignedResponseAlgs is an alias for Object + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_id_token_signing_alg_values_supported.rb b/lib/auth0/types/connection_id_token_signing_alg_values_supported.rb new file mode 100644 index 000000000..0014cb9c9 --- /dev/null +++ b/lib/auth0/types/connection_id_token_signing_alg_values_supported.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionIDTokenSigningAlgValuesSupported + # ConnectionIDTokenSigningAlgValuesSupported is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_identifier_precedence.rb b/lib/auth0/types/connection_identifier_precedence.rb new file mode 100644 index 000000000..d8b068c5c --- /dev/null +++ b/lib/auth0/types/connection_identifier_precedence.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionIdentifierPrecedence + # ConnectionIdentifierPrecedence is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_identifier_precedence_enum.rb b/lib/auth0/types/connection_identifier_precedence_enum.rb new file mode 100644 index 000000000..7ac730581 --- /dev/null +++ b/lib/auth0/types/connection_identifier_precedence_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionIdentifierPrecedenceEnum + extend Auth0::Internal::Types::Enum + + EMAIL = "email" + PHONE_NUMBER = "phone_number" + USERNAME = "username" + end + end +end diff --git a/lib/auth0/types/connection_identity_api_azure_ad.rb b/lib/auth0/types/connection_identity_api_azure_ad.rb new file mode 100644 index 000000000..0846f07ff --- /dev/null +++ b/lib/auth0/types/connection_identity_api_azure_ad.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionIdentityAPIAzureAd + # ConnectionIdentityAPIAzureAd is an alias for ConnectionIdentityAPIEnumAzureAd + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_identity_api_enum_azure_ad.rb b/lib/auth0/types/connection_identity_api_enum_azure_ad.rb new file mode 100644 index 000000000..6ac8e0588 --- /dev/null +++ b/lib/auth0/types/connection_identity_api_enum_azure_ad.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionIdentityAPIEnumAzureAd + extend Auth0::Internal::Types::Enum + + MICROSOFT_IDENTITY_PLATFORM_V20 = "microsoft-identity-platform-v2.0" + AZURE_ACTIVE_DIRECTORY_V10 = "azure-active-directory-v1.0" + end + end +end diff --git a/lib/auth0/types/connection_identity_provider_enum.rb b/lib/auth0/types/connection_identity_provider_enum.rb new file mode 100644 index 000000000..5b1f8c4e0 --- /dev/null +++ b/lib/auth0/types/connection_identity_provider_enum.rb @@ -0,0 +1,65 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionIdentityProviderEnum + extend Auth0::Internal::Types::Enum + + AD = "ad" + ADFS = "adfs" + AMAZON = "amazon" + APPLE = "apple" + DROPBOX = "dropbox" + BITBUCKET = "bitbucket" + AUTH0OIDC = "auth0-oidc" + AUTH0 = "auth0" + BAIDU = "baidu" + BITLY = "bitly" + BOX = "box" + CUSTOM = "custom" + DACCOUNT = "daccount" + DWOLLA = "dwolla" + EMAIL = "email" + EVERNOTE_SANDBOX = "evernote-sandbox" + EVERNOTE = "evernote" + EXACT = "exact" + FACEBOOK = "facebook" + FITBIT = "fitbit" + GITHUB = "github" + GOOGLE_APPS = "google-apps" + GOOGLE_OAUTH2 = "google-oauth2" + INSTAGRAM = "instagram" + IP = "ip" + LINE = "line" + LINKEDIN = "linkedin" + OAUTH1 = "oauth1" + OAUTH2 = "oauth2" + OFFICE365 = "office365" + OIDC = "oidc" + OKTA = "okta" + PAYPAL = "paypal" + PAYPAL_SANDBOX = "paypal-sandbox" + PINGFEDERATE = "pingfederate" + PLANNINGCENTER = "planningcenter" + SALESFORCE_COMMUNITY = "salesforce-community" + SALESFORCE_SANDBOX = "salesforce-sandbox" + SALESFORCE = "salesforce" + SAMLP = "samlp" + SHAREPOINT = "sharepoint" + SHOPIFY = "shopify" + SHOP = "shop" + SMS = "sms" + SOUNDCLOUD = "soundcloud" + THIRTYSEVENSIGNALS = "thirtysevensignals" + TWITTER = "twitter" + UNTAPPD = "untappd" + VKONTAKTE = "vkontakte" + WAAD = "waad" + WEIBO = "weibo" + WINDOWSLIVE = "windowslive" + WORDPRESS = "wordpress" + YAHOO = "yahoo" + YANDEX = "yandex" + end + end +end diff --git a/lib/auth0/types/connection_import_mode.rb b/lib/auth0/types/connection_import_mode.rb new file mode 100644 index 000000000..70042562b --- /dev/null +++ b/lib/auth0/types/connection_import_mode.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionImportMode + # ConnectionImportMode is an alias for Boolean + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_ips_ad.rb b/lib/auth0/types/connection_ips_ad.rb new file mode 100644 index 000000000..2889dbcf5 --- /dev/null +++ b/lib/auth0/types/connection_ips_ad.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionIpsAd + # ConnectionIpsAd is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_is_domain_connection.rb b/lib/auth0/types/connection_is_domain_connection.rb new file mode 100644 index 000000000..fa3fda9f5 --- /dev/null +++ b/lib/auth0/types/connection_is_domain_connection.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionIsDomainConnection + # ConnectionIsDomainConnection is an alias for Boolean + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_issuer.rb b/lib/auth0/types/connection_issuer.rb new file mode 100644 index 000000000..1053ea1ed --- /dev/null +++ b/lib/auth0/types/connection_issuer.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionIssuer + # ConnectionIssuer is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_jwks_uri.rb b/lib/auth0/types/connection_jwks_uri.rb new file mode 100644 index 000000000..67147839d --- /dev/null +++ b/lib/auth0/types/connection_jwks_uri.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionJwksURI + # ConnectionJwksURI is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_key.rb b/lib/auth0/types/connection_key.rb new file mode 100644 index 000000000..4c75506fe --- /dev/null +++ b/lib/auth0/types/connection_key.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ConnectionKey < Internal::Types::Model + field :kid, -> { String }, optional: false, nullable: false + + field :cert, -> { String }, optional: false, nullable: false + + field :pkcs, -> { String }, optional: true, nullable: false + + field :current, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :next_, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "next" + + field :previous, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :current_since, -> { String }, optional: true, nullable: false + + field :fingerprint, -> { String }, optional: false, nullable: false + + field :thumbprint, -> { String }, optional: false, nullable: false + + field :algorithm, -> { String }, optional: true, nullable: false + + field :key_use, -> { Auth0::Types::ConnectionKeyUseEnum }, optional: true, nullable: false + + field :subject_dn, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_key_use_enum.rb b/lib/auth0/types/connection_key_use_enum.rb new file mode 100644 index 000000000..13d615c03 --- /dev/null +++ b/lib/auth0/types/connection_key_use_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionKeyUseEnum + extend Auth0::Internal::Types::Enum + + ENCRYPTION = "encryption" + SIGNING = "signing" + end + end +end diff --git a/lib/auth0/types/connection_mapping_mode_enum_oidc.rb b/lib/auth0/types/connection_mapping_mode_enum_oidc.rb new file mode 100644 index 000000000..009f70130 --- /dev/null +++ b/lib/auth0/types/connection_mapping_mode_enum_oidc.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionMappingModeEnumOidc + extend Auth0::Internal::Types::Enum + + BIND_ALL = "bind_all" + USE_MAP = "use_map" + end + end +end diff --git a/lib/auth0/types/connection_mapping_mode_enum_okta.rb b/lib/auth0/types/connection_mapping_mode_enum_okta.rb new file mode 100644 index 000000000..6a903943f --- /dev/null +++ b/lib/auth0/types/connection_mapping_mode_enum_okta.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionMappingModeEnumOkta + extend Auth0::Internal::Types::Enum + + BASIC_PROFILE = "basic_profile" + USE_MAP = "use_map" + end + end +end diff --git a/lib/auth0/types/connection_max_groups_to_retrieve.rb b/lib/auth0/types/connection_max_groups_to_retrieve.rb new file mode 100644 index 000000000..1deb18bd6 --- /dev/null +++ b/lib/auth0/types/connection_max_groups_to_retrieve.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionMaxGroupsToRetrieve + # ConnectionMaxGroupsToRetrieve is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_messaging_service_sid_sms.rb b/lib/auth0/types/connection_messaging_service_sid_sms.rb new file mode 100644 index 000000000..45adc51db --- /dev/null +++ b/lib/auth0/types/connection_messaging_service_sid_sms.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionMessagingServiceSidSms + # ConnectionMessagingServiceSidSms is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_metadata_url_saml.rb b/lib/auth0/types/connection_metadata_url_saml.rb new file mode 100644 index 000000000..0810325e8 --- /dev/null +++ b/lib/auth0/types/connection_metadata_url_saml.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionMetadataUrlSaml + # ConnectionMetadataUrlSaml is an alias for ConnectionHttpsUrlWithHttpFallback2048 + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_metadata_xml.rb b/lib/auth0/types/connection_metadata_xml.rb new file mode 100644 index 000000000..97dc59440 --- /dev/null +++ b/lib/auth0/types/connection_metadata_xml.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionMetadataXML + # ConnectionMetadataXML is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_metadata_xml_adfs.rb b/lib/auth0/types/connection_metadata_xml_adfs.rb new file mode 100644 index 000000000..5bd598636 --- /dev/null +++ b/lib/auth0/types/connection_metadata_xml_adfs.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionMetadataXMLAdfs + # ConnectionMetadataXMLAdfs is an alias for ConnectionMetadataXML + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_metadata_xml_saml.rb b/lib/auth0/types/connection_metadata_xml_saml.rb new file mode 100644 index 000000000..0a9cc04c0 --- /dev/null +++ b/lib/auth0/types/connection_metadata_xml_saml.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionMetadataXmlSaml + # ConnectionMetadataXmlSaml is an alias for ConnectionMetadataXML + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_mfa.rb b/lib/auth0/types/connection_mfa.rb new file mode 100644 index 000000000..623e53a35 --- /dev/null +++ b/lib/auth0/types/connection_mfa.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Multi-factor authentication configuration + class ConnectionMfa < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :return_enroll_settings, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_name.rb b/lib/auth0/types/connection_name.rb new file mode 100644 index 000000000..6cf04df77 --- /dev/null +++ b/lib/auth0/types/connection_name.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionName + # ConnectionName is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_name_prefix_template.rb b/lib/auth0/types/connection_name_prefix_template.rb new file mode 100644 index 000000000..8b238f1bc --- /dev/null +++ b/lib/auth0/types/connection_name_prefix_template.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionNamePrefixTemplate + # ConnectionNamePrefixTemplate is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_non_persistent_attrs.rb b/lib/auth0/types/connection_non_persistent_attrs.rb new file mode 100644 index 000000000..4365a7d71 --- /dev/null +++ b/lib/auth0/types/connection_non_persistent_attrs.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionNonPersistentAttrs + # ConnectionNonPersistentAttrs is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_op_policy_uri.rb b/lib/auth0/types/connection_op_policy_uri.rb new file mode 100644 index 000000000..091f3abdf --- /dev/null +++ b/lib/auth0/types/connection_op_policy_uri.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionOpPolicyURI + # ConnectionOpPolicyURI is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_op_tos_uri.rb b/lib/auth0/types/connection_op_tos_uri.rb new file mode 100644 index 000000000..df7bcf424 --- /dev/null +++ b/lib/auth0/types/connection_op_tos_uri.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionOpTosURI + # ConnectionOpTosURI is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_options.rb b/lib/auth0/types/connection_options.rb new file mode 100644 index 000000000..3c4d01a17 --- /dev/null +++ b/lib/auth0/types/connection_options.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionOptions + # ConnectionOptions is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_options_ad.rb b/lib/auth0/types/connection_options_ad.rb new file mode 100644 index 000000000..f46ffb495 --- /dev/null +++ b/lib/auth0/types/connection_options_ad.rb @@ -0,0 +1,44 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'ad' connection + class ConnectionOptionsAd < Internal::Types::Model + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :agent_ip, -> { String }, optional: true, nullable: false, api_name: "agentIP" + + field :agent_mode, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "agentMode" + + field :agent_version, -> { String }, optional: true, nullable: false, api_name: "agentVersion" + + field :brute_force_protection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :cert_auth, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "certAuth" + + field :certs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :disable_cache, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :disable_self_service_change_password, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :domain_aliases, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :icon_url, -> { String }, optional: true, nullable: false + + field :ips, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :kerberos, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::ConnectionSetUserRootAttributesEnum }, optional: true, nullable: false + + field :sign_in_endpoint, -> { String }, optional: true, nullable: false, api_name: "signInEndpoint" + + field :tenant_domain, -> { String }, optional: true, nullable: false + + field :thumbprints, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Auth0::Types::ConnectionUpstreamAdditionalProperties] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_options_adfs.rb b/lib/auth0/types/connection_options_adfs.rb new file mode 100644 index 000000000..d43f9b500 --- /dev/null +++ b/lib/auth0/types/connection_options_adfs.rb @@ -0,0 +1,36 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'adfs' connection + class ConnectionOptionsAdfs < Internal::Types::Model + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :adfs_server, -> { String }, optional: true, nullable: false + + field :domain_aliases, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :entity_id, -> { String }, optional: true, nullable: false, api_name: "entityId" + + field :fed_metadata_xml, -> { String }, optional: true, nullable: false, api_name: "fedMetadataXml" + + field :icon_url, -> { String }, optional: true, nullable: false + + field :prev_thumbprints, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::ConnectionSetUserRootAttributesEnum }, optional: true, nullable: false + + field :should_trust_email_verified_connection, -> { Auth0::Types::ConnectionShouldTrustEmailVerifiedConnectionEnum }, optional: true, nullable: false + + field :sign_in_endpoint, -> { String }, optional: true, nullable: false, api_name: "signInEndpoint" + + field :tenant_domain, -> { String }, optional: true, nullable: false + + field :thumbprints, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Auth0::Types::ConnectionUpstreamAdditionalProperties] }, optional: true, nullable: false + + field :user_id_attribute, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_options_amazon.rb b/lib/auth0/types/connection_options_amazon.rb new file mode 100644 index 000000000..c936f81cb --- /dev/null +++ b/lib/auth0/types/connection_options_amazon.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'amazon' connection + class ConnectionOptionsAmazon < Internal::Types::Model + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :client_id, -> { String }, optional: true, nullable: false + + field :client_secret, -> { String }, optional: true, nullable: false + + field :freeform_scopes, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :postal_code, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :profile, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :scope, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::ConnectionSetUserRootAttributesEnum }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Auth0::Types::ConnectionUpstreamAdditionalProperties] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_options_apple.rb b/lib/auth0/types/connection_options_apple.rb new file mode 100644 index 000000000..41828e13c --- /dev/null +++ b/lib/auth0/types/connection_options_apple.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'apple' connection + class ConnectionOptionsApple < Internal::Types::Model + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :app_secret, -> { String }, optional: true, nullable: false + + field :client_id, -> { String }, optional: true, nullable: false + + field :email, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :freeform_scopes, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :kid, -> { String }, optional: true, nullable: false + + field :name, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :scope, -> { String }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::ConnectionSetUserRootAttributesEnum }, optional: true, nullable: false + + field :team_id, -> { String }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Auth0::Types::ConnectionUpstreamAdditionalProperties] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_options_auth0.rb b/lib/auth0/types/connection_options_auth0.rb new file mode 100644 index 000000000..228cb7102 --- /dev/null +++ b/lib/auth0/types/connection_options_auth0.rb @@ -0,0 +1,54 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'auth0' connection + class ConnectionOptionsAuth0 < Internal::Types::Model + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :attributes, -> { Auth0::Types::ConnectionAttributes }, optional: true, nullable: false + + field :authentication_methods, -> { Auth0::Types::ConnectionAuthenticationMethods }, optional: true, nullable: false + + field :brute_force_protection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :configuration, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :custom_scripts, -> { Auth0::Types::ConnectionCustomScripts }, optional: true, nullable: false, api_name: "customScripts" + + field :disable_self_service_change_password, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :disable_signup, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :enable_script_context, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :enabled_database_customization, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "enabledDatabaseCustomization" + + field :import_mode, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mfa, -> { Auth0::Types::ConnectionMfa }, optional: true, nullable: false + + field :passkey_options, -> { Auth0::Types::ConnectionPasskeyOptions }, optional: true, nullable: false + + field :password_policy, -> { Auth0::Types::ConnectionPasswordPolicyEnum }, optional: true, nullable: false, api_name: "passwordPolicy" + + field :password_complexity_options, -> { Auth0::Types::ConnectionPasswordComplexityOptions }, optional: true, nullable: false + + field :password_dictionary, -> { Auth0::Types::ConnectionPasswordDictionaryOptions }, optional: true, nullable: false + + field :password_history, -> { Auth0::Types::ConnectionPasswordHistoryOptions }, optional: true, nullable: false + + field :password_no_personal_info, -> { Auth0::Types::ConnectionPasswordNoPersonalInfoOptions }, optional: true, nullable: false + + field :password_options, -> { Auth0::Types::ConnectionPasswordOptions }, optional: true, nullable: false + + field :precedence, -> { Internal::Types::Array[Auth0::Types::ConnectionIdentifierPrecedenceEnum] }, optional: true, nullable: false + + field :realm_fallback, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :requires_username, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :validation, -> { Auth0::Types::ConnectionValidationOptions }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_options_auth0oidc.rb b/lib/auth0/types/connection_options_auth0oidc.rb new file mode 100644 index 000000000..82aeedba2 --- /dev/null +++ b/lib/auth0/types/connection_options_auth0oidc.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'auth0-oidc' connection + class ConnectionOptionsAuth0Oidc < Internal::Types::Model + field :client_id, -> { String }, optional: true, nullable: false + + field :client_secret, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_options_azure_ad.rb b/lib/auth0/types/connection_options_azure_ad.rb new file mode 100644 index 000000000..78d9c8d76 --- /dev/null +++ b/lib/auth0/types/connection_options_azure_ad.rb @@ -0,0 +1,142 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'waad' connection + class ConnectionOptionsAzureAd < Internal::Types::Model + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :api_enable_users, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :app_domain, -> { String }, optional: true, nullable: false + + field :app_id, -> { String }, optional: true, nullable: false + + field :basic_profile, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :client_id, -> { String }, optional: false, nullable: false + + field :client_secret, -> { String }, optional: true, nullable: false + + field :domain_aliases, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :ext_access_token, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_account_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_admin, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_agreed_terms, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_assigned_licenses, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_assigned_plans, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_azure_id, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_city, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_country, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_department, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_dir_sync_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_email, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_expires_in, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_family_name, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_fax, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_given_name, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_group_ids, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_groups, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_is_suspended, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_job_title, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_last_sync, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_mobile, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_name, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_nested_groups, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_nickname, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_oid, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_phone, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_physical_delivery_office_name, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_postal_code, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_preferred_language, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_profile, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_provisioned_plans, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_provisioning_errors, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_proxy_addresses, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_puid, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_refresh_token, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_roles, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_state, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_street, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_telephone_number, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "ext_telephoneNumber" + + field :ext_tenantid, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_upn, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_usage_location, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_user_id, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :granted, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :icon_url, -> { String }, optional: true, nullable: false + + field :identity_api, -> { Auth0::Types::ConnectionIdentityAPIEnumAzureAd }, optional: true, nullable: false + + field :max_groups_to_retrieve, -> { String }, optional: true, nullable: false + + field :scope, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::ConnectionSetUserRootAttributesEnum }, optional: true, nullable: false + + field :should_trust_email_verified_connection, -> { Auth0::Types::ConnectionShouldTrustEmailVerifiedConnectionEnum }, optional: true, nullable: false + + field :tenant_domain, -> { String }, optional: true, nullable: false + + field :tenant_id, -> { String }, optional: true, nullable: false, api_name: "tenantId" + + field :thumbprints, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Auth0::Types::ConnectionUpstreamAdditionalProperties] }, optional: true, nullable: false + + field :use_wsfed, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :use_common_endpoint, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "useCommonEndpoint" + + field :userid_attribute, -> { Auth0::Types::ConnectionUseridAttributeEnumAzureAd }, optional: true, nullable: false + + field :waad_protocol, -> { Auth0::Types::ConnectionWaadProtocolEnumAzureAd }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_options_baidu.rb b/lib/auth0/types/connection_options_baidu.rb new file mode 100644 index 000000000..636e550ff --- /dev/null +++ b/lib/auth0/types/connection_options_baidu.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'baidu' connection + class ConnectionOptionsBaidu < Internal::Types::Model + field :client_id, -> { String }, optional: true, nullable: false + + field :client_secret, -> { String }, optional: true, nullable: false + + field :scope, -> { Auth0::Types::ConnectionScopeOAuth2 }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::ConnectionSetUserRootAttributesEnum }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Auth0::Types::ConnectionUpstreamAdditionalProperties] }, optional: true, nullable: false + + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_options_bitbucket.rb b/lib/auth0/types/connection_options_bitbucket.rb new file mode 100644 index 000000000..731a58979 --- /dev/null +++ b/lib/auth0/types/connection_options_bitbucket.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'bitbucket' connection + class ConnectionOptionsBitbucket < Internal::Types::Model + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :client_id, -> { String }, optional: true, nullable: false + + field :client_secret, -> { String }, optional: true, nullable: false + + field :freeform_scopes, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :profile, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :scope, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::ConnectionSetUserRootAttributesEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_options_bitly.rb b/lib/auth0/types/connection_options_bitly.rb new file mode 100644 index 000000000..0b27d8e93 --- /dev/null +++ b/lib/auth0/types/connection_options_bitly.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'bitly' connection + class ConnectionOptionsBitly < Internal::Types::Model + field :client_id, -> { String }, optional: true, nullable: false + + field :client_secret, -> { String }, optional: true, nullable: false + + field :scope, -> { Auth0::Types::ConnectionScopeOAuth2 }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::ConnectionSetUserRootAttributesEnum }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Auth0::Types::ConnectionUpstreamAdditionalProperties] }, optional: true, nullable: false + + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_options_box.rb b/lib/auth0/types/connection_options_box.rb new file mode 100644 index 000000000..e66de01bc --- /dev/null +++ b/lib/auth0/types/connection_options_box.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'box' connection + class ConnectionOptionsBox < Internal::Types::Model + field :client_id, -> { String }, optional: true, nullable: false + + field :client_secret, -> { String }, optional: true, nullable: false + + field :scope, -> { Auth0::Types::ConnectionScopeOAuth2 }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::ConnectionSetUserRootAttributesEnum }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Auth0::Types::ConnectionUpstreamAdditionalProperties] }, optional: true, nullable: false + + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_options_client_id_github.rb b/lib/auth0/types/connection_options_client_id_github.rb new file mode 100644 index 000000000..0071e71c9 --- /dev/null +++ b/lib/auth0/types/connection_options_client_id_github.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionOptionsClientIDGithub + # ConnectionOptionsClientIDGithub is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_options_client_id_twitter.rb b/lib/auth0/types/connection_options_client_id_twitter.rb new file mode 100644 index 000000000..f23dca698 --- /dev/null +++ b/lib/auth0/types/connection_options_client_id_twitter.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionOptionsClientIDTwitter + # ConnectionOptionsClientIDTwitter is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_options_client_secret_github.rb b/lib/auth0/types/connection_options_client_secret_github.rb new file mode 100644 index 000000000..12a15c192 --- /dev/null +++ b/lib/auth0/types/connection_options_client_secret_github.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionOptionsClientSecretGithub + # ConnectionOptionsClientSecretGithub is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_options_client_secret_twitter.rb b/lib/auth0/types/connection_options_client_secret_twitter.rb new file mode 100644 index 000000000..ae6d9033e --- /dev/null +++ b/lib/auth0/types/connection_options_client_secret_twitter.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionOptionsClientSecretTwitter + # ConnectionOptionsClientSecretTwitter is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_options_common.rb b/lib/auth0/types/connection_options_common.rb new file mode 100644 index 000000000..0e1a21f7e --- /dev/null +++ b/lib/auth0/types/connection_options_common.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Common attributes for connection options including non-persistent attributes and Cross App Access + class ConnectionOptionsCommon < Internal::Types::Model + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_options_common_oidc.rb b/lib/auth0/types/connection_options_common_oidc.rb new file mode 100644 index 000000000..4aac29116 --- /dev/null +++ b/lib/auth0/types/connection_options_common_oidc.rb @@ -0,0 +1,52 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # common options for OIDC connections + class ConnectionOptionsCommonOidc < Internal::Types::Model + field :authorization_endpoint, -> { String }, optional: true, nullable: false + + field :client_id, -> { String }, optional: false, nullable: false + + field :client_secret, -> { String }, optional: true, nullable: false + + field :connection_settings, -> { Auth0::Types::ConnectionConnectionSettings }, optional: true, nullable: false + + field :domain_aliases, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :dpop_signing_alg, -> { Auth0::Types::ConnectionDpopSigningAlgEnum }, optional: true, nullable: false + + field :icon_url, -> { String }, optional: true, nullable: false + + field :id_token_session_expiry_supported, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :id_token_signed_response_algs, -> { Internal::Types::Array[Auth0::Types::ConnectionIDTokenSignedResponseAlgEnum] }, optional: true, nullable: false + + field :issuer, -> { String }, optional: true, nullable: false + + field :jwks_uri, -> { String }, optional: true, nullable: false + + field :oidc_metadata, -> { Auth0::Types::ConnectionOptionsOidcMetadata }, optional: true, nullable: false + + field :scope, -> { String }, optional: true, nullable: false + + field :send_back_channel_nonce, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::ConnectionSetUserRootAttributesEnum }, optional: true, nullable: false + + field :tenant_domain, -> { String }, optional: true, nullable: false + + field :token_endpoint, -> { String }, optional: true, nullable: false + + field :token_endpoint_auth_method, -> { Auth0::Types::ConnectionTokenEndpointAuthMethodEnum }, optional: true, nullable: false + + field :token_endpoint_auth_signing_alg, -> { Auth0::Types::ConnectionTokenEndpointAuthSigningAlgEnum }, optional: true, nullable: false + + field :token_endpoint_jwtca_aud_format, -> { Auth0::Types::ConnectionTokenEndpointJwtcaAudFormatEnumOidc }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Auth0::Types::ConnectionUpstreamAdditionalProperties] }, optional: true, nullable: false + + field :userinfo_endpoint, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_options_common_saml.rb b/lib/auth0/types/connection_options_common_saml.rb new file mode 100644 index 000000000..c7170f887 --- /dev/null +++ b/lib/auth0/types/connection_options_common_saml.rb @@ -0,0 +1,40 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Common options for SAML-based enterprise connections (shared by samlp and pingfederate). + class ConnectionOptionsCommonSAML < Internal::Types::Model + field :assertion_decryption_settings, -> { Auth0::Types::ConnectionAssertionDecryptionSettings }, optional: true, nullable: false + + field :cert, -> { String }, optional: true, nullable: false + + field :decryption_key, -> { Auth0::Types::ConnectionDecryptionKeySAML }, optional: true, nullable: false, api_name: "decryptionKey" + + field :digest_algorithm, -> { Auth0::Types::ConnectionDigestAlgorithmEnumSAML }, optional: true, nullable: false, api_name: "digestAlgorithm" + + field :domain_aliases, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :entity_id, -> { String }, optional: true, nullable: false, api_name: "entityId" + + field :icon_url, -> { String }, optional: true, nullable: false + + field :idpinitiated, -> { Auth0::Types::ConnectionOptionsIdpinitiatedSAML }, optional: true, nullable: false + + field :protocol_binding, -> { Auth0::Types::ConnectionProtocolBindingEnumSAML }, optional: true, nullable: false, api_name: "protocolBinding" + + field :set_user_root_attributes, -> { Auth0::Types::ConnectionSetUserRootAttributesEnum }, optional: true, nullable: false + + field :sign_in_endpoint, -> { String }, optional: true, nullable: false, api_name: "signInEndpoint" + + field :sign_saml_request, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "signSAMLRequest" + + field :signature_algorithm, -> { Auth0::Types::ConnectionSignatureAlgorithmEnumSAML }, optional: true, nullable: false, api_name: "signatureAlgorithm" + + field :tenant_domain, -> { String }, optional: true, nullable: false + + field :thumbprints, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Auth0::Types::ConnectionUpstreamAdditionalProperties] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_options_custom.rb b/lib/auth0/types/connection_options_custom.rb new file mode 100644 index 000000000..4a3c8081b --- /dev/null +++ b/lib/auth0/types/connection_options_custom.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionOptionsCustom + # ConnectionOptionsCustom is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_options_daccount.rb b/lib/auth0/types/connection_options_daccount.rb new file mode 100644 index 000000000..0cfabc274 --- /dev/null +++ b/lib/auth0/types/connection_options_daccount.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'daccount' connection + class ConnectionOptionsDaccount < Internal::Types::Model + field :client_id, -> { String }, optional: true, nullable: false + + field :client_secret, -> { String }, optional: true, nullable: false + + field :scope, -> { Auth0::Types::ConnectionScopeOAuth2 }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::ConnectionSetUserRootAttributesEnum }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Auth0::Types::ConnectionUpstreamAdditionalProperties] }, optional: true, nullable: false + + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_options_deflate_saml.rb b/lib/auth0/types/connection_options_deflate_saml.rb new file mode 100644 index 000000000..fb6e63d7f --- /dev/null +++ b/lib/auth0/types/connection_options_deflate_saml.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionOptionsDeflateSAML + # ConnectionOptionsDeflateSAML is an alias for Boolean + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_options_dropbox.rb b/lib/auth0/types/connection_options_dropbox.rb new file mode 100644 index 000000000..5eeb5968c --- /dev/null +++ b/lib/auth0/types/connection_options_dropbox.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'dropbox' connection + class ConnectionOptionsDropbox < Internal::Types::Model + field :client_id, -> { String }, optional: true, nullable: false + + field :client_secret, -> { String }, optional: true, nullable: false + + field :scope, -> { Auth0::Types::ConnectionScopeOAuth2 }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::ConnectionSetUserRootAttributesEnum }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Auth0::Types::ConnectionUpstreamAdditionalProperties] }, optional: true, nullable: false + + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_options_dwolla.rb b/lib/auth0/types/connection_options_dwolla.rb new file mode 100644 index 000000000..7ce425741 --- /dev/null +++ b/lib/auth0/types/connection_options_dwolla.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'dwolla' connection + class ConnectionOptionsDwolla < Internal::Types::Model + field :client_id, -> { String }, optional: true, nullable: false + + field :client_secret, -> { String }, optional: true, nullable: false + + field :scope, -> { Auth0::Types::ConnectionScopeOAuth2 }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::ConnectionSetUserRootAttributesEnum }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Auth0::Types::ConnectionUpstreamAdditionalProperties] }, optional: true, nullable: false + + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_options_email.rb b/lib/auth0/types/connection_options_email.rb new file mode 100644 index 000000000..b23bd7763 --- /dev/null +++ b/lib/auth0/types/connection_options_email.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'email' connection + class ConnectionOptionsEmail < Internal::Types::Model + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :auth_params, -> { String }, optional: true, nullable: false, api_name: "authParams" + + field :brute_force_protection, -> { Internal::Types::Boolean }, optional: false, nullable: false + + field :disable_signup, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :email, -> { Auth0::Types::ConnectionEmailEmail }, optional: false, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :totp, -> { Auth0::Types::ConnectionTotpEmail }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_options_evernote.rb b/lib/auth0/types/connection_options_evernote.rb new file mode 100644 index 000000000..6b5984f5b --- /dev/null +++ b/lib/auth0/types/connection_options_evernote.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the evernote family of connections + class ConnectionOptionsEvernote < Internal::Types::Model + field :client_id, -> { String }, optional: true, nullable: false + + field :client_secret, -> { String }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::ConnectionSetUserRootAttributesEnum }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Auth0::Types::ConnectionUpstreamAdditionalProperties] }, optional: true, nullable: false + + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_options_exact.rb b/lib/auth0/types/connection_options_exact.rb new file mode 100644 index 000000000..bd27312c2 --- /dev/null +++ b/lib/auth0/types/connection_options_exact.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'exact' connection + class ConnectionOptionsExact < Internal::Types::Model + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :base_url, -> { String }, optional: true, nullable: false, api_name: "baseUrl" + + field :client_id, -> { String }, optional: true, nullable: false + + field :client_secret, -> { String }, optional: true, nullable: false + + field :profile, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::ConnectionSetUserRootAttributesEnum }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Auth0::Types::ConnectionUpstreamAdditionalProperties] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_options_facebook.rb b/lib/auth0/types/connection_options_facebook.rb new file mode 100644 index 000000000..b6ed940e0 --- /dev/null +++ b/lib/auth0/types/connection_options_facebook.rb @@ -0,0 +1,104 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'facebook' connection + class ConnectionOptionsFacebook < Internal::Types::Model + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :client_id, -> { String }, optional: true, nullable: false + + field :client_secret, -> { String }, optional: true, nullable: false + + field :freeform_scopes, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Auth0::Types::ConnectionUpstreamAdditionalProperties] }, optional: true, nullable: false + + field :scope, -> { String }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::ConnectionSetUserRootAttributesEnum }, optional: true, nullable: false + + field :ads_management, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ads_read, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :allow_context_profile_field, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :business_management, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :email, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :groups_access_member_info, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :leads_retrieval, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :manage_notifications, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :manage_pages, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :pages_manage_cta, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :pages_manage_instant_articles, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :pages_messaging, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :pages_messaging_phone_number, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :pages_messaging_subscriptions, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :pages_show_list, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :public_profile, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :publish_actions, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :publish_pages, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :publish_to_groups, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :publish_video, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :read_audience_network_insights, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :read_insights, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :read_mailbox, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :read_page_mailboxes, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :read_stream, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :user_age_range, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :user_birthday, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :user_events, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :user_friends, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :user_gender, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :user_groups, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :user_hometown, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :user_likes, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :user_link, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :user_location, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :user_managed_groups, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :user_photos, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :user_posts, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :user_status, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :user_tagged_places, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :user_videos, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_options_fitbit.rb b/lib/auth0/types/connection_options_fitbit.rb new file mode 100644 index 000000000..3d829c103 --- /dev/null +++ b/lib/auth0/types/connection_options_fitbit.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'fitbit' connection + class ConnectionOptionsFitbit < Internal::Types::Model + field :client_id, -> { String }, optional: true, nullable: false + + field :client_secret, -> { String }, optional: true, nullable: false + + field :scope, -> { Auth0::Types::ConnectionScopeOAuth2 }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::ConnectionSetUserRootAttributesEnum }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Auth0::Types::ConnectionUpstreamAdditionalProperties] }, optional: true, nullable: false + + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_options_freeform_scopes_github.rb b/lib/auth0/types/connection_options_freeform_scopes_github.rb new file mode 100644 index 000000000..7343f3476 --- /dev/null +++ b/lib/auth0/types/connection_options_freeform_scopes_github.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionOptionsFreeformScopesGithub + # ConnectionOptionsFreeformScopesGithub is an alias for ConnectionScopeArray + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_options_git_hub.rb b/lib/auth0/types/connection_options_git_hub.rb new file mode 100644 index 000000000..c8f6de1df --- /dev/null +++ b/lib/auth0/types/connection_options_git_hub.rb @@ -0,0 +1,62 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'github' connection + class ConnectionOptionsGitHub < Internal::Types::Model + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :client_id, -> { String }, optional: true, nullable: false + + field :client_secret, -> { String }, optional: true, nullable: false + + field :freeform_scopes, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :scope, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::ConnectionSetUserRootAttributesEnum }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Auth0::Types::ConnectionUpstreamAdditionalProperties] }, optional: true, nullable: false + + field :admin_org, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :admin_public_key, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :admin_repo_hook, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :delete_repo, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :email, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :follow, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :gist, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :notifications, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :profile, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :public_repo, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :read_org, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :read_public_key, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :read_repo_hook, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :read_user, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :repo, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :repo_deployment, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :repo_status, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :write_org, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :write_public_key, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :write_repo_hook, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_options_google_apps.rb b/lib/auth0/types/connection_options_google_apps.rb new file mode 100644 index 000000000..f920974ec --- /dev/null +++ b/lib/auth0/types/connection_options_google_apps.rb @@ -0,0 +1,58 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'google-apps' connection + class ConnectionOptionsGoogleApps < Internal::Types::Model + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :admin_access_token, -> { String }, optional: true, nullable: false + + field :admin_access_token_expiresin, -> { String }, optional: true, nullable: false + + field :admin_refresh_token, -> { String }, optional: true, nullable: false + + field :allow_setting_login_scopes, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :api_enable_groups, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :api_enable_users, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :client_id, -> { String }, optional: false, nullable: false + + field :client_secret, -> { String }, optional: true, nullable: false + + field :domain, -> { String }, optional: true, nullable: false + + field :domain_aliases, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :email, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_agreed_terms, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_groups, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_groups_extended, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_is_admin, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_is_suspended, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :handle_login_from_social, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :icon_url, -> { String }, optional: true, nullable: false + + field :map_user_id_to_id, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :profile, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :scope, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::ConnectionSetUserRootAttributesEnum }, optional: true, nullable: false + + field :tenant_domain, -> { String }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Auth0::Types::ConnectionUpstreamAdditionalProperties] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_options_google_o_auth2.rb b/lib/auth0/types/connection_options_google_o_auth2.rb new file mode 100644 index 000000000..52d9483cd --- /dev/null +++ b/lib/auth0/types/connection_options_google_o_auth2.rb @@ -0,0 +1,156 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'google-oauth2' connection + class ConnectionOptionsGoogleOAuth2 < Internal::Types::Model + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :allowed_audiences, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :client_id, -> { String }, optional: true, nullable: false + + field :client_secret, -> { String }, optional: true, nullable: false + + field :freeform_scopes, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :icon_url, -> { String }, optional: true, nullable: false + + field :scope, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::ConnectionSetUserRootAttributesEnum }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Auth0::Types::ConnectionUpstreamAdditionalProperties] }, optional: true, nullable: false + + field :adsense_management, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :analytics, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :blogger, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :calendar, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :calendar_addons_execute, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :calendar_events, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :calendar_events_readonly, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :calendar_settings_readonly, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :chrome_web_store, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :contacts, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :contacts_new, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :contacts_other_readonly, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :contacts_readonly, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :content_api_for_shopping, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :coordinate, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :coordinate_readonly, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :directory_readonly, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :document_list, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :drive, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :drive_activity, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :drive_activity_readonly, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :drive_appdata, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :drive_apps_readonly, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :drive_file, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :drive_metadata, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :drive_metadata_readonly, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :drive_photos_readonly, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :drive_readonly, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :drive_scripts, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :email, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :gmail, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :gmail_compose, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :gmail_insert, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :gmail_labels, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :gmail_metadata, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :gmail_modify, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :gmail_new, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :gmail_readonly, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :gmail_send, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :gmail_settings_basic, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :gmail_settings_sharing, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :google_affiliate_network, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :google_books, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :google_cloud_storage, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :google_drive, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :google_drive_files, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :google_plus, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :latitude_best, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :latitude_city, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :moderator, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :offline_access, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :orkut, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :picasa_web, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :profile, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :sites, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :tasks, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :tasks_readonly, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :url_shortener, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :webmaster_tools, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :youtube, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :youtube_channelmemberships_creator, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :youtube_new, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :youtube_readonly, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :youtube_upload, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :youtubepartner, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_options_idp_initiated_client_protocol_enum_saml.rb b/lib/auth0/types/connection_options_idp_initiated_client_protocol_enum_saml.rb new file mode 100644 index 000000000..34bcadafa --- /dev/null +++ b/lib/auth0/types/connection_options_idp_initiated_client_protocol_enum_saml.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionOptionsIdpInitiatedClientProtocolEnumSAML + extend Auth0::Internal::Types::Enum + + OIDC = "oidc" + SAMLP = "samlp" + WSFED = "wsfed" + end + end +end diff --git a/lib/auth0/types/connection_options_idpinitiated_saml.rb b/lib/auth0/types/connection_options_idpinitiated_saml.rb new file mode 100644 index 000000000..fec6c13ff --- /dev/null +++ b/lib/auth0/types/connection_options_idpinitiated_saml.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configuration for IdP-Initiated SAML Single Sign-On. When enabled, allows users to initiate login directly from + # their SAML identity provider without first visiting Auth0. The IdP must include the connection parameter in the + # post-back URL (Assertion Consumer Service URL). + class ConnectionOptionsIdpinitiatedSAML < Internal::Types::Model + field :client_authorizequery, -> { String }, optional: true, nullable: false + + field :client_id, -> { String }, optional: true, nullable: false + + field :client_protocol, -> { Auth0::Types::ConnectionOptionsIdpInitiatedClientProtocolEnumSAML }, optional: true, nullable: false + + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_options_instagram.rb b/lib/auth0/types/connection_options_instagram.rb new file mode 100644 index 000000000..a8eced0f1 --- /dev/null +++ b/lib/auth0/types/connection_options_instagram.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'instagram' connection + class ConnectionOptionsInstagram < Internal::Types::Model + field :client_id, -> { String }, optional: true, nullable: false + + field :client_secret, -> { String }, optional: true, nullable: false + + field :scope, -> { Auth0::Types::ConnectionScopeOAuth2 }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::ConnectionSetUserRootAttributesEnum }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Auth0::Types::ConnectionUpstreamAdditionalProperties] }, optional: true, nullable: false + + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_options_ip.rb b/lib/auth0/types/connection_options_ip.rb new file mode 100644 index 000000000..693631069 --- /dev/null +++ b/lib/auth0/types/connection_options_ip.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionOptionsIP + # ConnectionOptionsIP is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_options_line.rb b/lib/auth0/types/connection_options_line.rb new file mode 100644 index 000000000..aa1bc23bd --- /dev/null +++ b/lib/auth0/types/connection_options_line.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'line' connection + class ConnectionOptionsLine < Internal::Types::Model + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :client_id, -> { String }, optional: true, nullable: false + + field :client_secret, -> { String }, optional: true, nullable: false + + field :freeform_scopes, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :scope, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::ConnectionSetUserRootAttributesEnum }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Auth0::Types::ConnectionUpstreamAdditionalProperties] }, optional: true, nullable: false + + field :email, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :profile, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_options_linkedin.rb b/lib/auth0/types/connection_options_linkedin.rb new file mode 100644 index 000000000..fb9f11799 --- /dev/null +++ b/lib/auth0/types/connection_options_linkedin.rb @@ -0,0 +1,36 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'linkedin' connection + class ConnectionOptionsLinkedin < Internal::Types::Model + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :client_id, -> { String }, optional: true, nullable: false + + field :client_secret, -> { String }, optional: true, nullable: false + + field :freeform_scopes, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :scope, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::ConnectionSetUserRootAttributesEnum }, optional: true, nullable: false + + field :strategy_version, -> { Integer }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Auth0::Types::ConnectionUpstreamAdditionalProperties] }, optional: true, nullable: false + + field :basic_profile, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :email, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :full_profile, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :network, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :openid, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :profile, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_options_o_auth1.rb b/lib/auth0/types/connection_options_o_auth1.rb new file mode 100644 index 000000000..7d6e463f6 --- /dev/null +++ b/lib/auth0/types/connection_options_o_auth1.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'oauth1' connection + class ConnectionOptionsOAuth1 < Internal::Types::Model + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :access_token_url, -> { String }, optional: true, nullable: false, api_name: "accessTokenURL" + + field :client_id, -> { String }, optional: true, nullable: false + + field :client_secret, -> { String }, optional: true, nullable: false + + field :request_token_url, -> { String }, optional: true, nullable: false, api_name: "requestTokenURL" + + field :scripts, -> { Auth0::Types::ConnectionScriptsOAuth1 }, optional: true, nullable: false + + field :signature_method, -> { Auth0::Types::ConnectionSignatureMethodOAuth1 }, optional: true, nullable: false, api_name: "signatureMethod" + + field :upstream_params, -> { Internal::Types::Hash[String, Auth0::Types::ConnectionUpstreamAdditionalProperties] }, optional: true, nullable: false + + field :user_authorization_url, -> { String }, optional: true, nullable: false, api_name: "userAuthorizationURL" + end + end +end diff --git a/lib/auth0/types/connection_options_o_auth1common.rb b/lib/auth0/types/connection_options_o_auth1common.rb new file mode 100644 index 000000000..31fc1855c --- /dev/null +++ b/lib/auth0/types/connection_options_o_auth1common.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ConnectionOptionsOAuth1Common < Internal::Types::Model + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :client_id, -> { String }, optional: true, nullable: false + + field :client_secret, -> { String }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::ConnectionSetUserRootAttributesEnum }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Auth0::Types::ConnectionUpstreamAdditionalProperties] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_options_o_auth2.rb b/lib/auth0/types/connection_options_o_auth2.rb new file mode 100644 index 000000000..328177f9d --- /dev/null +++ b/lib/auth0/types/connection_options_o_auth2.rb @@ -0,0 +1,42 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'oauth2' connection + class ConnectionOptionsOAuth2 < Internal::Types::Model + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :auth_params, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false, api_name: "authParams" + + field :auth_params_map, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false, api_name: "authParamsMap" + + field :authorization_url, -> { String }, optional: true, nullable: false, api_name: "authorizationURL" + + field :client_id, -> { String }, optional: true, nullable: false + + field :client_secret, -> { String }, optional: true, nullable: false + + field :custom_headers, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false, api_name: "customHeaders" + + field :fields_map, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false, api_name: "fieldsMap" + + field :icon_url, -> { String }, optional: true, nullable: false + + field :logout_url, -> { String }, optional: true, nullable: false, api_name: "logoutUrl" + + field :pkce_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :scope, -> { Auth0::Types::ConnectionScopeOAuth2 }, optional: true, nullable: false + + field :scripts, -> { Auth0::Types::ConnectionScriptsOAuth2 }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::ConnectionSetUserRootAttributesEnum }, optional: true, nullable: false + + field :token_url, -> { String }, optional: true, nullable: false, api_name: "tokenURL" + + field :upstream_params, -> { Internal::Types::Hash[String, Auth0::Types::ConnectionUpstreamAdditionalProperties] }, optional: true, nullable: false + + field :use_oauth_spec_scope, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "useOauthSpecScope" + end + end +end diff --git a/lib/auth0/types/connection_options_o_auth2common.rb b/lib/auth0/types/connection_options_o_auth2common.rb new file mode 100644 index 000000000..95c748fa9 --- /dev/null +++ b/lib/auth0/types/connection_options_o_auth2common.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ConnectionOptionsOAuth2Common < Internal::Types::Model + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :client_id, -> { String }, optional: true, nullable: false + + field :client_secret, -> { String }, optional: true, nullable: false + + field :scope, -> { Auth0::Types::ConnectionScopeOAuth2 }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::ConnectionSetUserRootAttributesEnum }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Auth0::Types::ConnectionUpstreamAdditionalProperties] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_options_office365.rb b/lib/auth0/types/connection_options_office365.rb new file mode 100644 index 000000000..cf7c1a297 --- /dev/null +++ b/lib/auth0/types/connection_options_office365.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'office365' connection + class ConnectionOptionsOffice365 < Internal::Types::Model + field :client_id, -> { String }, optional: true, nullable: false + + field :client_secret, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_options_oidc.rb b/lib/auth0/types/connection_options_oidc.rb new file mode 100644 index 000000000..5e77947f5 --- /dev/null +++ b/lib/auth0/types/connection_options_oidc.rb @@ -0,0 +1,60 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'oidc' connection + class ConnectionOptionsOidc < Internal::Types::Model + field :authorization_endpoint, -> { String }, optional: true, nullable: false + + field :client_id, -> { String }, optional: false, nullable: false + + field :client_secret, -> { String }, optional: true, nullable: false + + field :connection_settings, -> { Auth0::Types::ConnectionConnectionSettings }, optional: true, nullable: false + + field :domain_aliases, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :dpop_signing_alg, -> { Auth0::Types::ConnectionDpopSigningAlgEnum }, optional: true, nullable: false + + field :icon_url, -> { String }, optional: true, nullable: false + + field :id_token_session_expiry_supported, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :id_token_signed_response_algs, -> { Internal::Types::Array[Auth0::Types::ConnectionIDTokenSignedResponseAlgEnum] }, optional: true, nullable: false + + field :issuer, -> { String }, optional: true, nullable: false + + field :jwks_uri, -> { String }, optional: true, nullable: false + + field :oidc_metadata, -> { Auth0::Types::ConnectionOptionsOidcMetadata }, optional: true, nullable: false + + field :scope, -> { String }, optional: true, nullable: false + + field :send_back_channel_nonce, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::ConnectionSetUserRootAttributesEnum }, optional: true, nullable: false + + field :tenant_domain, -> { String }, optional: true, nullable: false + + field :token_endpoint, -> { String }, optional: true, nullable: false + + field :token_endpoint_auth_method, -> { Auth0::Types::ConnectionTokenEndpointAuthMethodEnum }, optional: true, nullable: false + + field :token_endpoint_auth_signing_alg, -> { Auth0::Types::ConnectionTokenEndpointAuthSigningAlgEnum }, optional: true, nullable: false + + field :token_endpoint_jwtca_aud_format, -> { Auth0::Types::ConnectionTokenEndpointJwtcaAudFormatEnumOidc }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Auth0::Types::ConnectionUpstreamAdditionalProperties] }, optional: true, nullable: false + + field :userinfo_endpoint, -> { String }, optional: true, nullable: false + + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :attribute_map, -> { Auth0::Types::ConnectionAttributeMapOidc }, optional: true, nullable: false + + field :discovery_url, -> { String }, optional: true, nullable: false + + field :type, -> { Auth0::Types::ConnectionTypeEnumOidc }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_options_oidc_metadata.rb b/lib/auth0/types/connection_options_oidc_metadata.rb new file mode 100644 index 000000000..98d99e61f --- /dev/null +++ b/lib/auth0/types/connection_options_oidc_metadata.rb @@ -0,0 +1,83 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # OpenID Connect Provider Metadata as per + # https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata + class ConnectionOptionsOidcMetadata < Internal::Types::Model + field :acr_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :authorization_endpoint, -> { String }, optional: false, nullable: false + + field :claim_types_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :claims_locales_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :claims_parameter_supported, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :claims_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :dpop_signing_alg_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :end_session_endpoint, -> { String }, optional: true, nullable: false + + field :grant_types_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :id_token_encryption_alg_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :id_token_encryption_enc_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :id_token_signing_alg_values_supported, -> { Internal::Types::Array[String] }, optional: false, nullable: false + + field :issuer, -> { String }, optional: false, nullable: false + + field :jwks_uri, -> { String }, optional: false, nullable: false + + field :op_policy_uri, -> { String }, optional: true, nullable: false + + field :op_tos_uri, -> { String }, optional: true, nullable: false + + field :registration_endpoint, -> { String }, optional: true, nullable: false + + field :request_object_encryption_alg_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :request_object_encryption_enc_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :request_object_signing_alg_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :request_parameter_supported, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :request_uri_parameter_supported, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :require_request_uri_registration, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :response_modes_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :response_types_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :scopes_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :service_documentation, -> { String }, optional: true, nullable: false + + field :subject_types_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :token_endpoint, -> { String }, optional: true, nullable: false + + field :token_endpoint_auth_methods_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :token_endpoint_auth_signing_alg_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :ui_locales_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :userinfo_encryption_alg_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :userinfo_encryption_enc_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :userinfo_endpoint, -> { String }, optional: true, nullable: false + + field :userinfo_signing_alg_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_options_okta.rb b/lib/auth0/types/connection_options_okta.rb new file mode 100644 index 000000000..d5d54a3bf --- /dev/null +++ b/lib/auth0/types/connection_options_okta.rb @@ -0,0 +1,60 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'okta' connection + class ConnectionOptionsOkta < Internal::Types::Model + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :authorization_endpoint, -> { String }, optional: true, nullable: false + + field :client_id, -> { String }, optional: false, nullable: false + + field :client_secret, -> { String }, optional: true, nullable: false + + field :connection_settings, -> { Auth0::Types::ConnectionConnectionSettings }, optional: true, nullable: false + + field :domain_aliases, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :dpop_signing_alg, -> { Auth0::Types::ConnectionDpopSigningAlgEnum }, optional: true, nullable: false + + field :icon_url, -> { String }, optional: true, nullable: false + + field :id_token_session_expiry_supported, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :id_token_signed_response_algs, -> { Internal::Types::Array[Auth0::Types::ConnectionIDTokenSignedResponseAlgEnum] }, optional: true, nullable: false + + field :issuer, -> { String }, optional: true, nullable: false + + field :jwks_uri, -> { String }, optional: true, nullable: false + + field :oidc_metadata, -> { Auth0::Types::ConnectionOptionsOidcMetadata }, optional: true, nullable: false + + field :scope, -> { String }, optional: true, nullable: false + + field :send_back_channel_nonce, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::ConnectionSetUserRootAttributesEnum }, optional: true, nullable: false + + field :tenant_domain, -> { String }, optional: true, nullable: false + + field :token_endpoint, -> { String }, optional: true, nullable: false + + field :token_endpoint_auth_method, -> { Auth0::Types::ConnectionTokenEndpointAuthMethodEnum }, optional: true, nullable: false + + field :token_endpoint_auth_signing_alg, -> { Auth0::Types::ConnectionTokenEndpointAuthSigningAlgEnum }, optional: true, nullable: false + + field :token_endpoint_jwtca_aud_format, -> { Auth0::Types::ConnectionTokenEndpointJwtcaAudFormatEnumOidc }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Auth0::Types::ConnectionUpstreamAdditionalProperties] }, optional: true, nullable: false + + field :userinfo_endpoint, -> { String }, optional: true, nullable: false + + field :attribute_map, -> { Auth0::Types::ConnectionAttributeMapOkta }, optional: true, nullable: false + + field :domain, -> { String }, optional: true, nullable: false + + field :type, -> { Auth0::Types::ConnectionTypeEnumOkta }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_options_paypal.rb b/lib/auth0/types/connection_options_paypal.rb new file mode 100644 index 000000000..b4a818cc4 --- /dev/null +++ b/lib/auth0/types/connection_options_paypal.rb @@ -0,0 +1,28 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'paypal' and 'paypal-sandbox' connections + class ConnectionOptionsPaypal < Internal::Types::Model + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :client_id, -> { String }, optional: true, nullable: false + + field :client_secret, -> { String }, optional: true, nullable: false + + field :freeform_scopes, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :scope, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::ConnectionSetUserRootAttributesEnum }, optional: true, nullable: false + + field :address, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :email, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :phone, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :profile, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_options_ping_federate.rb b/lib/auth0/types/connection_options_ping_federate.rb new file mode 100644 index 000000000..25f1852fc --- /dev/null +++ b/lib/auth0/types/connection_options_ping_federate.rb @@ -0,0 +1,46 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'pingfederate' connection + class ConnectionOptionsPingFederate < Internal::Types::Model + field :assertion_decryption_settings, -> { Auth0::Types::ConnectionAssertionDecryptionSettings }, optional: true, nullable: false + + field :cert, -> { String }, optional: true, nullable: false + + field :decryption_key, -> { Auth0::Types::ConnectionDecryptionKeySAML }, optional: true, nullable: false, api_name: "decryptionKey" + + field :digest_algorithm, -> { Auth0::Types::ConnectionDigestAlgorithmEnumSAML }, optional: true, nullable: false, api_name: "digestAlgorithm" + + field :domain_aliases, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :entity_id, -> { String }, optional: true, nullable: false, api_name: "entityId" + + field :icon_url, -> { String }, optional: true, nullable: false + + field :idpinitiated, -> { Auth0::Types::ConnectionOptionsIdpinitiatedSAML }, optional: true, nullable: false + + field :protocol_binding, -> { Auth0::Types::ConnectionProtocolBindingEnumSAML }, optional: true, nullable: false, api_name: "protocolBinding" + + field :set_user_root_attributes, -> { Auth0::Types::ConnectionSetUserRootAttributesEnum }, optional: true, nullable: false + + field :sign_in_endpoint, -> { String }, optional: true, nullable: false, api_name: "signInEndpoint" + + field :sign_saml_request, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "signSAMLRequest" + + field :signature_algorithm, -> { Auth0::Types::ConnectionSignatureAlgorithmEnumSAML }, optional: true, nullable: false, api_name: "signatureAlgorithm" + + field :tenant_domain, -> { String }, optional: true, nullable: false + + field :thumbprints, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Auth0::Types::ConnectionUpstreamAdditionalProperties] }, optional: true, nullable: false + + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :ping_federate_base_url, -> { String }, optional: false, nullable: false, api_name: "pingFederateBaseUrl" + + field :signing_cert, -> { String }, optional: true, nullable: false, api_name: "signingCert" + end + end +end diff --git a/lib/auth0/types/connection_options_planning_center.rb b/lib/auth0/types/connection_options_planning_center.rb new file mode 100644 index 000000000..e9073fb5c --- /dev/null +++ b/lib/auth0/types/connection_options_planning_center.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'planningcenter' connection + class ConnectionOptionsPlanningCenter < Internal::Types::Model + field :client_id, -> { String }, optional: true, nullable: false + + field :client_secret, -> { String }, optional: true, nullable: false + + field :scope, -> { Auth0::Types::ConnectionScopeOAuth2 }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::ConnectionSetUserRootAttributesEnum }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Auth0::Types::ConnectionUpstreamAdditionalProperties] }, optional: true, nullable: false + + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_options_protocol_enum_twitter.rb b/lib/auth0/types/connection_options_protocol_enum_twitter.rb new file mode 100644 index 000000000..32a47b153 --- /dev/null +++ b/lib/auth0/types/connection_options_protocol_enum_twitter.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionOptionsProtocolEnumTwitter + extend Auth0::Internal::Types::Enum + + OAUTH1 = "oauth1" + OAUTH2 = "oauth2" + end + end +end diff --git a/lib/auth0/types/connection_options_salesforce.rb b/lib/auth0/types/connection_options_salesforce.rb new file mode 100644 index 000000000..4b96946ad --- /dev/null +++ b/lib/auth0/types/connection_options_salesforce.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the salesforce family of connections (salesforce, salesforce-sandbox, salesforce-community) + class ConnectionOptionsSalesforce < Internal::Types::Model + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :client_id, -> { String }, optional: true, nullable: false + + field :client_secret, -> { String }, optional: true, nullable: false + + field :freeform_scopes, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :profile, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :scope, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::ConnectionSetUserRootAttributesEnum }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Auth0::Types::ConnectionUpstreamAdditionalProperties] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_options_salesforce_community.rb b/lib/auth0/types/connection_options_salesforce_community.rb new file mode 100644 index 000000000..cf59271f8 --- /dev/null +++ b/lib/auth0/types/connection_options_salesforce_community.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'salesforce-community' connection + class ConnectionOptionsSalesforceCommunity < Internal::Types::Model + field :client_id, -> { String }, optional: true, nullable: false + + field :client_secret, -> { String }, optional: true, nullable: false + + field :freeform_scopes, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :profile, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :scope, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::ConnectionSetUserRootAttributesEnum }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Auth0::Types::ConnectionUpstreamAdditionalProperties] }, optional: true, nullable: false + + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :community_base_url, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_options_saml.rb b/lib/auth0/types/connection_options_saml.rb new file mode 100644 index 000000000..ad28b24f6 --- /dev/null +++ b/lib/auth0/types/connection_options_saml.rb @@ -0,0 +1,72 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'samlp' connection + class ConnectionOptionsSAML < Internal::Types::Model + field :assertion_decryption_settings, -> { Auth0::Types::ConnectionAssertionDecryptionSettings }, optional: true, nullable: false + + field :cert, -> { String }, optional: true, nullable: false + + field :decryption_key, -> { Auth0::Types::ConnectionDecryptionKeySAML }, optional: true, nullable: false, api_name: "decryptionKey" + + field :digest_algorithm, -> { Auth0::Types::ConnectionDigestAlgorithmEnumSAML }, optional: true, nullable: false, api_name: "digestAlgorithm" + + field :domain_aliases, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :entity_id, -> { String }, optional: true, nullable: false, api_name: "entityId" + + field :icon_url, -> { String }, optional: true, nullable: false + + field :idpinitiated, -> { Auth0::Types::ConnectionOptionsIdpinitiatedSAML }, optional: true, nullable: false + + field :protocol_binding, -> { Auth0::Types::ConnectionProtocolBindingEnumSAML }, optional: true, nullable: false, api_name: "protocolBinding" + + field :set_user_root_attributes, -> { Auth0::Types::ConnectionSetUserRootAttributesEnum }, optional: true, nullable: false + + field :sign_in_endpoint, -> { String }, optional: true, nullable: false, api_name: "signInEndpoint" + + field :sign_saml_request, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "signSAMLRequest" + + field :signature_algorithm, -> { Auth0::Types::ConnectionSignatureAlgorithmEnumSAML }, optional: true, nullable: false, api_name: "signatureAlgorithm" + + field :tenant_domain, -> { String }, optional: true, nullable: false + + field :thumbprints, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Auth0::Types::ConnectionUpstreamAdditionalProperties] }, optional: true, nullable: false + + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :debug, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :deflate, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :destination_url, -> { String }, optional: true, nullable: false, api_name: "destinationUrl" + + field :disable_signout, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "disableSignout" + + field :fields_map, -> { Internal::Types::Hash[String, Auth0::Types::ConnectionFieldsMapSAMLValue] }, optional: true, nullable: false, api_name: "fieldsMap" + + field :global_token_revocation_jwt_iss, -> { String }, optional: true, nullable: false + + field :global_token_revocation_jwt_sub, -> { String }, optional: true, nullable: false + + field :metadata_url, -> { String }, optional: true, nullable: false, api_name: "metadataUrl" + + field :metadata_xml, -> { String }, optional: true, nullable: false, api_name: "metadataXml" + + field :recipient_url, -> { String }, optional: true, nullable: false, api_name: "recipientUrl" + + field :request_template, -> { String }, optional: true, nullable: false, api_name: "requestTemplate" + + field :signing_cert, -> { String }, optional: true, nullable: false, api_name: "signingCert" + + field :signing_key, -> { Auth0::Types::ConnectionSigningKeySAML }, optional: true, nullable: false + + field :sign_out_endpoint, -> { String }, optional: true, nullable: false, api_name: "signOutEndpoint" + + field :user_id_attribute, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_options_scope_github.rb b/lib/auth0/types/connection_options_scope_github.rb new file mode 100644 index 000000000..6c5788a55 --- /dev/null +++ b/lib/auth0/types/connection_options_scope_github.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionOptionsScopeGithub + # ConnectionOptionsScopeGithub is an alias for ConnectionScopeArray + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_options_scope_twitter.rb b/lib/auth0/types/connection_options_scope_twitter.rb new file mode 100644 index 000000000..a98c8efdf --- /dev/null +++ b/lib/auth0/types/connection_options_scope_twitter.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionOptionsScopeTwitter + # ConnectionOptionsScopeTwitter is an alias for ConnectionScopeArray + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_options_sharepoint.rb b/lib/auth0/types/connection_options_sharepoint.rb new file mode 100644 index 000000000..d3bc319ac --- /dev/null +++ b/lib/auth0/types/connection_options_sharepoint.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'sharepoint' connection + class ConnectionOptionsSharepoint < Internal::Types::Model + field :client_id, -> { String }, optional: true, nullable: false + + field :client_secret, -> { String }, optional: true, nullable: false + + field :scope, -> { Auth0::Types::ConnectionScopeOAuth2 }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::ConnectionSetUserRootAttributesEnum }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Auth0::Types::ConnectionUpstreamAdditionalProperties] }, optional: true, nullable: false + + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_options_shop.rb b/lib/auth0/types/connection_options_shop.rb new file mode 100644 index 000000000..21fa43560 --- /dev/null +++ b/lib/auth0/types/connection_options_shop.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'shop' connection + class ConnectionOptionsShop < Internal::Types::Model + field :client_id, -> { String }, optional: true, nullable: false + + field :client_secret, -> { String }, optional: true, nullable: false + + field :scope, -> { Auth0::Types::ConnectionScopeOAuth2 }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::ConnectionSetUserRootAttributesEnum }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Auth0::Types::ConnectionUpstreamAdditionalProperties] }, optional: true, nullable: false + + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_options_shopify.rb b/lib/auth0/types/connection_options_shopify.rb new file mode 100644 index 000000000..bec06dfa1 --- /dev/null +++ b/lib/auth0/types/connection_options_shopify.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'shopify' connection + class ConnectionOptionsShopify < Internal::Types::Model + field :client_id, -> { String }, optional: true, nullable: false + + field :client_secret, -> { String }, optional: true, nullable: false + + field :scope, -> { Auth0::Types::ConnectionScopeOAuth2 }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::ConnectionSetUserRootAttributesEnum }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Auth0::Types::ConnectionUpstreamAdditionalProperties] }, optional: true, nullable: false + + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_options_sms.rb b/lib/auth0/types/connection_options_sms.rb new file mode 100644 index 000000000..f9e1efb85 --- /dev/null +++ b/lib/auth0/types/connection_options_sms.rb @@ -0,0 +1,38 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'sms' connection + class ConnectionOptionsSms < Internal::Types::Model + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :brute_force_protection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :disable_signup, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :forward_req_info, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :from, -> { String }, optional: true, nullable: false + + field :gateway_authentication, -> { Auth0::Types::ConnectionGatewayAuthenticationSms }, optional: true, nullable: false + + field :gateway_url, -> { String }, optional: true, nullable: false + + field :messaging_service_sid, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :provider, -> { Auth0::Types::ConnectionProviderEnumSms }, optional: true, nullable: false + + field :syntax, -> { Auth0::Types::ConnectionTemplateSyntaxEnumSms }, optional: true, nullable: false + + field :template, -> { String }, optional: true, nullable: false + + field :totp, -> { Auth0::Types::ConnectionTotpSms }, optional: true, nullable: false + + field :twilio_sid, -> { String }, optional: true, nullable: false + + field :twilio_token, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_options_soundcloud.rb b/lib/auth0/types/connection_options_soundcloud.rb new file mode 100644 index 000000000..e49b187d7 --- /dev/null +++ b/lib/auth0/types/connection_options_soundcloud.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'soundcloud' connection + class ConnectionOptionsSoundcloud < Internal::Types::Model + field :client_id, -> { String }, optional: true, nullable: false + + field :client_secret, -> { String }, optional: true, nullable: false + + field :scope, -> { Auth0::Types::ConnectionScopeOAuth2 }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::ConnectionSetUserRootAttributesEnum }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Auth0::Types::ConnectionUpstreamAdditionalProperties] }, optional: true, nullable: false + + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_options_thirty_seven_signals.rb b/lib/auth0/types/connection_options_thirty_seven_signals.rb new file mode 100644 index 000000000..ee064cac8 --- /dev/null +++ b/lib/auth0/types/connection_options_thirty_seven_signals.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'thirtysevensignals' connection + class ConnectionOptionsThirtySevenSignals < Internal::Types::Model + field :client_id, -> { String }, optional: true, nullable: false + + field :client_secret, -> { String }, optional: true, nullable: false + + field :scope, -> { Auth0::Types::ConnectionScopeOAuth2 }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::ConnectionSetUserRootAttributesEnum }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Auth0::Types::ConnectionUpstreamAdditionalProperties] }, optional: true, nullable: false + + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_options_twitter.rb b/lib/auth0/types/connection_options_twitter.rb new file mode 100644 index 000000000..c0401962d --- /dev/null +++ b/lib/auth0/types/connection_options_twitter.rb @@ -0,0 +1,32 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'twitter' connection + class ConnectionOptionsTwitter < Internal::Types::Model + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :client_id, -> { String }, optional: true, nullable: false + + field :client_secret, -> { String }, optional: true, nullable: false + + field :freeform_scopes, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :protocol, -> { Auth0::Types::ConnectionOptionsProtocolEnumTwitter }, optional: true, nullable: false + + field :scope, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::ConnectionSetUserRootAttributesEnum }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Auth0::Types::ConnectionUpstreamAdditionalProperties] }, optional: true, nullable: false + + field :offline_access, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :profile, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :tweet_read, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :users_read, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_options_untappd.rb b/lib/auth0/types/connection_options_untappd.rb new file mode 100644 index 000000000..d47e543c8 --- /dev/null +++ b/lib/auth0/types/connection_options_untappd.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'untappd' connection + class ConnectionOptionsUntappd < Internal::Types::Model + field :client_id, -> { String }, optional: true, nullable: false + + field :client_secret, -> { String }, optional: true, nullable: false + + field :scope, -> { Auth0::Types::ConnectionScopeOAuth2 }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::ConnectionSetUserRootAttributesEnum }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Auth0::Types::ConnectionUpstreamAdditionalProperties] }, optional: true, nullable: false + + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_options_vkontakte.rb b/lib/auth0/types/connection_options_vkontakte.rb new file mode 100644 index 000000000..d18adf230 --- /dev/null +++ b/lib/auth0/types/connection_options_vkontakte.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'vkontakte' connection + class ConnectionOptionsVkontakte < Internal::Types::Model + field :client_id, -> { String }, optional: true, nullable: false + + field :client_secret, -> { String }, optional: true, nullable: false + + field :scope, -> { Auth0::Types::ConnectionScopeOAuth2 }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::ConnectionSetUserRootAttributesEnum }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Auth0::Types::ConnectionUpstreamAdditionalProperties] }, optional: true, nullable: false + + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_options_weibo.rb b/lib/auth0/types/connection_options_weibo.rb new file mode 100644 index 000000000..6c673432c --- /dev/null +++ b/lib/auth0/types/connection_options_weibo.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'weibo' connection + class ConnectionOptionsWeibo < Internal::Types::Model + field :client_id, -> { String }, optional: true, nullable: false + + field :client_secret, -> { String }, optional: true, nullable: false + + field :scope, -> { Auth0::Types::ConnectionScopeOAuth2 }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::ConnectionSetUserRootAttributesEnum }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Auth0::Types::ConnectionUpstreamAdditionalProperties] }, optional: true, nullable: false + + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_options_windows_live.rb b/lib/auth0/types/connection_options_windows_live.rb new file mode 100644 index 000000000..05d9d5c92 --- /dev/null +++ b/lib/auth0/types/connection_options_windows_live.rb @@ -0,0 +1,140 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'windowslive' connection + class ConnectionOptionsWindowsLive < Internal::Types::Model + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :client_id, -> { String }, optional: true, nullable: false + + field :client_secret, -> { String }, optional: true, nullable: false + + field :freeform_scopes, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :scope, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::ConnectionSetUserRootAttributesEnum }, optional: true, nullable: false + + field :strategy_version, -> { Integer }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Auth0::Types::ConnectionUpstreamAdditionalProperties] }, optional: true, nullable: false + + field :applications, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :applications_create, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :basic, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :birthday, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :calendars, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :calendars_update, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :contacts_birthday, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :contacts_calendars, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :contacts_create, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :contacts_photos, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :contacts_skydrive, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :directory_accessasuser_all, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :directory_read_all, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :directory_readwrite_all, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :emails, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :events_create, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :graph_calendars, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :graph_calendars_update, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :graph_contacts, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :graph_contacts_update, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :graph_device, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :graph_device_command, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :graph_emails, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :graph_emails_update, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :graph_files, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :graph_files_all, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :graph_files_all_update, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :graph_files_update, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :graph_notes, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :graph_notes_create, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :graph_notes_update, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :graph_tasks, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :graph_tasks_update, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :graph_user, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :graph_user_activity, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :graph_user_update, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :group_read_all, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :group_readwrite_all, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mail_readwrite_all, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mail_send, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :messenger, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :offline_access, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :phone_numbers, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :photos, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :postal_addresses, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :rolemanagement_read_all, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :rolemanagement_readwrite_directory, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :share, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :signin, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :sites_read_all, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :sites_readwrite_all, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :skydrive, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :skydrive_update, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :team_readbasic_all, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :team_readwrite_all, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :user_read_all, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :user_readbasic_all, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :work_profile, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_options_wordpress.rb b/lib/auth0/types/connection_options_wordpress.rb new file mode 100644 index 000000000..4c96a8d23 --- /dev/null +++ b/lib/auth0/types/connection_options_wordpress.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'wordpress' connection + class ConnectionOptionsWordpress < Internal::Types::Model + field :client_id, -> { String }, optional: true, nullable: false + + field :client_secret, -> { String }, optional: true, nullable: false + + field :scope, -> { Auth0::Types::ConnectionScopeOAuth2 }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::ConnectionSetUserRootAttributesEnum }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Auth0::Types::ConnectionUpstreamAdditionalProperties] }, optional: true, nullable: false + + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_options_yahoo.rb b/lib/auth0/types/connection_options_yahoo.rb new file mode 100644 index 000000000..857e16388 --- /dev/null +++ b/lib/auth0/types/connection_options_yahoo.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'yahoo' connection + class ConnectionOptionsYahoo < Internal::Types::Model + field :client_id, -> { String }, optional: true, nullable: false + + field :client_secret, -> { String }, optional: true, nullable: false + + field :scope, -> { Auth0::Types::ConnectionScopeOAuth2 }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::ConnectionSetUserRootAttributesEnum }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Auth0::Types::ConnectionUpstreamAdditionalProperties] }, optional: true, nullable: false + + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_options_yandex.rb b/lib/auth0/types/connection_options_yandex.rb new file mode 100644 index 000000000..bd41b6106 --- /dev/null +++ b/lib/auth0/types/connection_options_yandex.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'yandex' connection + class ConnectionOptionsYandex < Internal::Types::Model + field :client_id, -> { String }, optional: true, nullable: false + + field :client_secret, -> { String }, optional: true, nullable: false + + field :scope, -> { Auth0::Types::ConnectionScopeOAuth2 }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::ConnectionSetUserRootAttributesEnum }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Auth0::Types::ConnectionUpstreamAdditionalProperties] }, optional: true, nullable: false + + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_passkey_authentication_method.rb b/lib/auth0/types/connection_passkey_authentication_method.rb new file mode 100644 index 000000000..05fa3124d --- /dev/null +++ b/lib/auth0/types/connection_passkey_authentication_method.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Passkey authentication enablement + class ConnectionPasskeyAuthenticationMethod < Internal::Types::Model + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_passkey_challenge_ui_enum.rb b/lib/auth0/types/connection_passkey_challenge_ui_enum.rb new file mode 100644 index 000000000..4929ee54d --- /dev/null +++ b/lib/auth0/types/connection_passkey_challenge_ui_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionPasskeyChallengeUIEnum + extend Auth0::Internal::Types::Enum + + BOTH = "both" + AUTOFILL = "autofill" + BUTTON = "button" + end + end +end diff --git a/lib/auth0/types/connection_passkey_options.rb b/lib/auth0/types/connection_passkey_options.rb new file mode 100644 index 000000000..0f63f38e4 --- /dev/null +++ b/lib/auth0/types/connection_passkey_options.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the passkey authentication method + class ConnectionPasskeyOptions < Internal::Types::Model + field :challenge_ui, -> { Auth0::Types::ConnectionPasskeyChallengeUIEnum }, optional: true, nullable: false + + field :progressive_enrollment_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :local_enrollment_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_password_authentication_method.rb b/lib/auth0/types/connection_password_authentication_method.rb new file mode 100644 index 000000000..5ddffb74d --- /dev/null +++ b/lib/auth0/types/connection_password_authentication_method.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Password authentication enablement + class ConnectionPasswordAuthenticationMethod < Internal::Types::Model + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :api_behavior, -> { Auth0::Types::ConnectionAPIBehaviorEnum }, optional: true, nullable: false + + field :signup_behavior, -> { Auth0::Types::ConnectionSignupBehaviorEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_password_complexity_options.rb b/lib/auth0/types/connection_password_complexity_options.rb new file mode 100644 index 000000000..1bb26ba54 --- /dev/null +++ b/lib/auth0/types/connection_password_complexity_options.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Password complexity options + class ConnectionPasswordComplexityOptions < Internal::Types::Model + field :min_length, -> { Integer }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_password_dictionary_options.rb b/lib/auth0/types/connection_password_dictionary_options.rb new file mode 100644 index 000000000..2490b5427 --- /dev/null +++ b/lib/auth0/types/connection_password_dictionary_options.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for password dictionary policy + class ConnectionPasswordDictionaryOptions < Internal::Types::Model + field :enable, -> { Internal::Types::Boolean }, optional: false, nullable: false + + field :dictionary, -> { Internal::Types::Array[String] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_password_history_options.rb b/lib/auth0/types/connection_password_history_options.rb new file mode 100644 index 000000000..52acb1829 --- /dev/null +++ b/lib/auth0/types/connection_password_history_options.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for password history policy + class ConnectionPasswordHistoryOptions < Internal::Types::Model + field :enable, -> { Internal::Types::Boolean }, optional: false, nullable: false + + field :size, -> { Integer }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_password_no_personal_info_options.rb b/lib/auth0/types/connection_password_no_personal_info_options.rb new file mode 100644 index 000000000..82c27205c --- /dev/null +++ b/lib/auth0/types/connection_password_no_personal_info_options.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for personal info in passwords policy + class ConnectionPasswordNoPersonalInfoOptions < Internal::Types::Model + field :enable, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_password_options.rb b/lib/auth0/types/connection_password_options.rb new file mode 100644 index 000000000..c09485245 --- /dev/null +++ b/lib/auth0/types/connection_password_options.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Password policy options for flexible password policy configuration + class ConnectionPasswordOptions < Internal::Types::Model + field :complexity, -> { Auth0::Types::ConnectionPasswordOptionsComplexity }, optional: true, nullable: false + + field :dictionary, -> { Auth0::Types::ConnectionPasswordOptionsDictionary }, optional: true, nullable: false + + field :history, -> { Auth0::Types::ConnectionPasswordOptionsHistory }, optional: true, nullable: false + + field :profile_data, -> { Auth0::Types::ConnectionPasswordOptionsProfileData }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_password_options_complexity.rb b/lib/auth0/types/connection_password_options_complexity.rb new file mode 100644 index 000000000..b20b7e934 --- /dev/null +++ b/lib/auth0/types/connection_password_options_complexity.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Password complexity requirements configuration + class ConnectionPasswordOptionsComplexity < Internal::Types::Model + field :min_length, -> { Integer }, optional: true, nullable: false + + field :character_types, -> { Internal::Types::Array[Auth0::Types::PasswordCharacterTypeEnum] }, optional: true, nullable: false + + field :character_type_rule, -> { Auth0::Types::PasswordCharacterTypeRulePolicyEnum }, optional: true, nullable: false + + field :identical_characters, -> { Auth0::Types::PasswordIdenticalCharactersPolicyEnum }, optional: true, nullable: false + + field :sequential_characters, -> { Auth0::Types::PasswordSequentialCharactersPolicyEnum }, optional: true, nullable: false + + field :max_length_exceeded, -> { Auth0::Types::PasswordMaxLengthExceededPolicyEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_password_options_dictionary.rb b/lib/auth0/types/connection_password_options_dictionary.rb new file mode 100644 index 000000000..ffaea2f0a --- /dev/null +++ b/lib/auth0/types/connection_password_options_dictionary.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Dictionary-based password restriction policy to prevent common passwords + class ConnectionPasswordOptionsDictionary < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :custom, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :default, -> { Auth0::Types::PasswordDefaultDictionariesEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_password_options_history.rb b/lib/auth0/types/connection_password_options_history.rb new file mode 100644 index 000000000..3ad74e7b5 --- /dev/null +++ b/lib/auth0/types/connection_password_options_history.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Password history policy configuration to prevent password reuse + class ConnectionPasswordOptionsHistory < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :size, -> { Integer }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_password_options_profile_data.rb b/lib/auth0/types/connection_password_options_profile_data.rb new file mode 100644 index 000000000..ff1458e52 --- /dev/null +++ b/lib/auth0/types/connection_password_options_profile_data.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Personal information restriction policy to prevent use of profile data in passwords + class ConnectionPasswordOptionsProfileData < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :blocked_fields, -> { Internal::Types::Array[String] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_password_policy_enum.rb b/lib/auth0/types/connection_password_policy_enum.rb new file mode 100644 index 000000000..ce9907f15 --- /dev/null +++ b/lib/auth0/types/connection_password_policy_enum.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionPasswordPolicyEnum + extend Auth0::Internal::Types::Enum + + NONE = "none" + LOW = "low" + FAIR = "fair" + GOOD = "good" + EXCELLENT = "excellent" + end + end +end diff --git a/lib/auth0/types/connection_phone_otp_authentication_method.rb b/lib/auth0/types/connection_phone_otp_authentication_method.rb new file mode 100644 index 000000000..6381d36d7 --- /dev/null +++ b/lib/auth0/types/connection_phone_otp_authentication_method.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Phone OTP authentication enablement + class ConnectionPhoneOtpAuthenticationMethod < Internal::Types::Model + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_ping_federate_base_url.rb b/lib/auth0/types/connection_ping_federate_base_url.rb new file mode 100644 index 000000000..3298c133d --- /dev/null +++ b/lib/auth0/types/connection_ping_federate_base_url.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionPingFederateBaseURL + # ConnectionPingFederateBaseURL is an alias for ConnectionPingFederateBaseURLPingFederate + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_ping_federate_base_url_ping_federate.rb b/lib/auth0/types/connection_ping_federate_base_url_ping_federate.rb new file mode 100644 index 000000000..4aef888a3 --- /dev/null +++ b/lib/auth0/types/connection_ping_federate_base_url_ping_federate.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionPingFederateBaseURLPingFederate + # ConnectionPingFederateBaseURLPingFederate is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_profile.rb b/lib/auth0/types/connection_profile.rb new file mode 100644 index 000000000..4e8849159 --- /dev/null +++ b/lib/auth0/types/connection_profile.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ConnectionProfile < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :organization, -> { Auth0::Types::ConnectionProfileOrganization }, optional: true, nullable: false + + field :connection_name_prefix_template, -> { String }, optional: true, nullable: false + + field :enabled_features, -> { Internal::Types::Array[Auth0::Types::EnabledFeaturesEnum] }, optional: true, nullable: false + + field :connection_config, -> { Auth0::Types::ConnectionProfileConfig }, optional: true, nullable: false + + field :strategy_overrides, -> { Auth0::Types::ConnectionProfileStrategyOverrides }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_profile_bitbucket.rb b/lib/auth0/types/connection_profile_bitbucket.rb new file mode 100644 index 000000000..5b61ea929 --- /dev/null +++ b/lib/auth0/types/connection_profile_bitbucket.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionProfileBitbucket + # ConnectionProfileBitbucket is an alias for Boolean + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_profile_config.rb b/lib/auth0/types/connection_profile_config.rb new file mode 100644 index 000000000..d9e30fe62 --- /dev/null +++ b/lib/auth0/types/connection_profile_config.rb @@ -0,0 +1,8 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Connection profile configuration. + class ConnectionProfileConfig < Internal::Types::Model; end + end +end diff --git a/lib/auth0/types/connection_profile_enabled_features.rb b/lib/auth0/types/connection_profile_enabled_features.rb new file mode 100644 index 000000000..54f8caef8 --- /dev/null +++ b/lib/auth0/types/connection_profile_enabled_features.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionProfileEnabledFeatures + # ConnectionProfileEnabledFeatures is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_profile_id.rb b/lib/auth0/types/connection_profile_id.rb new file mode 100644 index 000000000..0542043a8 --- /dev/null +++ b/lib/auth0/types/connection_profile_id.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionProfileID + # ConnectionProfileID is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_profile_name.rb b/lib/auth0/types/connection_profile_name.rb new file mode 100644 index 000000000..c95287f0b --- /dev/null +++ b/lib/auth0/types/connection_profile_name.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionProfileName + # ConnectionProfileName is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_profile_organization.rb b/lib/auth0/types/connection_profile_organization.rb new file mode 100644 index 000000000..440e57991 --- /dev/null +++ b/lib/auth0/types/connection_profile_organization.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The organization of the connection profile. + class ConnectionProfileOrganization < Internal::Types::Model + field :show_as_button, -> { Auth0::Types::ConnectionProfileOrganizationShowAsButtonEnum }, optional: true, nullable: false + + field :assign_membership_on_login, -> { Auth0::Types::ConnectionProfileOrganizationAssignMembershipOnLoginEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_profile_organization_assign_membership_on_login_enum.rb b/lib/auth0/types/connection_profile_organization_assign_membership_on_login_enum.rb new file mode 100644 index 000000000..8e3e801b5 --- /dev/null +++ b/lib/auth0/types/connection_profile_organization_assign_membership_on_login_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionProfileOrganizationAssignMembershipOnLoginEnum + extend Auth0::Internal::Types::Enum + + NONE = "none" + OPTIONAL = "optional" + REQUIRED = "required" + end + end +end diff --git a/lib/auth0/types/connection_profile_organization_show_as_button_enum.rb b/lib/auth0/types/connection_profile_organization_show_as_button_enum.rb new file mode 100644 index 000000000..dc5a0f113 --- /dev/null +++ b/lib/auth0/types/connection_profile_organization_show_as_button_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionProfileOrganizationShowAsButtonEnum + extend Auth0::Internal::Types::Enum + + NONE = "none" + OPTIONAL = "optional" + REQUIRED = "required" + end + end +end diff --git a/lib/auth0/types/connection_profile_strategy_override.rb b/lib/auth0/types/connection_profile_strategy_override.rb new file mode 100644 index 000000000..268014082 --- /dev/null +++ b/lib/auth0/types/connection_profile_strategy_override.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Connection Profile Strategy Override + class ConnectionProfileStrategyOverride < Internal::Types::Model + field :enabled_features, -> { Internal::Types::Array[Auth0::Types::EnabledFeaturesEnum] }, optional: true, nullable: false + + field :connection_config, -> { Auth0::Types::ConnectionProfileStrategyOverridesConnectionConfig }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_profile_strategy_overrides.rb b/lib/auth0/types/connection_profile_strategy_overrides.rb new file mode 100644 index 000000000..964a61a94 --- /dev/null +++ b/lib/auth0/types/connection_profile_strategy_overrides.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Strategy-specific overrides for this attribute + class ConnectionProfileStrategyOverrides < Internal::Types::Model + field :pingfederate, -> { Auth0::Types::ConnectionProfileStrategyOverride }, optional: true, nullable: false + + field :ad, -> { Auth0::Types::ConnectionProfileStrategyOverride }, optional: true, nullable: false + + field :adfs, -> { Auth0::Types::ConnectionProfileStrategyOverride }, optional: true, nullable: false + + field :waad, -> { Auth0::Types::ConnectionProfileStrategyOverride }, optional: true, nullable: false + + field :google_apps, -> { Auth0::Types::ConnectionProfileStrategyOverride }, optional: true, nullable: false, api_name: "google-apps" + + field :okta, -> { Auth0::Types::ConnectionProfileStrategyOverride }, optional: true, nullable: false + + field :oidc, -> { Auth0::Types::ConnectionProfileStrategyOverride }, optional: true, nullable: false + + field :samlp, -> { Auth0::Types::ConnectionProfileStrategyOverride }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_profile_strategy_overrides_connection_config.rb b/lib/auth0/types/connection_profile_strategy_overrides_connection_config.rb new file mode 100644 index 000000000..a5ed9bacc --- /dev/null +++ b/lib/auth0/types/connection_profile_strategy_overrides_connection_config.rb @@ -0,0 +1,8 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Connection profile strategy overrides connection configuration. + class ConnectionProfileStrategyOverridesConnectionConfig < Internal::Types::Model; end + end +end diff --git a/lib/auth0/types/connection_profile_strategy_overrides_enabled_features.rb b/lib/auth0/types/connection_profile_strategy_overrides_enabled_features.rb new file mode 100644 index 000000000..260a6cad1 --- /dev/null +++ b/lib/auth0/types/connection_profile_strategy_overrides_enabled_features.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionProfileStrategyOverridesEnabledFeatures + # ConnectionProfileStrategyOverridesEnabledFeatures is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_profile_template.rb b/lib/auth0/types/connection_profile_template.rb new file mode 100644 index 000000000..f90269519 --- /dev/null +++ b/lib/auth0/types/connection_profile_template.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The structure of the template, which can be used as the payload for creating or updating a Connection Profile. + class ConnectionProfileTemplate < Internal::Types::Model + field :name, -> { String }, optional: true, nullable: false + + field :organization, -> { Auth0::Types::ConnectionProfileOrganization }, optional: true, nullable: false + + field :connection_name_prefix_template, -> { String }, optional: true, nullable: false + + field :enabled_features, -> { Internal::Types::Array[Auth0::Types::EnabledFeaturesEnum] }, optional: true, nullable: false + + field :connection_config, -> { Auth0::Types::ConnectionProfileConfig }, optional: true, nullable: false + + field :strategy_overrides, -> { Auth0::Types::ConnectionProfileStrategyOverrides }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_profile_template_item.rb b/lib/auth0/types/connection_profile_template_item.rb new file mode 100644 index 000000000..d9a75789f --- /dev/null +++ b/lib/auth0/types/connection_profile_template_item.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ConnectionProfileTemplateItem < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :template, -> { Auth0::Types::ConnectionProfileTemplate }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_properties_options.rb b/lib/auth0/types/connection_properties_options.rb new file mode 100644 index 000000000..45b7c0acc --- /dev/null +++ b/lib/auth0/types/connection_properties_options.rb @@ -0,0 +1,86 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The connection's options (depend on the connection strategy) + class ConnectionPropertiesOptions < Internal::Types::Model + field :validation, -> { Auth0::Types::ConnectionValidationOptions }, optional: true, nullable: false + + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :precedence, -> { Internal::Types::Array[Auth0::Types::ConnectionIdentifierPrecedenceEnum] }, optional: true, nullable: false + + field :attributes, -> { Auth0::Types::ConnectionAttributes }, optional: true, nullable: false + + field :enable_script_context, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :enabled_database_customization, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "enabledDatabaseCustomization" + + field :import_mode, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :configuration, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :custom_scripts, -> { Auth0::Types::ConnectionCustomScripts }, optional: true, nullable: false, api_name: "customScripts" + + field :authentication_methods, -> { Auth0::Types::ConnectionAuthenticationMethods }, optional: true, nullable: false + + field :passkey_options, -> { Auth0::Types::ConnectionPasskeyOptions }, optional: true, nullable: false + + field :password_policy, -> { Auth0::Types::ConnectionPasswordPolicyEnum }, optional: true, nullable: false, api_name: "passwordPolicy" + + field :password_complexity_options, -> { Auth0::Types::ConnectionPasswordComplexityOptions }, optional: true, nullable: false + + field :password_history, -> { Auth0::Types::ConnectionPasswordHistoryOptions }, optional: true, nullable: false + + field :password_no_personal_info, -> { Auth0::Types::ConnectionPasswordNoPersonalInfoOptions }, optional: true, nullable: false + + field :password_dictionary, -> { Auth0::Types::ConnectionPasswordDictionaryOptions }, optional: true, nullable: false + + field :api_enable_users, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :api_enable_groups, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :basic_profile, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_admin, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_is_suspended, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_agreed_terms, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_groups, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_assigned_plans, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_profile, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :disable_self_service_change_password, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Auth0::Types::ConnectionUpstreamAdditionalProperties] }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::ConnectionSetUserRootAttributesEnum }, optional: true, nullable: false + + field :gateway_authentication, -> { Auth0::Types::ConnectionGatewayAuthentication }, optional: true, nullable: false + + field :password_options, -> { Auth0::Types::ConnectionPasswordOptions }, optional: true, nullable: false + + field :assertion_decryption_settings, -> { Auth0::Types::ConnectionAssertionDecryptionSettings }, optional: true, nullable: false + + field :id_token_signed_response_algs, -> { Internal::Types::Array[Auth0::Types::ConnectionIDTokenSignedResponseAlgEnum] }, optional: true, nullable: false + + field :dpop_signing_alg, -> { Auth0::Types::ConnectionDpopSigningAlgEnum }, optional: true, nullable: false + + field :token_endpoint_auth_method, -> { Auth0::Types::ConnectionTokenEndpointAuthMethodEnum }, optional: true, nullable: false + + field :token_endpoint_auth_signing_alg, -> { Auth0::Types::ConnectionTokenEndpointAuthSigningAlgEnum }, optional: true, nullable: false + + field :token_endpoint_jwtca_aud_format, -> { Auth0::Types::ConnectionTokenEndpointJwtcaAudFormatEnumOidc }, optional: true, nullable: false + + field :id_token_session_expiry_supported, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :discovery_url, -> { String }, optional: true, nullable: false + + field :oidc_metadata, -> { Auth0::Types::ConnectionsOidcMetadata }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_protocol_binding_enum_saml.rb b/lib/auth0/types/connection_protocol_binding_enum_saml.rb new file mode 100644 index 000000000..626b32ca6 --- /dev/null +++ b/lib/auth0/types/connection_protocol_binding_enum_saml.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionProtocolBindingEnumSAML + extend Auth0::Internal::Types::Enum + + URN_OASIS_NAMES_TC_SAML20BINDINGS_HTTP_POST = "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" + URN_OASIS_NAMES_TC_SAML20BINDINGS_HTTP_REDIRECT = "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" + end + end +end diff --git a/lib/auth0/types/connection_protocol_binding_saml.rb b/lib/auth0/types/connection_protocol_binding_saml.rb new file mode 100644 index 000000000..7ec892dab --- /dev/null +++ b/lib/auth0/types/connection_protocol_binding_saml.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionProtocolBindingSAML + # ConnectionProtocolBindingSAML is an alias for ConnectionProtocolBindingEnumSAML + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_provider_enum_sms.rb b/lib/auth0/types/connection_provider_enum_sms.rb new file mode 100644 index 000000000..ec45d64f6 --- /dev/null +++ b/lib/auth0/types/connection_provider_enum_sms.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionProviderEnumSms + extend Auth0::Internal::Types::Enum + + SMS_GATEWAY = "sms_gateway" + TWILIO = "twilio" + end + end +end diff --git a/lib/auth0/types/connection_provider_sms.rb b/lib/auth0/types/connection_provider_sms.rb new file mode 100644 index 000000000..00762e209 --- /dev/null +++ b/lib/auth0/types/connection_provider_sms.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionProviderSms + # ConnectionProviderSms is an alias for ConnectionProviderEnumSms + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_provisioning_ticket_url.rb b/lib/auth0/types/connection_provisioning_ticket_url.rb new file mode 100644 index 000000000..6f10b21b4 --- /dev/null +++ b/lib/auth0/types/connection_provisioning_ticket_url.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionProvisioningTicketURL + # ConnectionProvisioningTicketURL is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_purposes.rb b/lib/auth0/types/connection_purposes.rb new file mode 100644 index 000000000..73e134c34 --- /dev/null +++ b/lib/auth0/types/connection_purposes.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Purposes for a connection + class ConnectionPurposes < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_realm_fallback.rb b/lib/auth0/types/connection_realm_fallback.rb new file mode 100644 index 000000000..a23aaed6e --- /dev/null +++ b/lib/auth0/types/connection_realm_fallback.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionRealmFallback + # ConnectionRealmFallback is an alias for Boolean + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_realms.rb b/lib/auth0/types/connection_realms.rb new file mode 100644 index 000000000..5e798bbdc --- /dev/null +++ b/lib/auth0/types/connection_realms.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionRealms + # ConnectionRealms is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_recipient_url_saml.rb b/lib/auth0/types/connection_recipient_url_saml.rb new file mode 100644 index 000000000..0e62337a6 --- /dev/null +++ b/lib/auth0/types/connection_recipient_url_saml.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionRecipientUrlSaml + # ConnectionRecipientUrlSaml is an alias for ConnectionHttpsUrlWithHttpFallback255 + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_registration_endpoint.rb b/lib/auth0/types/connection_registration_endpoint.rb new file mode 100644 index 000000000..6d5d07109 --- /dev/null +++ b/lib/auth0/types/connection_registration_endpoint.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionRegistrationEndpoint + # ConnectionRegistrationEndpoint is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_request_object_encryption_alg_values_supported.rb b/lib/auth0/types/connection_request_object_encryption_alg_values_supported.rb new file mode 100644 index 000000000..4f7892e31 --- /dev/null +++ b/lib/auth0/types/connection_request_object_encryption_alg_values_supported.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionRequestObjectEncryptionAlgValuesSupported + # ConnectionRequestObjectEncryptionAlgValuesSupported is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_request_object_encryption_enc_values_supported.rb b/lib/auth0/types/connection_request_object_encryption_enc_values_supported.rb new file mode 100644 index 000000000..9cfc5a193 --- /dev/null +++ b/lib/auth0/types/connection_request_object_encryption_enc_values_supported.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionRequestObjectEncryptionEncValuesSupported + # ConnectionRequestObjectEncryptionEncValuesSupported is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_request_object_signing_alg_values_supported.rb b/lib/auth0/types/connection_request_object_signing_alg_values_supported.rb new file mode 100644 index 000000000..e7a5285ad --- /dev/null +++ b/lib/auth0/types/connection_request_object_signing_alg_values_supported.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionRequestObjectSigningAlgValuesSupported + # ConnectionRequestObjectSigningAlgValuesSupported is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_request_parameter_supported.rb b/lib/auth0/types/connection_request_parameter_supported.rb new file mode 100644 index 000000000..d9d367b62 --- /dev/null +++ b/lib/auth0/types/connection_request_parameter_supported.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionRequestParameterSupported + # ConnectionRequestParameterSupported is an alias for Boolean + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_request_template_saml.rb b/lib/auth0/types/connection_request_template_saml.rb new file mode 100644 index 000000000..434f33246 --- /dev/null +++ b/lib/auth0/types/connection_request_template_saml.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionRequestTemplateSAML + # ConnectionRequestTemplateSAML is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_request_token_urlo_auth1.rb b/lib/auth0/types/connection_request_token_urlo_auth1.rb new file mode 100644 index 000000000..c65b6b066 --- /dev/null +++ b/lib/auth0/types/connection_request_token_urlo_auth1.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionRequestTokenUrloAuth1 + # ConnectionRequestTokenUrloAuth1 is an alias for ConnectionHttpsUrlWithHttpFallback255 + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_request_uri_parameter_supported.rb b/lib/auth0/types/connection_request_uri_parameter_supported.rb new file mode 100644 index 000000000..39ec50436 --- /dev/null +++ b/lib/auth0/types/connection_request_uri_parameter_supported.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionRequestURIParameterSupported + # ConnectionRequestURIParameterSupported is an alias for Boolean + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_require_request_uri_registration.rb b/lib/auth0/types/connection_require_request_uri_registration.rb new file mode 100644 index 000000000..ce3198890 --- /dev/null +++ b/lib/auth0/types/connection_require_request_uri_registration.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionRequireRequestURIRegistration + # ConnectionRequireRequestURIRegistration is an alias for Boolean + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_requires_username.rb b/lib/auth0/types/connection_requires_username.rb new file mode 100644 index 000000000..c977336c7 --- /dev/null +++ b/lib/auth0/types/connection_requires_username.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionRequiresUsername + # ConnectionRequiresUsername is an alias for Boolean + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_response_common.rb b/lib/auth0/types/connection_response_common.rb new file mode 100644 index 000000000..d62da43fb --- /dev/null +++ b/lib/auth0/types/connection_response_common.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ConnectionResponseCommon < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_response_content_ad.rb b/lib/auth0/types/connection_response_content_ad.rb new file mode 100644 index 000000000..036e89ad1 --- /dev/null +++ b/lib/auth0/types/connection_response_content_ad.rb @@ -0,0 +1,32 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Response for connections with strategy=ad + class ConnectionResponseContentAd < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::ConnectionResponseContentAdStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsAd }, optional: true, nullable: false + + field :provisioning_ticket_url, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_response_content_ad_strategy.rb b/lib/auth0/types/connection_response_content_ad_strategy.rb new file mode 100644 index 000000000..29a199927 --- /dev/null +++ b/lib/auth0/types/connection_response_content_ad_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionResponseContentAdStrategy + extend Auth0::Internal::Types::Enum + + AD = "ad" + end + end +end diff --git a/lib/auth0/types/connection_response_content_adfs.rb b/lib/auth0/types/connection_response_content_adfs.rb new file mode 100644 index 000000000..64b1ff5a1 --- /dev/null +++ b/lib/auth0/types/connection_response_content_adfs.rb @@ -0,0 +1,34 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Response for connections with strategy=adfs + class ConnectionResponseContentAdfs < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::ConnectionResponseContentAdfsStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsAdfs }, optional: true, nullable: false + + field :provisioning_ticket_url, -> { String }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_response_content_adfs_strategy.rb b/lib/auth0/types/connection_response_content_adfs_strategy.rb new file mode 100644 index 000000000..503c27e37 --- /dev/null +++ b/lib/auth0/types/connection_response_content_adfs_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionResponseContentAdfsStrategy + extend Auth0::Internal::Types::Enum + + ADFS = "adfs" + end + end +end diff --git a/lib/auth0/types/connection_response_content_amazon.rb b/lib/auth0/types/connection_response_content_amazon.rb new file mode 100644 index 000000000..eb6b4e64f --- /dev/null +++ b/lib/auth0/types/connection_response_content_amazon.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Response for connections with strategy=amazon + class ConnectionResponseContentAmazon < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::ConnectionResponseContentAmazonStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsAmazon }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_response_content_amazon_strategy.rb b/lib/auth0/types/connection_response_content_amazon_strategy.rb new file mode 100644 index 000000000..8d806c764 --- /dev/null +++ b/lib/auth0/types/connection_response_content_amazon_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionResponseContentAmazonStrategy + extend Auth0::Internal::Types::Enum + + AMAZON = "amazon" + end + end +end diff --git a/lib/auth0/types/connection_response_content_apple.rb b/lib/auth0/types/connection_response_content_apple.rb new file mode 100644 index 000000000..4560bd9de --- /dev/null +++ b/lib/auth0/types/connection_response_content_apple.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Response for connections with strategy=apple + class ConnectionResponseContentApple < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::ConnectionResponseContentAppleStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsApple }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_response_content_apple_strategy.rb b/lib/auth0/types/connection_response_content_apple_strategy.rb new file mode 100644 index 000000000..4bd0dd630 --- /dev/null +++ b/lib/auth0/types/connection_response_content_apple_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionResponseContentAppleStrategy + extend Auth0::Internal::Types::Enum + + APPLE = "apple" + end + end +end diff --git a/lib/auth0/types/connection_response_content_auth0.rb b/lib/auth0/types/connection_response_content_auth0.rb new file mode 100644 index 000000000..a254a437b --- /dev/null +++ b/lib/auth0/types/connection_response_content_auth0.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Response for connections with strategy=auth0 + class ConnectionResponseContentAuth0 < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::ConnectionResponseContentAuth0Strategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsAuth0 }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_response_content_auth0oidc.rb b/lib/auth0/types/connection_response_content_auth0oidc.rb new file mode 100644 index 000000000..6012a40df --- /dev/null +++ b/lib/auth0/types/connection_response_content_auth0oidc.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Response for connections with strategy=auth0-oidc + class ConnectionResponseContentAuth0Oidc < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::ConnectionResponseContentAuth0OidcStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsAuth0Oidc }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_response_content_auth0oidc_strategy.rb b/lib/auth0/types/connection_response_content_auth0oidc_strategy.rb new file mode 100644 index 000000000..bdc5ee154 --- /dev/null +++ b/lib/auth0/types/connection_response_content_auth0oidc_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionResponseContentAuth0OidcStrategy + extend Auth0::Internal::Types::Enum + + AUTH0OIDC = "auth0-oidc" + end + end +end diff --git a/lib/auth0/types/connection_response_content_auth0strategy.rb b/lib/auth0/types/connection_response_content_auth0strategy.rb new file mode 100644 index 000000000..d194c14de --- /dev/null +++ b/lib/auth0/types/connection_response_content_auth0strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionResponseContentAuth0Strategy + extend Auth0::Internal::Types::Enum + + AUTH0 = "auth0" + end + end +end diff --git a/lib/auth0/types/connection_response_content_azure_ad.rb b/lib/auth0/types/connection_response_content_azure_ad.rb new file mode 100644 index 000000000..6711450c3 --- /dev/null +++ b/lib/auth0/types/connection_response_content_azure_ad.rb @@ -0,0 +1,34 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Response for connections with strategy=waad + class ConnectionResponseContentAzureAd < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::ConnectionResponseContentAzureAdStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsAzureAd }, optional: true, nullable: false + + field :provisioning_ticket_url, -> { String }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_response_content_azure_ad_strategy.rb b/lib/auth0/types/connection_response_content_azure_ad_strategy.rb new file mode 100644 index 000000000..b951fd5e3 --- /dev/null +++ b/lib/auth0/types/connection_response_content_azure_ad_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionResponseContentAzureAdStrategy + extend Auth0::Internal::Types::Enum + + WAAD = "waad" + end + end +end diff --git a/lib/auth0/types/connection_response_content_baidu.rb b/lib/auth0/types/connection_response_content_baidu.rb new file mode 100644 index 000000000..5343cc56b --- /dev/null +++ b/lib/auth0/types/connection_response_content_baidu.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Response for connections with strategy=baidu + class ConnectionResponseContentBaidu < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::ConnectionResponseContentBaiduStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsBaidu }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_response_content_baidu_strategy.rb b/lib/auth0/types/connection_response_content_baidu_strategy.rb new file mode 100644 index 000000000..47b532ee4 --- /dev/null +++ b/lib/auth0/types/connection_response_content_baidu_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionResponseContentBaiduStrategy + extend Auth0::Internal::Types::Enum + + BAIDU = "baidu" + end + end +end diff --git a/lib/auth0/types/connection_response_content_bitbucket.rb b/lib/auth0/types/connection_response_content_bitbucket.rb new file mode 100644 index 000000000..151a68816 --- /dev/null +++ b/lib/auth0/types/connection_response_content_bitbucket.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Response for connections with strategy=bitbucket + class ConnectionResponseContentBitbucket < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::ConnectionResponseContentBitbucketStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsBitbucket }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_response_content_bitbucket_strategy.rb b/lib/auth0/types/connection_response_content_bitbucket_strategy.rb new file mode 100644 index 000000000..916380fb9 --- /dev/null +++ b/lib/auth0/types/connection_response_content_bitbucket_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionResponseContentBitbucketStrategy + extend Auth0::Internal::Types::Enum + + BITBUCKET = "bitbucket" + end + end +end diff --git a/lib/auth0/types/connection_response_content_bitly.rb b/lib/auth0/types/connection_response_content_bitly.rb new file mode 100644 index 000000000..2aa47c3ce --- /dev/null +++ b/lib/auth0/types/connection_response_content_bitly.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Response for connections with strategy=bitly + class ConnectionResponseContentBitly < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::ConnectionResponseContentBitlyStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsBitly }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_response_content_bitly_strategy.rb b/lib/auth0/types/connection_response_content_bitly_strategy.rb new file mode 100644 index 000000000..a89d03fe4 --- /dev/null +++ b/lib/auth0/types/connection_response_content_bitly_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionResponseContentBitlyStrategy + extend Auth0::Internal::Types::Enum + + BITLY = "bitly" + end + end +end diff --git a/lib/auth0/types/connection_response_content_box.rb b/lib/auth0/types/connection_response_content_box.rb new file mode 100644 index 000000000..4ffa05468 --- /dev/null +++ b/lib/auth0/types/connection_response_content_box.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Response for connections with strategy=box + class ConnectionResponseContentBox < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::ConnectionResponseContentBoxStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsBox }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_response_content_box_strategy.rb b/lib/auth0/types/connection_response_content_box_strategy.rb new file mode 100644 index 000000000..a329b8ebc --- /dev/null +++ b/lib/auth0/types/connection_response_content_box_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionResponseContentBoxStrategy + extend Auth0::Internal::Types::Enum + + BOX = "box" + end + end +end diff --git a/lib/auth0/types/connection_response_content_custom.rb b/lib/auth0/types/connection_response_content_custom.rb new file mode 100644 index 000000000..a500ef456 --- /dev/null +++ b/lib/auth0/types/connection_response_content_custom.rb @@ -0,0 +1,32 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Response for connections with strategy=custom + class ConnectionResponseContentCustom < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::ConnectionResponseContentCustomStrategy }, optional: false, nullable: false + + field :options, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :provisioning_ticket_url, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_response_content_custom_strategy.rb b/lib/auth0/types/connection_response_content_custom_strategy.rb new file mode 100644 index 000000000..929cba3a2 --- /dev/null +++ b/lib/auth0/types/connection_response_content_custom_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionResponseContentCustomStrategy + extend Auth0::Internal::Types::Enum + + CUSTOM = "custom" + end + end +end diff --git a/lib/auth0/types/connection_response_content_daccount.rb b/lib/auth0/types/connection_response_content_daccount.rb new file mode 100644 index 000000000..98fee4473 --- /dev/null +++ b/lib/auth0/types/connection_response_content_daccount.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Response for connections with strategy=daccount + class ConnectionResponseContentDaccount < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::ConnectionResponseContentDaccountStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsDaccount }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_response_content_daccount_strategy.rb b/lib/auth0/types/connection_response_content_daccount_strategy.rb new file mode 100644 index 000000000..d36daa9bc --- /dev/null +++ b/lib/auth0/types/connection_response_content_daccount_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionResponseContentDaccountStrategy + extend Auth0::Internal::Types::Enum + + DACCOUNT = "daccount" + end + end +end diff --git a/lib/auth0/types/connection_response_content_dropbox.rb b/lib/auth0/types/connection_response_content_dropbox.rb new file mode 100644 index 000000000..adcc57360 --- /dev/null +++ b/lib/auth0/types/connection_response_content_dropbox.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Response for connections with strategy=dropbox + class ConnectionResponseContentDropbox < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::ConnectionResponseContentDropboxStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsDropbox }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_response_content_dropbox_strategy.rb b/lib/auth0/types/connection_response_content_dropbox_strategy.rb new file mode 100644 index 000000000..7d44f1442 --- /dev/null +++ b/lib/auth0/types/connection_response_content_dropbox_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionResponseContentDropboxStrategy + extend Auth0::Internal::Types::Enum + + DROPBOX = "dropbox" + end + end +end diff --git a/lib/auth0/types/connection_response_content_dwolla.rb b/lib/auth0/types/connection_response_content_dwolla.rb new file mode 100644 index 000000000..d64d4f3b4 --- /dev/null +++ b/lib/auth0/types/connection_response_content_dwolla.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Response for connections with strategy=dwolla + class ConnectionResponseContentDwolla < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::ConnectionResponseContentDwollaStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsDwolla }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_response_content_dwolla_strategy.rb b/lib/auth0/types/connection_response_content_dwolla_strategy.rb new file mode 100644 index 000000000..7ec120d26 --- /dev/null +++ b/lib/auth0/types/connection_response_content_dwolla_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionResponseContentDwollaStrategy + extend Auth0::Internal::Types::Enum + + DWOLLA = "dwolla" + end + end +end diff --git a/lib/auth0/types/connection_response_content_email.rb b/lib/auth0/types/connection_response_content_email.rb new file mode 100644 index 000000000..ba3accc25 --- /dev/null +++ b/lib/auth0/types/connection_response_content_email.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Response for connections with strategy=email + class ConnectionResponseContentEmail < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::ConnectionResponseContentEmailStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsEmail }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_response_content_email_strategy.rb b/lib/auth0/types/connection_response_content_email_strategy.rb new file mode 100644 index 000000000..b37317dc6 --- /dev/null +++ b/lib/auth0/types/connection_response_content_email_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionResponseContentEmailStrategy + extend Auth0::Internal::Types::Enum + + EMAIL = "email" + end + end +end diff --git a/lib/auth0/types/connection_response_content_evernote.rb b/lib/auth0/types/connection_response_content_evernote.rb new file mode 100644 index 000000000..86d56b6a9 --- /dev/null +++ b/lib/auth0/types/connection_response_content_evernote.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Response for connections with strategy=evernote + class ConnectionResponseContentEvernote < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::ConnectionResponseContentEvernoteStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsEvernote }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_response_content_evernote_sandbox.rb b/lib/auth0/types/connection_response_content_evernote_sandbox.rb new file mode 100644 index 000000000..6bafa3fe0 --- /dev/null +++ b/lib/auth0/types/connection_response_content_evernote_sandbox.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Response for connections with strategy=evernote-sandbox + class ConnectionResponseContentEvernoteSandbox < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::ConnectionResponseContentEvernoteSandboxStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsEvernote }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_response_content_evernote_sandbox_strategy.rb b/lib/auth0/types/connection_response_content_evernote_sandbox_strategy.rb new file mode 100644 index 000000000..0a39eb30e --- /dev/null +++ b/lib/auth0/types/connection_response_content_evernote_sandbox_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionResponseContentEvernoteSandboxStrategy + extend Auth0::Internal::Types::Enum + + EVERNOTE_SANDBOX = "evernote-sandbox" + end + end +end diff --git a/lib/auth0/types/connection_response_content_evernote_strategy.rb b/lib/auth0/types/connection_response_content_evernote_strategy.rb new file mode 100644 index 000000000..9910541c5 --- /dev/null +++ b/lib/auth0/types/connection_response_content_evernote_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionResponseContentEvernoteStrategy + extend Auth0::Internal::Types::Enum + + EVERNOTE = "evernote" + end + end +end diff --git a/lib/auth0/types/connection_response_content_exact.rb b/lib/auth0/types/connection_response_content_exact.rb new file mode 100644 index 000000000..fe135d977 --- /dev/null +++ b/lib/auth0/types/connection_response_content_exact.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Response for connections with strategy=exact + class ConnectionResponseContentExact < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::ConnectionResponseContentExactStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsExact }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_response_content_exact_strategy.rb b/lib/auth0/types/connection_response_content_exact_strategy.rb new file mode 100644 index 000000000..9ec737aa7 --- /dev/null +++ b/lib/auth0/types/connection_response_content_exact_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionResponseContentExactStrategy + extend Auth0::Internal::Types::Enum + + EXACT = "exact" + end + end +end diff --git a/lib/auth0/types/connection_response_content_facebook.rb b/lib/auth0/types/connection_response_content_facebook.rb new file mode 100644 index 000000000..9a66d533a --- /dev/null +++ b/lib/auth0/types/connection_response_content_facebook.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Response for connections with strategy=facebook + class ConnectionResponseContentFacebook < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::ConnectionResponseContentFacebookStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsFacebook }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_response_content_facebook_strategy.rb b/lib/auth0/types/connection_response_content_facebook_strategy.rb new file mode 100644 index 000000000..95a62305f --- /dev/null +++ b/lib/auth0/types/connection_response_content_facebook_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionResponseContentFacebookStrategy + extend Auth0::Internal::Types::Enum + + FACEBOOK = "facebook" + end + end +end diff --git a/lib/auth0/types/connection_response_content_fitbit.rb b/lib/auth0/types/connection_response_content_fitbit.rb new file mode 100644 index 000000000..6f29016d9 --- /dev/null +++ b/lib/auth0/types/connection_response_content_fitbit.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Response for connections with strategy=fitbit + class ConnectionResponseContentFitbit < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::ConnectionResponseContentFitbitStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsFitbit }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_response_content_fitbit_strategy.rb b/lib/auth0/types/connection_response_content_fitbit_strategy.rb new file mode 100644 index 000000000..a2331602f --- /dev/null +++ b/lib/auth0/types/connection_response_content_fitbit_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionResponseContentFitbitStrategy + extend Auth0::Internal::Types::Enum + + FITBIT = "fitbit" + end + end +end diff --git a/lib/auth0/types/connection_response_content_git_hub.rb b/lib/auth0/types/connection_response_content_git_hub.rb new file mode 100644 index 000000000..0c657813b --- /dev/null +++ b/lib/auth0/types/connection_response_content_git_hub.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Response for connections with strategy=github + class ConnectionResponseContentGitHub < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::ConnectionResponseContentGitHubStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsGitHub }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_response_content_git_hub_strategy.rb b/lib/auth0/types/connection_response_content_git_hub_strategy.rb new file mode 100644 index 000000000..6cfbd4e25 --- /dev/null +++ b/lib/auth0/types/connection_response_content_git_hub_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionResponseContentGitHubStrategy + extend Auth0::Internal::Types::Enum + + GITHUB = "github" + end + end +end diff --git a/lib/auth0/types/connection_response_content_google_apps.rb b/lib/auth0/types/connection_response_content_google_apps.rb new file mode 100644 index 000000000..0104caed3 --- /dev/null +++ b/lib/auth0/types/connection_response_content_google_apps.rb @@ -0,0 +1,34 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Response for connections with strategy=google-apps + class ConnectionResponseContentGoogleApps < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::ConnectionResponseContentGoogleAppsStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsGoogleApps }, optional: true, nullable: false + + field :provisioning_ticket_url, -> { String }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_response_content_google_apps_strategy.rb b/lib/auth0/types/connection_response_content_google_apps_strategy.rb new file mode 100644 index 000000000..1239a9cdf --- /dev/null +++ b/lib/auth0/types/connection_response_content_google_apps_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionResponseContentGoogleAppsStrategy + extend Auth0::Internal::Types::Enum + + GOOGLE_APPS = "google-apps" + end + end +end diff --git a/lib/auth0/types/connection_response_content_google_o_auth2.rb b/lib/auth0/types/connection_response_content_google_o_auth2.rb new file mode 100644 index 000000000..61b2746a7 --- /dev/null +++ b/lib/auth0/types/connection_response_content_google_o_auth2.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Response for connections with strategy=google-oauth2 + class ConnectionResponseContentGoogleOAuth2 < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::ConnectionResponseContentGoogleOAuth2Strategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsGoogleOAuth2 }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_response_content_google_o_auth2strategy.rb b/lib/auth0/types/connection_response_content_google_o_auth2strategy.rb new file mode 100644 index 000000000..d9070e4b0 --- /dev/null +++ b/lib/auth0/types/connection_response_content_google_o_auth2strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionResponseContentGoogleOAuth2Strategy + extend Auth0::Internal::Types::Enum + + GOOGLE_OAUTH2 = "google-oauth2" + end + end +end diff --git a/lib/auth0/types/connection_response_content_instagram.rb b/lib/auth0/types/connection_response_content_instagram.rb new file mode 100644 index 000000000..1fbc06350 --- /dev/null +++ b/lib/auth0/types/connection_response_content_instagram.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Response for connections with strategy=instagram + class ConnectionResponseContentInstagram < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::ConnectionResponseContentInstagramStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsInstagram }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_response_content_instagram_strategy.rb b/lib/auth0/types/connection_response_content_instagram_strategy.rb new file mode 100644 index 000000000..633d12cdb --- /dev/null +++ b/lib/auth0/types/connection_response_content_instagram_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionResponseContentInstagramStrategy + extend Auth0::Internal::Types::Enum + + INSTAGRAM = "instagram" + end + end +end diff --git a/lib/auth0/types/connection_response_content_ip.rb b/lib/auth0/types/connection_response_content_ip.rb new file mode 100644 index 000000000..b12ef7fb1 --- /dev/null +++ b/lib/auth0/types/connection_response_content_ip.rb @@ -0,0 +1,32 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Response for connections with strategy=ip + class ConnectionResponseContentIP < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::ConnectionResponseContentIPStrategy }, optional: false, nullable: false + + field :options, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_response_content_ip_strategy.rb b/lib/auth0/types/connection_response_content_ip_strategy.rb new file mode 100644 index 000000000..d686a3e02 --- /dev/null +++ b/lib/auth0/types/connection_response_content_ip_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionResponseContentIPStrategy + extend Auth0::Internal::Types::Enum + + IP = "ip" + end + end +end diff --git a/lib/auth0/types/connection_response_content_line.rb b/lib/auth0/types/connection_response_content_line.rb new file mode 100644 index 000000000..d55383c23 --- /dev/null +++ b/lib/auth0/types/connection_response_content_line.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Response for connections with strategy=line + class ConnectionResponseContentLine < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::ConnectionResponseContentLineStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsLine }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_response_content_line_strategy.rb b/lib/auth0/types/connection_response_content_line_strategy.rb new file mode 100644 index 000000000..72c141238 --- /dev/null +++ b/lib/auth0/types/connection_response_content_line_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionResponseContentLineStrategy + extend Auth0::Internal::Types::Enum + + LINE = "line" + end + end +end diff --git a/lib/auth0/types/connection_response_content_linkedin.rb b/lib/auth0/types/connection_response_content_linkedin.rb new file mode 100644 index 000000000..4fc84b407 --- /dev/null +++ b/lib/auth0/types/connection_response_content_linkedin.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Response for connections with strategy=linkedin + class ConnectionResponseContentLinkedin < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::ConnectionResponseContentLinkedinStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsLinkedin }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_response_content_linkedin_strategy.rb b/lib/auth0/types/connection_response_content_linkedin_strategy.rb new file mode 100644 index 000000000..c59104419 --- /dev/null +++ b/lib/auth0/types/connection_response_content_linkedin_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionResponseContentLinkedinStrategy + extend Auth0::Internal::Types::Enum + + LINKEDIN = "linkedin" + end + end +end diff --git a/lib/auth0/types/connection_response_content_o_auth1.rb b/lib/auth0/types/connection_response_content_o_auth1.rb new file mode 100644 index 000000000..6a91d8ba8 --- /dev/null +++ b/lib/auth0/types/connection_response_content_o_auth1.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Response for connections with strategy=oauth1 + class ConnectionResponseContentOAuth1 < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::ConnectionResponseContentOAuth1Strategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsOAuth1 }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_response_content_o_auth1strategy.rb b/lib/auth0/types/connection_response_content_o_auth1strategy.rb new file mode 100644 index 000000000..a0272d0d6 --- /dev/null +++ b/lib/auth0/types/connection_response_content_o_auth1strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionResponseContentOAuth1Strategy + extend Auth0::Internal::Types::Enum + + OAUTH1 = "oauth1" + end + end +end diff --git a/lib/auth0/types/connection_response_content_o_auth2.rb b/lib/auth0/types/connection_response_content_o_auth2.rb new file mode 100644 index 000000000..b957bbe0f --- /dev/null +++ b/lib/auth0/types/connection_response_content_o_auth2.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Response for connections with strategy=oauth2 + class ConnectionResponseContentOAuth2 < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::ConnectionResponseContentOAuth2Strategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsOAuth2 }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_response_content_o_auth2strategy.rb b/lib/auth0/types/connection_response_content_o_auth2strategy.rb new file mode 100644 index 000000000..4976f0b11 --- /dev/null +++ b/lib/auth0/types/connection_response_content_o_auth2strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionResponseContentOAuth2Strategy + extend Auth0::Internal::Types::Enum + + OAUTH2 = "oauth2" + end + end +end diff --git a/lib/auth0/types/connection_response_content_office365.rb b/lib/auth0/types/connection_response_content_office365.rb new file mode 100644 index 000000000..1cfcc366f --- /dev/null +++ b/lib/auth0/types/connection_response_content_office365.rb @@ -0,0 +1,34 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Response for connections with strategy=office365 + class ConnectionResponseContentOffice365 < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::ConnectionResponseContentOffice365Strategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsOffice365 }, optional: true, nullable: false + + field :provisioning_ticket_url, -> { String }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_response_content_office365strategy.rb b/lib/auth0/types/connection_response_content_office365strategy.rb new file mode 100644 index 000000000..3f0143805 --- /dev/null +++ b/lib/auth0/types/connection_response_content_office365strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionResponseContentOffice365Strategy + extend Auth0::Internal::Types::Enum + + OFFICE365 = "office365" + end + end +end diff --git a/lib/auth0/types/connection_response_content_oidc.rb b/lib/auth0/types/connection_response_content_oidc.rb new file mode 100644 index 000000000..4aa75f5a8 --- /dev/null +++ b/lib/auth0/types/connection_response_content_oidc.rb @@ -0,0 +1,36 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Response for connections with strategy=oidc + class ConnectionResponseContentOidc < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::ConnectionResponseContentOidcStrategy }, optional: false, nullable: false + + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurposeXaa }, optional: true, nullable: false + + field :cross_app_access_requesting_app, -> { Auth0::Types::CrossAppAccessRequestingApp }, optional: true, nullable: false + + field :cross_app_access_resource_app, -> { Auth0::Types::ConnectionCrossAppAccessResourceApp }, optional: true, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsOidc }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_response_content_oidc_strategy.rb b/lib/auth0/types/connection_response_content_oidc_strategy.rb new file mode 100644 index 000000000..6a7290530 --- /dev/null +++ b/lib/auth0/types/connection_response_content_oidc_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionResponseContentOidcStrategy + extend Auth0::Internal::Types::Enum + + OIDC = "oidc" + end + end +end diff --git a/lib/auth0/types/connection_response_content_okta.rb b/lib/auth0/types/connection_response_content_okta.rb new file mode 100644 index 000000000..528520f43 --- /dev/null +++ b/lib/auth0/types/connection_response_content_okta.rb @@ -0,0 +1,34 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Response for connections with strategy=okta + class ConnectionResponseContentOkta < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::ConnectionResponseContentOktaStrategy }, optional: false, nullable: false + + field :cross_app_access_requesting_app, -> { Auth0::Types::CrossAppAccessRequestingApp }, optional: true, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsOkta }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_response_content_okta_strategy.rb b/lib/auth0/types/connection_response_content_okta_strategy.rb new file mode 100644 index 000000000..3b2a1e5c7 --- /dev/null +++ b/lib/auth0/types/connection_response_content_okta_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionResponseContentOktaStrategy + extend Auth0::Internal::Types::Enum + + OKTA = "okta" + end + end +end diff --git a/lib/auth0/types/connection_response_content_paypal.rb b/lib/auth0/types/connection_response_content_paypal.rb new file mode 100644 index 000000000..fc5795000 --- /dev/null +++ b/lib/auth0/types/connection_response_content_paypal.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Response for connections with strategy=paypal + class ConnectionResponseContentPaypal < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::ConnectionResponseContentPaypalStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsPaypal }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_response_content_paypal_sandbox.rb b/lib/auth0/types/connection_response_content_paypal_sandbox.rb new file mode 100644 index 000000000..56de1e56b --- /dev/null +++ b/lib/auth0/types/connection_response_content_paypal_sandbox.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Response for connections with strategy=paypal-sandbox + class ConnectionResponseContentPaypalSandbox < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::ConnectionResponseContentPaypalSandboxStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsPaypal }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_response_content_paypal_sandbox_strategy.rb b/lib/auth0/types/connection_response_content_paypal_sandbox_strategy.rb new file mode 100644 index 000000000..f7e9c1e7a --- /dev/null +++ b/lib/auth0/types/connection_response_content_paypal_sandbox_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionResponseContentPaypalSandboxStrategy + extend Auth0::Internal::Types::Enum + + PAYPAL_SANDBOX = "paypal-sandbox" + end + end +end diff --git a/lib/auth0/types/connection_response_content_paypal_strategy.rb b/lib/auth0/types/connection_response_content_paypal_strategy.rb new file mode 100644 index 000000000..46dc8d4d2 --- /dev/null +++ b/lib/auth0/types/connection_response_content_paypal_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionResponseContentPaypalStrategy + extend Auth0::Internal::Types::Enum + + PAYPAL = "paypal" + end + end +end diff --git a/lib/auth0/types/connection_response_content_ping_federate.rb b/lib/auth0/types/connection_response_content_ping_federate.rb new file mode 100644 index 000000000..47c1e1d97 --- /dev/null +++ b/lib/auth0/types/connection_response_content_ping_federate.rb @@ -0,0 +1,34 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Response for connections with strategy=pingfederate + class ConnectionResponseContentPingFederate < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::ConnectionResponseContentPingFederateStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsPingFederate }, optional: true, nullable: false + + field :provisioning_ticket_url, -> { String }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_response_content_ping_federate_strategy.rb b/lib/auth0/types/connection_response_content_ping_federate_strategy.rb new file mode 100644 index 000000000..b02e4e388 --- /dev/null +++ b/lib/auth0/types/connection_response_content_ping_federate_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionResponseContentPingFederateStrategy + extend Auth0::Internal::Types::Enum + + PINGFEDERATE = "pingfederate" + end + end +end diff --git a/lib/auth0/types/connection_response_content_planning_center.rb b/lib/auth0/types/connection_response_content_planning_center.rb new file mode 100644 index 000000000..1816101d3 --- /dev/null +++ b/lib/auth0/types/connection_response_content_planning_center.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Response for connections with strategy=planningcenter + class ConnectionResponseContentPlanningCenter < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::ConnectionResponseContentPlanningCenterStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsPlanningCenter }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_response_content_planning_center_strategy.rb b/lib/auth0/types/connection_response_content_planning_center_strategy.rb new file mode 100644 index 000000000..7362fe00d --- /dev/null +++ b/lib/auth0/types/connection_response_content_planning_center_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionResponseContentPlanningCenterStrategy + extend Auth0::Internal::Types::Enum + + PLANNINGCENTER = "planningcenter" + end + end +end diff --git a/lib/auth0/types/connection_response_content_salesforce.rb b/lib/auth0/types/connection_response_content_salesforce.rb new file mode 100644 index 000000000..397722cc0 --- /dev/null +++ b/lib/auth0/types/connection_response_content_salesforce.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Response for connections with strategy=salesforce + class ConnectionResponseContentSalesforce < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::ConnectionResponseContentSalesforceStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsSalesforce }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_response_content_salesforce_community.rb b/lib/auth0/types/connection_response_content_salesforce_community.rb new file mode 100644 index 000000000..d924f1e1b --- /dev/null +++ b/lib/auth0/types/connection_response_content_salesforce_community.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Response for connections with strategy=salesforce-community + class ConnectionResponseContentSalesforceCommunity < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::ConnectionResponseContentSalesforceCommunityStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsSalesforceCommunity }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_response_content_salesforce_community_strategy.rb b/lib/auth0/types/connection_response_content_salesforce_community_strategy.rb new file mode 100644 index 000000000..ffe3593be --- /dev/null +++ b/lib/auth0/types/connection_response_content_salesforce_community_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionResponseContentSalesforceCommunityStrategy + extend Auth0::Internal::Types::Enum + + SALESFORCE_COMMUNITY = "salesforce-community" + end + end +end diff --git a/lib/auth0/types/connection_response_content_salesforce_sandbox.rb b/lib/auth0/types/connection_response_content_salesforce_sandbox.rb new file mode 100644 index 000000000..5983b332a --- /dev/null +++ b/lib/auth0/types/connection_response_content_salesforce_sandbox.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Response for connections with strategy=salesforce-sandbox + class ConnectionResponseContentSalesforceSandbox < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::ConnectionResponseContentSalesforceSandboxStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsSalesforce }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_response_content_salesforce_sandbox_strategy.rb b/lib/auth0/types/connection_response_content_salesforce_sandbox_strategy.rb new file mode 100644 index 000000000..ee66ccada --- /dev/null +++ b/lib/auth0/types/connection_response_content_salesforce_sandbox_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionResponseContentSalesforceSandboxStrategy + extend Auth0::Internal::Types::Enum + + SALESFORCE_SANDBOX = "salesforce-sandbox" + end + end +end diff --git a/lib/auth0/types/connection_response_content_salesforce_strategy.rb b/lib/auth0/types/connection_response_content_salesforce_strategy.rb new file mode 100644 index 000000000..d1323dfc6 --- /dev/null +++ b/lib/auth0/types/connection_response_content_salesforce_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionResponseContentSalesforceStrategy + extend Auth0::Internal::Types::Enum + + SALESFORCE = "salesforce" + end + end +end diff --git a/lib/auth0/types/connection_response_content_saml.rb b/lib/auth0/types/connection_response_content_saml.rb new file mode 100644 index 000000000..cfc340c82 --- /dev/null +++ b/lib/auth0/types/connection_response_content_saml.rb @@ -0,0 +1,34 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Response for connections with strategy=samlp + class ConnectionResponseContentSAML < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::ConnectionResponseContentSAMLStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsSAML }, optional: true, nullable: false + + field :provisioning_ticket_url, -> { String }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_response_content_saml_strategy.rb b/lib/auth0/types/connection_response_content_saml_strategy.rb new file mode 100644 index 000000000..4da5d403f --- /dev/null +++ b/lib/auth0/types/connection_response_content_saml_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionResponseContentSAMLStrategy + extend Auth0::Internal::Types::Enum + + SAMLP = "samlp" + end + end +end diff --git a/lib/auth0/types/connection_response_content_sharepoint.rb b/lib/auth0/types/connection_response_content_sharepoint.rb new file mode 100644 index 000000000..3b5917ff0 --- /dev/null +++ b/lib/auth0/types/connection_response_content_sharepoint.rb @@ -0,0 +1,32 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Response for connections with strategy=sharepoint + class ConnectionResponseContentSharepoint < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::ConnectionResponseContentSharepointStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsSharepoint }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_response_content_sharepoint_strategy.rb b/lib/auth0/types/connection_response_content_sharepoint_strategy.rb new file mode 100644 index 000000000..4c7f8d8e5 --- /dev/null +++ b/lib/auth0/types/connection_response_content_sharepoint_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionResponseContentSharepointStrategy + extend Auth0::Internal::Types::Enum + + SHAREPOINT = "sharepoint" + end + end +end diff --git a/lib/auth0/types/connection_response_content_shop.rb b/lib/auth0/types/connection_response_content_shop.rb new file mode 100644 index 000000000..644dd1223 --- /dev/null +++ b/lib/auth0/types/connection_response_content_shop.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Response for connections with strategy=shop + class ConnectionResponseContentShop < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::ConnectionResponseContentShopStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsShop }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_response_content_shop_strategy.rb b/lib/auth0/types/connection_response_content_shop_strategy.rb new file mode 100644 index 000000000..8812c8b84 --- /dev/null +++ b/lib/auth0/types/connection_response_content_shop_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionResponseContentShopStrategy + extend Auth0::Internal::Types::Enum + + SHOP = "shop" + end + end +end diff --git a/lib/auth0/types/connection_response_content_shopify.rb b/lib/auth0/types/connection_response_content_shopify.rb new file mode 100644 index 000000000..161bdff65 --- /dev/null +++ b/lib/auth0/types/connection_response_content_shopify.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Response for connections with strategy=shopify + class ConnectionResponseContentShopify < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::ConnectionResponseContentShopifyStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsShopify }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_response_content_shopify_strategy.rb b/lib/auth0/types/connection_response_content_shopify_strategy.rb new file mode 100644 index 000000000..b99cd2b13 --- /dev/null +++ b/lib/auth0/types/connection_response_content_shopify_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionResponseContentShopifyStrategy + extend Auth0::Internal::Types::Enum + + SHOPIFY = "shopify" + end + end +end diff --git a/lib/auth0/types/connection_response_content_sms.rb b/lib/auth0/types/connection_response_content_sms.rb new file mode 100644 index 000000000..d2889c44a --- /dev/null +++ b/lib/auth0/types/connection_response_content_sms.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Response for connections with strategy=sms + class ConnectionResponseContentSms < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::ConnectionResponseContentSmsStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsSms }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_response_content_sms_strategy.rb b/lib/auth0/types/connection_response_content_sms_strategy.rb new file mode 100644 index 000000000..b51a2abde --- /dev/null +++ b/lib/auth0/types/connection_response_content_sms_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionResponseContentSmsStrategy + extend Auth0::Internal::Types::Enum + + SMS = "sms" + end + end +end diff --git a/lib/auth0/types/connection_response_content_soundcloud.rb b/lib/auth0/types/connection_response_content_soundcloud.rb new file mode 100644 index 000000000..a1b83a6b9 --- /dev/null +++ b/lib/auth0/types/connection_response_content_soundcloud.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Response for connections with strategy=soundcloud + class ConnectionResponseContentSoundcloud < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::ConnectionResponseContentSoundcloudStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsSoundcloud }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_response_content_soundcloud_strategy.rb b/lib/auth0/types/connection_response_content_soundcloud_strategy.rb new file mode 100644 index 000000000..ef9096d03 --- /dev/null +++ b/lib/auth0/types/connection_response_content_soundcloud_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionResponseContentSoundcloudStrategy + extend Auth0::Internal::Types::Enum + + SOUNDCLOUD = "soundcloud" + end + end +end diff --git a/lib/auth0/types/connection_response_content_thirty_seven_signals.rb b/lib/auth0/types/connection_response_content_thirty_seven_signals.rb new file mode 100644 index 000000000..626c000c9 --- /dev/null +++ b/lib/auth0/types/connection_response_content_thirty_seven_signals.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Response for connections with strategy=thirtysevensignals + class ConnectionResponseContentThirtySevenSignals < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::ConnectionResponseContentThirtySevenSignalsStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsThirtySevenSignals }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_response_content_thirty_seven_signals_strategy.rb b/lib/auth0/types/connection_response_content_thirty_seven_signals_strategy.rb new file mode 100644 index 000000000..7d45ff9ce --- /dev/null +++ b/lib/auth0/types/connection_response_content_thirty_seven_signals_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionResponseContentThirtySevenSignalsStrategy + extend Auth0::Internal::Types::Enum + + THIRTYSEVENSIGNALS = "thirtysevensignals" + end + end +end diff --git a/lib/auth0/types/connection_response_content_twitter.rb b/lib/auth0/types/connection_response_content_twitter.rb new file mode 100644 index 000000000..26a46458d --- /dev/null +++ b/lib/auth0/types/connection_response_content_twitter.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Response for connections with strategy=twitter + class ConnectionResponseContentTwitter < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::ConnectionResponseContentTwitterStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsTwitter }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_response_content_twitter_strategy.rb b/lib/auth0/types/connection_response_content_twitter_strategy.rb new file mode 100644 index 000000000..f1784edd6 --- /dev/null +++ b/lib/auth0/types/connection_response_content_twitter_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionResponseContentTwitterStrategy + extend Auth0::Internal::Types::Enum + + TWITTER = "twitter" + end + end +end diff --git a/lib/auth0/types/connection_response_content_untappd.rb b/lib/auth0/types/connection_response_content_untappd.rb new file mode 100644 index 000000000..f6032b4dc --- /dev/null +++ b/lib/auth0/types/connection_response_content_untappd.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Response for connections with strategy=untappd + class ConnectionResponseContentUntappd < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::ConnectionResponseContentUntappdStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsUntappd }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_response_content_untappd_strategy.rb b/lib/auth0/types/connection_response_content_untappd_strategy.rb new file mode 100644 index 000000000..d7d073ae1 --- /dev/null +++ b/lib/auth0/types/connection_response_content_untappd_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionResponseContentUntappdStrategy + extend Auth0::Internal::Types::Enum + + UNTAPPD = "untappd" + end + end +end diff --git a/lib/auth0/types/connection_response_content_vkontakte.rb b/lib/auth0/types/connection_response_content_vkontakte.rb new file mode 100644 index 000000000..7a5cee01e --- /dev/null +++ b/lib/auth0/types/connection_response_content_vkontakte.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Response for connections with strategy=vkontakte + class ConnectionResponseContentVkontakte < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::ConnectionResponseContentVkontakteStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsVkontakte }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_response_content_vkontakte_strategy.rb b/lib/auth0/types/connection_response_content_vkontakte_strategy.rb new file mode 100644 index 000000000..b8a2e6bf5 --- /dev/null +++ b/lib/auth0/types/connection_response_content_vkontakte_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionResponseContentVkontakteStrategy + extend Auth0::Internal::Types::Enum + + VKONTAKTE = "vkontakte" + end + end +end diff --git a/lib/auth0/types/connection_response_content_weibo.rb b/lib/auth0/types/connection_response_content_weibo.rb new file mode 100644 index 000000000..3fa8c20a2 --- /dev/null +++ b/lib/auth0/types/connection_response_content_weibo.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Response for connections with strategy=weibo + class ConnectionResponseContentWeibo < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::ConnectionResponseContentWeiboStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsWeibo }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_response_content_weibo_strategy.rb b/lib/auth0/types/connection_response_content_weibo_strategy.rb new file mode 100644 index 000000000..3250e3e75 --- /dev/null +++ b/lib/auth0/types/connection_response_content_weibo_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionResponseContentWeiboStrategy + extend Auth0::Internal::Types::Enum + + WEIBO = "weibo" + end + end +end diff --git a/lib/auth0/types/connection_response_content_windows_live.rb b/lib/auth0/types/connection_response_content_windows_live.rb new file mode 100644 index 000000000..98982fd49 --- /dev/null +++ b/lib/auth0/types/connection_response_content_windows_live.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Response for connections with strategy=windowslive + class ConnectionResponseContentWindowsLive < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::ConnectionResponseContentWindowsLiveStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsWindowsLive }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_response_content_windows_live_strategy.rb b/lib/auth0/types/connection_response_content_windows_live_strategy.rb new file mode 100644 index 000000000..e8cceba78 --- /dev/null +++ b/lib/auth0/types/connection_response_content_windows_live_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionResponseContentWindowsLiveStrategy + extend Auth0::Internal::Types::Enum + + WINDOWSLIVE = "windowslive" + end + end +end diff --git a/lib/auth0/types/connection_response_content_wordpress.rb b/lib/auth0/types/connection_response_content_wordpress.rb new file mode 100644 index 000000000..9eb8d2602 --- /dev/null +++ b/lib/auth0/types/connection_response_content_wordpress.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Response for connections with strategy=wordpress + class ConnectionResponseContentWordpress < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::ConnectionResponseContentWordpressStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsWordpress }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_response_content_wordpress_strategy.rb b/lib/auth0/types/connection_response_content_wordpress_strategy.rb new file mode 100644 index 000000000..3a59810a6 --- /dev/null +++ b/lib/auth0/types/connection_response_content_wordpress_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionResponseContentWordpressStrategy + extend Auth0::Internal::Types::Enum + + WORDPRESS = "wordpress" + end + end +end diff --git a/lib/auth0/types/connection_response_content_yahoo.rb b/lib/auth0/types/connection_response_content_yahoo.rb new file mode 100644 index 000000000..30a984b6e --- /dev/null +++ b/lib/auth0/types/connection_response_content_yahoo.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Response for connections with strategy=yahoo + class ConnectionResponseContentYahoo < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::ConnectionResponseContentYahooStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsYahoo }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_response_content_yahoo_strategy.rb b/lib/auth0/types/connection_response_content_yahoo_strategy.rb new file mode 100644 index 000000000..2cf5f1344 --- /dev/null +++ b/lib/auth0/types/connection_response_content_yahoo_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionResponseContentYahooStrategy + extend Auth0::Internal::Types::Enum + + YAHOO = "yahoo" + end + end +end diff --git a/lib/auth0/types/connection_response_content_yandex.rb b/lib/auth0/types/connection_response_content_yandex.rb new file mode 100644 index 000000000..779c52b70 --- /dev/null +++ b/lib/auth0/types/connection_response_content_yandex.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Response for connections with strategy=yandex + class ConnectionResponseContentYandex < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::ConnectionResponseContentYandexStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsYandex }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_response_content_yandex_strategy.rb b/lib/auth0/types/connection_response_content_yandex_strategy.rb new file mode 100644 index 000000000..ce98188f3 --- /dev/null +++ b/lib/auth0/types/connection_response_content_yandex_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionResponseContentYandexStrategy + extend Auth0::Internal::Types::Enum + + YANDEX = "yandex" + end + end +end diff --git a/lib/auth0/types/connection_response_modes_supported.rb b/lib/auth0/types/connection_response_modes_supported.rb new file mode 100644 index 000000000..370193904 --- /dev/null +++ b/lib/auth0/types/connection_response_modes_supported.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionResponseModesSupported + # ConnectionResponseModesSupported is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_response_types_supported.rb b/lib/auth0/types/connection_response_types_supported.rb new file mode 100644 index 000000000..ebfd3c916 --- /dev/null +++ b/lib/auth0/types/connection_response_types_supported.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionResponseTypesSupported + # ConnectionResponseTypesSupported is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_scope_amazon.rb b/lib/auth0/types/connection_scope_amazon.rb new file mode 100644 index 000000000..004d1edf4 --- /dev/null +++ b/lib/auth0/types/connection_scope_amazon.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionScopeAmazon + # ConnectionScopeAmazon is an alias for ConnectionScopeArray + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_scope_array.rb b/lib/auth0/types/connection_scope_array.rb new file mode 100644 index 000000000..3d32b8a65 --- /dev/null +++ b/lib/auth0/types/connection_scope_array.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionScopeArray + # ConnectionScopeArray is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_scope_array_facebook.rb b/lib/auth0/types/connection_scope_array_facebook.rb new file mode 100644 index 000000000..185d5c6d2 --- /dev/null +++ b/lib/auth0/types/connection_scope_array_facebook.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionScopeArrayFacebook + # ConnectionScopeArrayFacebook is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_scope_array_windows_live.rb b/lib/auth0/types/connection_scope_array_windows_live.rb new file mode 100644 index 000000000..997357713 --- /dev/null +++ b/lib/auth0/types/connection_scope_array_windows_live.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionScopeArrayWindowsLive + # ConnectionScopeArrayWindowsLive is an alias for ConnectionScopeArray + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_scope_azure_ad.rb b/lib/auth0/types/connection_scope_azure_ad.rb new file mode 100644 index 000000000..e9884087b --- /dev/null +++ b/lib/auth0/types/connection_scope_azure_ad.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionScopeAzureAd + # ConnectionScopeAzureAd is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_scope_facebook.rb b/lib/auth0/types/connection_scope_facebook.rb new file mode 100644 index 000000000..bf78d3df8 --- /dev/null +++ b/lib/auth0/types/connection_scope_facebook.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionScopeFacebook + # ConnectionScopeFacebook is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_scope_google_apps.rb b/lib/auth0/types/connection_scope_google_apps.rb new file mode 100644 index 000000000..0613cc40c --- /dev/null +++ b/lib/auth0/types/connection_scope_google_apps.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionScopeGoogleApps + # ConnectionScopeGoogleApps is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_scope_google_o_auth2.rb b/lib/auth0/types/connection_scope_google_o_auth2.rb new file mode 100644 index 000000000..9754d49d2 --- /dev/null +++ b/lib/auth0/types/connection_scope_google_o_auth2.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionScopeGoogleOAuth2 + # ConnectionScopeGoogleOAuth2 is an alias for ConnectionScopeArray + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_scope_item.rb b/lib/auth0/types/connection_scope_item.rb new file mode 100644 index 000000000..c9ad5bbb8 --- /dev/null +++ b/lib/auth0/types/connection_scope_item.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionScopeItem + # ConnectionScopeItem is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_scope_item_google_apps.rb b/lib/auth0/types/connection_scope_item_google_apps.rb new file mode 100644 index 000000000..1c8112859 --- /dev/null +++ b/lib/auth0/types/connection_scope_item_google_apps.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionScopeItemGoogleApps + # ConnectionScopeItemGoogleApps is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_scope_linkedin.rb b/lib/auth0/types/connection_scope_linkedin.rb new file mode 100644 index 000000000..4520960c8 --- /dev/null +++ b/lib/auth0/types/connection_scope_linkedin.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionScopeLinkedin + # ConnectionScopeLinkedin is an alias for ConnectionScopeArray + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_scope_o_auth2.rb b/lib/auth0/types/connection_scope_o_auth2.rb new file mode 100644 index 000000000..2b478145e --- /dev/null +++ b/lib/auth0/types/connection_scope_o_auth2.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # OAuth 2.0 scopes requested from the identity provider during authorization. Determines what user information and + # permissions Auth0 can access. Can be specified as a space-delimited string (e.g., 'openid profile email') or array + # of scope values. The 'useOauthSpecScope' setting controls delimiter behavior when using connection_scope + # parameter. + class ConnectionScopeOAuth2 < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { String } + + member -> { Internal::Types::Array[String] } + end + end +end diff --git a/lib/auth0/types/connection_scope_oidc.rb b/lib/auth0/types/connection_scope_oidc.rb new file mode 100644 index 000000000..e07c32b4e --- /dev/null +++ b/lib/auth0/types/connection_scope_oidc.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionScopeOidc + # ConnectionScopeOidc is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_scope_paypal.rb b/lib/auth0/types/connection_scope_paypal.rb new file mode 100644 index 000000000..7c9b2af3a --- /dev/null +++ b/lib/auth0/types/connection_scope_paypal.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionScopePaypal + # ConnectionScopePaypal is an alias for ConnectionScopeArray + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_scope_salesforce.rb b/lib/auth0/types/connection_scope_salesforce.rb new file mode 100644 index 000000000..c348c5554 --- /dev/null +++ b/lib/auth0/types/connection_scope_salesforce.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionScopeSalesforce + # ConnectionScopeSalesforce is an alias for ConnectionScopeArray + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_scopes_supported.rb b/lib/auth0/types/connection_scopes_supported.rb new file mode 100644 index 000000000..32bfd391a --- /dev/null +++ b/lib/auth0/types/connection_scopes_supported.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionScopesSupported + # ConnectionScopesSupported is an alias for Object + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_scripts_o_auth1.rb b/lib/auth0/types/connection_scripts_o_auth1.rb new file mode 100644 index 000000000..09e2811cd --- /dev/null +++ b/lib/auth0/types/connection_scripts_o_auth1.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Custom scripts to transform user profile data or modify OAuth1 flow behavior + class ConnectionScriptsOAuth1 < Internal::Types::Model + field :fetch_user_profile, -> { String }, optional: true, nullable: false, api_name: "fetchUserProfile" + end + end +end diff --git a/lib/auth0/types/connection_scripts_o_auth2.rb b/lib/auth0/types/connection_scripts_o_auth2.rb new file mode 100644 index 000000000..e96ae8292 --- /dev/null +++ b/lib/auth0/types/connection_scripts_o_auth2.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Custom scripts to transform user profile data or modify OAuth2 flow behavior + class ConnectionScriptsOAuth2 < Internal::Types::Model + field :fetch_user_profile, -> { String }, optional: true, nullable: false, api_name: "fetchUserProfile" + + field :get_logout_url, -> { String }, optional: true, nullable: false, api_name: "getLogoutUrl" + end + end +end diff --git a/lib/auth0/types/connection_send_back_channel_nonce.rb b/lib/auth0/types/connection_send_back_channel_nonce.rb new file mode 100644 index 000000000..37498488b --- /dev/null +++ b/lib/auth0/types/connection_send_back_channel_nonce.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionSendBackChannelNonce + # ConnectionSendBackChannelNonce is an alias for Boolean + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_service_documentation.rb b/lib/auth0/types/connection_service_documentation.rb new file mode 100644 index 000000000..26eb880a4 --- /dev/null +++ b/lib/auth0/types/connection_service_documentation.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionServiceDocumentation + # ConnectionServiceDocumentation is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_set_user_root_attributes_enum.rb b/lib/auth0/types/connection_set_user_root_attributes_enum.rb new file mode 100644 index 000000000..51b9648dc --- /dev/null +++ b/lib/auth0/types/connection_set_user_root_attributes_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionSetUserRootAttributesEnum + extend Auth0::Internal::Types::Enum + + ON_EACH_LOGIN = "on_each_login" + ON_FIRST_LOGIN = "on_first_login" + NEVER_ON_LOGIN = "never_on_login" + end + end +end diff --git a/lib/auth0/types/connection_sha1thumbprint.rb b/lib/auth0/types/connection_sha1thumbprint.rb new file mode 100644 index 000000000..30b25f7cd --- /dev/null +++ b/lib/auth0/types/connection_sha1thumbprint.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionSha1Thumbprint + # ConnectionSha1Thumbprint is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_should_trust_email_verified_connection_enum.rb b/lib/auth0/types/connection_should_trust_email_verified_connection_enum.rb new file mode 100644 index 000000000..a590ccc3f --- /dev/null +++ b/lib/auth0/types/connection_should_trust_email_verified_connection_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionShouldTrustEmailVerifiedConnectionEnum + extend Auth0::Internal::Types::Enum + + NEVER_SET_EMAILS_AS_VERIFIED = "never_set_emails_as_verified" + ALWAYS_SET_EMAILS_AS_VERIFIED = "always_set_emails_as_verified" + end + end +end diff --git a/lib/auth0/types/connection_show_as_button.rb b/lib/auth0/types/connection_show_as_button.rb new file mode 100644 index 000000000..81b5aa1c1 --- /dev/null +++ b/lib/auth0/types/connection_show_as_button.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionShowAsButton + # ConnectionShowAsButton is an alias for Boolean + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_sign_in_endpoint_ad.rb b/lib/auth0/types/connection_sign_in_endpoint_ad.rb new file mode 100644 index 000000000..b3f8a0484 --- /dev/null +++ b/lib/auth0/types/connection_sign_in_endpoint_ad.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionSignInEndpointAd + # ConnectionSignInEndpointAd is an alias for ConnectionHttpsUrlWithHttpFallback255 + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_sign_in_endpoint_adfs.rb b/lib/auth0/types/connection_sign_in_endpoint_adfs.rb new file mode 100644 index 000000000..63666cfb9 --- /dev/null +++ b/lib/auth0/types/connection_sign_in_endpoint_adfs.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionSignInEndpointAdfs + # ConnectionSignInEndpointAdfs is an alias for ConnectionHttpsUrlWithHttpFallback2048 + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_sign_in_endpoint_saml.rb b/lib/auth0/types/connection_sign_in_endpoint_saml.rb new file mode 100644 index 000000000..539d50bb8 --- /dev/null +++ b/lib/auth0/types/connection_sign_in_endpoint_saml.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionSignInEndpointSAML + # ConnectionSignInEndpointSAML is an alias for ConnectionHttpsUrlWithHttpFallback2048 + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_sign_out_endpoint_saml.rb b/lib/auth0/types/connection_sign_out_endpoint_saml.rb new file mode 100644 index 000000000..4a7236037 --- /dev/null +++ b/lib/auth0/types/connection_sign_out_endpoint_saml.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionSignOutEndpointSAML + # ConnectionSignOutEndpointSAML is an alias for ConnectionHttpsUrlWithHttpFallback2048 + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_sign_saml_request_saml.rb b/lib/auth0/types/connection_sign_saml_request_saml.rb new file mode 100644 index 000000000..db32f1780 --- /dev/null +++ b/lib/auth0/types/connection_sign_saml_request_saml.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionSignSAMLRequestSAML + # ConnectionSignSAMLRequestSAML is an alias for Boolean + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_signature_algorithm_enum_saml.rb b/lib/auth0/types/connection_signature_algorithm_enum_saml.rb new file mode 100644 index 000000000..e79c4bbfb --- /dev/null +++ b/lib/auth0/types/connection_signature_algorithm_enum_saml.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionSignatureAlgorithmEnumSAML + extend Auth0::Internal::Types::Enum + + RSA_SHA1 = "rsa-sha1" + RSA_SHA256 = "rsa-sha256" + end + end +end diff --git a/lib/auth0/types/connection_signature_algorithm_saml.rb b/lib/auth0/types/connection_signature_algorithm_saml.rb new file mode 100644 index 000000000..f17282257 --- /dev/null +++ b/lib/auth0/types/connection_signature_algorithm_saml.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionSignatureAlgorithmSAML + # ConnectionSignatureAlgorithmSAML is an alias for ConnectionSignatureAlgorithmEnumSAML + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_signature_method_o_auth1.rb b/lib/auth0/types/connection_signature_method_o_auth1.rb new file mode 100644 index 000000000..7c2b53139 --- /dev/null +++ b/lib/auth0/types/connection_signature_method_o_auth1.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionSignatureMethodOAuth1 + extend Auth0::Internal::Types::Enum + + RSA_SHA1 = "RSA-SHA1" + end + end +end diff --git a/lib/auth0/types/connection_signing_cert_saml.rb b/lib/auth0/types/connection_signing_cert_saml.rb new file mode 100644 index 000000000..1de96a890 --- /dev/null +++ b/lib/auth0/types/connection_signing_cert_saml.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionSigningCertSAML + # ConnectionSigningCertSAML is an alias for ConnectionSigningCertificatePemSAML + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_signing_certificate_der_saml.rb b/lib/auth0/types/connection_signing_certificate_der_saml.rb new file mode 100644 index 000000000..016ab8c62 --- /dev/null +++ b/lib/auth0/types/connection_signing_certificate_der_saml.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionSigningCertificateDerSAML + # ConnectionSigningCertificateDerSAML is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_signing_certificate_pem_ping_federate.rb b/lib/auth0/types/connection_signing_certificate_pem_ping_federate.rb new file mode 100644 index 000000000..f345527ad --- /dev/null +++ b/lib/auth0/types/connection_signing_certificate_pem_ping_federate.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionSigningCertificatePemPingFederate + # ConnectionSigningCertificatePemPingFederate is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_signing_certificate_pem_saml.rb b/lib/auth0/types/connection_signing_certificate_pem_saml.rb new file mode 100644 index 000000000..094928ca9 --- /dev/null +++ b/lib/auth0/types/connection_signing_certificate_pem_saml.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionSigningCertificatePemSAML + # ConnectionSigningCertificatePemSAML is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_signing_key_saml.rb b/lib/auth0/types/connection_signing_key_saml.rb new file mode 100644 index 000000000..c11af6790 --- /dev/null +++ b/lib/auth0/types/connection_signing_key_saml.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Key pair with 'key' and 'cert' properties for signing SAML messages + class ConnectionSigningKeySAML < Internal::Types::Model + field :cert, -> { String }, optional: true, nullable: false + + field :key, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_signup_behavior_enum.rb b/lib/auth0/types/connection_signup_behavior_enum.rb new file mode 100644 index 000000000..29f852d17 --- /dev/null +++ b/lib/auth0/types/connection_signup_behavior_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionSignupBehaviorEnum + extend Auth0::Internal::Types::Enum + + ALLOW = "allow" + BLOCK = "block" + end + end +end diff --git a/lib/auth0/types/connection_strategy_enum.rb b/lib/auth0/types/connection_strategy_enum.rb new file mode 100644 index 000000000..98697b26a --- /dev/null +++ b/lib/auth0/types/connection_strategy_enum.rb @@ -0,0 +1,66 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionStrategyEnum + extend Auth0::Internal::Types::Enum + + AD = "ad" + ADFS = "adfs" + AMAZON = "amazon" + APPLE = "apple" + DROPBOX = "dropbox" + BITBUCKET = "bitbucket" + AUTH0OIDC = "auth0-oidc" + AUTH0 = "auth0" + BAIDU = "baidu" + BITLY = "bitly" + BOX = "box" + CUSTOM = "custom" + DACCOUNT = "daccount" + DWOLLA = "dwolla" + EMAIL = "email" + EVERNOTE_SANDBOX = "evernote-sandbox" + EVERNOTE = "evernote" + EXACT = "exact" + FACEBOOK = "facebook" + FITBIT = "fitbit" + GITHUB = "github" + GOOGLE_APPS = "google-apps" + GOOGLE_OAUTH2 = "google-oauth2" + INSTAGRAM = "instagram" + IP = "ip" + LINE = "line" + LINKEDIN = "linkedin" + OAUTH1 = "oauth1" + OAUTH2 = "oauth2" + OFFICE365 = "office365" + OIDC = "oidc" + OKTA = "okta" + PAYPAL = "paypal" + PAYPAL_SANDBOX = "paypal-sandbox" + PINGFEDERATE = "pingfederate" + PLANNINGCENTER = "planningcenter" + SALESFORCE_COMMUNITY = "salesforce-community" + SALESFORCE_SANDBOX = "salesforce-sandbox" + SALESFORCE = "salesforce" + SAMLP = "samlp" + SHAREPOINT = "sharepoint" + SHOPIFY = "shopify" + SHOP = "shop" + SMS = "sms" + SOUNDCLOUD = "soundcloud" + THIRTYSEVENSIGNALS = "thirtysevensignals" + TWITTER = "twitter" + UNTAPPD = "untappd" + VKONTAKTE = "vkontakte" + WAAD = "waad" + WEIBO = "weibo" + WINDOWSLIVE = "windowslive" + WORDPRESS = "wordpress" + YAHOO = "yahoo" + YANDEX = "yandex" + AUTH0ADLDAP = "auth0-adldap" + end + end +end diff --git a/lib/auth0/types/connection_strategy_version_enum_linkedin.rb b/lib/auth0/types/connection_strategy_version_enum_linkedin.rb new file mode 100644 index 000000000..d47d917c8 --- /dev/null +++ b/lib/auth0/types/connection_strategy_version_enum_linkedin.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionStrategyVersionEnumLinkedin + # ConnectionStrategyVersionEnumLinkedin is an alias for Integer + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_strategy_version_enum_windows_live.rb b/lib/auth0/types/connection_strategy_version_enum_windows_live.rb new file mode 100644 index 000000000..d3687c9ae --- /dev/null +++ b/lib/auth0/types/connection_strategy_version_enum_windows_live.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionStrategyVersionEnumWindowsLive + # ConnectionStrategyVersionEnumWindowsLive is an alias for Integer + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_subject_types_supported.rb b/lib/auth0/types/connection_subject_types_supported.rb new file mode 100644 index 000000000..d5e9a1a9e --- /dev/null +++ b/lib/auth0/types/connection_subject_types_supported.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionSubjectTypesSupported + # ConnectionSubjectTypesSupported is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_template_sms.rb b/lib/auth0/types/connection_template_sms.rb new file mode 100644 index 000000000..03f6cb819 --- /dev/null +++ b/lib/auth0/types/connection_template_sms.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionTemplateSms + # ConnectionTemplateSms is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_template_syntax_enum_sms.rb b/lib/auth0/types/connection_template_syntax_enum_sms.rb new file mode 100644 index 000000000..137be0587 --- /dev/null +++ b/lib/auth0/types/connection_template_syntax_enum_sms.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionTemplateSyntaxEnumSms + extend Auth0::Internal::Types::Enum + + LIQUID = "liquid" + MD_WITH_MACROS = "md_with_macros" + end + end +end diff --git a/lib/auth0/types/connection_tenant_domain.rb b/lib/auth0/types/connection_tenant_domain.rb new file mode 100644 index 000000000..a664d6ff0 --- /dev/null +++ b/lib/auth0/types/connection_tenant_domain.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionTenantDomain + # ConnectionTenantDomain is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_tenant_domain_ad.rb b/lib/auth0/types/connection_tenant_domain_ad.rb new file mode 100644 index 000000000..3524107b4 --- /dev/null +++ b/lib/auth0/types/connection_tenant_domain_ad.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionTenantDomainAd + # ConnectionTenantDomainAd is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_tenant_domain_azure_ad_one.rb b/lib/auth0/types/connection_tenant_domain_azure_ad_one.rb new file mode 100644 index 000000000..d9c72b3a7 --- /dev/null +++ b/lib/auth0/types/connection_tenant_domain_azure_ad_one.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionTenantDomainAzureAdOne + # ConnectionTenantDomainAzureAdOne is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_tenant_domain_google_apps.rb b/lib/auth0/types/connection_tenant_domain_google_apps.rb new file mode 100644 index 000000000..550fad9fb --- /dev/null +++ b/lib/auth0/types/connection_tenant_domain_google_apps.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionTenantDomainGoogleApps + # ConnectionTenantDomainGoogleApps is an alias for ConnectionTenantDomain + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_tenant_domain_saml.rb b/lib/auth0/types/connection_tenant_domain_saml.rb new file mode 100644 index 000000000..d52a0c50b --- /dev/null +++ b/lib/auth0/types/connection_tenant_domain_saml.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionTenantDomainSAML + # ConnectionTenantDomainSAML is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_tenant_id_azure_ad.rb b/lib/auth0/types/connection_tenant_id_azure_ad.rb new file mode 100644 index 000000000..9c12c12ad --- /dev/null +++ b/lib/auth0/types/connection_tenant_id_azure_ad.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionTenantIDAzureAd + # ConnectionTenantIDAzureAd is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_thumbprints.rb b/lib/auth0/types/connection_thumbprints.rb new file mode 100644 index 000000000..303a197f2 --- /dev/null +++ b/lib/auth0/types/connection_thumbprints.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionThumbprints + # ConnectionThumbprints is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_thumbprints_ad.rb b/lib/auth0/types/connection_thumbprints_ad.rb new file mode 100644 index 000000000..63819556e --- /dev/null +++ b/lib/auth0/types/connection_thumbprints_ad.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionThumbprintsAd + # ConnectionThumbprintsAd is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_thumbprints_saml.rb b/lib/auth0/types/connection_thumbprints_saml.rb new file mode 100644 index 000000000..21c3a6338 --- /dev/null +++ b/lib/auth0/types/connection_thumbprints_saml.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionThumbprintsSAML + # ConnectionThumbprintsSAML is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_token_endpoint.rb b/lib/auth0/types/connection_token_endpoint.rb new file mode 100644 index 000000000..7929c499c --- /dev/null +++ b/lib/auth0/types/connection_token_endpoint.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionTokenEndpoint + # ConnectionTokenEndpoint is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_token_endpoint_auth_method_enum.rb b/lib/auth0/types/connection_token_endpoint_auth_method_enum.rb new file mode 100644 index 000000000..3db798e43 --- /dev/null +++ b/lib/auth0/types/connection_token_endpoint_auth_method_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionTokenEndpointAuthMethodEnum + extend Auth0::Internal::Types::Enum + + CLIENT_SECRET_POST = "client_secret_post" + PRIVATE_KEY_JWT = "private_key_jwt" + end + end +end diff --git a/lib/auth0/types/connection_token_endpoint_auth_methods_supported.rb b/lib/auth0/types/connection_token_endpoint_auth_methods_supported.rb new file mode 100644 index 000000000..1f9e22b28 --- /dev/null +++ b/lib/auth0/types/connection_token_endpoint_auth_methods_supported.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionTokenEndpointAuthMethodsSupported + # ConnectionTokenEndpointAuthMethodsSupported is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_token_endpoint_auth_signing_alg_enum.rb b/lib/auth0/types/connection_token_endpoint_auth_signing_alg_enum.rb new file mode 100644 index 000000000..6e0606ced --- /dev/null +++ b/lib/auth0/types/connection_token_endpoint_auth_signing_alg_enum.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionTokenEndpointAuthSigningAlgEnum + extend Auth0::Internal::Types::Enum + + ES256 = "ES256" + ES384 = "ES384" + PS256 = "PS256" + PS384 = "PS384" + RS256 = "RS256" + RS384 = "RS384" + RS512 = "RS512" + end + end +end diff --git a/lib/auth0/types/connection_token_endpoint_auth_signing_alg_values_supported.rb b/lib/auth0/types/connection_token_endpoint_auth_signing_alg_values_supported.rb new file mode 100644 index 000000000..3551b40a3 --- /dev/null +++ b/lib/auth0/types/connection_token_endpoint_auth_signing_alg_values_supported.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionTokenEndpointAuthSigningAlgValuesSupported + # ConnectionTokenEndpointAuthSigningAlgValuesSupported is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_token_endpoint_jwtca_aud_format_enum_oidc.rb b/lib/auth0/types/connection_token_endpoint_jwtca_aud_format_enum_oidc.rb new file mode 100644 index 000000000..f597f6d52 --- /dev/null +++ b/lib/auth0/types/connection_token_endpoint_jwtca_aud_format_enum_oidc.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionTokenEndpointJwtcaAudFormatEnumOidc + extend Auth0::Internal::Types::Enum + + ISSUER = "issuer" + TOKEN_ENDPOINT = "token_endpoint" + end + end +end diff --git a/lib/auth0/types/connection_totp_email.rb b/lib/auth0/types/connection_totp_email.rb new file mode 100644 index 000000000..655cfcc4d --- /dev/null +++ b/lib/auth0/types/connection_totp_email.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ConnectionTotpEmail < Internal::Types::Model + field :length, -> { Integer }, optional: true, nullable: false + + field :time_step, -> { Integer }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_totp_length_email.rb b/lib/auth0/types/connection_totp_length_email.rb new file mode 100644 index 000000000..f8f2b3f96 --- /dev/null +++ b/lib/auth0/types/connection_totp_length_email.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionTotpLengthEmail + # ConnectionTotpLengthEmail is an alias for ConnectionTotpLengthPasswordless + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_totp_length_passwordless.rb b/lib/auth0/types/connection_totp_length_passwordless.rb new file mode 100644 index 000000000..ba79f0b18 --- /dev/null +++ b/lib/auth0/types/connection_totp_length_passwordless.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionTotpLengthPasswordless + # ConnectionTotpLengthPasswordless is an alias for Integer + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_totp_length_sms.rb b/lib/auth0/types/connection_totp_length_sms.rb new file mode 100644 index 000000000..5932455ae --- /dev/null +++ b/lib/auth0/types/connection_totp_length_sms.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionTotpLengthSms + # ConnectionTotpLengthSms is an alias for ConnectionTotpLengthPasswordless + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_totp_sms.rb b/lib/auth0/types/connection_totp_sms.rb new file mode 100644 index 000000000..9d54b40d6 --- /dev/null +++ b/lib/auth0/types/connection_totp_sms.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Time-based One-Time Password (TOTP) options + class ConnectionTotpSms < Internal::Types::Model + field :length, -> { Integer }, optional: true, nullable: false + + field :time_step, -> { Integer }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_totp_time_step_email.rb b/lib/auth0/types/connection_totp_time_step_email.rb new file mode 100644 index 000000000..564a6b969 --- /dev/null +++ b/lib/auth0/types/connection_totp_time_step_email.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionTotpTimeStepEmail + # ConnectionTotpTimeStepEmail is an alias for ConnectionTotpTimeStepPasswordless + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_totp_time_step_passwordless.rb b/lib/auth0/types/connection_totp_time_step_passwordless.rb new file mode 100644 index 000000000..2b214cba4 --- /dev/null +++ b/lib/auth0/types/connection_totp_time_step_passwordless.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionTotpTimeStepPasswordless + # ConnectionTotpTimeStepPasswordless is an alias for Integer + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_totp_time_step_sms.rb b/lib/auth0/types/connection_totp_time_step_sms.rb new file mode 100644 index 000000000..9fc1dc695 --- /dev/null +++ b/lib/auth0/types/connection_totp_time_step_sms.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionTotpTimeStepSms + # ConnectionTotpTimeStepSms is an alias for ConnectionTotpTimeStepPasswordless + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_twilio_sid_sms.rb b/lib/auth0/types/connection_twilio_sid_sms.rb new file mode 100644 index 000000000..e8f270c08 --- /dev/null +++ b/lib/auth0/types/connection_twilio_sid_sms.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionTwilioSidSms + # ConnectionTwilioSidSms is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_twilio_token_sms.rb b/lib/auth0/types/connection_twilio_token_sms.rb new file mode 100644 index 000000000..50af03510 --- /dev/null +++ b/lib/auth0/types/connection_twilio_token_sms.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionTwilioTokenSms + # ConnectionTwilioTokenSms is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_type_enum_oidc.rb b/lib/auth0/types/connection_type_enum_oidc.rb new file mode 100644 index 000000000..5954e61ed --- /dev/null +++ b/lib/auth0/types/connection_type_enum_oidc.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionTypeEnumOidc + extend Auth0::Internal::Types::Enum + + BACK_CHANNEL = "back_channel" + FRONT_CHANNEL = "front_channel" + end + end +end diff --git a/lib/auth0/types/connection_type_enum_okta.rb b/lib/auth0/types/connection_type_enum_okta.rb new file mode 100644 index 000000000..f7176446c --- /dev/null +++ b/lib/auth0/types/connection_type_enum_okta.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionTypeEnumOkta + extend Auth0::Internal::Types::Enum + + BACK_CHANNEL = "back_channel" + end + end +end diff --git a/lib/auth0/types/connection_ui_locales_supported.rb b/lib/auth0/types/connection_ui_locales_supported.rb new file mode 100644 index 000000000..bb5fb32f4 --- /dev/null +++ b/lib/auth0/types/connection_ui_locales_supported.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionUILocalesSupported + # ConnectionUILocalesSupported is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_upstream_additional_properties.rb b/lib/auth0/types/connection_upstream_additional_properties.rb new file mode 100644 index 000000000..b89d51654 --- /dev/null +++ b/lib/auth0/types/connection_upstream_additional_properties.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ConnectionUpstreamAdditionalProperties < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::ConnectionUpstreamAlias } + + member -> { Auth0::Types::ConnectionUpstreamValue } + end + end +end diff --git a/lib/auth0/types/connection_upstream_alias.rb b/lib/auth0/types/connection_upstream_alias.rb new file mode 100644 index 000000000..b1793b9b4 --- /dev/null +++ b/lib/auth0/types/connection_upstream_alias.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ConnectionUpstreamAlias < Internal::Types::Model + field :alias_, -> { Auth0::Types::ConnectionUpstreamAliasEnum }, optional: true, nullable: false, api_name: "alias" + end + end +end diff --git a/lib/auth0/types/connection_upstream_alias_enum.rb b/lib/auth0/types/connection_upstream_alias_enum.rb new file mode 100644 index 000000000..62f3027ea --- /dev/null +++ b/lib/auth0/types/connection_upstream_alias_enum.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionUpstreamAliasEnum + extend Auth0::Internal::Types::Enum + + ACR_VALUES = "acr_values" + AUDIENCE = "audience" + CLIENT_ID = "client_id" + DISPLAY = "display" + ID_TOKEN_HINT = "id_token_hint" + LOGIN_HINT = "login_hint" + MAX_AGE = "max_age" + PROMPT = "prompt" + RESOURCE = "resource" + RESPONSE_MODE = "response_mode" + RESPONSE_TYPE = "response_type" + UI_LOCALES = "ui_locales" + end + end +end diff --git a/lib/auth0/types/connection_upstream_params.rb b/lib/auth0/types/connection_upstream_params.rb new file mode 100644 index 000000000..c2808e29e --- /dev/null +++ b/lib/auth0/types/connection_upstream_params.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionUpstreamParams + # ConnectionUpstreamParams is an alias for Object + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_upstream_params_facebook.rb b/lib/auth0/types/connection_upstream_params_facebook.rb new file mode 100644 index 000000000..5e743433b --- /dev/null +++ b/lib/auth0/types/connection_upstream_params_facebook.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionUpstreamParamsFacebook + # ConnectionUpstreamParamsFacebook is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_upstream_value.rb b/lib/auth0/types/connection_upstream_value.rb new file mode 100644 index 000000000..1549c9aaa --- /dev/null +++ b/lib/auth0/types/connection_upstream_value.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ConnectionUpstreamValue < Internal::Types::Model + field :value, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_use_common_endpoint_azure_ad.rb b/lib/auth0/types/connection_use_common_endpoint_azure_ad.rb new file mode 100644 index 000000000..4f50d0556 --- /dev/null +++ b/lib/auth0/types/connection_use_common_endpoint_azure_ad.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionUseCommonEndpointAzureAd + # ConnectionUseCommonEndpointAzureAd is an alias for Boolean + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_user_authorization_urlo_auth1.rb b/lib/auth0/types/connection_user_authorization_urlo_auth1.rb new file mode 100644 index 000000000..412b2654f --- /dev/null +++ b/lib/auth0/types/connection_user_authorization_urlo_auth1.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionUserAuthorizationUrloAuth1 + # ConnectionUserAuthorizationUrloAuth1 is an alias for ConnectionHttpsUrlWithHttpFallback255 + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_user_id_attribute_saml.rb b/lib/auth0/types/connection_user_id_attribute_saml.rb new file mode 100644 index 000000000..db5741870 --- /dev/null +++ b/lib/auth0/types/connection_user_id_attribute_saml.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionUserIDAttributeSAML + # ConnectionUserIDAttributeSAML is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_userid_attribute_azure_ad.rb b/lib/auth0/types/connection_userid_attribute_azure_ad.rb new file mode 100644 index 000000000..c98fd4d20 --- /dev/null +++ b/lib/auth0/types/connection_userid_attribute_azure_ad.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionUseridAttributeAzureAd + # ConnectionUseridAttributeAzureAd is an alias for ConnectionUseridAttributeEnumAzureAd + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_userid_attribute_enum_azure_ad.rb b/lib/auth0/types/connection_userid_attribute_enum_azure_ad.rb new file mode 100644 index 000000000..6b36d437e --- /dev/null +++ b/lib/auth0/types/connection_userid_attribute_enum_azure_ad.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionUseridAttributeEnumAzureAd + extend Auth0::Internal::Types::Enum + + OID = "oid" + SUB = "sub" + end + end +end diff --git a/lib/auth0/types/connection_userinfo_encryption_alg_values_supported.rb b/lib/auth0/types/connection_userinfo_encryption_alg_values_supported.rb new file mode 100644 index 000000000..111dd8f2c --- /dev/null +++ b/lib/auth0/types/connection_userinfo_encryption_alg_values_supported.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionUserinfoEncryptionAlgValuesSupported + # ConnectionUserinfoEncryptionAlgValuesSupported is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_userinfo_encryption_enc_values_supported.rb b/lib/auth0/types/connection_userinfo_encryption_enc_values_supported.rb new file mode 100644 index 000000000..edb226707 --- /dev/null +++ b/lib/auth0/types/connection_userinfo_encryption_enc_values_supported.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionUserinfoEncryptionEncValuesSupported + # ConnectionUserinfoEncryptionEncValuesSupported is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_userinfo_endpoint.rb b/lib/auth0/types/connection_userinfo_endpoint.rb new file mode 100644 index 000000000..2dae7d5ac --- /dev/null +++ b/lib/auth0/types/connection_userinfo_endpoint.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionUserinfoEndpoint + # ConnectionUserinfoEndpoint is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_userinfo_signing_alg_values_supported.rb b/lib/auth0/types/connection_userinfo_signing_alg_values_supported.rb new file mode 100644 index 000000000..37bcd0bed --- /dev/null +++ b/lib/auth0/types/connection_userinfo_signing_alg_values_supported.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionUserinfoSigningAlgValuesSupported + # ConnectionUserinfoSigningAlgValuesSupported is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_username_validation_options.rb b/lib/auth0/types/connection_username_validation_options.rb new file mode 100644 index 000000000..cb5d5e661 --- /dev/null +++ b/lib/auth0/types/connection_username_validation_options.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ConnectionUsernameValidationOptions < Internal::Types::Model + field :min, -> { Integer }, optional: false, nullable: false + + field :max, -> { Integer }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_validation_options.rb b/lib/auth0/types/connection_validation_options.rb new file mode 100644 index 000000000..a22075276 --- /dev/null +++ b/lib/auth0/types/connection_validation_options.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for validation + class ConnectionValidationOptions < Internal::Types::Model + field :username, -> { Auth0::Types::ConnectionUsernameValidationOptions }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/connection_waad_protocol.rb b/lib/auth0/types/connection_waad_protocol.rb new file mode 100644 index 000000000..80da0f066 --- /dev/null +++ b/lib/auth0/types/connection_waad_protocol.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionWaadProtocol + # ConnectionWaadProtocol is an alias for ConnectionWaadProtocolEnumAzureAd + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connection_waad_protocol_enum_azure_ad.rb b/lib/auth0/types/connection_waad_protocol_enum_azure_ad.rb new file mode 100644 index 000000000..cd276f487 --- /dev/null +++ b/lib/auth0/types/connection_waad_protocol_enum_azure_ad.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionWaadProtocolEnumAzureAd + extend Auth0::Internal::Types::Enum + + WS_FEDERATION = "ws-federation" + OPENID_CONNECT = "openid-connect" + end + end +end diff --git a/lib/auth0/types/connections_discovery_url.rb b/lib/auth0/types/connections_discovery_url.rb new file mode 100644 index 000000000..c842a1505 --- /dev/null +++ b/lib/auth0/types/connections_discovery_url.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionsDiscoveryURL + # ConnectionsDiscoveryURL is an alias for Object + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connections_metadata.rb b/lib/auth0/types/connections_metadata.rb new file mode 100644 index 000000000..e8ef95d10 --- /dev/null +++ b/lib/auth0/types/connections_metadata.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ConnectionsMetadata + # ConnectionsMetadata is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/connections_oidc_metadata.rb b/lib/auth0/types/connections_oidc_metadata.rb new file mode 100644 index 000000000..a973dc551 --- /dev/null +++ b/lib/auth0/types/connections_oidc_metadata.rb @@ -0,0 +1,82 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Additional OIDC metadata to include in the discovery document. Only applicable when strategy=oidc, okta, or samlp. + class ConnectionsOidcMetadata < Internal::Types::Model + field :issuer, -> { String }, optional: true, nullable: false + + field :authorization_endpoint, -> { String }, optional: true, nullable: false + + field :token_endpoint, -> { String }, optional: true, nullable: false + + field :userinfo_endpoint, -> { String }, optional: true, nullable: false + + field :jwks_uri, -> { String }, optional: true, nullable: false + + field :registration_endpoint, -> { String }, optional: true, nullable: false + + field :scopes_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :response_modes_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :response_types_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :grant_types_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :acr_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :subject_types_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :id_token_signing_alg_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :id_token_encryption_alg_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :id_token_encryption_enc_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :userinfo_signing_alg_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :userinfo_encryption_alg_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :userinfo_encryption_enc_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :request_object_signing_alg_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :request_object_encryption_alg_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :request_object_encryption_enc_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :token_endpoint_auth_methods_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :token_endpoint_auth_signing_alg_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :claim_types_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :claims_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :service_documentation, -> { String }, optional: true, nullable: false + + field :claims_locales_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :ui_locales_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :claims_parameter_supported, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :request_parameter_supported, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :request_uri_parameter_supported, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :require_request_uri_registration, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :op_policy_uri, -> { String }, optional: true, nullable: false + + field :op_tos_uri, -> { String }, optional: true, nullable: false + + field :end_session_endpoint, -> { String }, optional: true, nullable: false + + field :dpop_signing_alg_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/content_security_policy_config.rb b/lib/auth0/types/content_security_policy_config.rb new file mode 100644 index 000000000..b3494121c --- /dev/null +++ b/lib/auth0/types/content_security_policy_config.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Content Security Policy configuration with multi-policy support. + class ContentSecurityPolicyConfig < Internal::Types::Model + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :policies, -> { Internal::Types::Array[Auth0::Types::CspPolicy] }, optional: true, nullable: false + + field :reporting_infrastructure, -> { Auth0::Types::CspReportingInfrastructure }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_action_module_response_content.rb b/lib/auth0/types/create_action_module_response_content.rb new file mode 100644 index 000000000..9c80f5027 --- /dev/null +++ b/lib/auth0/types/create_action_module_response_content.rb @@ -0,0 +1,29 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateActionModuleResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :code, -> { String }, optional: true, nullable: false + + field :dependencies, -> { Internal::Types::Array[Auth0::Types::ActionModuleDependency] }, optional: true, nullable: false + + field :secrets, -> { Internal::Types::Array[Auth0::Types::ActionModuleSecret] }, optional: true, nullable: false + + field :actions_using_module_total, -> { Integer }, optional: true, nullable: false + + field :all_changes_published, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :latest_version_number, -> { Integer }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :updated_at, -> { String }, optional: true, nullable: false + + field :latest_version, -> { Auth0::Types::ActionModuleVersionReference }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_action_module_version_response_content.rb b/lib/auth0/types/create_action_module_version_response_content.rb new file mode 100644 index 000000000..142221efd --- /dev/null +++ b/lib/auth0/types/create_action_module_version_response_content.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateActionModuleVersionResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :module_id, -> { String }, optional: true, nullable: false + + field :version_number, -> { Integer }, optional: true, nullable: false + + field :code, -> { String }, optional: true, nullable: false + + field :secrets, -> { Internal::Types::Array[Auth0::Types::ActionModuleSecret] }, optional: true, nullable: false + + field :dependencies, -> { Internal::Types::Array[Auth0::Types::ActionModuleDependency] }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_action_response_content.rb b/lib/auth0/types/create_action_response_content.rb new file mode 100644 index 000000000..108b1a555 --- /dev/null +++ b/lib/auth0/types/create_action_response_content.rb @@ -0,0 +1,41 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateActionResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :supported_triggers, -> { Internal::Types::Array[Auth0::Types::ActionTrigger] }, optional: true, nullable: false + + field :all_changes_deployed, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :updated_at, -> { String }, optional: true, nullable: false + + field :code, -> { String }, optional: true, nullable: false + + field :dependencies, -> { Internal::Types::Array[Auth0::Types::ActionVersionDependency] }, optional: true, nullable: false + + field :runtime, -> { String }, optional: true, nullable: false + + field :secrets, -> { Internal::Types::Array[Auth0::Types::ActionSecretResponse] }, optional: true, nullable: false + + field :deployed_version, -> { Auth0::Types::ActionDeployedVersion }, optional: true, nullable: false + + field :installed_integration_id, -> { String }, optional: true, nullable: false + + field :integration, -> { Auth0::Types::Integration }, optional: true, nullable: false + + field :status, -> { Auth0::Types::ActionBuildStatusEnum }, optional: true, nullable: false + + field :built_at, -> { String }, optional: true, nullable: false + + field :deploy, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :modules, -> { Internal::Types::Array[Auth0::Types::ActionModuleReference] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_branding_phone_provider_response_content.rb b/lib/auth0/types/create_branding_phone_provider_response_content.rb new file mode 100644 index 000000000..2ae06fc8f --- /dev/null +++ b/lib/auth0/types/create_branding_phone_provider_response_content.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Phone provider configuration schema + class CreateBrandingPhoneProviderResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :tenant, -> { String }, optional: true, nullable: false + + field :name, -> { Auth0::Types::PhoneProviderNameEnum }, optional: false, nullable: false + + field :channel, -> { Auth0::Types::PhoneProviderChannelEnum }, optional: true, nullable: false + + field :disabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :configuration, -> { Auth0::Types::PhoneProviderConfiguration }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :updated_at, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_branding_theme_response_content.rb b/lib/auth0/types/create_branding_theme_response_content.rb new file mode 100644 index 000000000..9ed80ea12 --- /dev/null +++ b/lib/auth0/types/create_branding_theme_response_content.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateBrandingThemeResponseContent < Internal::Types::Model + field :borders, -> { Auth0::Types::BrandingThemeBorders }, optional: false, nullable: false + + field :colors, -> { Auth0::Types::BrandingThemeColors }, optional: false, nullable: false + + field :display_name, -> { String }, optional: false, nullable: false, api_name: "displayName" + + field :fonts, -> { Auth0::Types::BrandingThemeFonts }, optional: false, nullable: false + + field :identifiers, -> { Auth0::Types::BrandingThemeIdentifiers }, optional: true, nullable: false + + field :page_background, -> { Auth0::Types::BrandingThemePageBackground }, optional: false, nullable: false + + field :theme_id, -> { String }, optional: false, nullable: false, api_name: "themeId" + + field :widget, -> { Auth0::Types::BrandingThemeWidget }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_client_authentication_method_self_signed_tls_client_auth.rb b/lib/auth0/types/create_client_authentication_method_self_signed_tls_client_auth.rb new file mode 100644 index 000000000..ee4e693bb --- /dev/null +++ b/lib/auth0/types/create_client_authentication_method_self_signed_tls_client_auth.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Defines `self_signed_tls_client_auth` client authentication method. If the property is defined, the client is + # configured to use mTLS authentication method utilizing self-signed certificate. + class CreateClientAuthenticationMethodSelfSignedTLSClientAuth < Internal::Types::Model + field :credentials, -> { Internal::Types::Array[Auth0::Types::X509CertificateCredential] }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_client_authentication_method_self_signed_tls_client_auth_credentials.rb b/lib/auth0/types/create_client_authentication_method_self_signed_tls_client_auth_credentials.rb new file mode 100644 index 000000000..2f9696edd --- /dev/null +++ b/lib/auth0/types/create_client_authentication_method_self_signed_tls_client_auth_credentials.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateClientAuthenticationMethodSelfSignedTLSClientAuthCredentials + # CreateClientAuthenticationMethodSelfSignedTLSClientAuthCredentials is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/create_client_grant_response_content.rb b/lib/auth0/types/create_client_grant_response_content.rb new file mode 100644 index 000000000..b2a67ff5a --- /dev/null +++ b/lib/auth0/types/create_client_grant_response_content.rb @@ -0,0 +1,29 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateClientGrantResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :client_id, -> { String }, optional: true, nullable: false + + field :audience, -> { String }, optional: true, nullable: false + + field :scope, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :organization_usage, -> { Auth0::Types::ClientGrantOrganizationUsageEnum }, optional: true, nullable: false + + field :allow_any_organization, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :default_for, -> { Auth0::Types::ClientGrantDefaultForEnum }, optional: true, nullable: false + + field :is_system, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :subject_type, -> { Auth0::Types::ClientGrantSubjectTypeEnum }, optional: true, nullable: false + + field :authorization_details_types, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :allow_all_scopes, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_client_response_content.rb b/lib/auth0/types/create_client_response_content.rb new file mode 100644 index 000000000..361404304 --- /dev/null +++ b/lib/auth0/types/create_client_response_content.rb @@ -0,0 +1,135 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateClientResponseContent < Internal::Types::Model + field :client_id, -> { String }, optional: true, nullable: false + + field :tenant, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :description, -> { String }, optional: true, nullable: false + + field :global, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :client_secret, -> { String }, optional: true, nullable: false + + field :app_type, -> { Auth0::Types::ClientAppTypeEnum }, optional: true, nullable: false + + field :logo_uri, -> { String }, optional: true, nullable: false + + field :is_first_party, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :oidc_conformant, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :callbacks, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :allowed_origins, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :web_origins, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :client_aliases, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :allowed_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :allowed_logout_urls, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :session_transfer, -> { Auth0::Types::ClientSessionTransferConfiguration }, optional: true, nullable: false + + field :oidc_logout, -> { Auth0::Types::ClientOidcBackchannelLogoutSettings }, optional: true, nullable: false + + field :grant_types, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :jwt_configuration, -> { Auth0::Types::ClientJwtConfiguration }, optional: true, nullable: false + + field :signing_keys, -> { Internal::Types::Array[Auth0::Types::ClientSigningKey] }, optional: true, nullable: false + + field :encryption_key, -> { Auth0::Types::ClientEncryptionKey }, optional: true, nullable: false + + field :sso, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :sso_disabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :cross_origin_authentication, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :cross_origin_loc, -> { String }, optional: true, nullable: false + + field :custom_login_page_on, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :custom_login_page, -> { String }, optional: true, nullable: false + + field :custom_login_page_preview, -> { String }, optional: true, nullable: false + + field :form_template, -> { String }, optional: true, nullable: false + + field :addons, -> { Auth0::Types::ClientAddons }, optional: true, nullable: false + + field :token_endpoint_auth_method, -> { Auth0::Types::ClientTokenEndpointAuthMethodEnum }, optional: true, nullable: false + + field :is_token_endpoint_ip_header_trusted, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :client_metadata, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :mobile, -> { Auth0::Types::ClientMobile }, optional: true, nullable: false + + field :initiate_login_uri, -> { String }, optional: true, nullable: false + + field :native_social_login, -> { Auth0::Types::NativeSocialLogin }, optional: true, nullable: false + + field :fedcm_login, -> { Auth0::Types::FedCmLogin }, optional: true, nullable: false + + field :refresh_token, -> { Auth0::Types::ClientRefreshTokenConfiguration }, optional: true, nullable: false + + field :default_organization, -> { Auth0::Types::ClientDefaultOrganization }, optional: true, nullable: false + + field :organization_usage, -> { Auth0::Types::ClientOrganizationUsageEnum }, optional: true, nullable: false + + field :organization_require_behavior, -> { Auth0::Types::ClientOrganizationRequireBehaviorEnum }, optional: true, nullable: false + + field :organization_discovery_methods, -> { Internal::Types::Array[Auth0::Types::ClientOrganizationDiscoveryEnum] }, optional: true, nullable: false + + field :client_authentication_methods, -> { Auth0::Types::ClientAuthenticationMethod }, optional: true, nullable: false + + field :require_pushed_authorization_requests, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :require_proof_of_possession, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :signed_request_object, -> { Auth0::Types::ClientSignedRequestObjectWithCredentialID }, optional: true, nullable: false + + field :token_vault_privileged_access, -> { Auth0::Types::ClientTokenVaultPrivilegedAccessWithCredentialID }, optional: true, nullable: false + + field :compliance_level, -> { Auth0::Types::ClientComplianceLevelEnum }, optional: true, nullable: false + + field :skip_non_verifiable_callback_uri_confirmation_prompt, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :token_exchange, -> { Auth0::Types::ClientTokenExchangeConfiguration }, optional: true, nullable: false + + field :par_request_expiry, -> { Integer }, optional: true, nullable: false + + field :token_quota, -> { Auth0::Types::TokenQuota }, optional: true, nullable: false + + field :express_configuration, -> { Auth0::Types::ExpressConfiguration }, optional: true, nullable: false + + field :my_organization_configuration, -> { Auth0::Types::ClientMyOrganizationResponseConfiguration }, optional: true, nullable: false + + field :identity_assertion_authorization_grant, -> { Auth0::Types::IdentityAssertionAuthorizationGrant }, optional: true, nullable: false + + field :third_party_security_mode, -> { Auth0::Types::ClientThirdPartySecurityModeEnum }, optional: true, nullable: false + + field :redirection_policy, -> { Auth0::Types::ClientRedirectionPolicyEnum }, optional: true, nullable: false + + field :resource_server_identifier, -> { String }, optional: true, nullable: false + + field :async_approval_notification_channels, -> { Internal::Types::Array[Auth0::Types::AsyncApprovalNotificationsChannelsEnum] }, optional: true, nullable: false + + field :external_metadata_type, -> { Auth0::Types::ClientExternalMetadataTypeEnum }, optional: true, nullable: false + + field :external_metadata_created_by, -> { Auth0::Types::ClientExternalMetadataCreatedByEnum }, optional: true, nullable: false + + field :external_client_id, -> { String }, optional: true, nullable: false + + field :jwks_uri, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_connection_common.rb b/lib/auth0/types/create_connection_common.rb new file mode 100644 index 000000000..8af13e47f --- /dev/null +++ b/lib/auth0/types/create_connection_common.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateConnectionCommon < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_connection_profile_response_content.rb b/lib/auth0/types/create_connection_profile_response_content.rb new file mode 100644 index 000000000..330ed5fa2 --- /dev/null +++ b/lib/auth0/types/create_connection_profile_response_content.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateConnectionProfileResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :organization, -> { Auth0::Types::ConnectionProfileOrganization }, optional: true, nullable: false + + field :connection_name_prefix_template, -> { String }, optional: true, nullable: false + + field :enabled_features, -> { Internal::Types::Array[Auth0::Types::EnabledFeaturesEnum] }, optional: true, nullable: false + + field :connection_config, -> { Auth0::Types::ConnectionProfileConfig }, optional: true, nullable: false + + field :strategy_overrides, -> { Auth0::Types::ConnectionProfileStrategyOverrides }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_ad.rb b/lib/auth0/types/create_connection_request_content_ad.rb new file mode 100644 index 000000000..2a81956ea --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_ad.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Create a connection with strategy=ad + class CreateConnectionRequestContentAd < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::CreateConnectionRequestContentAdStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsAd }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_ad_strategy.rb b/lib/auth0/types/create_connection_request_content_ad_strategy.rb new file mode 100644 index 000000000..c0134384c --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_ad_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateConnectionRequestContentAdStrategy + extend Auth0::Internal::Types::Enum + + AD = "ad" + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_adfs.rb b/lib/auth0/types/create_connection_request_content_adfs.rb new file mode 100644 index 000000000..4a955bdc2 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_adfs.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Create a connection with strategy=adfs + class CreateConnectionRequestContentAdfs < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::CreateConnectionRequestContentAdfsStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsAdfs }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_adfs_strategy.rb b/lib/auth0/types/create_connection_request_content_adfs_strategy.rb new file mode 100644 index 000000000..4a2174121 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_adfs_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateConnectionRequestContentAdfsStrategy + extend Auth0::Internal::Types::Enum + + ADFS = "adfs" + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_amazon.rb b/lib/auth0/types/create_connection_request_content_amazon.rb new file mode 100644 index 000000000..7a53fda10 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_amazon.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Create a connection with strategy=amazon + class CreateConnectionRequestContentAmazon < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::CreateConnectionRequestContentAmazonStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsAmazon }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_amazon_strategy.rb b/lib/auth0/types/create_connection_request_content_amazon_strategy.rb new file mode 100644 index 000000000..019667fe5 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_amazon_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateConnectionRequestContentAmazonStrategy + extend Auth0::Internal::Types::Enum + + AMAZON = "amazon" + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_apple.rb b/lib/auth0/types/create_connection_request_content_apple.rb new file mode 100644 index 000000000..9f568e767 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_apple.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Create a connection with strategy=apple + class CreateConnectionRequestContentApple < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::CreateConnectionRequestContentAppleStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsApple }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_apple_strategy.rb b/lib/auth0/types/create_connection_request_content_apple_strategy.rb new file mode 100644 index 000000000..4085f49af --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_apple_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateConnectionRequestContentAppleStrategy + extend Auth0::Internal::Types::Enum + + APPLE = "apple" + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_auth0.rb b/lib/auth0/types/create_connection_request_content_auth0.rb new file mode 100644 index 000000000..0d5b80b8c --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_auth0.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Create a connection with strategy=auth0 + class CreateConnectionRequestContentAuth0 < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::CreateConnectionRequestContentAuth0Strategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsAuth0 }, optional: true, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_auth0oidc.rb b/lib/auth0/types/create_connection_request_content_auth0oidc.rb new file mode 100644 index 000000000..67dab0ca8 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_auth0oidc.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Create a connection with strategy=auth0-oidc + class CreateConnectionRequestContentAuth0Oidc < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::CreateConnectionRequestContentAuth0OidcStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsAuth0Oidc }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_auth0oidc_strategy.rb b/lib/auth0/types/create_connection_request_content_auth0oidc_strategy.rb new file mode 100644 index 000000000..770b77773 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_auth0oidc_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateConnectionRequestContentAuth0OidcStrategy + extend Auth0::Internal::Types::Enum + + AUTH0OIDC = "auth0-oidc" + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_auth0strategy.rb b/lib/auth0/types/create_connection_request_content_auth0strategy.rb new file mode 100644 index 000000000..ef71e6472 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_auth0strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateConnectionRequestContentAuth0Strategy + extend Auth0::Internal::Types::Enum + + AUTH0 = "auth0" + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_azure_ad.rb b/lib/auth0/types/create_connection_request_content_azure_ad.rb new file mode 100644 index 000000000..1490a1bd5 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_azure_ad.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Create a connection with strategy=waad + class CreateConnectionRequestContentAzureAd < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::CreateConnectionRequestContentAzureAdStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsAzureAd }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_azure_ad_strategy.rb b/lib/auth0/types/create_connection_request_content_azure_ad_strategy.rb new file mode 100644 index 000000000..377c7adf3 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_azure_ad_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateConnectionRequestContentAzureAdStrategy + extend Auth0::Internal::Types::Enum + + WAAD = "waad" + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_baidu.rb b/lib/auth0/types/create_connection_request_content_baidu.rb new file mode 100644 index 000000000..526f5309a --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_baidu.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Create a connection with strategy=baidu + class CreateConnectionRequestContentBaidu < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::CreateConnectionRequestContentBaiduStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsBaidu }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_baidu_strategy.rb b/lib/auth0/types/create_connection_request_content_baidu_strategy.rb new file mode 100644 index 000000000..63994034b --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_baidu_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateConnectionRequestContentBaiduStrategy + extend Auth0::Internal::Types::Enum + + BAIDU = "baidu" + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_bitbucket.rb b/lib/auth0/types/create_connection_request_content_bitbucket.rb new file mode 100644 index 000000000..bcc150534 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_bitbucket.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Create a connection with strategy=bitbucket + class CreateConnectionRequestContentBitbucket < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::CreateConnectionRequestContentBitbucketStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsBitbucket }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_bitbucket_strategy.rb b/lib/auth0/types/create_connection_request_content_bitbucket_strategy.rb new file mode 100644 index 000000000..362341a24 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_bitbucket_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateConnectionRequestContentBitbucketStrategy + extend Auth0::Internal::Types::Enum + + BITBUCKET = "bitbucket" + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_bitly.rb b/lib/auth0/types/create_connection_request_content_bitly.rb new file mode 100644 index 000000000..e205bf351 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_bitly.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Create a connection with strategy=bitly + class CreateConnectionRequestContentBitly < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::CreateConnectionRequestContentBitlyStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsBitly }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_bitly_strategy.rb b/lib/auth0/types/create_connection_request_content_bitly_strategy.rb new file mode 100644 index 000000000..8673ce97a --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_bitly_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateConnectionRequestContentBitlyStrategy + extend Auth0::Internal::Types::Enum + + BITLY = "bitly" + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_box.rb b/lib/auth0/types/create_connection_request_content_box.rb new file mode 100644 index 000000000..e830a972e --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_box.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Create a connection with strategy=box + class CreateConnectionRequestContentBox < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::CreateConnectionRequestContentBoxStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsBox }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_box_strategy.rb b/lib/auth0/types/create_connection_request_content_box_strategy.rb new file mode 100644 index 000000000..805acb674 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_box_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateConnectionRequestContentBoxStrategy + extend Auth0::Internal::Types::Enum + + BOX = "box" + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_custom.rb b/lib/auth0/types/create_connection_request_content_custom.rb new file mode 100644 index 000000000..71df771ed --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_custom.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Create a connection with strategy=custom + class CreateConnectionRequestContentCustom < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::CreateConnectionRequestContentCustomStrategy }, optional: false, nullable: false + + field :options, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_custom_strategy.rb b/lib/auth0/types/create_connection_request_content_custom_strategy.rb new file mode 100644 index 000000000..1f8bdba29 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_custom_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateConnectionRequestContentCustomStrategy + extend Auth0::Internal::Types::Enum + + CUSTOM = "custom" + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_daccount.rb b/lib/auth0/types/create_connection_request_content_daccount.rb new file mode 100644 index 000000000..75e2e699a --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_daccount.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Create a connection with strategy=daccount + class CreateConnectionRequestContentDaccount < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::CreateConnectionRequestContentDaccountStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsDaccount }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_daccount_strategy.rb b/lib/auth0/types/create_connection_request_content_daccount_strategy.rb new file mode 100644 index 000000000..353bc6422 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_daccount_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateConnectionRequestContentDaccountStrategy + extend Auth0::Internal::Types::Enum + + DACCOUNT = "daccount" + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_dropbox.rb b/lib/auth0/types/create_connection_request_content_dropbox.rb new file mode 100644 index 000000000..9d589ef4c --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_dropbox.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Create a connection with strategy=dropbox + class CreateConnectionRequestContentDropbox < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::CreateConnectionRequestContentDropboxStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsDropbox }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_dropbox_strategy.rb b/lib/auth0/types/create_connection_request_content_dropbox_strategy.rb new file mode 100644 index 000000000..5cf618480 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_dropbox_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateConnectionRequestContentDropboxStrategy + extend Auth0::Internal::Types::Enum + + DROPBOX = "dropbox" + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_dwolla.rb b/lib/auth0/types/create_connection_request_content_dwolla.rb new file mode 100644 index 000000000..58902ad42 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_dwolla.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Create a connection with strategy=dwolla + class CreateConnectionRequestContentDwolla < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::CreateConnectionRequestContentDwollaStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsDwolla }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_dwolla_strategy.rb b/lib/auth0/types/create_connection_request_content_dwolla_strategy.rb new file mode 100644 index 000000000..72b5abd61 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_dwolla_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateConnectionRequestContentDwollaStrategy + extend Auth0::Internal::Types::Enum + + DWOLLA = "dwolla" + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_email.rb b/lib/auth0/types/create_connection_request_content_email.rb new file mode 100644 index 000000000..757744863 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_email.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Create a connection with strategy=email + class CreateConnectionRequestContentEmail < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::CreateConnectionRequestContentEmailStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsEmail }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_email_strategy.rb b/lib/auth0/types/create_connection_request_content_email_strategy.rb new file mode 100644 index 000000000..1e5e1f5b9 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_email_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateConnectionRequestContentEmailStrategy + extend Auth0::Internal::Types::Enum + + EMAIL = "email" + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_evernote.rb b/lib/auth0/types/create_connection_request_content_evernote.rb new file mode 100644 index 000000000..fa824077a --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_evernote.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Create a connection with strategy=evernote + class CreateConnectionRequestContentEvernote < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::CreateConnectionRequestContentEvernoteStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsEvernote }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_evernote_sandbox.rb b/lib/auth0/types/create_connection_request_content_evernote_sandbox.rb new file mode 100644 index 000000000..d8b60caf9 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_evernote_sandbox.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Create a connection with strategy=evernote-sandbox + class CreateConnectionRequestContentEvernoteSandbox < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::CreateConnectionRequestContentEvernoteSandboxStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsEvernote }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_evernote_sandbox_strategy.rb b/lib/auth0/types/create_connection_request_content_evernote_sandbox_strategy.rb new file mode 100644 index 000000000..f96f78e0f --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_evernote_sandbox_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateConnectionRequestContentEvernoteSandboxStrategy + extend Auth0::Internal::Types::Enum + + EVERNOTE_SANDBOX = "evernote-sandbox" + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_evernote_strategy.rb b/lib/auth0/types/create_connection_request_content_evernote_strategy.rb new file mode 100644 index 000000000..959509104 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_evernote_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateConnectionRequestContentEvernoteStrategy + extend Auth0::Internal::Types::Enum + + EVERNOTE = "evernote" + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_exact.rb b/lib/auth0/types/create_connection_request_content_exact.rb new file mode 100644 index 000000000..3c4ff95c3 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_exact.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Create a connection with strategy=exact + class CreateConnectionRequestContentExact < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::CreateConnectionRequestContentExactStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsExact }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_exact_strategy.rb b/lib/auth0/types/create_connection_request_content_exact_strategy.rb new file mode 100644 index 000000000..fe5990e06 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_exact_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateConnectionRequestContentExactStrategy + extend Auth0::Internal::Types::Enum + + EXACT = "exact" + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_facebook.rb b/lib/auth0/types/create_connection_request_content_facebook.rb new file mode 100644 index 000000000..cf22d2a74 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_facebook.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Create a connection with strategy=facebook + class CreateConnectionRequestContentFacebook < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::CreateConnectionRequestContentFacebookStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsFacebook }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_facebook_strategy.rb b/lib/auth0/types/create_connection_request_content_facebook_strategy.rb new file mode 100644 index 000000000..b0ae780f5 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_facebook_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateConnectionRequestContentFacebookStrategy + extend Auth0::Internal::Types::Enum + + FACEBOOK = "facebook" + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_fitbit.rb b/lib/auth0/types/create_connection_request_content_fitbit.rb new file mode 100644 index 000000000..76672adf8 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_fitbit.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Create a connection with strategy=fitbit + class CreateConnectionRequestContentFitbit < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::CreateConnectionRequestContentFitbitStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsFitbit }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_fitbit_strategy.rb b/lib/auth0/types/create_connection_request_content_fitbit_strategy.rb new file mode 100644 index 000000000..1b04b8e5a --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_fitbit_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateConnectionRequestContentFitbitStrategy + extend Auth0::Internal::Types::Enum + + FITBIT = "fitbit" + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_git_hub.rb b/lib/auth0/types/create_connection_request_content_git_hub.rb new file mode 100644 index 000000000..c7da3b9e0 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_git_hub.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Create a connection with strategy=github + class CreateConnectionRequestContentGitHub < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::CreateConnectionRequestContentGitHubStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsGitHub }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_git_hub_strategy.rb b/lib/auth0/types/create_connection_request_content_git_hub_strategy.rb new file mode 100644 index 000000000..34ebdb31f --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_git_hub_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateConnectionRequestContentGitHubStrategy + extend Auth0::Internal::Types::Enum + + GITHUB = "github" + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_google_apps.rb b/lib/auth0/types/create_connection_request_content_google_apps.rb new file mode 100644 index 000000000..dcbab29d5 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_google_apps.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Create a connection with strategy=google-apps + class CreateConnectionRequestContentGoogleApps < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::CreateConnectionRequestContentGoogleAppsStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsGoogleApps }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_google_apps_strategy.rb b/lib/auth0/types/create_connection_request_content_google_apps_strategy.rb new file mode 100644 index 000000000..6359df2fc --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_google_apps_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateConnectionRequestContentGoogleAppsStrategy + extend Auth0::Internal::Types::Enum + + GOOGLE_APPS = "google-apps" + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_google_o_auth2.rb b/lib/auth0/types/create_connection_request_content_google_o_auth2.rb new file mode 100644 index 000000000..4e45e82f5 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_google_o_auth2.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Create a connection with strategy=google-oauth2 + class CreateConnectionRequestContentGoogleOAuth2 < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::CreateConnectionRequestContentGoogleOAuth2Strategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsGoogleOAuth2 }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_google_o_auth2strategy.rb b/lib/auth0/types/create_connection_request_content_google_o_auth2strategy.rb new file mode 100644 index 000000000..ba1d86dd4 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_google_o_auth2strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateConnectionRequestContentGoogleOAuth2Strategy + extend Auth0::Internal::Types::Enum + + GOOGLE_OAUTH2 = "google-oauth2" + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_instagram.rb b/lib/auth0/types/create_connection_request_content_instagram.rb new file mode 100644 index 000000000..28d6240b5 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_instagram.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Create a connection with strategy=instagram + class CreateConnectionRequestContentInstagram < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::CreateConnectionRequestContentInstagramStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsInstagram }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_instagram_strategy.rb b/lib/auth0/types/create_connection_request_content_instagram_strategy.rb new file mode 100644 index 000000000..cebf124b7 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_instagram_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateConnectionRequestContentInstagramStrategy + extend Auth0::Internal::Types::Enum + + INSTAGRAM = "instagram" + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_ip.rb b/lib/auth0/types/create_connection_request_content_ip.rb new file mode 100644 index 000000000..7f7874878 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_ip.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Create a connection with strategy=ip + class CreateConnectionRequestContentIP < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::CreateConnectionRequestContentIPStrategy }, optional: false, nullable: false + + field :options, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_ip_strategy.rb b/lib/auth0/types/create_connection_request_content_ip_strategy.rb new file mode 100644 index 000000000..3c9a6b420 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_ip_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateConnectionRequestContentIPStrategy + extend Auth0::Internal::Types::Enum + + IP = "ip" + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_line.rb b/lib/auth0/types/create_connection_request_content_line.rb new file mode 100644 index 000000000..026609635 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_line.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Create a connection with strategy=line + class CreateConnectionRequestContentLine < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::CreateConnectionRequestContentLineStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsLine }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_line_strategy.rb b/lib/auth0/types/create_connection_request_content_line_strategy.rb new file mode 100644 index 000000000..9e5068db8 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_line_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateConnectionRequestContentLineStrategy + extend Auth0::Internal::Types::Enum + + LINE = "line" + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_linkedin.rb b/lib/auth0/types/create_connection_request_content_linkedin.rb new file mode 100644 index 000000000..fabeaf1bc --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_linkedin.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Create a connection with strategy=linkedin + class CreateConnectionRequestContentLinkedin < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::CreateConnectionRequestContentLinkedinStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsLinkedin }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_linkedin_strategy.rb b/lib/auth0/types/create_connection_request_content_linkedin_strategy.rb new file mode 100644 index 000000000..63e96b5de --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_linkedin_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateConnectionRequestContentLinkedinStrategy + extend Auth0::Internal::Types::Enum + + LINKEDIN = "linkedin" + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_o_auth1.rb b/lib/auth0/types/create_connection_request_content_o_auth1.rb new file mode 100644 index 000000000..6729f2137 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_o_auth1.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Create a connection with strategy=oauth1 + class CreateConnectionRequestContentOAuth1 < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::CreateConnectionRequestContentOAuth1Strategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsOAuth1 }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_o_auth1strategy.rb b/lib/auth0/types/create_connection_request_content_o_auth1strategy.rb new file mode 100644 index 000000000..d2d7527d8 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_o_auth1strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateConnectionRequestContentOAuth1Strategy + extend Auth0::Internal::Types::Enum + + OAUTH1 = "oauth1" + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_o_auth2.rb b/lib/auth0/types/create_connection_request_content_o_auth2.rb new file mode 100644 index 000000000..a4b2887a5 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_o_auth2.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Create a connection with strategy=oauth2 + class CreateConnectionRequestContentOAuth2 < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::CreateConnectionRequestContentOAuth2Strategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsOAuth2 }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_o_auth2strategy.rb b/lib/auth0/types/create_connection_request_content_o_auth2strategy.rb new file mode 100644 index 000000000..7d5a0711c --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_o_auth2strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateConnectionRequestContentOAuth2Strategy + extend Auth0::Internal::Types::Enum + + OAUTH2 = "oauth2" + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_office365.rb b/lib/auth0/types/create_connection_request_content_office365.rb new file mode 100644 index 000000000..aaaab3980 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_office365.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Create a connection with strategy=office365 + class CreateConnectionRequestContentOffice365 < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::CreateConnectionRequestContentOffice365Strategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsOffice365 }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_office365strategy.rb b/lib/auth0/types/create_connection_request_content_office365strategy.rb new file mode 100644 index 000000000..4158e03e0 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_office365strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateConnectionRequestContentOffice365Strategy + extend Auth0::Internal::Types::Enum + + OFFICE365 = "office365" + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_oidc.rb b/lib/auth0/types/create_connection_request_content_oidc.rb new file mode 100644 index 000000000..ab95f7026 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_oidc.rb @@ -0,0 +1,32 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Create a connection with strategy=oidc + class CreateConnectionRequestContentOidc < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::CreateConnectionRequestContentOidcStrategy }, optional: false, nullable: false + + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurposeXaa }, optional: true, nullable: false + + field :cross_app_access_requesting_app, -> { Auth0::Types::CrossAppAccessRequestingApp }, optional: true, nullable: false + + field :cross_app_access_resource_app, -> { Auth0::Types::ConnectionCrossAppAccessResourceApp }, optional: true, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsOidc }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_oidc_strategy.rb b/lib/auth0/types/create_connection_request_content_oidc_strategy.rb new file mode 100644 index 000000000..4510953a4 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_oidc_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateConnectionRequestContentOidcStrategy + extend Auth0::Internal::Types::Enum + + OIDC = "oidc" + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_okta.rb b/lib/auth0/types/create_connection_request_content_okta.rb new file mode 100644 index 000000000..6e7520c87 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_okta.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Create a connection with strategy=okta + class CreateConnectionRequestContentOkta < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::CreateConnectionRequestContentOktaStrategy }, optional: false, nullable: false + + field :cross_app_access_requesting_app, -> { Auth0::Types::CrossAppAccessRequestingApp }, optional: true, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsOkta }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_okta_strategy.rb b/lib/auth0/types/create_connection_request_content_okta_strategy.rb new file mode 100644 index 000000000..50647a640 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_okta_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateConnectionRequestContentOktaStrategy + extend Auth0::Internal::Types::Enum + + OKTA = "okta" + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_paypal.rb b/lib/auth0/types/create_connection_request_content_paypal.rb new file mode 100644 index 000000000..852cdf8b2 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_paypal.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Create a connection with strategy=paypal + class CreateConnectionRequestContentPaypal < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::CreateConnectionRequestContentPaypalStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsPaypal }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_paypal_sandbox.rb b/lib/auth0/types/create_connection_request_content_paypal_sandbox.rb new file mode 100644 index 000000000..b526bcb2d --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_paypal_sandbox.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Create a connection with strategy=paypal-sandbox + class CreateConnectionRequestContentPaypalSandbox < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::CreateConnectionRequestContentPaypalSandboxStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsPaypal }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_paypal_sandbox_strategy.rb b/lib/auth0/types/create_connection_request_content_paypal_sandbox_strategy.rb new file mode 100644 index 000000000..33ba08753 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_paypal_sandbox_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateConnectionRequestContentPaypalSandboxStrategy + extend Auth0::Internal::Types::Enum + + PAYPAL_SANDBOX = "paypal-sandbox" + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_paypal_strategy.rb b/lib/auth0/types/create_connection_request_content_paypal_strategy.rb new file mode 100644 index 000000000..2e1df7c3c --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_paypal_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateConnectionRequestContentPaypalStrategy + extend Auth0::Internal::Types::Enum + + PAYPAL = "paypal" + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_ping_federate.rb b/lib/auth0/types/create_connection_request_content_ping_federate.rb new file mode 100644 index 000000000..e0970c279 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_ping_federate.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Create a connection with strategy=pingfederate + class CreateConnectionRequestContentPingFederate < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::CreateConnectionRequestContentPingFederateStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsPingFederate }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_ping_federate_strategy.rb b/lib/auth0/types/create_connection_request_content_ping_federate_strategy.rb new file mode 100644 index 000000000..fbf83a7ee --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_ping_federate_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateConnectionRequestContentPingFederateStrategy + extend Auth0::Internal::Types::Enum + + PINGFEDERATE = "pingfederate" + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_planning_center.rb b/lib/auth0/types/create_connection_request_content_planning_center.rb new file mode 100644 index 000000000..7ae7e5d6b --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_planning_center.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Create a connection with strategy=planningcenter + class CreateConnectionRequestContentPlanningCenter < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::CreateConnectionRequestContentPlanningCenterStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsPlanningCenter }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_planning_center_strategy.rb b/lib/auth0/types/create_connection_request_content_planning_center_strategy.rb new file mode 100644 index 000000000..e3c57dce6 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_planning_center_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateConnectionRequestContentPlanningCenterStrategy + extend Auth0::Internal::Types::Enum + + PLANNINGCENTER = "planningcenter" + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_salesforce.rb b/lib/auth0/types/create_connection_request_content_salesforce.rb new file mode 100644 index 000000000..acc1a2b48 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_salesforce.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Create a connection with strategy=salesforce + class CreateConnectionRequestContentSalesforce < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::CreateConnectionRequestContentSalesforceStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsSalesforce }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_salesforce_community.rb b/lib/auth0/types/create_connection_request_content_salesforce_community.rb new file mode 100644 index 000000000..f8dd5ad8a --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_salesforce_community.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Create a connection with strategy=salesforce-community + class CreateConnectionRequestContentSalesforceCommunity < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::CreateConnectionRequestContentSalesforceCommunityStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsSalesforceCommunity }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_salesforce_community_strategy.rb b/lib/auth0/types/create_connection_request_content_salesforce_community_strategy.rb new file mode 100644 index 000000000..521c12312 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_salesforce_community_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateConnectionRequestContentSalesforceCommunityStrategy + extend Auth0::Internal::Types::Enum + + SALESFORCE_COMMUNITY = "salesforce-community" + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_salesforce_sandbox.rb b/lib/auth0/types/create_connection_request_content_salesforce_sandbox.rb new file mode 100644 index 000000000..8183662c2 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_salesforce_sandbox.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Create a connection with strategy=salesforce-sandbox + class CreateConnectionRequestContentSalesforceSandbox < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::CreateConnectionRequestContentSalesforceSandboxStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsSalesforce }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_salesforce_sandbox_strategy.rb b/lib/auth0/types/create_connection_request_content_salesforce_sandbox_strategy.rb new file mode 100644 index 000000000..4b8738734 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_salesforce_sandbox_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateConnectionRequestContentSalesforceSandboxStrategy + extend Auth0::Internal::Types::Enum + + SALESFORCE_SANDBOX = "salesforce-sandbox" + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_salesforce_strategy.rb b/lib/auth0/types/create_connection_request_content_salesforce_strategy.rb new file mode 100644 index 000000000..8c385b6ef --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_salesforce_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateConnectionRequestContentSalesforceStrategy + extend Auth0::Internal::Types::Enum + + SALESFORCE = "salesforce" + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_saml.rb b/lib/auth0/types/create_connection_request_content_saml.rb new file mode 100644 index 000000000..fd0d39be4 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_saml.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Create a connection with strategy=samlp + class CreateConnectionRequestContentSAML < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::CreateConnectionRequestContentSAMLStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsSAML }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_saml_strategy.rb b/lib/auth0/types/create_connection_request_content_saml_strategy.rb new file mode 100644 index 000000000..12ab2c8d8 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_saml_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateConnectionRequestContentSAMLStrategy + extend Auth0::Internal::Types::Enum + + SAMLP = "samlp" + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_sharepoint.rb b/lib/auth0/types/create_connection_request_content_sharepoint.rb new file mode 100644 index 000000000..af79cf518 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_sharepoint.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Create a connection with strategy=sharepoint + class CreateConnectionRequestContentSharepoint < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::CreateConnectionRequestContentSharepointStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsSharepoint }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_sharepoint_strategy.rb b/lib/auth0/types/create_connection_request_content_sharepoint_strategy.rb new file mode 100644 index 000000000..22d279739 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_sharepoint_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateConnectionRequestContentSharepointStrategy + extend Auth0::Internal::Types::Enum + + SHAREPOINT = "sharepoint" + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_shop.rb b/lib/auth0/types/create_connection_request_content_shop.rb new file mode 100644 index 000000000..9ae87689a --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_shop.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Create a connection with strategy=shop + class CreateConnectionRequestContentShop < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::CreateConnectionRequestContentShopStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsShop }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_shop_strategy.rb b/lib/auth0/types/create_connection_request_content_shop_strategy.rb new file mode 100644 index 000000000..c2cdfdff0 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_shop_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateConnectionRequestContentShopStrategy + extend Auth0::Internal::Types::Enum + + SHOP = "shop" + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_shopify.rb b/lib/auth0/types/create_connection_request_content_shopify.rb new file mode 100644 index 000000000..f271da7de --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_shopify.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Create a connection with strategy=shopify + class CreateConnectionRequestContentShopify < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::CreateConnectionRequestContentShopifyStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsShopify }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_shopify_strategy.rb b/lib/auth0/types/create_connection_request_content_shopify_strategy.rb new file mode 100644 index 000000000..47860b122 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_shopify_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateConnectionRequestContentShopifyStrategy + extend Auth0::Internal::Types::Enum + + SHOPIFY = "shopify" + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_sms.rb b/lib/auth0/types/create_connection_request_content_sms.rb new file mode 100644 index 000000000..b04e1ad4a --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_sms.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Create a connection with strategy=sms + class CreateConnectionRequestContentSms < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::CreateConnectionRequestContentSmsStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsSms }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_sms_strategy.rb b/lib/auth0/types/create_connection_request_content_sms_strategy.rb new file mode 100644 index 000000000..4bd38f93c --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_sms_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateConnectionRequestContentSmsStrategy + extend Auth0::Internal::Types::Enum + + SMS = "sms" + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_soundcloud.rb b/lib/auth0/types/create_connection_request_content_soundcloud.rb new file mode 100644 index 000000000..424e8c077 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_soundcloud.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Create a connection with strategy=soundcloud + class CreateConnectionRequestContentSoundcloud < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::CreateConnectionRequestContentSoundcloudStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsSoundcloud }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_soundcloud_strategy.rb b/lib/auth0/types/create_connection_request_content_soundcloud_strategy.rb new file mode 100644 index 000000000..4dd091638 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_soundcloud_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateConnectionRequestContentSoundcloudStrategy + extend Auth0::Internal::Types::Enum + + SOUNDCLOUD = "soundcloud" + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_thirty_seven_signals.rb b/lib/auth0/types/create_connection_request_content_thirty_seven_signals.rb new file mode 100644 index 000000000..2ff0cbc21 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_thirty_seven_signals.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Create a connection with strategy=thirtysevensignals + class CreateConnectionRequestContentThirtySevenSignals < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::CreateConnectionRequestContentThirtySevenSignalsStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsThirtySevenSignals }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_thirty_seven_signals_strategy.rb b/lib/auth0/types/create_connection_request_content_thirty_seven_signals_strategy.rb new file mode 100644 index 000000000..f76721f64 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_thirty_seven_signals_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateConnectionRequestContentThirtySevenSignalsStrategy + extend Auth0::Internal::Types::Enum + + THIRTYSEVENSIGNALS = "thirtysevensignals" + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_twitter.rb b/lib/auth0/types/create_connection_request_content_twitter.rb new file mode 100644 index 000000000..c499a9a22 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_twitter.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Create a connection with strategy=twitter + class CreateConnectionRequestContentTwitter < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::CreateConnectionRequestContentTwitterStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsTwitter }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_twitter_strategy.rb b/lib/auth0/types/create_connection_request_content_twitter_strategy.rb new file mode 100644 index 000000000..05fc66f5a --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_twitter_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateConnectionRequestContentTwitterStrategy + extend Auth0::Internal::Types::Enum + + TWITTER = "twitter" + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_untappd.rb b/lib/auth0/types/create_connection_request_content_untappd.rb new file mode 100644 index 000000000..d32b6d40e --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_untappd.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Create a connection with strategy=untappd + class CreateConnectionRequestContentUntappd < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::CreateConnectionRequestContentUntappdStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsUntappd }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_untappd_strategy.rb b/lib/auth0/types/create_connection_request_content_untappd_strategy.rb new file mode 100644 index 000000000..77d124962 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_untappd_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateConnectionRequestContentUntappdStrategy + extend Auth0::Internal::Types::Enum + + UNTAPPD = "untappd" + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_vkontakte.rb b/lib/auth0/types/create_connection_request_content_vkontakte.rb new file mode 100644 index 000000000..ea788761c --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_vkontakte.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Create a connection with strategy=vkontakte + class CreateConnectionRequestContentVkontakte < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::CreateConnectionRequestContentVkontakteStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsVkontakte }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_vkontakte_strategy.rb b/lib/auth0/types/create_connection_request_content_vkontakte_strategy.rb new file mode 100644 index 000000000..d9a7c88cd --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_vkontakte_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateConnectionRequestContentVkontakteStrategy + extend Auth0::Internal::Types::Enum + + VKONTAKTE = "vkontakte" + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_weibo.rb b/lib/auth0/types/create_connection_request_content_weibo.rb new file mode 100644 index 000000000..bc208c227 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_weibo.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Create a connection with strategy=weibo + class CreateConnectionRequestContentWeibo < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::CreateConnectionRequestContentWeiboStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsWeibo }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_weibo_strategy.rb b/lib/auth0/types/create_connection_request_content_weibo_strategy.rb new file mode 100644 index 000000000..d1228aa8e --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_weibo_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateConnectionRequestContentWeiboStrategy + extend Auth0::Internal::Types::Enum + + WEIBO = "weibo" + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_windows_live.rb b/lib/auth0/types/create_connection_request_content_windows_live.rb new file mode 100644 index 000000000..7697b5a8a --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_windows_live.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Create a connection with strategy=windowslive + class CreateConnectionRequestContentWindowsLive < Internal::Types::Model + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::CreateConnectionRequestContentWindowsLiveStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsWindowsLive }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_windows_live_strategy.rb b/lib/auth0/types/create_connection_request_content_windows_live_strategy.rb new file mode 100644 index 000000000..0839e7921 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_windows_live_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateConnectionRequestContentWindowsLiveStrategy + extend Auth0::Internal::Types::Enum + + WINDOWSLIVE = "windowslive" + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_wordpress.rb b/lib/auth0/types/create_connection_request_content_wordpress.rb new file mode 100644 index 000000000..34c3f9276 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_wordpress.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Create a connection with strategy=wordpress + class CreateConnectionRequestContentWordpress < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::CreateConnectionRequestContentWordpressStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsWordpress }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_wordpress_strategy.rb b/lib/auth0/types/create_connection_request_content_wordpress_strategy.rb new file mode 100644 index 000000000..032873601 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_wordpress_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateConnectionRequestContentWordpressStrategy + extend Auth0::Internal::Types::Enum + + WORDPRESS = "wordpress" + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_yahoo.rb b/lib/auth0/types/create_connection_request_content_yahoo.rb new file mode 100644 index 000000000..17dd83d95 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_yahoo.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Create a connection with strategy=yahoo + class CreateConnectionRequestContentYahoo < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::CreateConnectionRequestContentYahooStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsYahoo }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_yahoo_strategy.rb b/lib/auth0/types/create_connection_request_content_yahoo_strategy.rb new file mode 100644 index 000000000..414bd052b --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_yahoo_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateConnectionRequestContentYahooStrategy + extend Auth0::Internal::Types::Enum + + YAHOO = "yahoo" + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_yandex.rb b/lib/auth0/types/create_connection_request_content_yandex.rb new file mode 100644 index 000000000..b7908ed10 --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_yandex.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Create a connection with strategy=yandex + class CreateConnectionRequestContentYandex < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::CreateConnectionRequestContentYandexStrategy }, optional: false, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsYandex }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_connection_request_content_yandex_strategy.rb b/lib/auth0/types/create_connection_request_content_yandex_strategy.rb new file mode 100644 index 000000000..6b0a5fd9b --- /dev/null +++ b/lib/auth0/types/create_connection_request_content_yandex_strategy.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateConnectionRequestContentYandexStrategy + extend Auth0::Internal::Types::Enum + + YANDEX = "yandex" + end + end +end diff --git a/lib/auth0/types/create_connection_response_content.rb b/lib/auth0/types/create_connection_response_content.rb new file mode 100644 index 000000000..0991ad35c --- /dev/null +++ b/lib/auth0/types/create_connection_response_content.rb @@ -0,0 +1,35 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateConnectionResponseContent < Internal::Types::Model + field :name, -> { String }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :options, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :id, -> { String }, optional: true, nullable: false + + field :strategy, -> { String }, optional: true, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :cross_app_access_requesting_app, -> { Auth0::Types::CrossAppAccessRequestingApp }, optional: true, nullable: false + + field :cross_app_access_resource_app, -> { Auth0::Types::CrossAppAccessResourceApp }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_cross_app_access_resource_app.rb b/lib/auth0/types/create_cross_app_access_resource_app.rb new file mode 100644 index 000000000..9136b6fd5 --- /dev/null +++ b/lib/auth0/types/create_cross_app_access_resource_app.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Cross App Access - Resource App settings that apply to this connection. + class CreateCrossAppAccessResourceApp < Internal::Types::Model + field :status, -> { Auth0::Types::CrossAppAccessResourceAppStatusEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_custom_domain_response_content.rb b/lib/auth0/types/create_custom_domain_response_content.rb new file mode 100644 index 000000000..6287f617c --- /dev/null +++ b/lib/auth0/types/create_custom_domain_response_content.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateCustomDomainResponseContent < Internal::Types::Model + field :custom_domain_id, -> { String }, optional: false, nullable: false + + field :domain, -> { String }, optional: false, nullable: false + + field :primary, -> { Internal::Types::Boolean }, optional: false, nullable: false + + field :is_default, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :status, -> { Auth0::Types::CustomDomainStatusFilterEnum }, optional: false, nullable: false + + field :type, -> { Auth0::Types::CustomDomainTypeEnum }, optional: false, nullable: false + + field :verification, -> { Auth0::Types::DomainVerification }, optional: false, nullable: false + + field :custom_client_ip_header, -> { String }, optional: true, nullable: false + + field :tls_policy, -> { String }, optional: true, nullable: false + + field :domain_metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :certificate, -> { Auth0::Types::DomainCertificate }, optional: true, nullable: false + + field :relying_party_identifier, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_directory_provisioning_request_content.rb b/lib/auth0/types/create_directory_provisioning_request_content.rb new file mode 100644 index 000000000..6b7f8e5b8 --- /dev/null +++ b/lib/auth0/types/create_directory_provisioning_request_content.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateDirectoryProvisioningRequestContent < Internal::Types::Model + field :mapping, -> { Internal::Types::Array[Auth0::Types::DirectoryProvisioningMappingItem] }, optional: true, nullable: false + + field :synchronize_automatically, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :synchronize_groups, -> { Auth0::Types::SynchronizeGroupsEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_directory_provisioning_response_content.rb b/lib/auth0/types/create_directory_provisioning_response_content.rb new file mode 100644 index 000000000..9707b24e2 --- /dev/null +++ b/lib/auth0/types/create_directory_provisioning_response_content.rb @@ -0,0 +1,29 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateDirectoryProvisioningResponseContent < Internal::Types::Model + field :connection_id, -> { String }, optional: false, nullable: false + + field :connection_name, -> { String }, optional: false, nullable: false + + field :strategy, -> { String }, optional: false, nullable: false + + field :mapping, -> { Internal::Types::Array[Auth0::Types::DirectoryProvisioningMappingItem] }, optional: false, nullable: false + + field :synchronize_automatically, -> { Internal::Types::Boolean }, optional: false, nullable: false + + field :synchronize_groups, -> { Auth0::Types::SynchronizeGroupsEnum }, optional: true, nullable: false + + field :created_at, -> { String }, optional: false, nullable: false + + field :updated_at, -> { String }, optional: false, nullable: false + + field :last_synchronization_at, -> { String }, optional: true, nullable: false + + field :last_synchronization_status, -> { String }, optional: true, nullable: false + + field :last_synchronization_error, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_directory_synchronization_response_content.rb b/lib/auth0/types/create_directory_synchronization_response_content.rb new file mode 100644 index 000000000..b74962d7d --- /dev/null +++ b/lib/auth0/types/create_directory_synchronization_response_content.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateDirectorySynchronizationResponseContent < Internal::Types::Model + field :connection_id, -> { String }, optional: false, nullable: false + + field :synchronization_id, -> { String }, optional: false, nullable: false + + field :status, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_email_provider_response_content.rb b/lib/auth0/types/create_email_provider_response_content.rb new file mode 100644 index 000000000..a24f76788 --- /dev/null +++ b/lib/auth0/types/create_email_provider_response_content.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateEmailProviderResponseContent < Internal::Types::Model + field :name, -> { String }, optional: true, nullable: false + + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :default_from_address, -> { String }, optional: true, nullable: false + + field :credentials, -> { Auth0::Types::EmailProviderCredentials }, optional: true, nullable: false + + field :settings, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_email_template_response_content.rb b/lib/auth0/types/create_email_template_response_content.rb new file mode 100644 index 000000000..83b91b4df --- /dev/null +++ b/lib/auth0/types/create_email_template_response_content.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateEmailTemplateResponseContent < Internal::Types::Model + field :template, -> { Auth0::Types::EmailTemplateNameEnum }, optional: false, nullable: false + + field :body, -> { String }, optional: true, nullable: false + + field :from, -> { String }, optional: true, nullable: false + + field :result_url, -> { String }, optional: true, nullable: false, api_name: "resultUrl" + + field :subject, -> { String }, optional: true, nullable: false + + field :syntax, -> { String }, optional: true, nullable: false + + field :url_lifetime_in_seconds, -> { Integer }, optional: true, nullable: false, api_name: "urlLifetimeInSeconds" + + field :include_email_in_redirect, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "includeEmailInRedirect" + + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_encryption_key_public_wrapping_response_content.rb b/lib/auth0/types/create_encryption_key_public_wrapping_response_content.rb new file mode 100644 index 000000000..16d6777ee --- /dev/null +++ b/lib/auth0/types/create_encryption_key_public_wrapping_response_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateEncryptionKeyPublicWrappingResponseContent < Internal::Types::Model + field :public_key, -> { String }, optional: false, nullable: false + + field :algorithm, -> { Auth0::Types::EncryptionKeyPublicWrappingAlgorithm }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_encryption_key_response_content.rb b/lib/auth0/types/create_encryption_key_response_content.rb new file mode 100644 index 000000000..0f5e52888 --- /dev/null +++ b/lib/auth0/types/create_encryption_key_response_content.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Encryption key + class CreateEncryptionKeyResponseContent < Internal::Types::Model + field :kid, -> { String }, optional: false, nullable: false + + field :type, -> { Auth0::Types::EncryptionKeyType }, optional: false, nullable: false + + field :state, -> { Auth0::Types::EncryptionKeyState }, optional: false, nullable: false + + field :created_at, -> { String }, optional: false, nullable: false + + field :updated_at, -> { String }, optional: false, nullable: false + + field :parent_kid, -> { String }, optional: true, nullable: false + + field :public_key, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_encryption_key_type.rb b/lib/auth0/types/create_encryption_key_type.rb new file mode 100644 index 000000000..27fdaf17a --- /dev/null +++ b/lib/auth0/types/create_encryption_key_type.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateEncryptionKeyType + extend Auth0::Internal::Types::Enum + + CUSTOMER_PROVIDED_ROOT_KEY = "customer-provided-root-key" + TENANT_ENCRYPTION_KEY = "tenant-encryption-key" + end + end +end diff --git a/lib/auth0/types/create_event_stream_action_request_content.rb b/lib/auth0/types/create_event_stream_action_request_content.rb new file mode 100644 index 000000000..8933c9e50 --- /dev/null +++ b/lib/auth0/types/create_event_stream_action_request_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateEventStreamActionRequestContent < Internal::Types::Model + field :name, -> { String }, optional: true, nullable: false + + field :subscriptions, -> { Internal::Types::Array[Auth0::Types::EventStreamSubscription] }, optional: true, nullable: false + + field :destination, -> { Auth0::Types::EventStreamActionDestination }, optional: false, nullable: false + + field :status, -> { Auth0::Types::EventStreamStatusEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_event_stream_event_bridge_request_content.rb b/lib/auth0/types/create_event_stream_event_bridge_request_content.rb new file mode 100644 index 000000000..7a5c46c9b --- /dev/null +++ b/lib/auth0/types/create_event_stream_event_bridge_request_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateEventStreamEventBridgeRequestContent < Internal::Types::Model + field :name, -> { String }, optional: true, nullable: false + + field :subscriptions, -> { Internal::Types::Array[Auth0::Types::EventStreamSubscription] }, optional: true, nullable: false + + field :destination, -> { Auth0::Types::EventStreamEventBridgeDestination }, optional: false, nullable: false + + field :status, -> { Auth0::Types::EventStreamStatusEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_event_stream_redelivery_response_content.rb b/lib/auth0/types/create_event_stream_redelivery_response_content.rb new file mode 100644 index 000000000..9e07e62a7 --- /dev/null +++ b/lib/auth0/types/create_event_stream_redelivery_response_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateEventStreamRedeliveryResponseContent < Internal::Types::Model + field :date_from, -> { String }, optional: true, nullable: false + + field :date_to, -> { String }, optional: true, nullable: false + + field :statuses, -> { Internal::Types::Array[Auth0::Types::EventStreamDeliveryStatusEnum] }, optional: true, nullable: false + + field :event_types, -> { Internal::Types::Array[Auth0::Types::EventStreamEventTypeEnum] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_event_stream_response_content.rb b/lib/auth0/types/create_event_stream_response_content.rb new file mode 100644 index 000000000..8e52da9dc --- /dev/null +++ b/lib/auth0/types/create_event_stream_response_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateEventStreamResponseContent < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::EventStreamWebhookResponseContent } + + member -> { Auth0::Types::EventStreamEventBridgeResponseContent } + + member -> { Auth0::Types::EventStreamActionResponseContent } + end + end +end diff --git a/lib/auth0/types/create_event_stream_test_event_response_content.rb b/lib/auth0/types/create_event_stream_test_event_response_content.rb new file mode 100644 index 000000000..61cadeff2 --- /dev/null +++ b/lib/auth0/types/create_event_stream_test_event_response_content.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Metadata about a specific attempt to deliver an event + class CreateEventStreamTestEventResponseContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :event_stream_id, -> { String }, optional: false, nullable: false + + field :status, -> { Auth0::Types::EventStreamDeliveryStatusEnum }, optional: false, nullable: false + + field :event_type, -> { Auth0::Types::EventStreamDeliveryEventTypeEnum }, optional: false, nullable: false + + field :attempts, -> { Internal::Types::Array[Auth0::Types::EventStreamDeliveryAttempt] }, optional: false, nullable: false + + field :event, -> { Auth0::Types::EventStreamCloudEvent }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_event_stream_web_hook_request_content.rb b/lib/auth0/types/create_event_stream_web_hook_request_content.rb new file mode 100644 index 000000000..68f771842 --- /dev/null +++ b/lib/auth0/types/create_event_stream_web_hook_request_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateEventStreamWebHookRequestContent < Internal::Types::Model + field :name, -> { String }, optional: true, nullable: false + + field :subscriptions, -> { Internal::Types::Array[Auth0::Types::EventStreamSubscription] }, optional: true, nullable: false + + field :destination, -> { Auth0::Types::EventStreamWebhookDestination }, optional: false, nullable: false + + field :status, -> { Auth0::Types::EventStreamStatusEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_export_users_fields.rb b/lib/auth0/types/create_export_users_fields.rb new file mode 100644 index 000000000..9a7b5cec4 --- /dev/null +++ b/lib/auth0/types/create_export_users_fields.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateExportUsersFields < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :export_as, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_export_users_response_content.rb b/lib/auth0/types/create_export_users_response_content.rb new file mode 100644 index 000000000..00527b1ee --- /dev/null +++ b/lib/auth0/types/create_export_users_response_content.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateExportUsersResponseContent < Internal::Types::Model + field :status, -> { String }, optional: false, nullable: false + + field :type, -> { String }, optional: false, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :connection_id, -> { String }, optional: true, nullable: false + + field :format, -> { Auth0::Types::JobFileFormatEnum }, optional: true, nullable: false + + field :limit, -> { Integer }, optional: true, nullable: false + + field :fields, -> { Internal::Types::Array[Auth0::Types::CreateExportUsersFields] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_flow_response_content.rb b/lib/auth0/types/create_flow_response_content.rb new file mode 100644 index 000000000..7c77d7c8d --- /dev/null +++ b/lib/auth0/types/create_flow_response_content.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowResponseContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :actions, -> { Internal::Types::Array[Auth0::Types::FlowAction] }, optional: true, nullable: false + + field :created_at, -> { String }, optional: false, nullable: false + + field :updated_at, -> { String }, optional: false, nullable: false + + field :executed_at, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_activecampaign.rb b/lib/auth0/types/create_flows_vault_connection_activecampaign.rb new file mode 100644 index 000000000..e15a2185d --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_activecampaign.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionActivecampaign < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::CreateFlowsVaultConnectionActivecampaignAPIKey } + + member -> { Auth0::Types::CreateFlowsVaultConnectionActivecampaignUninitialized } + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_activecampaign_api_key.rb b/lib/auth0/types/create_flows_vault_connection_activecampaign_api_key.rb new file mode 100644 index 000000000..7e54f4b72 --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_activecampaign_api_key.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionActivecampaignAPIKey < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :app_id, -> { Auth0::Types::FlowsVaultConnectionAppIDActivecampaignEnum }, optional: false, nullable: false + + field :setup, -> { Auth0::Types::FlowsVaultConnectioSetupAPIKeyWithBaseURL }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_activecampaign_uninitialized.rb b/lib/auth0/types/create_flows_vault_connection_activecampaign_uninitialized.rb new file mode 100644 index 000000000..805861f04 --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_activecampaign_uninitialized.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionActivecampaignUninitialized < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :app_id, -> { Auth0::Types::FlowsVaultConnectionAppIDActivecampaignEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_airtable.rb b/lib/auth0/types/create_flows_vault_connection_airtable.rb new file mode 100644 index 000000000..ddb02e9f8 --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_airtable.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionAirtable < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::CreateFlowsVaultConnectionAirtableAPIKey } + + member -> { Auth0::Types::CreateFlowsVaultConnectionAirtableUninitialized } + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_airtable_api_key.rb b/lib/auth0/types/create_flows_vault_connection_airtable_api_key.rb new file mode 100644 index 000000000..041294594 --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_airtable_api_key.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionAirtableAPIKey < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :app_id, -> { Auth0::Types::FlowsVaultConnectionAppIDAirtableEnum }, optional: false, nullable: false + + field :setup, -> { Auth0::Types::FlowsVaultConnectioSetupAPIKey }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_airtable_uninitialized.rb b/lib/auth0/types/create_flows_vault_connection_airtable_uninitialized.rb new file mode 100644 index 000000000..d7fbea1a5 --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_airtable_uninitialized.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionAirtableUninitialized < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :app_id, -> { Auth0::Types::FlowsVaultConnectionAppIDAirtableEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_auth0.rb b/lib/auth0/types/create_flows_vault_connection_auth0.rb new file mode 100644 index 000000000..962850aab --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_auth0.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionAuth0 < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::CreateFlowsVaultConnectionAuth0OauthApp } + + member -> { Auth0::Types::CreateFlowsVaultConnectionAuth0Uninitialized } + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_auth0oauth_app.rb b/lib/auth0/types/create_flows_vault_connection_auth0oauth_app.rb new file mode 100644 index 000000000..e055682fe --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_auth0oauth_app.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionAuth0OauthApp < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :app_id, -> { Auth0::Types::FlowsVaultConnectionAppIDAuth0Enum }, optional: false, nullable: false + + field :setup, -> { Auth0::Types::FlowsVaultConnectioSetupOauthApp }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_auth0uninitialized.rb b/lib/auth0/types/create_flows_vault_connection_auth0uninitialized.rb new file mode 100644 index 000000000..ce6a39dd3 --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_auth0uninitialized.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionAuth0Uninitialized < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :app_id, -> { Auth0::Types::FlowsVaultConnectionAppIDAuth0Enum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_bigquery.rb b/lib/auth0/types/create_flows_vault_connection_bigquery.rb new file mode 100644 index 000000000..65041436e --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_bigquery.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionBigquery < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::CreateFlowsVaultConnectionBigqueryJwt } + + member -> { Auth0::Types::CreateFlowsVaultConnectionBigqueryUninitialized } + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_bigquery_jwt.rb b/lib/auth0/types/create_flows_vault_connection_bigquery_jwt.rb new file mode 100644 index 000000000..4305cba05 --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_bigquery_jwt.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionBigqueryJwt < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :app_id, -> { Auth0::Types::FlowsVaultConnectionAppIDBigqueryEnum }, optional: false, nullable: false + + field :setup, -> { Auth0::Types::FlowsVaultConnectioSetupBigqueryOauthJwt }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_bigquery_uninitialized.rb b/lib/auth0/types/create_flows_vault_connection_bigquery_uninitialized.rb new file mode 100644 index 000000000..36f052685 --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_bigquery_uninitialized.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionBigqueryUninitialized < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :app_id, -> { Auth0::Types::FlowsVaultConnectionAppIDBigqueryEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_clearbit.rb b/lib/auth0/types/create_flows_vault_connection_clearbit.rb new file mode 100644 index 000000000..77b94ac84 --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_clearbit.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionClearbit < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::CreateFlowsVaultConnectionClearbitAPIKey } + + member -> { Auth0::Types::CreateFlowsVaultConnectionClearbitUninitialized } + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_clearbit_api_key.rb b/lib/auth0/types/create_flows_vault_connection_clearbit_api_key.rb new file mode 100644 index 000000000..ad10a4dc0 --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_clearbit_api_key.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionClearbitAPIKey < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :app_id, -> { Auth0::Types::FlowsVaultConnectionAppIDClearbitEnum }, optional: false, nullable: false + + field :setup, -> { Auth0::Types::FlowsVaultConnectioSetupSecretAPIKey }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_clearbit_uninitialized.rb b/lib/auth0/types/create_flows_vault_connection_clearbit_uninitialized.rb new file mode 100644 index 000000000..b0ca6700e --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_clearbit_uninitialized.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionClearbitUninitialized < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :app_id, -> { Auth0::Types::FlowsVaultConnectionAppIDClearbitEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_docusign.rb b/lib/auth0/types/create_flows_vault_connection_docusign.rb new file mode 100644 index 000000000..5f4de8475 --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_docusign.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionDocusign < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::CreateFlowsVaultConnectionDocusignOauthCode } + + member -> { Auth0::Types::CreateFlowsVaultConnectionDocusignUninitialized } + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_docusign_oauth_code.rb b/lib/auth0/types/create_flows_vault_connection_docusign_oauth_code.rb new file mode 100644 index 000000000..1d5c20594 --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_docusign_oauth_code.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionDocusignOauthCode < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :app_id, -> { Auth0::Types::FlowsVaultConnectionAppIDDocusignEnum }, optional: false, nullable: false + + field :setup, -> { Auth0::Types::FlowsVaultConnectioSetupOauthCode }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_docusign_uninitialized.rb b/lib/auth0/types/create_flows_vault_connection_docusign_uninitialized.rb new file mode 100644 index 000000000..479cfff70 --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_docusign_uninitialized.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionDocusignUninitialized < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :app_id, -> { Auth0::Types::FlowsVaultConnectionAppIDDocusignEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_google_sheets.rb b/lib/auth0/types/create_flows_vault_connection_google_sheets.rb new file mode 100644 index 000000000..c02d19687 --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_google_sheets.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionGoogleSheets < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::CreateFlowsVaultConnectionGoogleSheetsOauthCode } + + member -> { Auth0::Types::CreateFlowsVaultConnectionGoogleSheetsUninitialized } + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_google_sheets_oauth_code.rb b/lib/auth0/types/create_flows_vault_connection_google_sheets_oauth_code.rb new file mode 100644 index 000000000..32970f101 --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_google_sheets_oauth_code.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionGoogleSheetsOauthCode < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :app_id, -> { Auth0::Types::FlowsVaultConnectionAppIDGoogleSheetsEnum }, optional: false, nullable: false + + field :setup, -> { Auth0::Types::FlowsVaultConnectioSetupOauthCode }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_google_sheets_uninitialized.rb b/lib/auth0/types/create_flows_vault_connection_google_sheets_uninitialized.rb new file mode 100644 index 000000000..74b01044b --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_google_sheets_uninitialized.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionGoogleSheetsUninitialized < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :app_id, -> { Auth0::Types::FlowsVaultConnectionAppIDGoogleSheetsEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_http.rb b/lib/auth0/types/create_flows_vault_connection_http.rb new file mode 100644 index 000000000..35dbe26fd --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_http.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionHTTP < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::CreateFlowsVaultConnectionHTTPBearer } + + member -> { Auth0::Types::CreateFlowsVaultConnectionHTTPBasicAuth } + + member -> { Auth0::Types::CreateFlowsVaultConnectionHttpApiKey } + + member -> { Auth0::Types::CreateFlowsVaultConnectionHTTPOauthClientCredentials } + + member -> { Auth0::Types::CreateFlowsVaultConnectionHTTPUninitialized } + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_http_api_key.rb b/lib/auth0/types/create_flows_vault_connection_http_api_key.rb new file mode 100644 index 000000000..c370adbb6 --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_http_api_key.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionHttpApiKey < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :app_id, -> { Auth0::Types::FlowsVaultConnectionAppIdHttpEnum }, optional: false, nullable: false + + field :setup, -> { Auth0::Types::FlowsVaultConnectionHttpApiKeySetup }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_http_basic_auth.rb b/lib/auth0/types/create_flows_vault_connection_http_basic_auth.rb new file mode 100644 index 000000000..06ba771d8 --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_http_basic_auth.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionHTTPBasicAuth < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :app_id, -> { Auth0::Types::FlowsVaultConnectionAppIdHttpEnum }, optional: false, nullable: false + + field :setup, -> { Auth0::Types::FlowsVaultConnectionHTTPBasicAuthSetup }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_http_bearer.rb b/lib/auth0/types/create_flows_vault_connection_http_bearer.rb new file mode 100644 index 000000000..ba0c19da6 --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_http_bearer.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionHTTPBearer < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :app_id, -> { Auth0::Types::FlowsVaultConnectionAppIdHttpEnum }, optional: false, nullable: false + + field :setup, -> { Auth0::Types::FlowsVaultConnectioSetupHTTPBearer }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_http_oauth_client_credentials.rb b/lib/auth0/types/create_flows_vault_connection_http_oauth_client_credentials.rb new file mode 100644 index 000000000..8d8ed5fe7 --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_http_oauth_client_credentials.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionHTTPOauthClientCredentials < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :app_id, -> { Auth0::Types::FlowsVaultConnectionAppIdHttpEnum }, optional: false, nullable: false + + field :setup, -> { Auth0::Types::FlowsVaultConnectionHTTPOauthClientCredentialsSetup }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_http_uninitialized.rb b/lib/auth0/types/create_flows_vault_connection_http_uninitialized.rb new file mode 100644 index 000000000..47d596ef2 --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_http_uninitialized.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionHTTPUninitialized < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :app_id, -> { Auth0::Types::FlowsVaultConnectionAppIdHttpEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_hubspot.rb b/lib/auth0/types/create_flows_vault_connection_hubspot.rb new file mode 100644 index 000000000..8916f1939 --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_hubspot.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionHubspot < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::CreateFlowsVaultConnectionHubspotAPIKey } + + member -> { Auth0::Types::CreateFlowsVaultConnectionHubspotOauthCode } + + member -> { Auth0::Types::CreateFlowsVaultConnectionHubspotUninitialized } + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_hubspot_api_key.rb b/lib/auth0/types/create_flows_vault_connection_hubspot_api_key.rb new file mode 100644 index 000000000..05e8ab9cf --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_hubspot_api_key.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionHubspotAPIKey < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :app_id, -> { Auth0::Types::FlowsVaultConnectionAppIDHubspotEnum }, optional: false, nullable: false + + field :setup, -> { Auth0::Types::FlowsVaultConnectioSetupAPIKey }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_hubspot_oauth_code.rb b/lib/auth0/types/create_flows_vault_connection_hubspot_oauth_code.rb new file mode 100644 index 000000000..97078f4a9 --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_hubspot_oauth_code.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionHubspotOauthCode < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :app_id, -> { Auth0::Types::FlowsVaultConnectionAppIDHubspotEnum }, optional: false, nullable: false + + field :setup, -> { Auth0::Types::FlowsVaultConnectioSetupOauthCode }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_hubspot_uninitialized.rb b/lib/auth0/types/create_flows_vault_connection_hubspot_uninitialized.rb new file mode 100644 index 000000000..48db546b0 --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_hubspot_uninitialized.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionHubspotUninitialized < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :app_id, -> { Auth0::Types::FlowsVaultConnectionAppIDHubspotEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_jwt.rb b/lib/auth0/types/create_flows_vault_connection_jwt.rb new file mode 100644 index 000000000..8d69f70e2 --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_jwt.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionJwt < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::CreateFlowsVaultConnectionJwtJwt } + + member -> { Auth0::Types::CreateFlowsVaultConnectionJwtUninitialized } + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_jwt_jwt.rb b/lib/auth0/types/create_flows_vault_connection_jwt_jwt.rb new file mode 100644 index 000000000..ba1ecab8b --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_jwt_jwt.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionJwtJwt < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :app_id, -> { Auth0::Types::FlowsVaultConnectionAppIDJwtEnum }, optional: false, nullable: false + + field :setup, -> { Auth0::Types::FlowsVaultConnectioSetupJwt }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_jwt_uninitialized.rb b/lib/auth0/types/create_flows_vault_connection_jwt_uninitialized.rb new file mode 100644 index 000000000..f6c148e30 --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_jwt_uninitialized.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionJwtUninitialized < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :app_id, -> { Auth0::Types::FlowsVaultConnectionAppIDJwtEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_mailchimp.rb b/lib/auth0/types/create_flows_vault_connection_mailchimp.rb new file mode 100644 index 000000000..f6d96aed7 --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_mailchimp.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionMailchimp < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::CreateFlowsVaultConnectionMailchimpAPIKey } + + member -> { Auth0::Types::CreateFlowsVaultConnectionMailchimpOauthCode } + + member -> { Auth0::Types::CreateFlowsVaultConnectionMailchimpUninitialized } + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_mailchimp_api_key.rb b/lib/auth0/types/create_flows_vault_connection_mailchimp_api_key.rb new file mode 100644 index 000000000..e30a18501 --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_mailchimp_api_key.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionMailchimpAPIKey < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :app_id, -> { Auth0::Types::FlowsVaultConnectionAppIDMailchimpEnum }, optional: false, nullable: false + + field :setup, -> { Auth0::Types::FlowsVaultConnectioSetupSecretAPIKey }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_mailchimp_oauth_code.rb b/lib/auth0/types/create_flows_vault_connection_mailchimp_oauth_code.rb new file mode 100644 index 000000000..302976730 --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_mailchimp_oauth_code.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionMailchimpOauthCode < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :app_id, -> { Auth0::Types::FlowsVaultConnectionAppIDMailchimpEnum }, optional: false, nullable: false + + field :setup, -> { Auth0::Types::FlowsVaultConnectioSetupOauthCode }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_mailchimp_uninitialized.rb b/lib/auth0/types/create_flows_vault_connection_mailchimp_uninitialized.rb new file mode 100644 index 000000000..e1d8a8232 --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_mailchimp_uninitialized.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionMailchimpUninitialized < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :app_id, -> { Auth0::Types::FlowsVaultConnectionAppIDMailchimpEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_mailjet.rb b/lib/auth0/types/create_flows_vault_connection_mailjet.rb new file mode 100644 index 000000000..60851ccab --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_mailjet.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionMailjet < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::CreateFlowsVaultConnectionMailjetAPIKey } + + member -> { Auth0::Types::CreateFlowsVaultConnectionMailjetUninitialized } + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_mailjet_api_key.rb b/lib/auth0/types/create_flows_vault_connection_mailjet_api_key.rb new file mode 100644 index 000000000..34ae668ac --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_mailjet_api_key.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionMailjetAPIKey < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :app_id, -> { Auth0::Types::FlowsVaultConnectionAppIDMailjetEnum }, optional: false, nullable: false + + field :setup, -> { Auth0::Types::FlowsVaultConnectioSetupMailjetAPIKey }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_mailjet_uninitialized.rb b/lib/auth0/types/create_flows_vault_connection_mailjet_uninitialized.rb new file mode 100644 index 000000000..95822ecb7 --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_mailjet_uninitialized.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionMailjetUninitialized < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :app_id, -> { Auth0::Types::FlowsVaultConnectionAppIDMailjetEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_pipedrive.rb b/lib/auth0/types/create_flows_vault_connection_pipedrive.rb new file mode 100644 index 000000000..7ce2095af --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_pipedrive.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionPipedrive < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::CreateFlowsVaultConnectionPipedriveToken } + + member -> { Auth0::Types::CreateFlowsVaultConnectionPipedriveOauthCode } + + member -> { Auth0::Types::CreateFlowsVaultConnectionPipedriveUninitialized } + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_pipedrive_oauth_code.rb b/lib/auth0/types/create_flows_vault_connection_pipedrive_oauth_code.rb new file mode 100644 index 000000000..0d533916f --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_pipedrive_oauth_code.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionPipedriveOauthCode < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :app_id, -> { Auth0::Types::FlowsVaultConnectionAppIDPipedriveEnum }, optional: false, nullable: false + + field :setup, -> { Auth0::Types::FlowsVaultConnectioSetupOauthCode }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_pipedrive_token.rb b/lib/auth0/types/create_flows_vault_connection_pipedrive_token.rb new file mode 100644 index 000000000..859dc9c52 --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_pipedrive_token.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionPipedriveToken < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :app_id, -> { Auth0::Types::FlowsVaultConnectionAppIDPipedriveEnum }, optional: false, nullable: false + + field :setup, -> { Auth0::Types::FlowsVaultConnectioSetupToken }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_pipedrive_uninitialized.rb b/lib/auth0/types/create_flows_vault_connection_pipedrive_uninitialized.rb new file mode 100644 index 000000000..c57caa4cd --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_pipedrive_uninitialized.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionPipedriveUninitialized < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :app_id, -> { Auth0::Types::FlowsVaultConnectionAppIDPipedriveEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_request_content.rb b/lib/auth0/types/create_flows_vault_connection_request_content.rb new file mode 100644 index 000000000..5ddde80ea --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_request_content.rb @@ -0,0 +1,51 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionRequestContent < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::CreateFlowsVaultConnectionActivecampaign } + + member -> { Auth0::Types::CreateFlowsVaultConnectionAirtable } + + member -> { Auth0::Types::CreateFlowsVaultConnectionAuth0 } + + member -> { Auth0::Types::CreateFlowsVaultConnectionBigquery } + + member -> { Auth0::Types::CreateFlowsVaultConnectionClearbit } + + member -> { Auth0::Types::CreateFlowsVaultConnectionDocusign } + + member -> { Auth0::Types::CreateFlowsVaultConnectionGoogleSheets } + + member -> { Auth0::Types::CreateFlowsVaultConnectionHTTP } + + member -> { Auth0::Types::CreateFlowsVaultConnectionHubspot } + + member -> { Auth0::Types::CreateFlowsVaultConnectionJwt } + + member -> { Auth0::Types::CreateFlowsVaultConnectionMailchimp } + + member -> { Auth0::Types::CreateFlowsVaultConnectionMailjet } + + member -> { Auth0::Types::CreateFlowsVaultConnectionPipedrive } + + member -> { Auth0::Types::CreateFlowsVaultConnectionSalesforce } + + member -> { Auth0::Types::CreateFlowsVaultConnectionSendgrid } + + member -> { Auth0::Types::CreateFlowsVaultConnectionSlack } + + member -> { Auth0::Types::CreateFlowsVaultConnectionStripe } + + member -> { Auth0::Types::CreateFlowsVaultConnectionTelegram } + + member -> { Auth0::Types::CreateFlowsVaultConnectionTwilio } + + member -> { Auth0::Types::CreateFlowsVaultConnectionWhatsapp } + + member -> { Auth0::Types::CreateFlowsVaultConnectionZapier } + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_response_content.rb b/lib/auth0/types/create_flows_vault_connection_response_content.rb new file mode 100644 index 000000000..1aa06d698 --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_response_content.rb @@ -0,0 +1,27 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionResponseContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :app_id, -> { String }, optional: false, nullable: false + + field :environment, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :account_name, -> { String }, optional: true, nullable: false + + field :ready, -> { Internal::Types::Boolean }, optional: false, nullable: false + + field :created_at, -> { String }, optional: false, nullable: false + + field :updated_at, -> { String }, optional: false, nullable: false + + field :refreshed_at, -> { String }, optional: true, nullable: false + + field :fingerprint, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_salesforce.rb b/lib/auth0/types/create_flows_vault_connection_salesforce.rb new file mode 100644 index 000000000..d9db7e742 --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_salesforce.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionSalesforce < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::CreateFlowsVaultConnectionSalesforceOauthCode } + + member -> { Auth0::Types::CreateFlowsVaultConnectionSalesforceUninitialized } + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_salesforce_oauth_code.rb b/lib/auth0/types/create_flows_vault_connection_salesforce_oauth_code.rb new file mode 100644 index 000000000..78a323045 --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_salesforce_oauth_code.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionSalesforceOauthCode < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :app_id, -> { Auth0::Types::FlowsVaultConnectionAppIDSalesforceEnum }, optional: false, nullable: false + + field :setup, -> { Auth0::Types::FlowsVaultConnectioSetupOauthCode }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_salesforce_uninitialized.rb b/lib/auth0/types/create_flows_vault_connection_salesforce_uninitialized.rb new file mode 100644 index 000000000..984ce530f --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_salesforce_uninitialized.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionSalesforceUninitialized < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :app_id, -> { Auth0::Types::FlowsVaultConnectionAppIDSalesforceEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_sendgrid.rb b/lib/auth0/types/create_flows_vault_connection_sendgrid.rb new file mode 100644 index 000000000..53b436464 --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_sendgrid.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionSendgrid < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::CreateFlowsVaultConnectionSendgridAPIKey } + + member -> { Auth0::Types::CreateFlowsVaultConnectionSendgridUninitialized } + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_sendgrid_api_key.rb b/lib/auth0/types/create_flows_vault_connection_sendgrid_api_key.rb new file mode 100644 index 000000000..94adf498d --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_sendgrid_api_key.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionSendgridAPIKey < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :app_id, -> { Auth0::Types::FlowsVaultConnectionAppIDSendgridEnum }, optional: false, nullable: false + + field :setup, -> { Auth0::Types::FlowsVaultConnectioSetupAPIKey }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_sendgrid_uninitialized.rb b/lib/auth0/types/create_flows_vault_connection_sendgrid_uninitialized.rb new file mode 100644 index 000000000..59562ee88 --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_sendgrid_uninitialized.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionSendgridUninitialized < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :app_id, -> { Auth0::Types::FlowsVaultConnectionAppIDSendgridEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_slack.rb b/lib/auth0/types/create_flows_vault_connection_slack.rb new file mode 100644 index 000000000..67832ab67 --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_slack.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionSlack < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::CreateFlowsVaultConnectionSlackWebhook } + + member -> { Auth0::Types::CreateFlowsVaultConnectionSlackOauthCode } + + member -> { Auth0::Types::CreateFlowsVaultConnectionSlackUninitialized } + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_slack_oauth_code.rb b/lib/auth0/types/create_flows_vault_connection_slack_oauth_code.rb new file mode 100644 index 000000000..463c3a46a --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_slack_oauth_code.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionSlackOauthCode < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :app_id, -> { Auth0::Types::FlowsVaultConnectionAppIDSlackEnum }, optional: false, nullable: false + + field :setup, -> { Auth0::Types::FlowsVaultConnectioSetupOauthCode }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_slack_uninitialized.rb b/lib/auth0/types/create_flows_vault_connection_slack_uninitialized.rb new file mode 100644 index 000000000..b14e4c1de --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_slack_uninitialized.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionSlackUninitialized < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :app_id, -> { Auth0::Types::FlowsVaultConnectionAppIDSlackEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_slack_webhook.rb b/lib/auth0/types/create_flows_vault_connection_slack_webhook.rb new file mode 100644 index 000000000..98db8b293 --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_slack_webhook.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionSlackWebhook < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :app_id, -> { Auth0::Types::FlowsVaultConnectionAppIDSlackEnum }, optional: false, nullable: false + + field :setup, -> { Auth0::Types::FlowsVaultConnectioSetupWebhook }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_stripe.rb b/lib/auth0/types/create_flows_vault_connection_stripe.rb new file mode 100644 index 000000000..d1b829546 --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_stripe.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionStripe < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::CreateFlowsVaultConnectionStripeKeyPair } + + member -> { Auth0::Types::CreateFlowsVaultConnectionStripeOauthCode } + + member -> { Auth0::Types::CreateFlowsVaultConnectionStripeUninitialized } + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_stripe_key_pair.rb b/lib/auth0/types/create_flows_vault_connection_stripe_key_pair.rb new file mode 100644 index 000000000..49ae7f7ec --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_stripe_key_pair.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionStripeKeyPair < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :app_id, -> { Auth0::Types::FlowsVaultConnectionAppIDStripeEnum }, optional: false, nullable: false + + field :setup, -> { Auth0::Types::FlowsVaultConnectioSetupStripeKeyPair }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_stripe_oauth_code.rb b/lib/auth0/types/create_flows_vault_connection_stripe_oauth_code.rb new file mode 100644 index 000000000..e91d2ce71 --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_stripe_oauth_code.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionStripeOauthCode < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :app_id, -> { Auth0::Types::FlowsVaultConnectionAppIDStripeEnum }, optional: false, nullable: false + + field :setup, -> { Auth0::Types::FlowsVaultConnectioSetupOauthCode }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_stripe_uninitialized.rb b/lib/auth0/types/create_flows_vault_connection_stripe_uninitialized.rb new file mode 100644 index 000000000..fdbe80906 --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_stripe_uninitialized.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionStripeUninitialized < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :app_id, -> { Auth0::Types::FlowsVaultConnectionAppIDStripeEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_telegram.rb b/lib/auth0/types/create_flows_vault_connection_telegram.rb new file mode 100644 index 000000000..418799fe6 --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_telegram.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionTelegram < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::CreateFlowsVaultConnectionTelegramToken } + + member -> { Auth0::Types::CreateFlowsVaultConnectionTelegramUninitialized } + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_telegram_token.rb b/lib/auth0/types/create_flows_vault_connection_telegram_token.rb new file mode 100644 index 000000000..3a909f51c --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_telegram_token.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionTelegramToken < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :app_id, -> { Auth0::Types::FlowsVaultConnectionAppIDTelegramEnum }, optional: false, nullable: false + + field :setup, -> { Auth0::Types::FlowsVaultConnectioSetupToken }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_telegram_uninitialized.rb b/lib/auth0/types/create_flows_vault_connection_telegram_uninitialized.rb new file mode 100644 index 000000000..b7adb44f2 --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_telegram_uninitialized.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionTelegramUninitialized < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :app_id, -> { Auth0::Types::FlowsVaultConnectionAppIDTelegramEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_twilio.rb b/lib/auth0/types/create_flows_vault_connection_twilio.rb new file mode 100644 index 000000000..540e98b22 --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_twilio.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionTwilio < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::CreateFlowsVaultConnectionTwilioAPIKey } + + member -> { Auth0::Types::CreateFlowsVaultConnectionTwilioUninitialized } + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_twilio_api_key.rb b/lib/auth0/types/create_flows_vault_connection_twilio_api_key.rb new file mode 100644 index 000000000..b2772c19b --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_twilio_api_key.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionTwilioAPIKey < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :app_id, -> { Auth0::Types::FlowsVaultConnectionAppIDTwilioEnum }, optional: false, nullable: false + + field :setup, -> { Auth0::Types::FlowsVaultConnectioSetupTwilioAPIKey }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_twilio_uninitialized.rb b/lib/auth0/types/create_flows_vault_connection_twilio_uninitialized.rb new file mode 100644 index 000000000..a7b334b7c --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_twilio_uninitialized.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionTwilioUninitialized < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :app_id, -> { Auth0::Types::FlowsVaultConnectionAppIDTwilioEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_whatsapp.rb b/lib/auth0/types/create_flows_vault_connection_whatsapp.rb new file mode 100644 index 000000000..2ecec1091 --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_whatsapp.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionWhatsapp < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::CreateFlowsVaultConnectionWhatsappToken } + + member -> { Auth0::Types::CreateFlowsVaultConnectionWhatsappUninitialized } + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_whatsapp_token.rb b/lib/auth0/types/create_flows_vault_connection_whatsapp_token.rb new file mode 100644 index 000000000..499afcd4d --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_whatsapp_token.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionWhatsappToken < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :app_id, -> { Auth0::Types::FlowsVaultConnectionAppIDWhatsappEnum }, optional: false, nullable: false + + field :setup, -> { Auth0::Types::FlowsVaultConnectioSetupToken }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_whatsapp_uninitialized.rb b/lib/auth0/types/create_flows_vault_connection_whatsapp_uninitialized.rb new file mode 100644 index 000000000..c06dc6c40 --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_whatsapp_uninitialized.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionWhatsappUninitialized < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :app_id, -> { Auth0::Types::FlowsVaultConnectionAppIDWhatsappEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_zapier.rb b/lib/auth0/types/create_flows_vault_connection_zapier.rb new file mode 100644 index 000000000..8f0f6b242 --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_zapier.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionZapier < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::CreateFlowsVaultConnectionZapierWebhook } + + member -> { Auth0::Types::CreateFlowsVaultConnectionZapierUninitialized } + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_zapier_uninitialized.rb b/lib/auth0/types/create_flows_vault_connection_zapier_uninitialized.rb new file mode 100644 index 000000000..dd3379a3a --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_zapier_uninitialized.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionZapierUninitialized < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :app_id, -> { Auth0::Types::FlowsVaultConnectionAppIDZapierEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_flows_vault_connection_zapier_webhook.rb b/lib/auth0/types/create_flows_vault_connection_zapier_webhook.rb new file mode 100644 index 000000000..3687837a4 --- /dev/null +++ b/lib/auth0/types/create_flows_vault_connection_zapier_webhook.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFlowsVaultConnectionZapierWebhook < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :app_id, -> { Auth0::Types::FlowsVaultConnectionAppIDZapierEnum }, optional: false, nullable: false + + field :setup, -> { Auth0::Types::FlowsVaultConnectioSetupWebhook }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_form_response_content.rb b/lib/auth0/types/create_form_response_content.rb new file mode 100644 index 000000000..1adfca25d --- /dev/null +++ b/lib/auth0/types/create_form_response_content.rb @@ -0,0 +1,33 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateFormResponseContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :messages, -> { Auth0::Types::FormMessages }, optional: true, nullable: false + + field :languages, -> { Auth0::Types::FormLanguages }, optional: true, nullable: false + + field :translations, -> { Internal::Types::Hash[String, Internal::Types::Hash[String, Object]] }, optional: true, nullable: false + + field :nodes, -> { Internal::Types::Array[Auth0::Types::FormNode] }, optional: true, nullable: false + + field :start, -> { Auth0::Types::FormStartNode }, optional: true, nullable: false + + field :ending, -> { Auth0::Types::FormEndingNode }, optional: true, nullable: false + + field :style, -> { Auth0::Types::FormStyle }, optional: true, nullable: false + + field :created_at, -> { String }, optional: false, nullable: false + + field :updated_at, -> { String }, optional: false, nullable: false + + field :embedded_at, -> { String }, optional: true, nullable: false + + field :submitted_at, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_guardian_enrollment_ticket_response_content.rb b/lib/auth0/types/create_guardian_enrollment_ticket_response_content.rb new file mode 100644 index 000000000..6eb0380dd --- /dev/null +++ b/lib/auth0/types/create_guardian_enrollment_ticket_response_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateGuardianEnrollmentTicketResponseContent < Internal::Types::Model + field :ticket_id, -> { String }, optional: true, nullable: false + + field :ticket_url, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_hook_response_content.rb b/lib/auth0/types/create_hook_response_content.rb new file mode 100644 index 000000000..5a8bfcf12 --- /dev/null +++ b/lib/auth0/types/create_hook_response_content.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateHookResponseContent < Internal::Types::Model + field :trigger_id, -> { String }, optional: true, nullable: false, api_name: "triggerId" + + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :script, -> { String }, optional: true, nullable: false + + field :dependencies, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_hook_secret_request_content.rb b/lib/auth0/types/create_hook_secret_request_content.rb new file mode 100644 index 000000000..ce543fc98 --- /dev/null +++ b/lib/auth0/types/create_hook_secret_request_content.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateHookSecretRequestContent + # CreateHookSecretRequestContent is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/create_identity_assertion_authorization_grant.rb b/lib/auth0/types/create_identity_assertion_authorization_grant.rb new file mode 100644 index 000000000..0222c9c03 --- /dev/null +++ b/lib/auth0/types/create_identity_assertion_authorization_grant.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configuration on the use of ID-JAGs for Cross App Access. + class CreateIdentityAssertionAuthorizationGrant < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_import_users_response_content.rb b/lib/auth0/types/create_import_users_response_content.rb new file mode 100644 index 000000000..38676394c --- /dev/null +++ b/lib/auth0/types/create_import_users_response_content.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateImportUsersResponseContent < Internal::Types::Model + field :status, -> { String }, optional: false, nullable: false + + field :type, -> { String }, optional: false, nullable: false + + field :created_at, -> { String }, optional: false, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :connection_id, -> { String }, optional: false, nullable: false + + field :external_id, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_log_stream_datadog_request_body.rb b/lib/auth0/types/create_log_stream_datadog_request_body.rb new file mode 100644 index 000000000..9529f7175 --- /dev/null +++ b/lib/auth0/types/create_log_stream_datadog_request_body.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateLogStreamDatadogRequestBody < Internal::Types::Model + field :name, -> { String }, optional: true, nullable: false + + field :type, -> { Auth0::Types::LogStreamDatadogEnum }, optional: false, nullable: false + + field :is_priority, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "isPriority" + + field :filters, -> { Internal::Types::Array[Auth0::Types::LogStreamFilter] }, optional: true, nullable: false + + field :pii_config, -> { Auth0::Types::LogStreamPiiConfig }, optional: true, nullable: false + + field :sink, -> { Auth0::Types::LogStreamDatadogSink }, optional: false, nullable: false + + field :start_from, -> { String }, optional: true, nullable: false, api_name: "startFrom" + end + end +end diff --git a/lib/auth0/types/create_log_stream_event_bridge_request_body.rb b/lib/auth0/types/create_log_stream_event_bridge_request_body.rb new file mode 100644 index 000000000..6409d55f2 --- /dev/null +++ b/lib/auth0/types/create_log_stream_event_bridge_request_body.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateLogStreamEventBridgeRequestBody < Internal::Types::Model + field :name, -> { String }, optional: true, nullable: false + + field :type, -> { Auth0::Types::LogStreamEventBridgeEnum }, optional: false, nullable: false + + field :is_priority, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "isPriority" + + field :filters, -> { Internal::Types::Array[Auth0::Types::LogStreamFilter] }, optional: true, nullable: false + + field :pii_config, -> { Auth0::Types::LogStreamPiiConfig }, optional: true, nullable: false + + field :sink, -> { Auth0::Types::LogStreamEventBridgeSink }, optional: false, nullable: false + + field :start_from, -> { String }, optional: true, nullable: false, api_name: "startFrom" + end + end +end diff --git a/lib/auth0/types/create_log_stream_event_grid_request_body.rb b/lib/auth0/types/create_log_stream_event_grid_request_body.rb new file mode 100644 index 000000000..2949bc41b --- /dev/null +++ b/lib/auth0/types/create_log_stream_event_grid_request_body.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateLogStreamEventGridRequestBody < Internal::Types::Model + field :name, -> { String }, optional: true, nullable: false + + field :type, -> { Auth0::Types::LogStreamEventGridEnum }, optional: false, nullable: false + + field :is_priority, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "isPriority" + + field :filters, -> { Internal::Types::Array[Auth0::Types::LogStreamFilter] }, optional: true, nullable: false + + field :pii_config, -> { Auth0::Types::LogStreamPiiConfig }, optional: true, nullable: false + + field :sink, -> { Auth0::Types::LogStreamEventGridSink }, optional: false, nullable: false + + field :start_from, -> { String }, optional: true, nullable: false, api_name: "startFrom" + end + end +end diff --git a/lib/auth0/types/create_log_stream_http_request_body.rb b/lib/auth0/types/create_log_stream_http_request_body.rb new file mode 100644 index 000000000..4779fd7dd --- /dev/null +++ b/lib/auth0/types/create_log_stream_http_request_body.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateLogStreamHTTPRequestBody < Internal::Types::Model + field :name, -> { String }, optional: true, nullable: false + + field :type, -> { Auth0::Types::LogStreamHTTPEnum }, optional: false, nullable: false + + field :is_priority, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "isPriority" + + field :filters, -> { Internal::Types::Array[Auth0::Types::LogStreamFilter] }, optional: true, nullable: false + + field :pii_config, -> { Auth0::Types::LogStreamPiiConfig }, optional: true, nullable: false + + field :sink, -> { Auth0::Types::LogStreamHTTPSink }, optional: false, nullable: false + + field :start_from, -> { String }, optional: true, nullable: false, api_name: "startFrom" + end + end +end diff --git a/lib/auth0/types/create_log_stream_mixpanel_request_body.rb b/lib/auth0/types/create_log_stream_mixpanel_request_body.rb new file mode 100644 index 000000000..9d4a51059 --- /dev/null +++ b/lib/auth0/types/create_log_stream_mixpanel_request_body.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateLogStreamMixpanelRequestBody < Internal::Types::Model + field :name, -> { String }, optional: true, nullable: false + + field :type, -> { Auth0::Types::LogStreamMixpanelEnum }, optional: false, nullable: false + + field :is_priority, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "isPriority" + + field :filters, -> { Internal::Types::Array[Auth0::Types::LogStreamFilter] }, optional: true, nullable: false + + field :pii_config, -> { Auth0::Types::LogStreamPiiConfig }, optional: true, nullable: false + + field :sink, -> { Auth0::Types::LogStreamMixpanelSink }, optional: false, nullable: false + + field :start_from, -> { String }, optional: true, nullable: false, api_name: "startFrom" + end + end +end diff --git a/lib/auth0/types/create_log_stream_request_content.rb b/lib/auth0/types/create_log_stream_request_content.rb new file mode 100644 index 000000000..b2dc4195c --- /dev/null +++ b/lib/auth0/types/create_log_stream_request_content.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateLogStreamRequestContent < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::CreateLogStreamHTTPRequestBody } + + member -> { Auth0::Types::CreateLogStreamEventBridgeRequestBody } + + member -> { Auth0::Types::CreateLogStreamEventGridRequestBody } + + member -> { Auth0::Types::CreateLogStreamDatadogRequestBody } + + member -> { Auth0::Types::CreateLogStreamSplunkRequestBody } + + member -> { Auth0::Types::CreateLogStreamSumoRequestBody } + + member -> { Auth0::Types::CreateLogStreamSegmentRequestBody } + + member -> { Auth0::Types::CreateLogStreamMixpanelRequestBody } + end + end +end diff --git a/lib/auth0/types/create_log_stream_response_content.rb b/lib/auth0/types/create_log_stream_response_content.rb new file mode 100644 index 000000000..73d1cb99a --- /dev/null +++ b/lib/auth0/types/create_log_stream_response_content.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateLogStreamResponseContent < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::LogStreamHTTPResponseSchema } + + member -> { Auth0::Types::LogStreamEventBridgeResponseSchema } + + member -> { Auth0::Types::LogStreamEventGridResponseSchema } + + member -> { Auth0::Types::LogStreamDatadogResponseSchema } + + member -> { Auth0::Types::LogStreamSplunkResponseSchema } + + member -> { Auth0::Types::LogStreamSumoResponseSchema } + + member -> { Auth0::Types::LogStreamSegmentResponseSchema } + + member -> { Auth0::Types::LogStreamMixpanelResponseSchema } + end + end +end diff --git a/lib/auth0/types/create_log_stream_segment_request_body.rb b/lib/auth0/types/create_log_stream_segment_request_body.rb new file mode 100644 index 000000000..34b1bc82a --- /dev/null +++ b/lib/auth0/types/create_log_stream_segment_request_body.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateLogStreamSegmentRequestBody < Internal::Types::Model + field :name, -> { String }, optional: true, nullable: false + + field :type, -> { Auth0::Types::LogStreamSegmentEnum }, optional: false, nullable: false + + field :is_priority, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "isPriority" + + field :filters, -> { Internal::Types::Array[Auth0::Types::LogStreamFilter] }, optional: true, nullable: false + + field :pii_config, -> { Auth0::Types::LogStreamPiiConfig }, optional: true, nullable: false + + field :sink, -> { Auth0::Types::LogStreamSegmentSinkWriteKey }, optional: false, nullable: false + + field :start_from, -> { String }, optional: true, nullable: false, api_name: "startFrom" + end + end +end diff --git a/lib/auth0/types/create_log_stream_splunk_request_body.rb b/lib/auth0/types/create_log_stream_splunk_request_body.rb new file mode 100644 index 000000000..3e157a224 --- /dev/null +++ b/lib/auth0/types/create_log_stream_splunk_request_body.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateLogStreamSplunkRequestBody < Internal::Types::Model + field :name, -> { String }, optional: true, nullable: false + + field :type, -> { Auth0::Types::LogStreamSplunkEnum }, optional: false, nullable: false + + field :is_priority, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "isPriority" + + field :filters, -> { Internal::Types::Array[Auth0::Types::LogStreamFilter] }, optional: true, nullable: false + + field :pii_config, -> { Auth0::Types::LogStreamPiiConfig }, optional: true, nullable: false + + field :sink, -> { Auth0::Types::LogStreamSplunkSink }, optional: false, nullable: false + + field :start_from, -> { String }, optional: true, nullable: false, api_name: "startFrom" + end + end +end diff --git a/lib/auth0/types/create_log_stream_sumo_request_body.rb b/lib/auth0/types/create_log_stream_sumo_request_body.rb new file mode 100644 index 000000000..8a9f53290 --- /dev/null +++ b/lib/auth0/types/create_log_stream_sumo_request_body.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateLogStreamSumoRequestBody < Internal::Types::Model + field :name, -> { String }, optional: true, nullable: false + + field :type, -> { Auth0::Types::LogStreamSumoEnum }, optional: false, nullable: false + + field :is_priority, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "isPriority" + + field :filters, -> { Internal::Types::Array[Auth0::Types::LogStreamFilter] }, optional: true, nullable: false + + field :pii_config, -> { Auth0::Types::LogStreamPiiConfig }, optional: true, nullable: false + + field :sink, -> { Auth0::Types::LogStreamSumoSink }, optional: false, nullable: false + + field :start_from, -> { String }, optional: true, nullable: false, api_name: "startFrom" + end + end +end diff --git a/lib/auth0/types/create_organization_all_connection_response_content.rb b/lib/auth0/types/create_organization_all_connection_response_content.rb new file mode 100644 index 000000000..d856bc54e --- /dev/null +++ b/lib/auth0/types/create_organization_all_connection_response_content.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateOrganizationAllConnectionResponseContent < Internal::Types::Model + field :organization_connection_name, -> { String }, optional: true, nullable: false + + field :assign_membership_on_login, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :is_signup_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :organization_access_level, -> { Auth0::Types::OrganizationAccessLevelEnum }, optional: true, nullable: false + + field :is_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :connection_id, -> { String }, optional: false, nullable: false + + field :connection, -> { Auth0::Types::OrganizationConnectionInformation }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_organization_client_request_item.rb b/lib/auth0/types/create_organization_client_request_item.rb new file mode 100644 index 000000000..f3c5f9ee8 --- /dev/null +++ b/lib/auth0/types/create_organization_client_request_item.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateOrganizationClientRequestItem < Internal::Types::Model + field :client_id, -> { String }, optional: false, nullable: false + + field :use_for_member_access, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_organization_clients_response_content.rb b/lib/auth0/types/create_organization_clients_response_content.rb new file mode 100644 index 000000000..96bfd732c --- /dev/null +++ b/lib/auth0/types/create_organization_clients_response_content.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreateOrganizationClientsResponseContent + # CreateOrganizationClientsResponseContent is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/create_organization_discovery_domain_response_content.rb b/lib/auth0/types/create_organization_discovery_domain_response_content.rb new file mode 100644 index 000000000..f31f8d620 --- /dev/null +++ b/lib/auth0/types/create_organization_discovery_domain_response_content.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateOrganizationDiscoveryDomainResponseContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :domain, -> { String }, optional: false, nullable: false + + field :status, -> { Auth0::Types::OrganizationDiscoveryDomainStatus }, optional: false, nullable: false + + field :use_for_organization_discovery, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :verification_txt, -> { String }, optional: false, nullable: false + + field :verification_host, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_organization_invitation_response_content.rb b/lib/auth0/types/create_organization_invitation_response_content.rb new file mode 100644 index 000000000..b99406cfb --- /dev/null +++ b/lib/auth0/types/create_organization_invitation_response_content.rb @@ -0,0 +1,33 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateOrganizationInvitationResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :organization_id, -> { String }, optional: true, nullable: false + + field :inviter, -> { Auth0::Types::OrganizationInvitationInviter }, optional: true, nullable: false + + field :invitee, -> { Auth0::Types::OrganizationInvitationInvitee }, optional: true, nullable: false + + field :invitation_url, -> { String }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :expires_at, -> { String }, optional: true, nullable: false + + field :client_id, -> { String }, optional: true, nullable: false + + field :connection_id, -> { String }, optional: true, nullable: false + + field :app_metadata, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :user_metadata, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :roles, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :ticket_id, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_organization_response_content.rb b/lib/auth0/types/create_organization_response_content.rb new file mode 100644 index 000000000..6afbfed37 --- /dev/null +++ b/lib/auth0/types/create_organization_response_content.rb @@ -0,0 +1,27 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateOrganizationResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :branding, -> { Auth0::Types::OrganizationBranding }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :token_quota, -> { Auth0::Types::TokenQuota }, optional: true, nullable: false + + field :third_party_client_access, -> { Auth0::Types::OrganizationThirdPartyClientAccessEnum }, optional: true, nullable: false + + field :is_app_entitlement_active, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :client, -> { Auth0::Types::OrganizationClientAssociation }, optional: true, nullable: false + + field :enabled_connections, -> { Internal::Types::Array[Auth0::Types::OrganizationEnabledConnection] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_phone_provider_send_test_response_content.rb b/lib/auth0/types/create_phone_provider_send_test_response_content.rb new file mode 100644 index 000000000..f14a0a891 --- /dev/null +++ b/lib/auth0/types/create_phone_provider_send_test_response_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreatePhoneProviderSendTestResponseContent < Internal::Types::Model + field :code, -> { Integer }, optional: true, nullable: false + + field :message, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_phone_template_response_content.rb b/lib/auth0/types/create_phone_template_response_content.rb new file mode 100644 index 000000000..c536e1013 --- /dev/null +++ b/lib/auth0/types/create_phone_template_response_content.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreatePhoneTemplateResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :channel, -> { String }, optional: true, nullable: false + + field :customizable, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :tenant, -> { String }, optional: true, nullable: false + + field :content, -> { Auth0::Types::PhoneTemplateContent }, optional: false, nullable: false + + field :type, -> { Auth0::Types::PhoneTemplateNotificationTypeEnum }, optional: false, nullable: false + + field :disabled, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_phone_template_test_notification_response_content.rb b/lib/auth0/types/create_phone_template_test_notification_response_content.rb new file mode 100644 index 000000000..fb84cb2fd --- /dev/null +++ b/lib/auth0/types/create_phone_template_test_notification_response_content.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreatePhoneTemplateTestNotificationResponseContent < Internal::Types::Model + field :message, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_public_key_device_credential_response_content.rb b/lib/auth0/types/create_public_key_device_credential_response_content.rb new file mode 100644 index 000000000..71031b80f --- /dev/null +++ b/lib/auth0/types/create_public_key_device_credential_response_content.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreatePublicKeyDeviceCredentialResponseContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_rate_limit_policy_response_content.rb b/lib/auth0/types/create_rate_limit_policy_response_content.rb new file mode 100644 index 000000000..d58ce269c --- /dev/null +++ b/lib/auth0/types/create_rate_limit_policy_response_content.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateRateLimitPolicyResponseContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :resource, -> { Auth0::Types::RateLimitPolicyResourceEnum }, optional: false, nullable: false + + field :consumer, -> { Auth0::Types::RateLimitPolicyConsumerEnum }, optional: false, nullable: false + + field :consumer_selector, -> { String }, optional: false, nullable: false + + field :configuration, -> { Auth0::Types::RateLimitPolicyConfiguration }, optional: false, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :updated_at, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_resource_server_response_content.rb b/lib/auth0/types/create_resource_server_response_content.rb new file mode 100644 index 000000000..7a95e3738 --- /dev/null +++ b/lib/auth0/types/create_resource_server_response_content.rb @@ -0,0 +1,51 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateResourceServerResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :is_system, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :identifier, -> { String }, optional: true, nullable: false + + field :scopes, -> { Internal::Types::Array[Auth0::Types::ResourceServerScope] }, optional: true, nullable: false + + field :signing_alg, -> { Auth0::Types::SigningAlgorithmEnum }, optional: true, nullable: false + + field :signing_secret, -> { String }, optional: true, nullable: false + + field :allow_offline_access, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :allow_online_access, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :allow_online_access_with_ephemeral_sessions, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :skip_consent_for_verifiable_first_party_clients, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :token_lifetime, -> { Integer }, optional: true, nullable: false + + field :token_lifetime_for_web, -> { Integer }, optional: true, nullable: false + + field :enforce_policies, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :token_dialect, -> { Auth0::Types::ResourceServerTokenDialectResponseEnum }, optional: true, nullable: false + + field :token_encryption, -> { Auth0::Types::ResourceServerTokenEncryption }, optional: true, nullable: false + + field :consent_policy, -> { Auth0::Types::ResourceServerConsentPolicyEnum }, optional: true, nullable: false + + field :authorization_details, -> { Internal::Types::Array[Object] }, optional: true, nullable: false + + field :proof_of_possession, -> { Auth0::Types::ResourceServerProofOfPossession }, optional: true, nullable: false + + field :subject_type_authorization, -> { Auth0::Types::ResourceServerSubjectTypeAuthorization }, optional: true, nullable: false + + field :authorization_policy, -> { Auth0::Types::ResourceServerAuthorizationPolicy }, optional: true, nullable: false + + field :client_id, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_role_response_content.rb b/lib/auth0/types/create_role_response_content.rb new file mode 100644 index 000000000..81082163b --- /dev/null +++ b/lib/auth0/types/create_role_response_content.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateRoleResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :description, -> { String }, optional: true, nullable: false + + field :type, -> { Auth0::Types::RoleTypeEnum }, optional: true, nullable: false + + field :owner_id, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_rule_response_content.rb b/lib/auth0/types/create_rule_response_content.rb new file mode 100644 index 000000000..2cafc6ab3 --- /dev/null +++ b/lib/auth0/types/create_rule_response_content.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateRuleResponseContent < Internal::Types::Model + field :name, -> { String }, optional: true, nullable: false + + field :id, -> { String }, optional: true, nullable: false + + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :script, -> { String }, optional: true, nullable: false + + field :order, -> { Integer }, optional: true, nullable: false + + field :stage, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_scim_configuration_request_content.rb b/lib/auth0/types/create_scim_configuration_request_content.rb new file mode 100644 index 000000000..bb22a7e39 --- /dev/null +++ b/lib/auth0/types/create_scim_configuration_request_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateSCIMConfigurationRequestContent < Internal::Types::Model + field :user_id_attribute, -> { String }, optional: true, nullable: false + + field :mapping, -> { Internal::Types::Array[Auth0::Types::SCIMMappingItem] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_scim_configuration_response_content.rb b/lib/auth0/types/create_scim_configuration_response_content.rb new file mode 100644 index 000000000..6084ef161 --- /dev/null +++ b/lib/auth0/types/create_scim_configuration_response_content.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateSCIMConfigurationResponseContent < Internal::Types::Model + field :connection_id, -> { String }, optional: false, nullable: false + + field :connection_name, -> { String }, optional: false, nullable: false + + field :strategy, -> { String }, optional: false, nullable: false + + field :tenant_name, -> { String }, optional: false, nullable: false + + field :user_id_attribute, -> { String }, optional: false, nullable: false + + field :mapping, -> { Internal::Types::Array[Auth0::Types::SCIMMappingItem] }, optional: false, nullable: false + + field :created_at, -> { String }, optional: false, nullable: false + + field :updated_on, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_scim_token_response_content.rb b/lib/auth0/types/create_scim_token_response_content.rb new file mode 100644 index 000000000..fbf3394a0 --- /dev/null +++ b/lib/auth0/types/create_scim_token_response_content.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateSCIMTokenResponseContent < Internal::Types::Model + field :token_id, -> { String }, optional: true, nullable: false + + field :token, -> { String }, optional: true, nullable: false + + field :scopes, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :valid_until, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_self_service_profile_response_content.rb b/lib/auth0/types/create_self_service_profile_response_content.rb new file mode 100644 index 000000000..7043177c7 --- /dev/null +++ b/lib/auth0/types/create_self_service_profile_response_content.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateSelfServiceProfileResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :description, -> { String }, optional: true, nullable: false + + field :user_attributes, -> { Internal::Types::Array[Auth0::Types::SelfServiceProfileUserAttribute] }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :updated_at, -> { String }, optional: true, nullable: false + + field :branding, -> { Auth0::Types::SelfServiceProfileBrandingProperties }, optional: true, nullable: false + + field :allowed_strategies, -> { Internal::Types::Array[Auth0::Types::SelfServiceProfileAllowedStrategyEnum] }, optional: true, nullable: false + + field :user_attribute_profile_id, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_self_service_profile_sso_ticket_response_content.rb b/lib/auth0/types/create_self_service_profile_sso_ticket_response_content.rb new file mode 100644 index 000000000..c639c084b --- /dev/null +++ b/lib/auth0/types/create_self_service_profile_sso_ticket_response_content.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateSelfServiceProfileSSOTicketResponseContent < Internal::Types::Model + field :ticket, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_token_exchange_profile_response_content.rb b/lib/auth0/types/create_token_exchange_profile_response_content.rb new file mode 100644 index 000000000..846d0daff --- /dev/null +++ b/lib/auth0/types/create_token_exchange_profile_response_content.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateTokenExchangeProfileResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :subject_token_type, -> { String }, optional: true, nullable: false + + field :action_id, -> { String }, optional: true, nullable: false + + field :type, -> { Auth0::Types::TokenExchangeProfileTypeEnum }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :updated_at, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_token_quota.rb b/lib/auth0/types/create_token_quota.rb new file mode 100644 index 000000000..84193b9b9 --- /dev/null +++ b/lib/auth0/types/create_token_quota.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateTokenQuota < Internal::Types::Model + field :client_credentials, -> { Auth0::Types::TokenQuotaClientCredentials }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/create_user_attribute_profile_response_content.rb b/lib/auth0/types/create_user_attribute_profile_response_content.rb new file mode 100644 index 000000000..c91f355ab --- /dev/null +++ b/lib/auth0/types/create_user_attribute_profile_response_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateUserAttributeProfileResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :user_id, -> { Auth0::Types::UserAttributeProfileUserID }, optional: true, nullable: false + + field :user_attributes, -> { Internal::Types::Hash[String, Auth0::Types::UserAttributeProfileUserAttributeAdditionalProperties] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_user_authentication_method_response_content.rb b/lib/auth0/types/create_user_authentication_method_response_content.rb new file mode 100644 index 000000000..68e832152 --- /dev/null +++ b/lib/auth0/types/create_user_authentication_method_response_content.rb @@ -0,0 +1,46 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The successfully created authentication method. + class CreateUserAuthenticationMethodResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :type, -> { Auth0::Types::CreatedUserAuthenticationMethodTypeEnum }, optional: false, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :totp_secret, -> { String }, optional: true, nullable: false + + field :phone_number, -> { String }, optional: true, nullable: false + + field :email, -> { String }, optional: true, nullable: false + + field :authentication_methods, -> { Internal::Types::Array[Auth0::Types::UserAuthenticationMethodProperties] }, optional: true, nullable: false + + field :preferred_authentication_method, -> { Auth0::Types::PreferredAuthenticationMethodEnum }, optional: true, nullable: false + + field :key_id, -> { String }, optional: true, nullable: false + + field :public_key, -> { String }, optional: true, nullable: false + + field :aaguid, -> { String }, optional: true, nullable: false + + field :relying_party_identifier, -> { String }, optional: true, nullable: false + + field :credential_device_type, -> { Auth0::Types::CredentialDeviceTypeEnum }, optional: true, nullable: false + + field :credential_backed_up, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :identity_user_id, -> { String }, optional: true, nullable: false + + field :user_agent, -> { String }, optional: true, nullable: false + + field :user_handle, -> { String }, optional: true, nullable: false + + field :transports, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_user_response_content.rb b/lib/auth0/types/create_user_response_content.rb new file mode 100644 index 000000000..f2881279f --- /dev/null +++ b/lib/auth0/types/create_user_response_content.rb @@ -0,0 +1,53 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateUserResponseContent < Internal::Types::Model + field :user_id, -> { String }, optional: true, nullable: false + + field :email, -> { String }, optional: true, nullable: false + + field :email_verified, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :username, -> { String }, optional: true, nullable: false + + field :phone_number, -> { String }, optional: true, nullable: false + + field :phone_verified, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :updated_at, -> { String }, optional: true, nullable: false + + field :identities, -> { Internal::Types::Array[Auth0::Types::UserIdentitySchema] }, optional: true, nullable: false + + field :app_metadata, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :user_metadata, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :picture, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :nickname, -> { String }, optional: true, nullable: false + + field :multifactor, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :multifactor_last_modified, -> { String }, optional: true, nullable: false + + field :last_ip, -> { String }, optional: true, nullable: false + + field :last_login, -> { String }, optional: true, nullable: false + + field :last_password_reset, -> { String }, optional: true, nullable: false + + field :logins_count, -> { Integer }, optional: true, nullable: false + + field :blocked, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :given_name, -> { String }, optional: true, nullable: false + + field :family_name, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_verifiable_credential_template_response_content.rb b/lib/auth0/types/create_verifiable_credential_template_response_content.rb new file mode 100644 index 000000000..9c593d902 --- /dev/null +++ b/lib/auth0/types/create_verifiable_credential_template_response_content.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateVerifiableCredentialTemplateResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :type, -> { String }, optional: true, nullable: false + + field :dialect, -> { String }, optional: true, nullable: false + + field :presentation, -> { Auth0::Types::MdlPresentationRequest }, optional: true, nullable: false + + field :custom_certificate_authority, -> { String }, optional: true, nullable: false + + field :well_known_trusted_issuers, -> { String }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :updated_at, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/create_verification_email_response_content.rb b/lib/auth0/types/create_verification_email_response_content.rb new file mode 100644 index 000000000..c2d149f98 --- /dev/null +++ b/lib/auth0/types/create_verification_email_response_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CreateVerificationEmailResponseContent < Internal::Types::Model + field :status, -> { String }, optional: false, nullable: false + + field :type, -> { String }, optional: false, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/created_authentication_method_type_enum.rb b/lib/auth0/types/created_authentication_method_type_enum.rb new file mode 100644 index 000000000..1047a610d --- /dev/null +++ b/lib/auth0/types/created_authentication_method_type_enum.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreatedAuthenticationMethodTypeEnum + extend Auth0::Internal::Types::Enum + + PHONE = "phone" + EMAIL = "email" + TOTP = "totp" + WEBAUTHN_ROAMING = "webauthn-roaming" + end + end +end diff --git a/lib/auth0/types/created_user_authentication_method_type_enum.rb b/lib/auth0/types/created_user_authentication_method_type_enum.rb new file mode 100644 index 000000000..600313d16 --- /dev/null +++ b/lib/auth0/types/created_user_authentication_method_type_enum.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CreatedUserAuthenticationMethodTypeEnum + extend Auth0::Internal::Types::Enum + + PHONE = "phone" + EMAIL = "email" + TOTP = "totp" + WEBAUTHN_ROAMING = "webauthn-roaming" + PASSKEY = "passkey" + end + end +end diff --git a/lib/auth0/types/credential_device_type_enum.rb b/lib/auth0/types/credential_device_type_enum.rb new file mode 100644 index 000000000..4c51473b3 --- /dev/null +++ b/lib/auth0/types/credential_device_type_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CredentialDeviceTypeEnum + extend Auth0::Internal::Types::Enum + + SINGLE_DEVICE = "single_device" + MULTI_DEVICE = "multi_device" + end + end +end diff --git a/lib/auth0/types/credential_id.rb b/lib/auth0/types/credential_id.rb new file mode 100644 index 000000000..2927f5f6b --- /dev/null +++ b/lib/auth0/types/credential_id.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CredentialID < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/cross_app_access_requesting_app.rb b/lib/auth0/types/cross_app_access_requesting_app.rb new file mode 100644 index 000000000..49aecd30a --- /dev/null +++ b/lib/auth0/types/cross_app_access_requesting_app.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configure the connection to be used as a Requesting Application for Cross App Access. + class CrossAppAccessRequestingApp < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/cross_app_access_resource_app.rb b/lib/auth0/types/cross_app_access_resource_app.rb new file mode 100644 index 000000000..8e3e09c08 --- /dev/null +++ b/lib/auth0/types/cross_app_access_resource_app.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Cross App Access - Resource App settings that apply to this connection. + class CrossAppAccessResourceApp < Internal::Types::Model + field :status, -> { Auth0::Types::CrossAppAccessResourceAppStatusEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/cross_app_access_resource_app_status_enum.rb b/lib/auth0/types/cross_app_access_resource_app_status_enum.rb new file mode 100644 index 000000000..6c4b8d09e --- /dev/null +++ b/lib/auth0/types/cross_app_access_resource_app_status_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CrossAppAccessResourceAppStatusEnum + extend Auth0::Internal::Types::Enum + + ENABLED = "enabled" + DISABLED = "disabled" + end + end +end diff --git a/lib/auth0/types/csp_directives.rb b/lib/auth0/types/csp_directives.rb new file mode 100644 index 000000000..d38614530 --- /dev/null +++ b/lib/auth0/types/csp_directives.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CspDirectives + # CspDirectives is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/csp_flag.rb b/lib/auth0/types/csp_flag.rb new file mode 100644 index 000000000..03a4bcff3 --- /dev/null +++ b/lib/auth0/types/csp_flag.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CspFlag + extend Auth0::Internal::Types::Enum + + UPGRADE_INSECURE_REQUESTS = "upgrade-insecure-requests" + BLOCK_ALL_MIXED_CONTENT = "block-all-mixed-content" + end + end +end diff --git a/lib/auth0/types/csp_flags.rb b/lib/auth0/types/csp_flags.rb new file mode 100644 index 000000000..7021800f5 --- /dev/null +++ b/lib/auth0/types/csp_flags.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CspFlags + # CspFlags is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/csp_policies.rb b/lib/auth0/types/csp_policies.rb new file mode 100644 index 000000000..4017a3879 --- /dev/null +++ b/lib/auth0/types/csp_policies.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CspPolicies + # CspPolicies is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/csp_policy.rb b/lib/auth0/types/csp_policy.rb new file mode 100644 index 000000000..17b97d6c6 --- /dev/null +++ b/lib/auth0/types/csp_policy.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # A single CSP policy with mode, directives, flags, and optional reporting. + class CspPolicy < Internal::Types::Model + field :mode, -> { Auth0::Types::CspPolicyMode }, optional: true, nullable: false + + field :directives, -> { Internal::Types::Hash[String, Internal::Types::Array[String]] }, optional: true, nullable: false + + field :flags, -> { Internal::Types::Array[Auth0::Types::CspFlag] }, optional: true, nullable: false + + field :reporting, -> { Auth0::Types::CspPolicyReporting }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/csp_policy_mode.rb b/lib/auth0/types/csp_policy_mode.rb new file mode 100644 index 000000000..116e0afa6 --- /dev/null +++ b/lib/auth0/types/csp_policy_mode.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CspPolicyMode + extend Auth0::Internal::Types::Enum + + ENFORCING = "enforcing" + REPORTING = "reporting" + end + end +end diff --git a/lib/auth0/types/csp_policy_reporting.rb b/lib/auth0/types/csp_policy_reporting.rb new file mode 100644 index 000000000..648861f7f --- /dev/null +++ b/lib/auth0/types/csp_policy_reporting.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Per-policy reporting configuration. + class CspPolicyReporting < Internal::Types::Model + field :report_uri, -> { String }, optional: true, nullable: false + + field :report_to_group, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/csp_report_to.rb b/lib/auth0/types/csp_report_to.rb new file mode 100644 index 000000000..8bb70ef6d --- /dev/null +++ b/lib/auth0/types/csp_report_to.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Report-To header configuration. + class CspReportTo < Internal::Types::Model + field :group, -> { String }, optional: true, nullable: false + + field :max_age, -> { Integer }, optional: true, nullable: false + + field :endpoints, -> { Internal::Types::Array[Auth0::Types::CspReportToEndpoint] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/csp_report_to_endpoint.rb b/lib/auth0/types/csp_report_to_endpoint.rb new file mode 100644 index 000000000..a74221d5d --- /dev/null +++ b/lib/auth0/types/csp_report_to_endpoint.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # A single reporting endpoint. + class CspReportToEndpoint < Internal::Types::Model + field :url, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/csp_report_to_endpoints.rb b/lib/auth0/types/csp_report_to_endpoints.rb new file mode 100644 index 000000000..424d37823 --- /dev/null +++ b/lib/auth0/types/csp_report_to_endpoints.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CspReportToEndpoints + # CspReportToEndpoints is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/csp_reporting_endpoints.rb b/lib/auth0/types/csp_reporting_endpoints.rb new file mode 100644 index 000000000..f96a0e37a --- /dev/null +++ b/lib/auth0/types/csp_reporting_endpoints.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CspReportingEndpoints + # CspReportingEndpoints is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/csp_reporting_infrastructure.rb b/lib/auth0/types/csp_reporting_infrastructure.rb new file mode 100644 index 000000000..da0c4b14c --- /dev/null +++ b/lib/auth0/types/csp_reporting_infrastructure.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Global reporting infrastructure configuration. + class CspReportingInfrastructure < Internal::Types::Model + field :report_to, -> { Auth0::Types::CspReportTo }, optional: true, nullable: false + + field :reporting_endpoints, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/custom_domain.rb b/lib/auth0/types/custom_domain.rb new file mode 100644 index 000000000..d79efb182 --- /dev/null +++ b/lib/auth0/types/custom_domain.rb @@ -0,0 +1,33 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CustomDomain < Internal::Types::Model + field :custom_domain_id, -> { String }, optional: false, nullable: false + + field :domain, -> { String }, optional: false, nullable: false + + field :primary, -> { Internal::Types::Boolean }, optional: false, nullable: false + + field :is_default, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :status, -> { Auth0::Types::CustomDomainStatusFilterEnum }, optional: false, nullable: false + + field :type, -> { Auth0::Types::CustomDomainTypeEnum }, optional: false, nullable: false + + field :origin_domain_name, -> { String }, optional: true, nullable: false + + field :verification, -> { Auth0::Types::DomainVerification }, optional: true, nullable: false + + field :custom_client_ip_header, -> { String }, optional: true, nullable: false + + field :tls_policy, -> { String }, optional: true, nullable: false + + field :domain_metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :certificate, -> { Auth0::Types::DomainCertificate }, optional: true, nullable: false + + field :relying_party_identifier, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/custom_domain_custom_client_ip_header.rb b/lib/auth0/types/custom_domain_custom_client_ip_header.rb new file mode 100644 index 000000000..b6261423c --- /dev/null +++ b/lib/auth0/types/custom_domain_custom_client_ip_header.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CustomDomainCustomClientIPHeader + # CustomDomainCustomClientIPHeader is an alias for Object + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/custom_domain_custom_client_ip_header_enum.rb b/lib/auth0/types/custom_domain_custom_client_ip_header_enum.rb new file mode 100644 index 000000000..f9b46f38b --- /dev/null +++ b/lib/auth0/types/custom_domain_custom_client_ip_header_enum.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CustomDomainCustomClientIPHeaderEnum + extend Auth0::Internal::Types::Enum + + TRUE_CLIENT_IP = "true-client-ip" + CF_CONNECTING_IP = "cf-connecting-ip" + X_FORWARDED_FOR = "x-forwarded-for" + X_AZURE_CLIENTIP = "x-azure-clientip" + EMPTY = "" + end + end +end diff --git a/lib/auth0/types/custom_domain_provisioning_type_enum.rb b/lib/auth0/types/custom_domain_provisioning_type_enum.rb new file mode 100644 index 000000000..4b9169da8 --- /dev/null +++ b/lib/auth0/types/custom_domain_provisioning_type_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CustomDomainProvisioningTypeEnum + extend Auth0::Internal::Types::Enum + + AUTH0MANAGED_CERTS = "auth0_managed_certs" + SELF_MANAGED_CERTS = "self_managed_certs" + end + end +end diff --git a/lib/auth0/types/custom_domain_status_filter_enum.rb b/lib/auth0/types/custom_domain_status_filter_enum.rb new file mode 100644 index 000000000..938135637 --- /dev/null +++ b/lib/auth0/types/custom_domain_status_filter_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CustomDomainStatusFilterEnum + extend Auth0::Internal::Types::Enum + + PENDING_VERIFICATION = "pending_verification" + READY = "ready" + FAILED = "failed" + end + end +end diff --git a/lib/auth0/types/custom_domain_tls_policy_enum.rb b/lib/auth0/types/custom_domain_tls_policy_enum.rb new file mode 100644 index 000000000..f772202aa --- /dev/null +++ b/lib/auth0/types/custom_domain_tls_policy_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CustomDomainTLSPolicyEnum + extend Auth0::Internal::Types::Enum + + RECOMMENDED = "recommended" + end + end +end diff --git a/lib/auth0/types/custom_domain_type_enum.rb b/lib/auth0/types/custom_domain_type_enum.rb new file mode 100644 index 000000000..6318e530f --- /dev/null +++ b/lib/auth0/types/custom_domain_type_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CustomDomainTypeEnum + extend Auth0::Internal::Types::Enum + + AUTH0MANAGED_CERTS = "auth0_managed_certs" + SELF_MANAGED_CERTS = "self_managed_certs" + end + end +end diff --git a/lib/auth0/types/custom_domain_verification_method_enum.rb b/lib/auth0/types/custom_domain_verification_method_enum.rb new file mode 100644 index 000000000..7c2b3b26e --- /dev/null +++ b/lib/auth0/types/custom_domain_verification_method_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CustomDomainVerificationMethodEnum + extend Auth0::Internal::Types::Enum + + TXT = "txt" + end + end +end diff --git a/lib/auth0/types/custom_provider_configuration.rb b/lib/auth0/types/custom_provider_configuration.rb new file mode 100644 index 000000000..b2135158f --- /dev/null +++ b/lib/auth0/types/custom_provider_configuration.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CustomProviderConfiguration < Internal::Types::Model + field :delivery_methods, -> { Internal::Types::Array[Auth0::Types::CustomProviderDeliveryMethodEnum] }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/custom_provider_credentials.rb b/lib/auth0/types/custom_provider_credentials.rb new file mode 100644 index 000000000..09998132b --- /dev/null +++ b/lib/auth0/types/custom_provider_credentials.rb @@ -0,0 +1,7 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class CustomProviderCredentials < Internal::Types::Model; end + end +end diff --git a/lib/auth0/types/custom_provider_delivery_method_enum.rb b/lib/auth0/types/custom_provider_delivery_method_enum.rb new file mode 100644 index 000000000..1b0d532d7 --- /dev/null +++ b/lib/auth0/types/custom_provider_delivery_method_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CustomProviderDeliveryMethodEnum + extend Auth0::Internal::Types::Enum + + TEXT = "text" + VOICE = "voice" + end + end +end diff --git a/lib/auth0/types/custom_signing_key_algorithm_enum.rb b/lib/auth0/types/custom_signing_key_algorithm_enum.rb new file mode 100644 index 000000000..db14d29aa --- /dev/null +++ b/lib/auth0/types/custom_signing_key_algorithm_enum.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CustomSigningKeyAlgorithmEnum + extend Auth0::Internal::Types::Enum + + RS256 = "RS256" + RS384 = "RS384" + RS512 = "RS512" + ES256 = "ES256" + ES384 = "ES384" + ES512 = "ES512" + PS256 = "PS256" + PS384 = "PS384" + PS512 = "PS512" + end + end +end diff --git a/lib/auth0/types/custom_signing_key_curve_enum.rb b/lib/auth0/types/custom_signing_key_curve_enum.rb new file mode 100644 index 000000000..db1d1d4fe --- /dev/null +++ b/lib/auth0/types/custom_signing_key_curve_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CustomSigningKeyCurveEnum + extend Auth0::Internal::Types::Enum + + P256 = "P-256" + P384 = "P-384" + P521 = "P-521" + end + end +end diff --git a/lib/auth0/types/custom_signing_key_jwk.rb b/lib/auth0/types/custom_signing_key_jwk.rb new file mode 100644 index 000000000..a8136b4c5 --- /dev/null +++ b/lib/auth0/types/custom_signing_key_jwk.rb @@ -0,0 +1,36 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # JWK representing a custom public signing key. + class CustomSigningKeyJwk < Internal::Types::Model + field :kty, -> { Auth0::Types::CustomSigningKeyTypeEnum }, optional: false, nullable: false + + field :kid, -> { String }, optional: true, nullable: false + + field :use, -> { Auth0::Types::CustomSigningKeyUseEnum }, optional: true, nullable: false + + field :key_ops, -> { Internal::Types::Array[Auth0::Types::CustomSigningKeyOperationEnum] }, optional: true, nullable: false + + field :alg, -> { Auth0::Types::CustomSigningKeyAlgorithmEnum }, optional: true, nullable: false + + field :n, -> { String }, optional: true, nullable: false + + field :e, -> { String }, optional: true, nullable: false + + field :crv, -> { Auth0::Types::CustomSigningKeyCurveEnum }, optional: true, nullable: false + + field :x, -> { String }, optional: true, nullable: false + + field :y, -> { String }, optional: true, nullable: false + + field :x5u, -> { String }, optional: true, nullable: false + + field :x5c, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :x5t, -> { String }, optional: true, nullable: false + + field :x5t_s256, -> { String }, optional: true, nullable: false, api_name: "x5t#S256" + end + end +end diff --git a/lib/auth0/types/custom_signing_key_operation_enum.rb b/lib/auth0/types/custom_signing_key_operation_enum.rb new file mode 100644 index 000000000..b21ab9e5e --- /dev/null +++ b/lib/auth0/types/custom_signing_key_operation_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CustomSigningKeyOperationEnum + extend Auth0::Internal::Types::Enum + + VERIFY = "verify" + end + end +end diff --git a/lib/auth0/types/custom_signing_key_type_enum.rb b/lib/auth0/types/custom_signing_key_type_enum.rb new file mode 100644 index 000000000..f9e8e6d5e --- /dev/null +++ b/lib/auth0/types/custom_signing_key_type_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CustomSigningKeyTypeEnum + extend Auth0::Internal::Types::Enum + + EC = "EC" + RSA = "RSA" + end + end +end diff --git a/lib/auth0/types/custom_signing_key_use_enum.rb b/lib/auth0/types/custom_signing_key_use_enum.rb new file mode 100644 index 000000000..1254923c4 --- /dev/null +++ b/lib/auth0/types/custom_signing_key_use_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module CustomSigningKeyUseEnum + extend Auth0::Internal::Types::Enum + + SIG = "sig" + end + end +end diff --git a/lib/auth0/types/daily_stats.rb b/lib/auth0/types/daily_stats.rb new file mode 100644 index 000000000..b55ff9db3 --- /dev/null +++ b/lib/auth0/types/daily_stats.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class DailyStats < Internal::Types::Model + field :date, -> { String }, optional: true, nullable: false + + field :logins, -> { Integer }, optional: true, nullable: false + + field :signups, -> { Integer }, optional: true, nullable: false + + field :leaked_passwords, -> { Integer }, optional: true, nullable: false + + field :updated_at, -> { String }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/default_method_email_identifier_enum.rb b/lib/auth0/types/default_method_email_identifier_enum.rb new file mode 100644 index 000000000..caac3a1ea --- /dev/null +++ b/lib/auth0/types/default_method_email_identifier_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module DefaultMethodEmailIdentifierEnum + extend Auth0::Internal::Types::Enum + + PASSWORD = "password" + EMAIL_OTP = "email_otp" + end + end +end diff --git a/lib/auth0/types/default_method_phone_number_identifier_enum.rb b/lib/auth0/types/default_method_phone_number_identifier_enum.rb new file mode 100644 index 000000000..2acbf3d74 --- /dev/null +++ b/lib/auth0/types/default_method_phone_number_identifier_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module DefaultMethodPhoneNumberIdentifierEnum + extend Auth0::Internal::Types::Enum + + PASSWORD = "password" + PHONE_OTP = "phone_otp" + end + end +end diff --git a/lib/auth0/types/default_token_quota.rb b/lib/auth0/types/default_token_quota.rb new file mode 100644 index 000000000..d823d82c1 --- /dev/null +++ b/lib/auth0/types/default_token_quota.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Token Quota configuration, to configure quotas for token issuance for clients and organizations. Applied to all + # clients and organizations unless overridden in individual client or organization settings. + class DefaultTokenQuota < Internal::Types::Model + field :clients, -> { Auth0::Types::TokenQuotaConfiguration }, optional: true, nullable: false + + field :organizations, -> { Auth0::Types::TokenQuotaConfiguration }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/delete_hook_secret_request_content.rb b/lib/auth0/types/delete_hook_secret_request_content.rb new file mode 100644 index 000000000..81a432db1 --- /dev/null +++ b/lib/auth0/types/delete_hook_secret_request_content.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module DeleteHookSecretRequestContent + # DeleteHookSecretRequestContent is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/delete_user_identity_response_content.rb b/lib/auth0/types/delete_user_identity_response_content.rb new file mode 100644 index 000000000..b8c39c016 --- /dev/null +++ b/lib/auth0/types/delete_user_identity_response_content.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module DeleteUserIdentityResponseContent + # DeleteUserIdentityResponseContent is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/delete_user_identity_response_content_item.rb b/lib/auth0/types/delete_user_identity_response_content_item.rb new file mode 100644 index 000000000..3e1d82a44 --- /dev/null +++ b/lib/auth0/types/delete_user_identity_response_content_item.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class DeleteUserIdentityResponseContentItem < Internal::Types::Model + field :connection, -> { String }, optional: false, nullable: false + + field :user_id, -> { Auth0::Types::UserID }, optional: false, nullable: false + + field :provider, -> { String }, optional: false, nullable: false + + field :is_social, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "isSocial" + + field :access_token, -> { String }, optional: true, nullable: false + + field :access_token_secret, -> { String }, optional: true, nullable: false + + field :refresh_token, -> { String }, optional: true, nullable: false + + field :profile_data, -> { Auth0::Types::UserProfileData }, optional: true, nullable: false, api_name: "profileData" + end + end +end diff --git a/lib/auth0/types/deploy_action_response_content.rb b/lib/auth0/types/deploy_action_response_content.rb new file mode 100644 index 000000000..22215275b --- /dev/null +++ b/lib/auth0/types/deploy_action_response_content.rb @@ -0,0 +1,39 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class DeployActionResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :action_id, -> { String }, optional: true, nullable: false + + field :code, -> { String }, optional: true, nullable: false + + field :dependencies, -> { Internal::Types::Array[Auth0::Types::ActionVersionDependency] }, optional: true, nullable: false + + field :deployed, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :runtime, -> { String }, optional: true, nullable: false + + field :secrets, -> { Internal::Types::Array[Auth0::Types::ActionSecretResponse] }, optional: true, nullable: false + + field :status, -> { Auth0::Types::ActionVersionBuildStatusEnum }, optional: true, nullable: false + + field :number, -> { Integer }, optional: true, nullable: false + + field :errors, -> { Internal::Types::Array[Auth0::Types::ActionError] }, optional: true, nullable: false + + field :action, -> { Auth0::Types::ActionBase }, optional: true, nullable: false + + field :built_at, -> { String }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :updated_at, -> { String }, optional: true, nullable: false + + field :supported_triggers, -> { Internal::Types::Array[Auth0::Types::ActionTrigger] }, optional: true, nullable: false + + field :modules, -> { Internal::Types::Array[Auth0::Types::ActionModuleReference] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/deploy_action_version_request_content.rb b/lib/auth0/types/deploy_action_version_request_content.rb new file mode 100644 index 000000000..e71547e12 --- /dev/null +++ b/lib/auth0/types/deploy_action_version_request_content.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class DeployActionVersionRequestContent < Internal::Types::Model + field :update_draft, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/deploy_action_version_response_content.rb b/lib/auth0/types/deploy_action_version_response_content.rb new file mode 100644 index 000000000..163294304 --- /dev/null +++ b/lib/auth0/types/deploy_action_version_response_content.rb @@ -0,0 +1,39 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class DeployActionVersionResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :action_id, -> { String }, optional: true, nullable: false + + field :code, -> { String }, optional: true, nullable: false + + field :dependencies, -> { Internal::Types::Array[Auth0::Types::ActionVersionDependency] }, optional: true, nullable: false + + field :deployed, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :runtime, -> { String }, optional: true, nullable: false + + field :secrets, -> { Internal::Types::Array[Auth0::Types::ActionSecretResponse] }, optional: true, nullable: false + + field :status, -> { Auth0::Types::ActionVersionBuildStatusEnum }, optional: true, nullable: false + + field :number, -> { Integer }, optional: true, nullable: false + + field :errors, -> { Internal::Types::Array[Auth0::Types::ActionError] }, optional: true, nullable: false + + field :action, -> { Auth0::Types::ActionBase }, optional: true, nullable: false + + field :built_at, -> { String }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :updated_at, -> { String }, optional: true, nullable: false + + field :supported_triggers, -> { Internal::Types::Array[Auth0::Types::ActionTrigger] }, optional: true, nullable: false + + field :modules, -> { Internal::Types::Array[Auth0::Types::ActionModuleReference] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/device_credential.rb b/lib/auth0/types/device_credential.rb new file mode 100644 index 000000000..5a051fef0 --- /dev/null +++ b/lib/auth0/types/device_credential.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class DeviceCredential < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :device_name, -> { String }, optional: true, nullable: false + + field :device_id, -> { String }, optional: true, nullable: false + + field :type, -> { Auth0::Types::DeviceCredentialTypeEnum }, optional: true, nullable: false + + field :user_id, -> { String }, optional: true, nullable: false + + field :client_id, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/device_credential_public_key_type_enum.rb b/lib/auth0/types/device_credential_public_key_type_enum.rb new file mode 100644 index 000000000..561abf096 --- /dev/null +++ b/lib/auth0/types/device_credential_public_key_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module DeviceCredentialPublicKeyTypeEnum + extend Auth0::Internal::Types::Enum + + PUBLIC_KEY = "public_key" + end + end +end diff --git a/lib/auth0/types/device_credential_type_enum.rb b/lib/auth0/types/device_credential_type_enum.rb new file mode 100644 index 000000000..e48ef605a --- /dev/null +++ b/lib/auth0/types/device_credential_type_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module DeviceCredentialTypeEnum + extend Auth0::Internal::Types::Enum + + PUBLIC_KEY = "public_key" + REFRESH_TOKEN = "refresh_token" + ROTATING_REFRESH_TOKEN = "rotating_refresh_token" + end + end +end diff --git a/lib/auth0/types/directory_provisioning.rb b/lib/auth0/types/directory_provisioning.rb new file mode 100644 index 000000000..1e72b3595 --- /dev/null +++ b/lib/auth0/types/directory_provisioning.rb @@ -0,0 +1,29 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class DirectoryProvisioning < Internal::Types::Model + field :connection_id, -> { String }, optional: false, nullable: false + + field :connection_name, -> { String }, optional: false, nullable: false + + field :strategy, -> { String }, optional: false, nullable: false + + field :mapping, -> { Internal::Types::Array[Auth0::Types::DirectoryProvisioningMappingItem] }, optional: false, nullable: false + + field :synchronize_automatically, -> { Internal::Types::Boolean }, optional: false, nullable: false + + field :synchronize_groups, -> { Auth0::Types::SynchronizeGroupsEnum }, optional: true, nullable: false + + field :created_at, -> { String }, optional: false, nullable: false + + field :updated_at, -> { String }, optional: false, nullable: false + + field :last_synchronization_at, -> { String }, optional: true, nullable: false + + field :last_synchronization_status, -> { String }, optional: true, nullable: false + + field :last_synchronization_error, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/directory_provisioning_mapping_item.rb b/lib/auth0/types/directory_provisioning_mapping_item.rb new file mode 100644 index 000000000..bf7bf5966 --- /dev/null +++ b/lib/auth0/types/directory_provisioning_mapping_item.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class DirectoryProvisioningMappingItem < Internal::Types::Model + field :auth0, -> { String }, optional: false, nullable: false + + field :idp, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/domain_certificate.rb b/lib/auth0/types/domain_certificate.rb new file mode 100644 index 000000000..b76e47d14 --- /dev/null +++ b/lib/auth0/types/domain_certificate.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Certificate information. This object is relevant only for Custom Domains with Auth0-Managed Certificates. + class DomainCertificate < Internal::Types::Model + field :status, -> { Auth0::Types::DomainCertificateStatusEnum }, optional: true, nullable: false + + field :error_msg, -> { String }, optional: true, nullable: false + + field :certificate_authority, -> { Auth0::Types::DomainCertificateAuthorityEnum }, optional: true, nullable: false + + field :renews_before, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/domain_certificate_authority_enum.rb b/lib/auth0/types/domain_certificate_authority_enum.rb new file mode 100644 index 000000000..705cd9bfd --- /dev/null +++ b/lib/auth0/types/domain_certificate_authority_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module DomainCertificateAuthorityEnum + extend Auth0::Internal::Types::Enum + + LETSENCRYPT = "letsencrypt" + GOOGLETRUST = "googletrust" + end + end +end diff --git a/lib/auth0/types/domain_certificate_status_enum.rb b/lib/auth0/types/domain_certificate_status_enum.rb new file mode 100644 index 000000000..5d31ad5d1 --- /dev/null +++ b/lib/auth0/types/domain_certificate_status_enum.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module DomainCertificateStatusEnum + extend Auth0::Internal::Types::Enum + + PROVISIONING = "provisioning" + PROVISIONING_FAILED = "provisioning_failed" + PROVISIONED = "provisioned" + RENEWING_FAILED = "renewing_failed" + end + end +end diff --git a/lib/auth0/types/domain_metadata.rb b/lib/auth0/types/domain_metadata.rb new file mode 100644 index 000000000..d5aa8a842 --- /dev/null +++ b/lib/auth0/types/domain_metadata.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module DomainMetadata + # DomainMetadata is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/domain_verification.rb b/lib/auth0/types/domain_verification.rb new file mode 100644 index 000000000..fe7fce099 --- /dev/null +++ b/lib/auth0/types/domain_verification.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Domain verification settings. + class DomainVerification < Internal::Types::Model + field :methods, -> { Internal::Types::Array[Auth0::Types::DomainVerificationMethod] }, optional: true, nullable: false + + field :status, -> { Auth0::Types::DomainVerificationStatusEnum }, optional: true, nullable: false + + field :error_msg, -> { String }, optional: true, nullable: false + + field :last_verified_at, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/domain_verification_method.rb b/lib/auth0/types/domain_verification_method.rb new file mode 100644 index 000000000..8d7f17e81 --- /dev/null +++ b/lib/auth0/types/domain_verification_method.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class DomainVerificationMethod < Internal::Types::Model + field :name, -> { Auth0::Types::DomainVerificationMethodNameEnum }, optional: false, nullable: false + + field :record, -> { String }, optional: false, nullable: false + + field :domain, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/domain_verification_method_name_enum.rb b/lib/auth0/types/domain_verification_method_name_enum.rb new file mode 100644 index 000000000..b4bf15880 --- /dev/null +++ b/lib/auth0/types/domain_verification_method_name_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module DomainVerificationMethodNameEnum + extend Auth0::Internal::Types::Enum + + CNAME = "cname" + TXT = "txt" + end + end +end diff --git a/lib/auth0/types/domain_verification_status_enum.rb b/lib/auth0/types/domain_verification_status_enum.rb new file mode 100644 index 000000000..90a30bfbd --- /dev/null +++ b/lib/auth0/types/domain_verification_status_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module DomainVerificationStatusEnum + extend Auth0::Internal::Types::Enum + + VERIFIED = "verified" + PENDING = "pending" + FAILED = "failed" + end + end +end diff --git a/lib/auth0/types/email_attribute.rb b/lib/auth0/types/email_attribute.rb new file mode 100644 index 000000000..c8f81f90d --- /dev/null +++ b/lib/auth0/types/email_attribute.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configuration for the email attribute for users. + class EmailAttribute < Internal::Types::Model + field :identifier, -> { Auth0::Types::EmailAttributeIdentifier }, optional: true, nullable: false + + field :unique, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :profile_required, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :verification_method, -> { Auth0::Types::VerificationMethodEnum }, optional: true, nullable: false + + field :signup, -> { Auth0::Types::SignupVerified }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/email_attribute_identifier.rb b/lib/auth0/types/email_attribute_identifier.rb new file mode 100644 index 000000000..dba8997df --- /dev/null +++ b/lib/auth0/types/email_attribute_identifier.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class EmailAttributeIdentifier < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :default_method, -> { Auth0::Types::DefaultMethodEmailIdentifierEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/email_mailgun_region_enum.rb b/lib/auth0/types/email_mailgun_region_enum.rb new file mode 100644 index 000000000..83f62d337 --- /dev/null +++ b/lib/auth0/types/email_mailgun_region_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EmailMailgunRegionEnum + extend Auth0::Internal::Types::Enum + + EU = "eu" + end + end +end diff --git a/lib/auth0/types/email_provider_credentials.rb b/lib/auth0/types/email_provider_credentials.rb new file mode 100644 index 000000000..6c0b97dc6 --- /dev/null +++ b/lib/auth0/types/email_provider_credentials.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Credentials required to use the provider. + class EmailProviderCredentials < Internal::Types::Model + field :api_user, -> { String }, optional: true, nullable: false + + field :region, -> { String }, optional: true, nullable: false + + field :smtp_host, -> { String }, optional: true, nullable: false + + field :smtp_port, -> { Integer }, optional: true, nullable: false + + field :smtp_user, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/email_provider_credentials_schema.rb b/lib/auth0/types/email_provider_credentials_schema.rb new file mode 100644 index 000000000..0b12e291d --- /dev/null +++ b/lib/auth0/types/email_provider_credentials_schema.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Credentials required to use the provider. + class EmailProviderCredentialsSchema < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::EmailProviderCredentialsSchemaZero } + + member -> { Auth0::Types::EmailProviderCredentialsSchemaAccessKeyID } + + member -> { Auth0::Types::EmailProviderCredentialsSchemaSMTPHost } + + member -> { Auth0::Types::EmailProviderCredentialsSchemaThree } + + member -> { Auth0::Types::EmailProviderCredentialsSchemaAPIKey } + + member -> { Auth0::Types::EmailProviderCredentialsSchemaConnectionString } + + member -> { Auth0::Types::EmailProviderCredentialsSchemaClientID } + + member -> { Auth0::Types::ExtensibilityEmailProviderCredentials } + end + end +end diff --git a/lib/auth0/types/email_provider_credentials_schema_access_key_id.rb b/lib/auth0/types/email_provider_credentials_schema_access_key_id.rb new file mode 100644 index 000000000..0707f3a2a --- /dev/null +++ b/lib/auth0/types/email_provider_credentials_schema_access_key_id.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class EmailProviderCredentialsSchemaAccessKeyID < Internal::Types::Model + field :access_key_id, -> { String }, optional: true, nullable: false, api_name: "accessKeyId" + + field :secret_access_key, -> { String }, optional: true, nullable: false, api_name: "secretAccessKey" + + field :region, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/email_provider_credentials_schema_api_key.rb b/lib/auth0/types/email_provider_credentials_schema_api_key.rb new file mode 100644 index 000000000..d3bd85877 --- /dev/null +++ b/lib/auth0/types/email_provider_credentials_schema_api_key.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class EmailProviderCredentialsSchemaAPIKey < Internal::Types::Model + field :api_key, -> { String }, optional: true, nullable: false + + field :domain, -> { String }, optional: true, nullable: false + + field :region, -> { Auth0::Types::EmailMailgunRegionEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/email_provider_credentials_schema_client_id.rb b/lib/auth0/types/email_provider_credentials_schema_client_id.rb new file mode 100644 index 000000000..e4a35f428 --- /dev/null +++ b/lib/auth0/types/email_provider_credentials_schema_client_id.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class EmailProviderCredentialsSchemaClientID < Internal::Types::Model + field :tenant_id, -> { String }, optional: true, nullable: false, api_name: "tenantId" + + field :client_id, -> { String }, optional: true, nullable: false, api_name: "clientId" + + field :client_secret, -> { String }, optional: true, nullable: false, api_name: "clientSecret" + end + end +end diff --git a/lib/auth0/types/email_provider_credentials_schema_connection_string.rb b/lib/auth0/types/email_provider_credentials_schema_connection_string.rb new file mode 100644 index 000000000..95412d9b9 --- /dev/null +++ b/lib/auth0/types/email_provider_credentials_schema_connection_string.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class EmailProviderCredentialsSchemaConnectionString < Internal::Types::Model + field :connection_string, -> { String }, optional: true, nullable: false, api_name: "connectionString" + end + end +end diff --git a/lib/auth0/types/email_provider_credentials_schema_smtp_host.rb b/lib/auth0/types/email_provider_credentials_schema_smtp_host.rb new file mode 100644 index 000000000..b519000b1 --- /dev/null +++ b/lib/auth0/types/email_provider_credentials_schema_smtp_host.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class EmailProviderCredentialsSchemaSMTPHost < Internal::Types::Model + field :smtp_host, -> { String }, optional: true, nullable: false + + field :smtp_port, -> { Integer }, optional: true, nullable: false + + field :smtp_user, -> { String }, optional: true, nullable: false + + field :smtp_pass, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/email_provider_credentials_schema_three.rb b/lib/auth0/types/email_provider_credentials_schema_three.rb new file mode 100644 index 000000000..f4cfc1447 --- /dev/null +++ b/lib/auth0/types/email_provider_credentials_schema_three.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class EmailProviderCredentialsSchemaThree < Internal::Types::Model + field :api_key, -> { String }, optional: true, nullable: false + + field :region, -> { Auth0::Types::EmailSparkPostRegionEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/email_provider_credentials_schema_zero.rb b/lib/auth0/types/email_provider_credentials_schema_zero.rb new file mode 100644 index 000000000..4b6a28158 --- /dev/null +++ b/lib/auth0/types/email_provider_credentials_schema_zero.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class EmailProviderCredentialsSchemaZero < Internal::Types::Model + field :api_key, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/email_provider_name_enum.rb b/lib/auth0/types/email_provider_name_enum.rb new file mode 100644 index 000000000..eb8cafa7f --- /dev/null +++ b/lib/auth0/types/email_provider_name_enum.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EmailProviderNameEnum + extend Auth0::Internal::Types::Enum + + MAILGUN = "mailgun" + MANDRILL = "mandrill" + SENDGRID = "sendgrid" + RESEND = "resend" + SES = "ses" + SPARKPOST = "sparkpost" + SMTP = "smtp" + AZURE_CS = "azure_cs" + MS365 = "ms365" + CUSTOM = "custom" + end + end +end diff --git a/lib/auth0/types/email_provider_settings.rb b/lib/auth0/types/email_provider_settings.rb new file mode 100644 index 000000000..155183d17 --- /dev/null +++ b/lib/auth0/types/email_provider_settings.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EmailProviderSettings + # EmailProviderSettings is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/email_smtp_host.rb b/lib/auth0/types/email_smtp_host.rb new file mode 100644 index 000000000..db0fd6bce --- /dev/null +++ b/lib/auth0/types/email_smtp_host.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EmailSMTPHost + # EmailSMTPHost is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/email_spark_post_region_enum.rb b/lib/auth0/types/email_spark_post_region_enum.rb new file mode 100644 index 000000000..46ac38dbe --- /dev/null +++ b/lib/auth0/types/email_spark_post_region_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EmailSparkPostRegionEnum + extend Auth0::Internal::Types::Enum + + EU = "eu" + end + end +end diff --git a/lib/auth0/types/email_specific_provider_settings_with_additional_properties.rb b/lib/auth0/types/email_specific_provider_settings_with_additional_properties.rb new file mode 100644 index 000000000..383a15a6d --- /dev/null +++ b/lib/auth0/types/email_specific_provider_settings_with_additional_properties.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EmailSpecificProviderSettingsWithAdditionalProperties + # EmailSpecificProviderSettingsWithAdditionalProperties is an alias for Object + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/email_template_name_enum.rb b/lib/auth0/types/email_template_name_enum.rb new file mode 100644 index 000000000..d235d2ec0 --- /dev/null +++ b/lib/auth0/types/email_template_name_enum.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EmailTemplateNameEnum + extend Auth0::Internal::Types::Enum + + VERIFY_EMAIL = "verify_email" + VERIFY_EMAIL_BY_CODE = "verify_email_by_code" + AUTH_EMAIL_BY_CODE = "auth_email_by_code" + RESET_EMAIL = "reset_email" + RESET_EMAIL_BY_CODE = "reset_email_by_code" + WELCOME_EMAIL = "welcome_email" + BLOCKED_ACCOUNT = "blocked_account" + STOLEN_CREDENTIALS = "stolen_credentials" + ENROLLMENT_EMAIL = "enrollment_email" + MFA_OOB_CODE = "mfa_oob_code" + USER_INVITATION = "user_invitation" + CHANGE_PASSWORD = "change_password" + PASSWORD_RESET = "password_reset" + ASYNC_APPROVAL = "async_approval" + end + end +end diff --git a/lib/auth0/types/enabled_features_enum.rb b/lib/auth0/types/enabled_features_enum.rb new file mode 100644 index 000000000..aa9c7375d --- /dev/null +++ b/lib/auth0/types/enabled_features_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EnabledFeaturesEnum + extend Auth0::Internal::Types::Enum + + SCIM = "scim" + UNIVERSAL_LOGOUT = "universal_logout" + end + end +end diff --git a/lib/auth0/types/encryption_key.rb b/lib/auth0/types/encryption_key.rb new file mode 100644 index 000000000..3356004d4 --- /dev/null +++ b/lib/auth0/types/encryption_key.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Encryption key + class EncryptionKey < Internal::Types::Model + field :kid, -> { String }, optional: false, nullable: false + + field :type, -> { Auth0::Types::EncryptionKeyType }, optional: false, nullable: false + + field :state, -> { Auth0::Types::EncryptionKeyState }, optional: false, nullable: false + + field :created_at, -> { String }, optional: false, nullable: false + + field :updated_at, -> { String }, optional: false, nullable: false + + field :parent_kid, -> { String }, optional: true, nullable: false + + field :public_key, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/encryption_key_public_wrapping_algorithm.rb b/lib/auth0/types/encryption_key_public_wrapping_algorithm.rb new file mode 100644 index 000000000..873cea336 --- /dev/null +++ b/lib/auth0/types/encryption_key_public_wrapping_algorithm.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EncryptionKeyPublicWrappingAlgorithm + extend Auth0::Internal::Types::Enum + + CKM_RSA_AES_KEY_WRAP = "CKM_RSA_AES_KEY_WRAP" + end + end +end diff --git a/lib/auth0/types/encryption_key_state.rb b/lib/auth0/types/encryption_key_state.rb new file mode 100644 index 000000000..bc1d5f586 --- /dev/null +++ b/lib/auth0/types/encryption_key_state.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EncryptionKeyState + extend Auth0::Internal::Types::Enum + + PRE_ACTIVATION = "pre-activation" + ACTIVE = "active" + DEACTIVATED = "deactivated" + DESTROYED = "destroyed" + end + end +end diff --git a/lib/auth0/types/encryption_key_type.rb b/lib/auth0/types/encryption_key_type.rb new file mode 100644 index 000000000..afaf4d788 --- /dev/null +++ b/lib/auth0/types/encryption_key_type.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EncryptionKeyType + extend Auth0::Internal::Types::Enum + + CUSTOMER_PROVIDED_ROOT_KEY = "customer-provided-root-key" + ENVIRONMENT_ROOT_KEY = "environment-root-key" + TENANT_MASTER_KEY = "tenant-master-key" + TENANT_ENCRYPTION_KEY = "tenant-encryption-key" + end + end +end diff --git a/lib/auth0/types/event_stream_action_configuration.rb b/lib/auth0/types/event_stream_action_configuration.rb new file mode 100644 index 000000000..a55462310 --- /dev/null +++ b/lib/auth0/types/event_stream_action_configuration.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configuration specific to an action destination. + class EventStreamActionConfiguration < Internal::Types::Model + field :action_id, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_action_destination.rb b/lib/auth0/types/event_stream_action_destination.rb new file mode 100644 index 000000000..0306d83f2 --- /dev/null +++ b/lib/auth0/types/event_stream_action_destination.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class EventStreamActionDestination < Internal::Types::Model + field :type, -> { Auth0::Types::EventStreamActionDestinationTypeEnum }, optional: false, nullable: false + + field :configuration, -> { Auth0::Types::EventStreamActionConfiguration }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_action_destination_type_enum.rb b/lib/auth0/types/event_stream_action_destination_type_enum.rb new file mode 100644 index 000000000..9edaa0c34 --- /dev/null +++ b/lib/auth0/types/event_stream_action_destination_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamActionDestinationTypeEnum + extend Auth0::Internal::Types::Enum + + ACTION = "action" + end + end +end diff --git a/lib/auth0/types/event_stream_action_response_content.rb b/lib/auth0/types/event_stream_action_response_content.rb new file mode 100644 index 000000000..6089a6216 --- /dev/null +++ b/lib/auth0/types/event_stream_action_response_content.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class EventStreamActionResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :subscriptions, -> { Internal::Types::Array[Auth0::Types::EventStreamSubscription] }, optional: true, nullable: false + + field :destination, -> { Auth0::Types::EventStreamActionDestination }, optional: true, nullable: false + + field :status, -> { Auth0::Types::EventStreamStatusEnum }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :updated_at, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event.rb b/lib/auth0/types/event_stream_cloud_event.rb new file mode 100644 index 000000000..890cf702a --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Event content. This will only be set if delivery failed. + class EventStreamCloudEvent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :source, -> { String }, optional: true, nullable: false + + field :specversion, -> { String }, optional: true, nullable: false + + field :type, -> { String }, optional: true, nullable: false + + field :time, -> { String }, optional: true, nullable: false + + field :data, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_a0purpose_enum.rb b/lib/auth0/types/event_stream_cloud_event_a0purpose_enum.rb new file mode 100644 index 000000000..c77d838ae --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_a0purpose_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventA0PurposeEnum + extend Auth0::Internal::Types::Enum + + TEST = "test" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created.rb b/lib/auth0/types/event_stream_cloud_event_connection_created.rb new file mode 100644 index 000000000..0794629be --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # SSE message for connection.created. + class EventStreamCloudEventConnectionCreated < Internal::Types::Model + field :offset, -> { String }, optional: false, nullable: false + + field :event, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedCloudEvent }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_cloud_event.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_cloud_event.rb new file mode 100644 index 000000000..26e54c755 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_cloud_event.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Represents an event that occurs when a connection is created. + class EventStreamCloudEventConnectionCreatedCloudEvent < Internal::Types::Model + field :specversion, -> { Auth0::Types::EventStreamCloudEventSpecVersionEnum }, optional: false, nullable: false + + field :type, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedCloudEventTypeEnum }, optional: false, nullable: false + + field :source, -> { String }, optional: false, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :time, -> { String }, optional: false, nullable: false + + field :data, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedData }, optional: false, nullable: false + + field :a0tenant, -> { String }, optional: false, nullable: false + + field :a0stream, -> { String }, optional: false, nullable: false + + field :a0purpose, -> { Auth0::Types::EventStreamCloudEventA0PurposeEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_cloud_event_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_cloud_event_type_enum.rb new file mode 100644 index 000000000..e73a278bd --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_cloud_event_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedCloudEventTypeEnum + extend Auth0::Internal::Types::Enum + + CONNECTION_CREATED = "connection.created" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_data.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_data.rb new file mode 100644 index 000000000..f999f41ef --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_data.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The event payload. + class EventStreamCloudEventConnectionCreatedData < Internal::Types::Model + field :object, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject }, optional: false, nullable: false + + field :context, -> { Auth0::Types::EventStreamCloudEventContext }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object.rb new file mode 100644 index 000000000..1396c61b5 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The event content. + class EventStreamCloudEventConnectionCreatedObject < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject0 } + + member -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject1 } + + member -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject2 } + + member -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject3 } + + member -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject4 } + + member -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject5 } + + member -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject6 } + + member -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject7 } + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object0.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object0.rb new file mode 100644 index 000000000..db9d6a4ca --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object0.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class EventStreamCloudEventConnectionCreatedObject0 < Internal::Types::Model + field :authentication, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject0Authentication }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject0Metadata }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject0ConnectedAccounts }, optional: true, nullable: false + + field :options, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject0Options }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject0StrategyEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object0authentication.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object0authentication.rb new file mode 100644 index 000000000..7cd73a247 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object0authentication.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configure the purpose of a connection to be used for authentication during login. + class EventStreamCloudEventConnectionCreatedObject0Authentication < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object0connected_accounts.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object0connected_accounts.rb new file mode 100644 index 000000000..6a80beade --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object0connected_accounts.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configure the purpose of a connection to be used for connected accounts and Token Vault. + class EventStreamCloudEventConnectionCreatedObject0ConnectedAccounts < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + + field :cross_app_access, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object0metadata.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object0metadata.rb new file mode 100644 index 000000000..d3043147a --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object0metadata.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Metadata associated with the connection in the form of an object with string values (max 255 chars). Maximum of + # 10 metadata properties allowed. + class EventStreamCloudEventConnectionCreatedObject0Metadata < Internal::Types::Model; end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object0options.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object0options.rb new file mode 100644 index 000000000..9d42b7373 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object0options.rb @@ -0,0 +1,62 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'oidc' connection + class EventStreamCloudEventConnectionCreatedObject0Options < Internal::Types::Model + field :authorization_endpoint, -> { String }, optional: true, nullable: false + + field :client_id, -> { String }, optional: false, nullable: false + + field :connection_settings, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject0OptionsConnectionSettings }, optional: true, nullable: false + + field :domain_aliases, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :dpop_signing_alg, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject0OptionsDpopSigningAlgEnum }, optional: true, nullable: false + + field :federated_connections_access_tokens, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject0OptionsFederatedConnectionsAccessTokens }, optional: true, nullable: false + + field :icon_url, -> { String }, optional: true, nullable: false + + field :id_token_session_expiry_supported, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :id_token_signed_response_algs, -> { Internal::Types::Array[Auth0::Types::EventStreamCloudEventConnectionCreatedObject0OptionsIDTokenSignedResponseAlgsItemEnum] }, optional: true, nullable: false + + field :issuer, -> { String }, optional: true, nullable: false + + field :jwks_uri, -> { String }, optional: true, nullable: false + + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :oidc_metadata, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject0OptionsOidcMetadata }, optional: true, nullable: false + + field :schema_version, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject0OptionsSchemaVersionEnum }, optional: true, nullable: false + + field :scope, -> { String }, optional: true, nullable: false + + field :send_back_channel_nonce, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject0OptionsSetUserRootAttributesEnum }, optional: true, nullable: false + + field :tenant_domain, -> { String }, optional: true, nullable: false + + field :token_endpoint, -> { String }, optional: true, nullable: false + + field :token_endpoint_auth_method, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject0OptionsTokenEndpointAuthMethodEnum }, optional: true, nullable: false + + field :token_endpoint_auth_signing_alg, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject0OptionsTokenEndpointAuthSigningAlgEnum }, optional: true, nullable: false + + field :token_endpoint_jwtca_aud_format, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject0OptionsTokenEndpointJwtcaAudFormatEnum }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :userinfo_endpoint, -> { String }, optional: true, nullable: false + + field :attribute_map, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject0OptionsAttributeMap }, optional: true, nullable: false + + field :discovery_url, -> { String }, optional: true, nullable: false + + field :type, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject0OptionsTypeEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object0options_attribute_map.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object0options_attribute_map.rb new file mode 100644 index 000000000..059baacfa --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object0options_attribute_map.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configuration for mapping claims from the identity provider to Auth0 user profile attributes. Allows customizing + # which IdP claims populate user fields and how they are transformed. + class EventStreamCloudEventConnectionCreatedObject0OptionsAttributeMap < Internal::Types::Model + field :attributes, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :userinfo_scope, -> { String }, optional: true, nullable: false + + field :mapping_mode, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject0OptionsAttributeMapMappingModeEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object0options_attribute_map_attributes.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object0options_attribute_map_attributes.rb new file mode 100644 index 000000000..256de34ae --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object0options_attribute_map_attributes.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject0OptionsAttributeMapAttributes + # EventStreamCloudEventConnectionCreatedObject0OptionsAttributeMapAttributes is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object0options_attribute_map_mapping_mode_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object0options_attribute_map_mapping_mode_enum.rb new file mode 100644 index 000000000..20a0b57ce --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object0options_attribute_map_mapping_mode_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject0OptionsAttributeMapMappingModeEnum + extend Auth0::Internal::Types::Enum + + BIND_ALL = "bind_all" + USE_MAP = "use_map" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object0options_connection_settings.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object0options_connection_settings.rb new file mode 100644 index 000000000..5b12c818d --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object0options_connection_settings.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # OAuth 2.0 PKCE (Proof Key for Code Exchange) settings. PKCE enhances security for public clients by preventing + # authorization code interception attacks. 'auto' (recommended) uses the strongest method supported by the IdP. + class EventStreamCloudEventConnectionCreatedObject0OptionsConnectionSettings < Internal::Types::Model + field :pkce, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject0OptionsConnectionSettingsPkceEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object0options_connection_settings_pkce_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object0options_connection_settings_pkce_enum.rb new file mode 100644 index 000000000..fbe3efc36 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object0options_connection_settings_pkce_enum.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject0OptionsConnectionSettingsPkceEnum + extend Auth0::Internal::Types::Enum + + AUTO = "auto" + S256 = "S256" + PLAIN = "plain" + DISABLED = "disabled" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object0options_dpop_signing_alg_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object0options_dpop_signing_alg_enum.rb new file mode 100644 index 000000000..e7accb6da --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object0options_dpop_signing_alg_enum.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject0OptionsDpopSigningAlgEnum + extend Auth0::Internal::Types::Enum + + ES256 = "ES256" + ES384 = "ES384" + ES512 = "ES512" + ED25519 = "Ed25519" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object0options_federated_connections_access_tokens.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object0options_federated_connections_access_tokens.rb new file mode 100644 index 000000000..7821147e5 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object0options_federated_connections_access_tokens.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configuration for storing identity provider tokens in Auth0's Token Vault. When active, Auth0 securely stores + # access and refresh tokens from federated logins, enabling your application to make authenticated API calls on + # behalf of users. + class EventStreamCloudEventConnectionCreatedObject0OptionsFederatedConnectionsAccessTokens < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object0options_id_token_signed_response_algs_i_b52125.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object0options_id_token_signed_response_algs_i_b52125.rb new file mode 100644 index 000000000..c1754cfac --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object0options_id_token_signed_response_algs_i_b52125.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject0OptionsIDTokenSignedResponseAlgsItemEnum + extend Auth0::Internal::Types::Enum + + ES256 = "ES256" + ES384 = "ES384" + PS256 = "PS256" + PS384 = "PS384" + RS256 = "RS256" + RS384 = "RS384" + RS512 = "RS512" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object0options_oidc_metadata.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object0options_oidc_metadata.rb new file mode 100644 index 000000000..88a4e1001 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object0options_oidc_metadata.rb @@ -0,0 +1,83 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # OpenID Connect Provider Metadata as per + # https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata + class EventStreamCloudEventConnectionCreatedObject0OptionsOidcMetadata < Internal::Types::Model + field :acr_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :authorization_endpoint, -> { String }, optional: false, nullable: false + + field :claim_types_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :claims_locales_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :claims_parameter_supported, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :claims_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :dpop_signing_alg_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :end_session_endpoint, -> { String }, optional: true, nullable: false + + field :grant_types_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :id_token_encryption_alg_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :id_token_encryption_enc_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :id_token_signing_alg_values_supported, -> { Internal::Types::Array[String] }, optional: false, nullable: false + + field :issuer, -> { String }, optional: false, nullable: false + + field :jwks_uri, -> { String }, optional: false, nullable: false + + field :op_policy_uri, -> { String }, optional: true, nullable: false + + field :op_tos_uri, -> { String }, optional: true, nullable: false + + field :registration_endpoint, -> { String }, optional: true, nullable: false + + field :request_object_encryption_alg_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :request_object_encryption_enc_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :request_object_signing_alg_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :request_parameter_supported, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :request_uri_parameter_supported, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :require_request_uri_registration, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :response_modes_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :response_types_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :scopes_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :service_documentation, -> { String }, optional: true, nullable: false + + field :subject_types_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :token_endpoint, -> { String }, optional: true, nullable: false + + field :token_endpoint_auth_methods_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :token_endpoint_auth_signing_alg_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :ui_locales_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :userinfo_encryption_alg_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :userinfo_encryption_enc_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :userinfo_endpoint, -> { String }, optional: true, nullable: false + + field :userinfo_signing_alg_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object0options_schema_version_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object0options_schema_version_enum.rb new file mode 100644 index 000000000..a76a38325 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object0options_schema_version_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject0OptionsSchemaVersionEnum + extend Auth0::Internal::Types::Enum + + OPENID100 = "openid-1.0.0" + OIDC_V4 = "oidc-v4" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object0options_set_user_root_attributes_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object0options_set_user_root_attributes_enum.rb new file mode 100644 index 000000000..1018560c8 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object0options_set_user_root_attributes_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject0OptionsSetUserRootAttributesEnum + extend Auth0::Internal::Types::Enum + + ON_EACH_LOGIN = "on_each_login" + ON_FIRST_LOGIN = "on_first_login" + NEVER_ON_LOGIN = "never_on_login" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object0options_token_endpoint_auth_method_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object0options_token_endpoint_auth_method_enum.rb new file mode 100644 index 000000000..62b19962e --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object0options_token_endpoint_auth_method_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject0OptionsTokenEndpointAuthMethodEnum + extend Auth0::Internal::Types::Enum + + CLIENT_SECRET_POST = "client_secret_post" + PRIVATE_KEY_JWT = "private_key_jwt" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object0options_token_endpoint_auth_signing_alg_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object0options_token_endpoint_auth_signing_alg_enum.rb new file mode 100644 index 000000000..b57c43f68 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object0options_token_endpoint_auth_signing_alg_enum.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject0OptionsTokenEndpointAuthSigningAlgEnum + extend Auth0::Internal::Types::Enum + + ES256 = "ES256" + ES384 = "ES384" + PS256 = "PS256" + PS384 = "PS384" + RS256 = "RS256" + RS384 = "RS384" + RS512 = "RS512" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object0options_token_endpoint_jwtca_aud_format_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object0options_token_endpoint_jwtca_aud_format_enum.rb new file mode 100644 index 000000000..d0bc7b973 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object0options_token_endpoint_jwtca_aud_format_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject0OptionsTokenEndpointJwtcaAudFormatEnum + extend Auth0::Internal::Types::Enum + + ISSUER = "issuer" + TOKEN_ENDPOINT = "token_endpoint" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object0options_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object0options_type_enum.rb new file mode 100644 index 000000000..0a4243509 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object0options_type_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject0OptionsTypeEnum + extend Auth0::Internal::Types::Enum + + BACK_CHANNEL = "back_channel" + FRONT_CHANNEL = "front_channel" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object0options_upstream_params.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object0options_upstream_params.rb new file mode 100644 index 000000000..f1cbc72b7 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object0options_upstream_params.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject0OptionsUpstreamParams + # EventStreamCloudEventConnectionCreatedObject0OptionsUpstreamParams is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object0strategy_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object0strategy_enum.rb new file mode 100644 index 000000000..77a76f5e0 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object0strategy_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject0StrategyEnum + extend Auth0::Internal::Types::Enum + + OIDC = "oidc" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object1.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object1.rb new file mode 100644 index 000000000..634177730 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object1.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class EventStreamCloudEventConnectionCreatedObject1 < Internal::Types::Model + field :authentication, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject1Authentication }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject1ConnectedAccounts }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject1Metadata }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject1Options }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject1StrategyEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object1authentication.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object1authentication.rb new file mode 100644 index 000000000..7baf697f8 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object1authentication.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configure the purpose of a connection to be used for authentication during login. + class EventStreamCloudEventConnectionCreatedObject1Authentication < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object1connected_accounts.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object1connected_accounts.rb new file mode 100644 index 000000000..5da9bd37c --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object1connected_accounts.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configure the purpose of a connection to be used for connected accounts and Token Vault. + class EventStreamCloudEventConnectionCreatedObject1ConnectedAccounts < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object1metadata.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object1metadata.rb new file mode 100644 index 000000000..dc95fc19d --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object1metadata.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Metadata associated with the connection in the form of an object with string values (max 255 chars). Maximum of + # 10 metadata properties allowed. + class EventStreamCloudEventConnectionCreatedObject1Metadata < Internal::Types::Model; end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object1options.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object1options.rb new file mode 100644 index 000000000..c79a88ceb --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object1options.rb @@ -0,0 +1,62 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'okta' connection + class EventStreamCloudEventConnectionCreatedObject1Options < Internal::Types::Model + field :authorization_endpoint, -> { String }, optional: true, nullable: false + + field :client_id, -> { String }, optional: false, nullable: false + + field :connection_settings, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject1OptionsConnectionSettings }, optional: true, nullable: false + + field :domain_aliases, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :dpop_signing_alg, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject1OptionsDpopSigningAlgEnum }, optional: true, nullable: false + + field :federated_connections_access_tokens, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject1OptionsFederatedConnectionsAccessTokens }, optional: true, nullable: false + + field :icon_url, -> { String }, optional: true, nullable: false + + field :id_token_session_expiry_supported, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :id_token_signed_response_algs, -> { Internal::Types::Array[Auth0::Types::EventStreamCloudEventConnectionCreatedObject1OptionsIDTokenSignedResponseAlgsItemEnum] }, optional: true, nullable: false + + field :issuer, -> { String }, optional: true, nullable: false + + field :jwks_uri, -> { String }, optional: true, nullable: false + + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :oidc_metadata, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject1OptionsOidcMetadata }, optional: true, nullable: false + + field :schema_version, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject1OptionsSchemaVersionEnum }, optional: true, nullable: false + + field :scope, -> { String }, optional: true, nullable: false + + field :send_back_channel_nonce, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject1OptionsSetUserRootAttributesEnum }, optional: true, nullable: false + + field :tenant_domain, -> { String }, optional: true, nullable: false + + field :token_endpoint, -> { String }, optional: true, nullable: false + + field :token_endpoint_auth_method, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject1OptionsTokenEndpointAuthMethodEnum }, optional: true, nullable: false + + field :token_endpoint_auth_signing_alg, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject1OptionsTokenEndpointAuthSigningAlgEnum }, optional: true, nullable: false + + field :token_endpoint_jwtca_aud_format, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject1OptionsTokenEndpointJwtcaAudFormatEnum }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :userinfo_endpoint, -> { String }, optional: true, nullable: false + + field :attribute_map, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject1OptionsAttributeMap }, optional: true, nullable: false + + field :domain, -> { String }, optional: true, nullable: false + + field :type, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject1OptionsTypeEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object1options_attribute_map.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object1options_attribute_map.rb new file mode 100644 index 000000000..8ec942646 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object1options_attribute_map.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Mapping of claims received from the identity provider (IdP) + class EventStreamCloudEventConnectionCreatedObject1OptionsAttributeMap < Internal::Types::Model + field :attributes, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :userinfo_scope, -> { String }, optional: true, nullable: false + + field :mapping_mode, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject1OptionsAttributeMapMappingModeEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object1options_attribute_map_attributes.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object1options_attribute_map_attributes.rb new file mode 100644 index 000000000..caa2ce5be --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object1options_attribute_map_attributes.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject1OptionsAttributeMapAttributes + # EventStreamCloudEventConnectionCreatedObject1OptionsAttributeMapAttributes is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object1options_attribute_map_mapping_mode_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object1options_attribute_map_mapping_mode_enum.rb new file mode 100644 index 000000000..68b95c84d --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object1options_attribute_map_mapping_mode_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject1OptionsAttributeMapMappingModeEnum + extend Auth0::Internal::Types::Enum + + BASIC_PROFILE = "basic_profile" + USE_MAP = "use_map" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object1options_connection_settings.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object1options_connection_settings.rb new file mode 100644 index 000000000..0371f0dbe --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object1options_connection_settings.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # OAuth 2.0 PKCE (Proof Key for Code Exchange) settings. PKCE enhances security for public clients by preventing + # authorization code interception attacks. 'auto' (recommended) uses the strongest method supported by the IdP. + class EventStreamCloudEventConnectionCreatedObject1OptionsConnectionSettings < Internal::Types::Model + field :pkce, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject1OptionsConnectionSettingsPkceEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object1options_connection_settings_pkce_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object1options_connection_settings_pkce_enum.rb new file mode 100644 index 000000000..adc5aee66 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object1options_connection_settings_pkce_enum.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject1OptionsConnectionSettingsPkceEnum + extend Auth0::Internal::Types::Enum + + AUTO = "auto" + S256 = "S256" + PLAIN = "plain" + DISABLED = "disabled" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object1options_dpop_signing_alg_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object1options_dpop_signing_alg_enum.rb new file mode 100644 index 000000000..7975c2dca --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object1options_dpop_signing_alg_enum.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject1OptionsDpopSigningAlgEnum + extend Auth0::Internal::Types::Enum + + ES256 = "ES256" + ES384 = "ES384" + ES512 = "ES512" + ED25519 = "Ed25519" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object1options_federated_connections_access_tokens.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object1options_federated_connections_access_tokens.rb new file mode 100644 index 000000000..d0076ff2a --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object1options_federated_connections_access_tokens.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configuration for storing identity provider tokens in Auth0's Token Vault. When active, Auth0 securely stores + # access and refresh tokens from federated logins, enabling your application to make authenticated API calls on + # behalf of users. + class EventStreamCloudEventConnectionCreatedObject1OptionsFederatedConnectionsAccessTokens < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object1options_id_token_signed_response_algs_i_905fa1.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object1options_id_token_signed_response_algs_i_905fa1.rb new file mode 100644 index 000000000..9eff28851 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object1options_id_token_signed_response_algs_i_905fa1.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject1OptionsIDTokenSignedResponseAlgsItemEnum + extend Auth0::Internal::Types::Enum + + ES256 = "ES256" + ES384 = "ES384" + PS256 = "PS256" + PS384 = "PS384" + RS256 = "RS256" + RS384 = "RS384" + RS512 = "RS512" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object1options_oidc_metadata.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object1options_oidc_metadata.rb new file mode 100644 index 000000000..e362db4d2 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object1options_oidc_metadata.rb @@ -0,0 +1,83 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # OpenID Connect Provider Metadata as per + # https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata + class EventStreamCloudEventConnectionCreatedObject1OptionsOidcMetadata < Internal::Types::Model + field :acr_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :authorization_endpoint, -> { String }, optional: false, nullable: false + + field :claim_types_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :claims_locales_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :claims_parameter_supported, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :claims_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :dpop_signing_alg_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :end_session_endpoint, -> { String }, optional: true, nullable: false + + field :grant_types_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :id_token_encryption_alg_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :id_token_encryption_enc_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :id_token_signing_alg_values_supported, -> { Internal::Types::Array[String] }, optional: false, nullable: false + + field :issuer, -> { String }, optional: false, nullable: false + + field :jwks_uri, -> { String }, optional: false, nullable: false + + field :op_policy_uri, -> { String }, optional: true, nullable: false + + field :op_tos_uri, -> { String }, optional: true, nullable: false + + field :registration_endpoint, -> { String }, optional: true, nullable: false + + field :request_object_encryption_alg_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :request_object_encryption_enc_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :request_object_signing_alg_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :request_parameter_supported, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :request_uri_parameter_supported, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :require_request_uri_registration, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :response_modes_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :response_types_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :scopes_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :service_documentation, -> { String }, optional: true, nullable: false + + field :subject_types_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :token_endpoint, -> { String }, optional: true, nullable: false + + field :token_endpoint_auth_methods_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :token_endpoint_auth_signing_alg_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :ui_locales_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :userinfo_encryption_alg_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :userinfo_encryption_enc_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :userinfo_endpoint, -> { String }, optional: true, nullable: false + + field :userinfo_signing_alg_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object1options_schema_version_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object1options_schema_version_enum.rb new file mode 100644 index 000000000..a367ce271 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object1options_schema_version_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject1OptionsSchemaVersionEnum + extend Auth0::Internal::Types::Enum + + OPENID100 = "openid-1.0.0" + OIDC_V4 = "oidc-v4" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object1options_set_user_root_attributes_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object1options_set_user_root_attributes_enum.rb new file mode 100644 index 000000000..8e5f35684 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object1options_set_user_root_attributes_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject1OptionsSetUserRootAttributesEnum + extend Auth0::Internal::Types::Enum + + ON_EACH_LOGIN = "on_each_login" + ON_FIRST_LOGIN = "on_first_login" + NEVER_ON_LOGIN = "never_on_login" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object1options_token_endpoint_auth_method_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object1options_token_endpoint_auth_method_enum.rb new file mode 100644 index 000000000..d35dc8223 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object1options_token_endpoint_auth_method_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject1OptionsTokenEndpointAuthMethodEnum + extend Auth0::Internal::Types::Enum + + CLIENT_SECRET_POST = "client_secret_post" + PRIVATE_KEY_JWT = "private_key_jwt" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object1options_token_endpoint_auth_signing_alg_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object1options_token_endpoint_auth_signing_alg_enum.rb new file mode 100644 index 000000000..d17103b50 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object1options_token_endpoint_auth_signing_alg_enum.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject1OptionsTokenEndpointAuthSigningAlgEnum + extend Auth0::Internal::Types::Enum + + ES256 = "ES256" + ES384 = "ES384" + PS256 = "PS256" + PS384 = "PS384" + RS256 = "RS256" + RS384 = "RS384" + RS512 = "RS512" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object1options_token_endpoint_jwtca_aud_format_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object1options_token_endpoint_jwtca_aud_format_enum.rb new file mode 100644 index 000000000..9545f08f7 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object1options_token_endpoint_jwtca_aud_format_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject1OptionsTokenEndpointJwtcaAudFormatEnum + extend Auth0::Internal::Types::Enum + + ISSUER = "issuer" + TOKEN_ENDPOINT = "token_endpoint" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object1options_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object1options_type_enum.rb new file mode 100644 index 000000000..c6f360e6e --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object1options_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject1OptionsTypeEnum + extend Auth0::Internal::Types::Enum + + BACK_CHANNEL = "back_channel" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object1options_upstream_params.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object1options_upstream_params.rb new file mode 100644 index 000000000..94eb17f92 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object1options_upstream_params.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject1OptionsUpstreamParams + # EventStreamCloudEventConnectionCreatedObject1OptionsUpstreamParams is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object1strategy_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object1strategy_enum.rb new file mode 100644 index 000000000..77513d7fa --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object1strategy_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject1StrategyEnum + extend Auth0::Internal::Types::Enum + + OKTA = "okta" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object2.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object2.rb new file mode 100644 index 000000000..151a55616 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object2.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class EventStreamCloudEventConnectionCreatedObject2 < Internal::Types::Model + field :authentication, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject2Authentication }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject2ConnectedAccounts }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject2Metadata }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject2Options }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject2StrategyEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object2authentication.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object2authentication.rb new file mode 100644 index 000000000..c50cd8c42 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object2authentication.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configure the purpose of a connection to be used for authentication during login. + class EventStreamCloudEventConnectionCreatedObject2Authentication < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object2connected_accounts.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object2connected_accounts.rb new file mode 100644 index 000000000..71e54789c --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object2connected_accounts.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configure the purpose of a connection to be used for connected accounts and Token Vault. + class EventStreamCloudEventConnectionCreatedObject2ConnectedAccounts < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object2metadata.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object2metadata.rb new file mode 100644 index 000000000..fd420348f --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object2metadata.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Metadata associated with the connection in the form of an object with string values (max 255 chars). Maximum of + # 10 metadata properties allowed. + class EventStreamCloudEventConnectionCreatedObject2Metadata < Internal::Types::Model; end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object2options.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object2options.rb new file mode 100644 index 000000000..0042a52aa --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object2options.rb @@ -0,0 +1,72 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'samlp' connection + class EventStreamCloudEventConnectionCreatedObject2Options < Internal::Types::Model + field :assertion_decryption_settings, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject2OptionsAssertionDecryptionSettings }, optional: true, nullable: false + + field :cert, -> { String }, optional: true, nullable: false + + field :cert_rollover_notification, -> { String }, optional: true, nullable: false + + field :digest_algorithm, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject2OptionsDigestAlgorithmEnum }, optional: true, nullable: false, api_name: "digestAlgorithm" + + field :domain_aliases, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :entity_id, -> { String }, optional: true, nullable: false, api_name: "entityId" + + field :expires, -> { String }, optional: true, nullable: false + + field :icon_url, -> { String }, optional: true, nullable: false + + field :idpinitiated, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject2OptionsIdpinitiated }, optional: true, nullable: false + + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :protocol_binding, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject2OptionsProtocolBindingEnum }, optional: true, nullable: false, api_name: "protocolBinding" + + field :set_user_root_attributes, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject2OptionsSetUserRootAttributesEnum }, optional: true, nullable: false + + field :signature_algorithm, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject2OptionsSignatureAlgorithmEnum }, optional: true, nullable: false, api_name: "signatureAlgorithm" + + field :sign_in_endpoint, -> { String }, optional: true, nullable: false, api_name: "signInEndpoint" + + field :signing_cert, -> { String }, optional: true, nullable: false, api_name: "signingCert" + + field :sign_saml_request, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "signSAMLRequest" + + field :subject, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject2OptionsSubject }, optional: true, nullable: false + + field :tenant_domain, -> { String }, optional: true, nullable: false + + field :thumbprints, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :debug, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :deflate, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :destination_url, -> { String }, optional: true, nullable: false, api_name: "destinationUrl" + + field :disable_signout, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "disableSignout" + + field :fields_map, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false, api_name: "fieldsMap" + + field :global_token_revocation_jwt_iss, -> { String }, optional: true, nullable: false + + field :global_token_revocation_jwt_sub, -> { String }, optional: true, nullable: false + + field :metadata_url, -> { String }, optional: true, nullable: false, api_name: "metadataUrl" + + field :recipient_url, -> { String }, optional: true, nullable: false, api_name: "recipientUrl" + + field :request_template, -> { String }, optional: true, nullable: false, api_name: "requestTemplate" + + field :sign_out_endpoint, -> { String }, optional: true, nullable: false, api_name: "signOutEndpoint" + + field :user_id_attribute, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object2options_assertion_decryption_settings.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object2options_assertion_decryption_settings.rb new file mode 100644 index 000000000..80c81b8bb --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object2options_assertion_decryption_settings.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Settings for SAML assertion decryption. + class EventStreamCloudEventConnectionCreatedObject2OptionsAssertionDecryptionSettings < Internal::Types::Model + field :algorithm_exceptions, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :algorithm_profile, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject2OptionsAssertionDecryptionSettingsAlgorithmProfileEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object2options_assertion_decryption_settings_a_70e6de.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object2options_assertion_decryption_settings_a_70e6de.rb new file mode 100644 index 000000000..41f25bcfd --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object2options_assertion_decryption_settings_a_70e6de.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject2OptionsAssertionDecryptionSettingsAlgorithmProfileEnum + extend Auth0::Internal::Types::Enum + + V20261 = "v2026-1" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object2options_digest_algorithm_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object2options_digest_algorithm_enum.rb new file mode 100644 index 000000000..5de36a647 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object2options_digest_algorithm_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject2OptionsDigestAlgorithmEnum + extend Auth0::Internal::Types::Enum + + SHA1 = "sha1" + SHA256 = "sha256" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object2options_fields_map.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object2options_fields_map.rb new file mode 100644 index 000000000..256ccd232 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object2options_fields_map.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject2OptionsFieldsMap + # EventStreamCloudEventConnectionCreatedObject2OptionsFieldsMap is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object2options_idpinitiated.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object2options_idpinitiated.rb new file mode 100644 index 000000000..9fca45e9a --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object2options_idpinitiated.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configuration for IdP-Initiated SAML Single Sign-On. When enabled, allows users to initiate login directly from + # their SAML identity provider without first visiting Auth0. The IdP must include the connection parameter in the + # post-back URL (Assertion Consumer Service URL). + class EventStreamCloudEventConnectionCreatedObject2OptionsIdpinitiated < Internal::Types::Model + field :client_authorizequery, -> { String }, optional: true, nullable: false + + field :client_id, -> { String }, optional: true, nullable: false + + field :client_protocol, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject2OptionsIdpinitiatedClientProtocolEnum }, optional: true, nullable: false + + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object2options_idpinitiated_client_protocol_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object2options_idpinitiated_client_protocol_enum.rb new file mode 100644 index 000000000..96f8a018d --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object2options_idpinitiated_client_protocol_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject2OptionsIdpinitiatedClientProtocolEnum + extend Auth0::Internal::Types::Enum + + OIDC = "oidc" + SAMLP = "samlp" + WSFED = "wsfed" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object2options_protocol_binding_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object2options_protocol_binding_enum.rb new file mode 100644 index 000000000..461645509 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object2options_protocol_binding_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject2OptionsProtocolBindingEnum + extend Auth0::Internal::Types::Enum + + URN_OASIS_NAMES_TC_SAML20BINDINGS_HTTP_POST = "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" + URN_OASIS_NAMES_TC_SAML20BINDINGS_HTTP_REDIRECT = "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object2options_set_user_root_attributes_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object2options_set_user_root_attributes_enum.rb new file mode 100644 index 000000000..1644895aa --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object2options_set_user_root_attributes_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject2OptionsSetUserRootAttributesEnum + extend Auth0::Internal::Types::Enum + + ON_EACH_LOGIN = "on_each_login" + ON_FIRST_LOGIN = "on_first_login" + NEVER_ON_LOGIN = "never_on_login" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object2options_signature_algorithm_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object2options_signature_algorithm_enum.rb new file mode 100644 index 000000000..c6e015e1f --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object2options_signature_algorithm_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject2OptionsSignatureAlgorithmEnum + extend Auth0::Internal::Types::Enum + + RSA_SHA1 = "rsa-sha1" + RSA_SHA256 = "rsa-sha256" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object2options_subject.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object2options_subject.rb new file mode 100644 index 000000000..f443699e4 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object2options_subject.rb @@ -0,0 +1,8 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Certificate Subject Distinguished Name (DN) extracted from the identity provider's signing certificate. + class EventStreamCloudEventConnectionCreatedObject2OptionsSubject < Internal::Types::Model; end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object2options_upstream_params.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object2options_upstream_params.rb new file mode 100644 index 000000000..d1a514b68 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object2options_upstream_params.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject2OptionsUpstreamParams + # EventStreamCloudEventConnectionCreatedObject2OptionsUpstreamParams is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object2strategy_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object2strategy_enum.rb new file mode 100644 index 000000000..4fb517b89 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object2strategy_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject2StrategyEnum + extend Auth0::Internal::Types::Enum + + SAMLP = "samlp" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object3.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object3.rb new file mode 100644 index 000000000..366e601bf --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object3.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class EventStreamCloudEventConnectionCreatedObject3 < Internal::Types::Model + field :authentication, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject3Authentication }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject3ConnectedAccounts }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject3Metadata }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject3Options }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject3StrategyEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object3authentication.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object3authentication.rb new file mode 100644 index 000000000..7f80377ca --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object3authentication.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configure the purpose of a connection to be used for authentication during login. + class EventStreamCloudEventConnectionCreatedObject3Authentication < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object3connected_accounts.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object3connected_accounts.rb new file mode 100644 index 000000000..51ab88b0c --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object3connected_accounts.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configure the purpose of a connection to be used for connected accounts and Token Vault. + class EventStreamCloudEventConnectionCreatedObject3ConnectedAccounts < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object3metadata.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object3metadata.rb new file mode 100644 index 000000000..aa307d0c8 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object3metadata.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Metadata associated with the connection in the form of an object with string values (max 255 chars). Maximum of + # 10 metadata properties allowed. + class EventStreamCloudEventConnectionCreatedObject3Metadata < Internal::Types::Model; end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object3options.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object3options.rb new file mode 100644 index 000000000..9721f7aaf --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object3options.rb @@ -0,0 +1,50 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'pingfederate' connection + class EventStreamCloudEventConnectionCreatedObject3Options < Internal::Types::Model + field :assertion_decryption_settings, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject3OptionsAssertionDecryptionSettings }, optional: true, nullable: false + + field :cert, -> { String }, optional: true, nullable: false + + field :cert_rollover_notification, -> { String }, optional: true, nullable: false + + field :digest_algorithm, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject3OptionsDigestAlgorithmEnum }, optional: true, nullable: false, api_name: "digestAlgorithm" + + field :domain_aliases, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :entity_id, -> { String }, optional: true, nullable: false, api_name: "entityId" + + field :expires, -> { String }, optional: true, nullable: false + + field :icon_url, -> { String }, optional: true, nullable: false + + field :idpinitiated, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject3OptionsIdpinitiated }, optional: true, nullable: false + + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :protocol_binding, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject3OptionsProtocolBindingEnum }, optional: true, nullable: false, api_name: "protocolBinding" + + field :set_user_root_attributes, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject3OptionsSetUserRootAttributesEnum }, optional: true, nullable: false + + field :signature_algorithm, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject3OptionsSignatureAlgorithmEnum }, optional: true, nullable: false, api_name: "signatureAlgorithm" + + field :sign_in_endpoint, -> { String }, optional: true, nullable: false, api_name: "signInEndpoint" + + field :signing_cert, -> { String }, optional: true, nullable: false, api_name: "signingCert" + + field :sign_saml_request, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "signSAMLRequest" + + field :subject, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject3OptionsSubject }, optional: true, nullable: false + + field :tenant_domain, -> { String }, optional: true, nullable: false + + field :thumbprints, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :ping_federate_base_url, -> { String }, optional: false, nullable: false, api_name: "pingFederateBaseUrl" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object3options_assertion_decryption_settings.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object3options_assertion_decryption_settings.rb new file mode 100644 index 000000000..89f38d80f --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object3options_assertion_decryption_settings.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Settings for SAML assertion decryption. + class EventStreamCloudEventConnectionCreatedObject3OptionsAssertionDecryptionSettings < Internal::Types::Model + field :algorithm_exceptions, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :algorithm_profile, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject3OptionsAssertionDecryptionSettingsAlgorithmProfileEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object3options_assertion_decryption_settings_a_beacec.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object3options_assertion_decryption_settings_a_beacec.rb new file mode 100644 index 000000000..50e234ad0 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object3options_assertion_decryption_settings_a_beacec.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject3OptionsAssertionDecryptionSettingsAlgorithmProfileEnum + extend Auth0::Internal::Types::Enum + + V20261 = "v2026-1" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object3options_digest_algorithm_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object3options_digest_algorithm_enum.rb new file mode 100644 index 000000000..c10c2553a --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object3options_digest_algorithm_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject3OptionsDigestAlgorithmEnum + extend Auth0::Internal::Types::Enum + + SHA1 = "sha1" + SHA256 = "sha256" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object3options_idpinitiated.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object3options_idpinitiated.rb new file mode 100644 index 000000000..72d944902 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object3options_idpinitiated.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configuration for IdP-Initiated SAML Single Sign-On. When enabled, allows users to initiate login directly from + # their SAML identity provider without first visiting Auth0. The IdP must include the connection parameter in the + # post-back URL (Assertion Consumer Service URL). + class EventStreamCloudEventConnectionCreatedObject3OptionsIdpinitiated < Internal::Types::Model + field :client_authorizequery, -> { String }, optional: true, nullable: false + + field :client_id, -> { String }, optional: true, nullable: false + + field :client_protocol, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject3OptionsIdpinitiatedClientProtocolEnum }, optional: true, nullable: false + + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object3options_idpinitiated_client_protocol_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object3options_idpinitiated_client_protocol_enum.rb new file mode 100644 index 000000000..70482cd0d --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object3options_idpinitiated_client_protocol_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject3OptionsIdpinitiatedClientProtocolEnum + extend Auth0::Internal::Types::Enum + + OIDC = "oidc" + SAMLP = "samlp" + WSFED = "wsfed" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object3options_protocol_binding_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object3options_protocol_binding_enum.rb new file mode 100644 index 000000000..ee88e42fb --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object3options_protocol_binding_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject3OptionsProtocolBindingEnum + extend Auth0::Internal::Types::Enum + + URN_OASIS_NAMES_TC_SAML20BINDINGS_HTTP_POST = "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" + URN_OASIS_NAMES_TC_SAML20BINDINGS_HTTP_REDIRECT = "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object3options_set_user_root_attributes_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object3options_set_user_root_attributes_enum.rb new file mode 100644 index 000000000..34d7fb0d8 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object3options_set_user_root_attributes_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject3OptionsSetUserRootAttributesEnum + extend Auth0::Internal::Types::Enum + + ON_EACH_LOGIN = "on_each_login" + ON_FIRST_LOGIN = "on_first_login" + NEVER_ON_LOGIN = "never_on_login" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object3options_signature_algorithm_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object3options_signature_algorithm_enum.rb new file mode 100644 index 000000000..bbea31078 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object3options_signature_algorithm_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject3OptionsSignatureAlgorithmEnum + extend Auth0::Internal::Types::Enum + + RSA_SHA1 = "rsa-sha1" + RSA_SHA256 = "rsa-sha256" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object3options_subject.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object3options_subject.rb new file mode 100644 index 000000000..a24da198f --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object3options_subject.rb @@ -0,0 +1,8 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Certificate Subject Distinguished Name (DN) extracted from the identity provider's signing certificate. + class EventStreamCloudEventConnectionCreatedObject3OptionsSubject < Internal::Types::Model; end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object3options_upstream_params.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object3options_upstream_params.rb new file mode 100644 index 000000000..a328698a0 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object3options_upstream_params.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject3OptionsUpstreamParams + # EventStreamCloudEventConnectionCreatedObject3OptionsUpstreamParams is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object3strategy_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object3strategy_enum.rb new file mode 100644 index 000000000..081bd5b89 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object3strategy_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject3StrategyEnum + extend Auth0::Internal::Types::Enum + + PINGFEDERATE = "pingfederate" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object4.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object4.rb new file mode 100644 index 000000000..4cd8caedb --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object4.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class EventStreamCloudEventConnectionCreatedObject4 < Internal::Types::Model + field :authentication, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject4Authentication }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject4ConnectedAccounts }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject4Metadata }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject4Options }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject4StrategyEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object4authentication.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object4authentication.rb new file mode 100644 index 000000000..b58afaf2b --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object4authentication.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configure the purpose of a connection to be used for authentication during login. + class EventStreamCloudEventConnectionCreatedObject4Authentication < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object4connected_accounts.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object4connected_accounts.rb new file mode 100644 index 000000000..f3eadf7cb --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object4connected_accounts.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configure the purpose of a connection to be used for connected accounts and Token Vault. + class EventStreamCloudEventConnectionCreatedObject4ConnectedAccounts < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object4metadata.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object4metadata.rb new file mode 100644 index 000000000..a7f87a53a --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object4metadata.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Metadata associated with the connection in the form of an object with string values (max 255 chars). Maximum of + # 10 metadata properties allowed. + class EventStreamCloudEventConnectionCreatedObject4Metadata < Internal::Types::Model; end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object4options.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object4options.rb new file mode 100644 index 000000000..d6c100665 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object4options.rb @@ -0,0 +1,38 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'adfs' connection + class EventStreamCloudEventConnectionCreatedObject4Options < Internal::Types::Model + field :adfs_server, -> { String }, optional: true, nullable: false + + field :cert_rollover_notification, -> { String }, optional: true, nullable: false + + field :domain_aliases, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :entity_id, -> { String }, optional: true, nullable: false, api_name: "entityId" + + field :fed_metadata_xml, -> { String }, optional: true, nullable: false, api_name: "fedMetadataXml" + + field :icon_url, -> { String }, optional: true, nullable: false + + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :prev_thumbprints, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject4OptionsSetUserRootAttributesEnum }, optional: true, nullable: false + + field :should_trust_email_verified_connection, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject4OptionsShouldTrustEmailVerifiedConnectionEnum }, optional: true, nullable: false + + field :sign_in_endpoint, -> { String }, optional: true, nullable: false, api_name: "signInEndpoint" + + field :tenant_domain, -> { String }, optional: true, nullable: false + + field :thumbprints, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :user_id_attribute, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object4options_set_user_root_attributes_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object4options_set_user_root_attributes_enum.rb new file mode 100644 index 000000000..e67beaa15 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object4options_set_user_root_attributes_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject4OptionsSetUserRootAttributesEnum + extend Auth0::Internal::Types::Enum + + ON_EACH_LOGIN = "on_each_login" + ON_FIRST_LOGIN = "on_first_login" + NEVER_ON_LOGIN = "never_on_login" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object4options_should_trust_email_verified_con_a36fe0.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object4options_should_trust_email_verified_con_a36fe0.rb new file mode 100644 index 000000000..ce990447d --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object4options_should_trust_email_verified_con_a36fe0.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject4OptionsShouldTrustEmailVerifiedConnectionEnum + extend Auth0::Internal::Types::Enum + + NEVER_SET_EMAILS_AS_VERIFIED = "never_set_emails_as_verified" + ALWAYS_SET_EMAILS_AS_VERIFIED = "always_set_emails_as_verified" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object4options_upstream_params.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object4options_upstream_params.rb new file mode 100644 index 000000000..a12b18183 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object4options_upstream_params.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject4OptionsUpstreamParams + # EventStreamCloudEventConnectionCreatedObject4OptionsUpstreamParams is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object4strategy_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object4strategy_enum.rb new file mode 100644 index 000000000..36993af1f --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object4strategy_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject4StrategyEnum + extend Auth0::Internal::Types::Enum + + ADFS = "adfs" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object5.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object5.rb new file mode 100644 index 000000000..b7537e24b --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object5.rb @@ -0,0 +1,29 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class EventStreamCloudEventConnectionCreatedObject5 < Internal::Types::Model + field :authentication, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject5Authentication }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject5ConnectedAccounts }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject5Metadata }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject5Options }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject5StrategyEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object5authentication.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object5authentication.rb new file mode 100644 index 000000000..77c0d9582 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object5authentication.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configure the purpose of a connection to be used for authentication during login. + class EventStreamCloudEventConnectionCreatedObject5Authentication < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object5connected_accounts.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object5connected_accounts.rb new file mode 100644 index 000000000..1d4ddedc3 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object5connected_accounts.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configure the purpose of a connection to be used for connected accounts and Token Vault. + class EventStreamCloudEventConnectionCreatedObject5ConnectedAccounts < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object5metadata.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object5metadata.rb new file mode 100644 index 000000000..a6815bcbd --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object5metadata.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Metadata associated with the connection in the form of an object with string values (max 255 chars). Maximum of + # 10 metadata properties allowed. + class EventStreamCloudEventConnectionCreatedObject5Metadata < Internal::Types::Model; end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object5options.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object5options.rb new file mode 100644 index 000000000..ef48bb8e2 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object5options.rb @@ -0,0 +1,44 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'ad' connection + class EventStreamCloudEventConnectionCreatedObject5Options < Internal::Types::Model + field :agent_ip, -> { String }, optional: true, nullable: false, api_name: "agentIP" + + field :agent_mode, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "agentMode" + + field :agent_version, -> { String }, optional: true, nullable: false, api_name: "agentVersion" + + field :brute_force_protection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :cert_auth, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "certAuth" + + field :certs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :disable_cache, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :disable_self_service_change_password, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :domain_aliases, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :icon_url, -> { String }, optional: true, nullable: false + + field :ips, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :kerberos, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject5OptionsSetUserRootAttributesEnum }, optional: true, nullable: false + + field :sign_in_endpoint, -> { String }, optional: true, nullable: false, api_name: "signInEndpoint" + + field :tenant_domain, -> { String }, optional: true, nullable: false + + field :thumbprints, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object5options_set_user_root_attributes_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object5options_set_user_root_attributes_enum.rb new file mode 100644 index 000000000..421aeb1c8 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object5options_set_user_root_attributes_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject5OptionsSetUserRootAttributesEnum + extend Auth0::Internal::Types::Enum + + ON_EACH_LOGIN = "on_each_login" + ON_FIRST_LOGIN = "on_first_login" + NEVER_ON_LOGIN = "never_on_login" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object5options_upstream_params.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object5options_upstream_params.rb new file mode 100644 index 000000000..73d628e67 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object5options_upstream_params.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject5OptionsUpstreamParams + # EventStreamCloudEventConnectionCreatedObject5OptionsUpstreamParams is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object5strategy_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object5strategy_enum.rb new file mode 100644 index 000000000..b6fcc3401 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object5strategy_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject5StrategyEnum + extend Auth0::Internal::Types::Enum + + AD = "ad" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object6.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object6.rb new file mode 100644 index 000000000..3d4579a65 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object6.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class EventStreamCloudEventConnectionCreatedObject6 < Internal::Types::Model + field :authentication, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject6Authentication }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject6ConnectedAccounts }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject6Metadata }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject6Options }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject6StrategyEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object6authentication.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object6authentication.rb new file mode 100644 index 000000000..2c0961825 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object6authentication.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configure the purpose of a connection to be used for authentication during login. + class EventStreamCloudEventConnectionCreatedObject6Authentication < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object6connected_accounts.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object6connected_accounts.rb new file mode 100644 index 000000000..caa2ed159 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object6connected_accounts.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configure the purpose of a connection to be used for connected accounts and Token Vault. + class EventStreamCloudEventConnectionCreatedObject6ConnectedAccounts < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object6metadata.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object6metadata.rb new file mode 100644 index 000000000..e30398d2b --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object6metadata.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Metadata associated with the connection in the form of an object with string values (max 255 chars). Maximum of + # 10 metadata properties allowed. + class EventStreamCloudEventConnectionCreatedObject6Metadata < Internal::Types::Model; end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object6options.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object6options.rb new file mode 100644 index 000000000..b5db68c74 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object6options.rb @@ -0,0 +1,54 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'google-apps' connection + class EventStreamCloudEventConnectionCreatedObject6Options < Internal::Types::Model + field :admin_access_token_expiresin, -> { String }, optional: true, nullable: false + + field :allow_setting_login_scopes, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :api_enable_groups, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :api_enable_users, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :client_id, -> { String }, optional: false, nullable: false + + field :domain, -> { String }, optional: true, nullable: false + + field :domain_aliases, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :email, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_agreed_terms, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_groups, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_groups_extended, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_is_admin, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_is_suspended, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :federated_connections_access_tokens, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject6OptionsFederatedConnectionsAccessTokens }, optional: true, nullable: false + + field :handle_login_from_social, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :icon_url, -> { String }, optional: true, nullable: false + + field :map_user_id_to_id, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :profile, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :scope, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject6OptionsSetUserRootAttributesEnum }, optional: true, nullable: false + + field :tenant_domain, -> { String }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object6options_federated_connections_access_tokens.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object6options_federated_connections_access_tokens.rb new file mode 100644 index 000000000..628a2554f --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object6options_federated_connections_access_tokens.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configuration for storing identity provider tokens in Auth0's Token Vault. When active, Auth0 securely stores + # access and refresh tokens from federated logins, enabling your application to make authenticated API calls on + # behalf of users. + class EventStreamCloudEventConnectionCreatedObject6OptionsFederatedConnectionsAccessTokens < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object6options_set_user_root_attributes_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object6options_set_user_root_attributes_enum.rb new file mode 100644 index 000000000..ae9f12e36 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object6options_set_user_root_attributes_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject6OptionsSetUserRootAttributesEnum + extend Auth0::Internal::Types::Enum + + ON_EACH_LOGIN = "on_each_login" + ON_FIRST_LOGIN = "on_first_login" + NEVER_ON_LOGIN = "never_on_login" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object6options_upstream_params.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object6options_upstream_params.rb new file mode 100644 index 000000000..464200202 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object6options_upstream_params.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject6OptionsUpstreamParams + # EventStreamCloudEventConnectionCreatedObject6OptionsUpstreamParams is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object6strategy_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object6strategy_enum.rb new file mode 100644 index 000000000..0daed1112 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object6strategy_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject6StrategyEnum + extend Auth0::Internal::Types::Enum + + GOOGLE_APPS = "google-apps" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object7.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object7.rb new file mode 100644 index 000000000..9e7dfce00 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object7.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class EventStreamCloudEventConnectionCreatedObject7 < Internal::Types::Model + field :authentication, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject7Authentication }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject7ConnectedAccounts }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject7Metadata }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject7Options }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject7StrategyEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object7authentication.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object7authentication.rb new file mode 100644 index 000000000..4544af224 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object7authentication.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configure the purpose of a connection to be used for authentication during login. + class EventStreamCloudEventConnectionCreatedObject7Authentication < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object7connected_accounts.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object7connected_accounts.rb new file mode 100644 index 000000000..ee5440263 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object7connected_accounts.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configure the purpose of a connection to be used for connected accounts and Token Vault. + class EventStreamCloudEventConnectionCreatedObject7ConnectedAccounts < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object7metadata.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object7metadata.rb new file mode 100644 index 000000000..3b27e2b95 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object7metadata.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Metadata associated with the connection in the form of an object with string values (max 255 chars). Maximum of + # 10 metadata properties allowed. + class EventStreamCloudEventConnectionCreatedObject7Metadata < Internal::Types::Model; end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object7options.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object7options.rb new file mode 100644 index 000000000..cb90d2ec0 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object7options.rb @@ -0,0 +1,64 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'waad' connection + class EventStreamCloudEventConnectionCreatedObject7Options < Internal::Types::Model + field :api_enable_users, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :app_domain, -> { String }, optional: true, nullable: false + + field :app_id, -> { String }, optional: true, nullable: false + + field :basic_profile, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :cert_rollover_notification, -> { String }, optional: true, nullable: false + + field :client_id, -> { String }, optional: false, nullable: false + + field :domain, -> { String }, optional: true, nullable: false + + field :domain_aliases, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :ext_groups, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_nested_groups, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_profile, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :federated_connections_access_tokens, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject7OptionsFederatedConnectionsAccessTokens }, optional: true, nullable: false + + field :granted, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :icon_url, -> { String }, optional: true, nullable: false + + field :identity_api, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject7OptionsIdentityAPIEnum }, optional: true, nullable: false + + field :max_groups_to_retrieve, -> { String }, optional: true, nullable: false + + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :scope, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject7OptionsSetUserRootAttributesEnum }, optional: true, nullable: false + + field :should_trust_email_verified_connection, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject7OptionsShouldTrustEmailVerifiedConnectionEnum }, optional: true, nullable: false + + field :tenant_domain, -> { String }, optional: true, nullable: false + + field :tenant_id, -> { String }, optional: true, nullable: false, api_name: "tenantId" + + field :thumbprints, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :use_wsfed, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :use_common_endpoint, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "useCommonEndpoint" + + field :userid_attribute, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject7OptionsUseridAttributeEnum }, optional: true, nullable: false + + field :waad_protocol, -> { Auth0::Types::EventStreamCloudEventConnectionCreatedObject7OptionsWaadProtocolEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object7options_federated_connections_access_tokens.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object7options_federated_connections_access_tokens.rb new file mode 100644 index 000000000..6e0f24405 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object7options_federated_connections_access_tokens.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configuration for storing identity provider tokens in Auth0's Token Vault. When active, Auth0 securely stores + # access and refresh tokens from federated logins, enabling your application to make authenticated API calls on + # behalf of users. + class EventStreamCloudEventConnectionCreatedObject7OptionsFederatedConnectionsAccessTokens < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object7options_identity_api_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object7options_identity_api_enum.rb new file mode 100644 index 000000000..5ecefc53b --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object7options_identity_api_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject7OptionsIdentityAPIEnum + extend Auth0::Internal::Types::Enum + + MICROSOFT_IDENTITY_PLATFORM_V20 = "microsoft-identity-platform-v2.0" + AZURE_ACTIVE_DIRECTORY_V10 = "azure-active-directory-v1.0" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object7options_set_user_root_attributes_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object7options_set_user_root_attributes_enum.rb new file mode 100644 index 000000000..407cc11e3 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object7options_set_user_root_attributes_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject7OptionsSetUserRootAttributesEnum + extend Auth0::Internal::Types::Enum + + ON_EACH_LOGIN = "on_each_login" + ON_FIRST_LOGIN = "on_first_login" + NEVER_ON_LOGIN = "never_on_login" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object7options_should_trust_email_verified_con_cf1a4c.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object7options_should_trust_email_verified_con_cf1a4c.rb new file mode 100644 index 000000000..02cb06024 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object7options_should_trust_email_verified_con_cf1a4c.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject7OptionsShouldTrustEmailVerifiedConnectionEnum + extend Auth0::Internal::Types::Enum + + NEVER_SET_EMAILS_AS_VERIFIED = "never_set_emails_as_verified" + ALWAYS_SET_EMAILS_AS_VERIFIED = "always_set_emails_as_verified" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object7options_tenant_domain_one.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object7options_tenant_domain_one.rb new file mode 100644 index 000000000..ff4ac9ed7 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object7options_tenant_domain_one.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject7OptionsTenantDomainOne + # EventStreamCloudEventConnectionCreatedObject7OptionsTenantDomainOne is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object7options_upstream_params.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object7options_upstream_params.rb new file mode 100644 index 000000000..b5326392a --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object7options_upstream_params.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject7OptionsUpstreamParams + # EventStreamCloudEventConnectionCreatedObject7OptionsUpstreamParams is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object7options_userid_attribute_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object7options_userid_attribute_enum.rb new file mode 100644 index 000000000..c45c40ac0 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object7options_userid_attribute_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject7OptionsUseridAttributeEnum + extend Auth0::Internal::Types::Enum + + OID = "oid" + SUB = "sub" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object7options_waad_protocol_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object7options_waad_protocol_enum.rb new file mode 100644 index 000000000..e7bd811eb --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object7options_waad_protocol_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject7OptionsWaadProtocolEnum + extend Auth0::Internal::Types::Enum + + WS_FEDERATION = "ws-federation" + OPENID_CONNECT = "openid-connect" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_object7strategy_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_object7strategy_enum.rb new file mode 100644 index 000000000..8824ddb57 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_object7strategy_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedObject7StrategyEnum + extend Auth0::Internal::Types::Enum + + WAAD = "waad" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_created_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_created_type_enum.rb new file mode 100644 index 000000000..d9f5e4ffb --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_created_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionCreatedTypeEnum + extend Auth0::Internal::Types::Enum + + CONNECTION_CREATED = "connection.created" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted.rb new file mode 100644 index 000000000..48e74636f --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # SSE message for connection.deleted. + class EventStreamCloudEventConnectionDeleted < Internal::Types::Model + field :offset, -> { String }, optional: false, nullable: false + + field :event, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedCloudEvent }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_cloud_event.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_cloud_event.rb new file mode 100644 index 000000000..7312f9c58 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_cloud_event.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Represents an event that occurs when a connection is deleted. + class EventStreamCloudEventConnectionDeletedCloudEvent < Internal::Types::Model + field :specversion, -> { Auth0::Types::EventStreamCloudEventSpecVersionEnum }, optional: false, nullable: false + + field :type, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedCloudEventTypeEnum }, optional: false, nullable: false + + field :source, -> { String }, optional: false, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :time, -> { String }, optional: false, nullable: false + + field :data, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedData }, optional: false, nullable: false + + field :a0tenant, -> { String }, optional: false, nullable: false + + field :a0stream, -> { String }, optional: false, nullable: false + + field :a0purpose, -> { Auth0::Types::EventStreamCloudEventA0PurposeEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_cloud_event_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_cloud_event_type_enum.rb new file mode 100644 index 000000000..688c4072c --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_cloud_event_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedCloudEventTypeEnum + extend Auth0::Internal::Types::Enum + + CONNECTION_DELETED = "connection.deleted" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_data.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_data.rb new file mode 100644 index 000000000..0057af312 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_data.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The event payload. + class EventStreamCloudEventConnectionDeletedData < Internal::Types::Model + field :object, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject }, optional: false, nullable: false + + field :context, -> { Auth0::Types::EventStreamCloudEventContext }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object.rb new file mode 100644 index 000000000..81ec2e553 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The event content. + class EventStreamCloudEventConnectionDeletedObject < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject0 } + + member -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject1 } + + member -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject2 } + + member -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject3 } + + member -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject4 } + + member -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject5 } + + member -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject6 } + + member -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject7 } + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0.rb new file mode 100644 index 000000000..e6da436ca --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class EventStreamCloudEventConnectionDeletedObject0 < Internal::Types::Model + field :authentication, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject0Authentication }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject0Metadata }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject0ConnectedAccounts }, optional: true, nullable: false + + field :options, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject0Options }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject0StrategyEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0authentication.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0authentication.rb new file mode 100644 index 000000000..53d9aae55 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0authentication.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configure the purpose of a connection to be used for authentication during login. + class EventStreamCloudEventConnectionDeletedObject0Authentication < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0connected_accounts.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0connected_accounts.rb new file mode 100644 index 000000000..ed2ff8219 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0connected_accounts.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configure the purpose of a connection to be used for connected accounts and Token Vault. + class EventStreamCloudEventConnectionDeletedObject0ConnectedAccounts < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + + field :cross_app_access, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0metadata.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0metadata.rb new file mode 100644 index 000000000..178fbd6e0 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0metadata.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Metadata associated with the connection in the form of an object with string values (max 255 chars). Maximum of + # 10 metadata properties allowed. + class EventStreamCloudEventConnectionDeletedObject0Metadata < Internal::Types::Model; end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0options.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0options.rb new file mode 100644 index 000000000..66f3630b9 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0options.rb @@ -0,0 +1,62 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'oidc' connection + class EventStreamCloudEventConnectionDeletedObject0Options < Internal::Types::Model + field :authorization_endpoint, -> { String }, optional: true, nullable: false + + field :client_id, -> { String }, optional: false, nullable: false + + field :connection_settings, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject0OptionsConnectionSettings }, optional: true, nullable: false + + field :domain_aliases, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :dpop_signing_alg, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject0OptionsDpopSigningAlgEnum }, optional: true, nullable: false + + field :federated_connections_access_tokens, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject0OptionsFederatedConnectionsAccessTokens }, optional: true, nullable: false + + field :icon_url, -> { String }, optional: true, nullable: false + + field :id_token_session_expiry_supported, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :id_token_signed_response_algs, -> { Internal::Types::Array[Auth0::Types::EventStreamCloudEventConnectionDeletedObject0OptionsIDTokenSignedResponseAlgsItemEnum] }, optional: true, nullable: false + + field :issuer, -> { String }, optional: true, nullable: false + + field :jwks_uri, -> { String }, optional: true, nullable: false + + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :oidc_metadata, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject0OptionsOidcMetadata }, optional: true, nullable: false + + field :schema_version, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject0OptionsSchemaVersionEnum }, optional: true, nullable: false + + field :scope, -> { String }, optional: true, nullable: false + + field :send_back_channel_nonce, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject0OptionsSetUserRootAttributesEnum }, optional: true, nullable: false + + field :tenant_domain, -> { String }, optional: true, nullable: false + + field :token_endpoint, -> { String }, optional: true, nullable: false + + field :token_endpoint_auth_method, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject0OptionsTokenEndpointAuthMethodEnum }, optional: true, nullable: false + + field :token_endpoint_auth_signing_alg, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject0OptionsTokenEndpointAuthSigningAlgEnum }, optional: true, nullable: false + + field :token_endpoint_jwtca_aud_format, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject0OptionsTokenEndpointJwtcaAudFormatEnum }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :userinfo_endpoint, -> { String }, optional: true, nullable: false + + field :attribute_map, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject0OptionsAttributeMap }, optional: true, nullable: false + + field :discovery_url, -> { String }, optional: true, nullable: false + + field :type, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject0OptionsTypeEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0options_attribute_map.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0options_attribute_map.rb new file mode 100644 index 000000000..621d9d5a1 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0options_attribute_map.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configuration for mapping claims from the identity provider to Auth0 user profile attributes. Allows customizing + # which IdP claims populate user fields and how they are transformed. + class EventStreamCloudEventConnectionDeletedObject0OptionsAttributeMap < Internal::Types::Model + field :attributes, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :userinfo_scope, -> { String }, optional: true, nullable: false + + field :mapping_mode, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject0OptionsAttributeMapMappingModeEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0options_attribute_map_attributes.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0options_attribute_map_attributes.rb new file mode 100644 index 000000000..3ffd70892 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0options_attribute_map_attributes.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject0OptionsAttributeMapAttributes + # EventStreamCloudEventConnectionDeletedObject0OptionsAttributeMapAttributes is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0options_attribute_map_mapping_mode_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0options_attribute_map_mapping_mode_enum.rb new file mode 100644 index 000000000..d8fc9cb37 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0options_attribute_map_mapping_mode_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject0OptionsAttributeMapMappingModeEnum + extend Auth0::Internal::Types::Enum + + BIND_ALL = "bind_all" + USE_MAP = "use_map" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0options_connection_settings.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0options_connection_settings.rb new file mode 100644 index 000000000..26860ff20 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0options_connection_settings.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # OAuth 2.0 PKCE (Proof Key for Code Exchange) settings. PKCE enhances security for public clients by preventing + # authorization code interception attacks. 'auto' (recommended) uses the strongest method supported by the IdP. + class EventStreamCloudEventConnectionDeletedObject0OptionsConnectionSettings < Internal::Types::Model + field :pkce, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject0OptionsConnectionSettingsPkceEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0options_connection_settings_pkce_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0options_connection_settings_pkce_enum.rb new file mode 100644 index 000000000..78ef7316b --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0options_connection_settings_pkce_enum.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject0OptionsConnectionSettingsPkceEnum + extend Auth0::Internal::Types::Enum + + AUTO = "auto" + S256 = "S256" + PLAIN = "plain" + DISABLED = "disabled" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0options_dpop_signing_alg_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0options_dpop_signing_alg_enum.rb new file mode 100644 index 000000000..85b74e87d --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0options_dpop_signing_alg_enum.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject0OptionsDpopSigningAlgEnum + extend Auth0::Internal::Types::Enum + + ES256 = "ES256" + ES384 = "ES384" + ES512 = "ES512" + ED25519 = "Ed25519" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0options_federated_connections_access_tokens.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0options_federated_connections_access_tokens.rb new file mode 100644 index 000000000..fb1c89f45 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0options_federated_connections_access_tokens.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configuration for storing identity provider tokens in Auth0's Token Vault. When active, Auth0 securely stores + # access and refresh tokens from federated logins, enabling your application to make authenticated API calls on + # behalf of users. + class EventStreamCloudEventConnectionDeletedObject0OptionsFederatedConnectionsAccessTokens < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0options_id_token_signed_response_algs_i_fcd928.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0options_id_token_signed_response_algs_i_fcd928.rb new file mode 100644 index 000000000..2e47510ab --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0options_id_token_signed_response_algs_i_fcd928.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject0OptionsIDTokenSignedResponseAlgsItemEnum + extend Auth0::Internal::Types::Enum + + ES256 = "ES256" + ES384 = "ES384" + PS256 = "PS256" + PS384 = "PS384" + RS256 = "RS256" + RS384 = "RS384" + RS512 = "RS512" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0options_oidc_metadata.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0options_oidc_metadata.rb new file mode 100644 index 000000000..7c391cdee --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0options_oidc_metadata.rb @@ -0,0 +1,83 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # OpenID Connect Provider Metadata as per + # https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata + class EventStreamCloudEventConnectionDeletedObject0OptionsOidcMetadata < Internal::Types::Model + field :acr_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :authorization_endpoint, -> { String }, optional: false, nullable: false + + field :claim_types_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :claims_locales_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :claims_parameter_supported, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :claims_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :dpop_signing_alg_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :end_session_endpoint, -> { String }, optional: true, nullable: false + + field :grant_types_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :id_token_encryption_alg_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :id_token_encryption_enc_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :id_token_signing_alg_values_supported, -> { Internal::Types::Array[String] }, optional: false, nullable: false + + field :issuer, -> { String }, optional: false, nullable: false + + field :jwks_uri, -> { String }, optional: false, nullable: false + + field :op_policy_uri, -> { String }, optional: true, nullable: false + + field :op_tos_uri, -> { String }, optional: true, nullable: false + + field :registration_endpoint, -> { String }, optional: true, nullable: false + + field :request_object_encryption_alg_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :request_object_encryption_enc_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :request_object_signing_alg_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :request_parameter_supported, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :request_uri_parameter_supported, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :require_request_uri_registration, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :response_modes_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :response_types_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :scopes_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :service_documentation, -> { String }, optional: true, nullable: false + + field :subject_types_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :token_endpoint, -> { String }, optional: true, nullable: false + + field :token_endpoint_auth_methods_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :token_endpoint_auth_signing_alg_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :ui_locales_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :userinfo_encryption_alg_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :userinfo_encryption_enc_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :userinfo_endpoint, -> { String }, optional: true, nullable: false + + field :userinfo_signing_alg_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0options_schema_version_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0options_schema_version_enum.rb new file mode 100644 index 000000000..5f9bdf87d --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0options_schema_version_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject0OptionsSchemaVersionEnum + extend Auth0::Internal::Types::Enum + + OPENID100 = "openid-1.0.0" + OIDC_V4 = "oidc-v4" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0options_set_user_root_attributes_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0options_set_user_root_attributes_enum.rb new file mode 100644 index 000000000..bb1583a4e --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0options_set_user_root_attributes_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject0OptionsSetUserRootAttributesEnum + extend Auth0::Internal::Types::Enum + + ON_EACH_LOGIN = "on_each_login" + ON_FIRST_LOGIN = "on_first_login" + NEVER_ON_LOGIN = "never_on_login" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0options_token_endpoint_auth_method_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0options_token_endpoint_auth_method_enum.rb new file mode 100644 index 000000000..eac5f143c --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0options_token_endpoint_auth_method_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject0OptionsTokenEndpointAuthMethodEnum + extend Auth0::Internal::Types::Enum + + CLIENT_SECRET_POST = "client_secret_post" + PRIVATE_KEY_JWT = "private_key_jwt" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0options_token_endpoint_auth_signing_alg_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0options_token_endpoint_auth_signing_alg_enum.rb new file mode 100644 index 000000000..19bc5a62d --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0options_token_endpoint_auth_signing_alg_enum.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject0OptionsTokenEndpointAuthSigningAlgEnum + extend Auth0::Internal::Types::Enum + + ES256 = "ES256" + ES384 = "ES384" + PS256 = "PS256" + PS384 = "PS384" + RS256 = "RS256" + RS384 = "RS384" + RS512 = "RS512" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0options_token_endpoint_jwtca_aud_format_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0options_token_endpoint_jwtca_aud_format_enum.rb new file mode 100644 index 000000000..5283b5478 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0options_token_endpoint_jwtca_aud_format_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject0OptionsTokenEndpointJwtcaAudFormatEnum + extend Auth0::Internal::Types::Enum + + ISSUER = "issuer" + TOKEN_ENDPOINT = "token_endpoint" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0options_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0options_type_enum.rb new file mode 100644 index 000000000..130fa701c --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0options_type_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject0OptionsTypeEnum + extend Auth0::Internal::Types::Enum + + BACK_CHANNEL = "back_channel" + FRONT_CHANNEL = "front_channel" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0options_upstream_params.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0options_upstream_params.rb new file mode 100644 index 000000000..1f6404d36 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0options_upstream_params.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject0OptionsUpstreamParams + # EventStreamCloudEventConnectionDeletedObject0OptionsUpstreamParams is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0strategy_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0strategy_enum.rb new file mode 100644 index 000000000..53de323cf --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object0strategy_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject0StrategyEnum + extend Auth0::Internal::Types::Enum + + OIDC = "oidc" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1.rb new file mode 100644 index 000000000..1a34fe6a4 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class EventStreamCloudEventConnectionDeletedObject1 < Internal::Types::Model + field :authentication, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject1Authentication }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject1ConnectedAccounts }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject1Metadata }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject1Options }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject1StrategyEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1authentication.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1authentication.rb new file mode 100644 index 000000000..5c8e9b909 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1authentication.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configure the purpose of a connection to be used for authentication during login. + class EventStreamCloudEventConnectionDeletedObject1Authentication < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1connected_accounts.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1connected_accounts.rb new file mode 100644 index 000000000..9bf6e12ad --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1connected_accounts.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configure the purpose of a connection to be used for connected accounts and Token Vault. + class EventStreamCloudEventConnectionDeletedObject1ConnectedAccounts < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1metadata.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1metadata.rb new file mode 100644 index 000000000..919dac0fd --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1metadata.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Metadata associated with the connection in the form of an object with string values (max 255 chars). Maximum of + # 10 metadata properties allowed. + class EventStreamCloudEventConnectionDeletedObject1Metadata < Internal::Types::Model; end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1options.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1options.rb new file mode 100644 index 000000000..1668f8cda --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1options.rb @@ -0,0 +1,62 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'okta' connection + class EventStreamCloudEventConnectionDeletedObject1Options < Internal::Types::Model + field :authorization_endpoint, -> { String }, optional: true, nullable: false + + field :client_id, -> { String }, optional: false, nullable: false + + field :connection_settings, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject1OptionsConnectionSettings }, optional: true, nullable: false + + field :domain_aliases, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :dpop_signing_alg, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject1OptionsDpopSigningAlgEnum }, optional: true, nullable: false + + field :federated_connections_access_tokens, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject1OptionsFederatedConnectionsAccessTokens }, optional: true, nullable: false + + field :icon_url, -> { String }, optional: true, nullable: false + + field :id_token_session_expiry_supported, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :id_token_signed_response_algs, -> { Internal::Types::Array[Auth0::Types::EventStreamCloudEventConnectionDeletedObject1OptionsIDTokenSignedResponseAlgsItemEnum] }, optional: true, nullable: false + + field :issuer, -> { String }, optional: true, nullable: false + + field :jwks_uri, -> { String }, optional: true, nullable: false + + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :oidc_metadata, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject1OptionsOidcMetadata }, optional: true, nullable: false + + field :schema_version, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject1OptionsSchemaVersionEnum }, optional: true, nullable: false + + field :scope, -> { String }, optional: true, nullable: false + + field :send_back_channel_nonce, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject1OptionsSetUserRootAttributesEnum }, optional: true, nullable: false + + field :tenant_domain, -> { String }, optional: true, nullable: false + + field :token_endpoint, -> { String }, optional: true, nullable: false + + field :token_endpoint_auth_method, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject1OptionsTokenEndpointAuthMethodEnum }, optional: true, nullable: false + + field :token_endpoint_auth_signing_alg, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject1OptionsTokenEndpointAuthSigningAlgEnum }, optional: true, nullable: false + + field :token_endpoint_jwtca_aud_format, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject1OptionsTokenEndpointJwtcaAudFormatEnum }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :userinfo_endpoint, -> { String }, optional: true, nullable: false + + field :attribute_map, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject1OptionsAttributeMap }, optional: true, nullable: false + + field :domain, -> { String }, optional: true, nullable: false + + field :type, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject1OptionsTypeEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1options_attribute_map.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1options_attribute_map.rb new file mode 100644 index 000000000..23bb51232 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1options_attribute_map.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Mapping of claims received from the identity provider (IdP) + class EventStreamCloudEventConnectionDeletedObject1OptionsAttributeMap < Internal::Types::Model + field :attributes, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :userinfo_scope, -> { String }, optional: true, nullable: false + + field :mapping_mode, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject1OptionsAttributeMapMappingModeEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1options_attribute_map_attributes.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1options_attribute_map_attributes.rb new file mode 100644 index 000000000..eb2fe5790 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1options_attribute_map_attributes.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject1OptionsAttributeMapAttributes + # EventStreamCloudEventConnectionDeletedObject1OptionsAttributeMapAttributes is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1options_attribute_map_mapping_mode_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1options_attribute_map_mapping_mode_enum.rb new file mode 100644 index 000000000..882414ba4 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1options_attribute_map_mapping_mode_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject1OptionsAttributeMapMappingModeEnum + extend Auth0::Internal::Types::Enum + + BASIC_PROFILE = "basic_profile" + USE_MAP = "use_map" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1options_connection_settings.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1options_connection_settings.rb new file mode 100644 index 000000000..9f2c87ce9 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1options_connection_settings.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # OAuth 2.0 PKCE (Proof Key for Code Exchange) settings. PKCE enhances security for public clients by preventing + # authorization code interception attacks. 'auto' (recommended) uses the strongest method supported by the IdP. + class EventStreamCloudEventConnectionDeletedObject1OptionsConnectionSettings < Internal::Types::Model + field :pkce, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject1OptionsConnectionSettingsPkceEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1options_connection_settings_pkce_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1options_connection_settings_pkce_enum.rb new file mode 100644 index 000000000..f6bbbc329 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1options_connection_settings_pkce_enum.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject1OptionsConnectionSettingsPkceEnum + extend Auth0::Internal::Types::Enum + + AUTO = "auto" + S256 = "S256" + PLAIN = "plain" + DISABLED = "disabled" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1options_dpop_signing_alg_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1options_dpop_signing_alg_enum.rb new file mode 100644 index 000000000..5c7690822 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1options_dpop_signing_alg_enum.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject1OptionsDpopSigningAlgEnum + extend Auth0::Internal::Types::Enum + + ES256 = "ES256" + ES384 = "ES384" + ES512 = "ES512" + ED25519 = "Ed25519" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1options_federated_connections_access_tokens.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1options_federated_connections_access_tokens.rb new file mode 100644 index 000000000..97d2e22f1 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1options_federated_connections_access_tokens.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configuration for storing identity provider tokens in Auth0's Token Vault. When active, Auth0 securely stores + # access and refresh tokens from federated logins, enabling your application to make authenticated API calls on + # behalf of users. + class EventStreamCloudEventConnectionDeletedObject1OptionsFederatedConnectionsAccessTokens < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1options_id_token_signed_response_algs_i_8a1b49.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1options_id_token_signed_response_algs_i_8a1b49.rb new file mode 100644 index 000000000..63bfefd6f --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1options_id_token_signed_response_algs_i_8a1b49.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject1OptionsIDTokenSignedResponseAlgsItemEnum + extend Auth0::Internal::Types::Enum + + ES256 = "ES256" + ES384 = "ES384" + PS256 = "PS256" + PS384 = "PS384" + RS256 = "RS256" + RS384 = "RS384" + RS512 = "RS512" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1options_oidc_metadata.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1options_oidc_metadata.rb new file mode 100644 index 000000000..b7f07084c --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1options_oidc_metadata.rb @@ -0,0 +1,83 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # OpenID Connect Provider Metadata as per + # https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata + class EventStreamCloudEventConnectionDeletedObject1OptionsOidcMetadata < Internal::Types::Model + field :acr_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :authorization_endpoint, -> { String }, optional: false, nullable: false + + field :claim_types_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :claims_locales_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :claims_parameter_supported, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :claims_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :dpop_signing_alg_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :end_session_endpoint, -> { String }, optional: true, nullable: false + + field :grant_types_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :id_token_encryption_alg_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :id_token_encryption_enc_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :id_token_signing_alg_values_supported, -> { Internal::Types::Array[String] }, optional: false, nullable: false + + field :issuer, -> { String }, optional: false, nullable: false + + field :jwks_uri, -> { String }, optional: false, nullable: false + + field :op_policy_uri, -> { String }, optional: true, nullable: false + + field :op_tos_uri, -> { String }, optional: true, nullable: false + + field :registration_endpoint, -> { String }, optional: true, nullable: false + + field :request_object_encryption_alg_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :request_object_encryption_enc_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :request_object_signing_alg_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :request_parameter_supported, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :request_uri_parameter_supported, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :require_request_uri_registration, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :response_modes_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :response_types_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :scopes_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :service_documentation, -> { String }, optional: true, nullable: false + + field :subject_types_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :token_endpoint, -> { String }, optional: true, nullable: false + + field :token_endpoint_auth_methods_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :token_endpoint_auth_signing_alg_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :ui_locales_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :userinfo_encryption_alg_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :userinfo_encryption_enc_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :userinfo_endpoint, -> { String }, optional: true, nullable: false + + field :userinfo_signing_alg_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1options_schema_version_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1options_schema_version_enum.rb new file mode 100644 index 000000000..1eee05515 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1options_schema_version_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject1OptionsSchemaVersionEnum + extend Auth0::Internal::Types::Enum + + OPENID100 = "openid-1.0.0" + OIDC_V4 = "oidc-v4" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1options_set_user_root_attributes_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1options_set_user_root_attributes_enum.rb new file mode 100644 index 000000000..514741c4c --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1options_set_user_root_attributes_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject1OptionsSetUserRootAttributesEnum + extend Auth0::Internal::Types::Enum + + ON_EACH_LOGIN = "on_each_login" + ON_FIRST_LOGIN = "on_first_login" + NEVER_ON_LOGIN = "never_on_login" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1options_token_endpoint_auth_method_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1options_token_endpoint_auth_method_enum.rb new file mode 100644 index 000000000..8090e8d81 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1options_token_endpoint_auth_method_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject1OptionsTokenEndpointAuthMethodEnum + extend Auth0::Internal::Types::Enum + + CLIENT_SECRET_POST = "client_secret_post" + PRIVATE_KEY_JWT = "private_key_jwt" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1options_token_endpoint_auth_signing_alg_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1options_token_endpoint_auth_signing_alg_enum.rb new file mode 100644 index 000000000..55e42e9e7 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1options_token_endpoint_auth_signing_alg_enum.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject1OptionsTokenEndpointAuthSigningAlgEnum + extend Auth0::Internal::Types::Enum + + ES256 = "ES256" + ES384 = "ES384" + PS256 = "PS256" + PS384 = "PS384" + RS256 = "RS256" + RS384 = "RS384" + RS512 = "RS512" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1options_token_endpoint_jwtca_aud_format_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1options_token_endpoint_jwtca_aud_format_enum.rb new file mode 100644 index 000000000..377c0b228 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1options_token_endpoint_jwtca_aud_format_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject1OptionsTokenEndpointJwtcaAudFormatEnum + extend Auth0::Internal::Types::Enum + + ISSUER = "issuer" + TOKEN_ENDPOINT = "token_endpoint" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1options_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1options_type_enum.rb new file mode 100644 index 000000000..35df53ebd --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1options_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject1OptionsTypeEnum + extend Auth0::Internal::Types::Enum + + BACK_CHANNEL = "back_channel" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1options_upstream_params.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1options_upstream_params.rb new file mode 100644 index 000000000..e92858006 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1options_upstream_params.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject1OptionsUpstreamParams + # EventStreamCloudEventConnectionDeletedObject1OptionsUpstreamParams is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1strategy_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1strategy_enum.rb new file mode 100644 index 000000000..597f990eb --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object1strategy_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject1StrategyEnum + extend Auth0::Internal::Types::Enum + + OKTA = "okta" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object2.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object2.rb new file mode 100644 index 000000000..ba5acfb54 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object2.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class EventStreamCloudEventConnectionDeletedObject2 < Internal::Types::Model + field :authentication, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject2Authentication }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject2ConnectedAccounts }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject2Metadata }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject2Options }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject2StrategyEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object2authentication.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object2authentication.rb new file mode 100644 index 000000000..cfacdff69 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object2authentication.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configure the purpose of a connection to be used for authentication during login. + class EventStreamCloudEventConnectionDeletedObject2Authentication < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object2connected_accounts.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object2connected_accounts.rb new file mode 100644 index 000000000..e09930d5a --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object2connected_accounts.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configure the purpose of a connection to be used for connected accounts and Token Vault. + class EventStreamCloudEventConnectionDeletedObject2ConnectedAccounts < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object2metadata.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object2metadata.rb new file mode 100644 index 000000000..e96dfd826 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object2metadata.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Metadata associated with the connection in the form of an object with string values (max 255 chars). Maximum of + # 10 metadata properties allowed. + class EventStreamCloudEventConnectionDeletedObject2Metadata < Internal::Types::Model; end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object2options.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object2options.rb new file mode 100644 index 000000000..72eec5c48 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object2options.rb @@ -0,0 +1,72 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'samlp' connection + class EventStreamCloudEventConnectionDeletedObject2Options < Internal::Types::Model + field :assertion_decryption_settings, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject2OptionsAssertionDecryptionSettings }, optional: true, nullable: false + + field :cert, -> { String }, optional: true, nullable: false + + field :cert_rollover_notification, -> { String }, optional: true, nullable: false + + field :digest_algorithm, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject2OptionsDigestAlgorithmEnum }, optional: true, nullable: false, api_name: "digestAlgorithm" + + field :domain_aliases, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :entity_id, -> { String }, optional: true, nullable: false, api_name: "entityId" + + field :expires, -> { String }, optional: true, nullable: false + + field :icon_url, -> { String }, optional: true, nullable: false + + field :idpinitiated, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject2OptionsIdpinitiated }, optional: true, nullable: false + + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :protocol_binding, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject2OptionsProtocolBindingEnum }, optional: true, nullable: false, api_name: "protocolBinding" + + field :set_user_root_attributes, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject2OptionsSetUserRootAttributesEnum }, optional: true, nullable: false + + field :signature_algorithm, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject2OptionsSignatureAlgorithmEnum }, optional: true, nullable: false, api_name: "signatureAlgorithm" + + field :sign_in_endpoint, -> { String }, optional: true, nullable: false, api_name: "signInEndpoint" + + field :signing_cert, -> { String }, optional: true, nullable: false, api_name: "signingCert" + + field :sign_saml_request, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "signSAMLRequest" + + field :subject, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject2OptionsSubject }, optional: true, nullable: false + + field :tenant_domain, -> { String }, optional: true, nullable: false + + field :thumbprints, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :debug, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :deflate, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :destination_url, -> { String }, optional: true, nullable: false, api_name: "destinationUrl" + + field :disable_signout, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "disableSignout" + + field :fields_map, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false, api_name: "fieldsMap" + + field :global_token_revocation_jwt_iss, -> { String }, optional: true, nullable: false + + field :global_token_revocation_jwt_sub, -> { String }, optional: true, nullable: false + + field :metadata_url, -> { String }, optional: true, nullable: false, api_name: "metadataUrl" + + field :recipient_url, -> { String }, optional: true, nullable: false, api_name: "recipientUrl" + + field :request_template, -> { String }, optional: true, nullable: false, api_name: "requestTemplate" + + field :sign_out_endpoint, -> { String }, optional: true, nullable: false, api_name: "signOutEndpoint" + + field :user_id_attribute, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object2options_assertion_decryption_settings.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object2options_assertion_decryption_settings.rb new file mode 100644 index 000000000..614f34aab --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object2options_assertion_decryption_settings.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Settings for SAML assertion decryption. + class EventStreamCloudEventConnectionDeletedObject2OptionsAssertionDecryptionSettings < Internal::Types::Model + field :algorithm_exceptions, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :algorithm_profile, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject2OptionsAssertionDecryptionSettingsAlgorithmProfileEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object2options_assertion_decryption_settings_a_1d3ce5.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object2options_assertion_decryption_settings_a_1d3ce5.rb new file mode 100644 index 000000000..4fad79d94 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object2options_assertion_decryption_settings_a_1d3ce5.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject2OptionsAssertionDecryptionSettingsAlgorithmProfileEnum + extend Auth0::Internal::Types::Enum + + V20261 = "v2026-1" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object2options_digest_algorithm_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object2options_digest_algorithm_enum.rb new file mode 100644 index 000000000..ba059e6e4 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object2options_digest_algorithm_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject2OptionsDigestAlgorithmEnum + extend Auth0::Internal::Types::Enum + + SHA1 = "sha1" + SHA256 = "sha256" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object2options_fields_map.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object2options_fields_map.rb new file mode 100644 index 000000000..090d3fbe9 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object2options_fields_map.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject2OptionsFieldsMap + # EventStreamCloudEventConnectionDeletedObject2OptionsFieldsMap is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object2options_idpinitiated.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object2options_idpinitiated.rb new file mode 100644 index 000000000..2e9d51799 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object2options_idpinitiated.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configuration for IdP-Initiated SAML Single Sign-On. When enabled, allows users to initiate login directly from + # their SAML identity provider without first visiting Auth0. The IdP must include the connection parameter in the + # post-back URL (Assertion Consumer Service URL). + class EventStreamCloudEventConnectionDeletedObject2OptionsIdpinitiated < Internal::Types::Model + field :client_authorizequery, -> { String }, optional: true, nullable: false + + field :client_id, -> { String }, optional: true, nullable: false + + field :client_protocol, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject2OptionsIdpinitiatedClientProtocolEnum }, optional: true, nullable: false + + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object2options_idpinitiated_client_protocol_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object2options_idpinitiated_client_protocol_enum.rb new file mode 100644 index 000000000..e4f7a36bf --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object2options_idpinitiated_client_protocol_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject2OptionsIdpinitiatedClientProtocolEnum + extend Auth0::Internal::Types::Enum + + OIDC = "oidc" + SAMLP = "samlp" + WSFED = "wsfed" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object2options_protocol_binding_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object2options_protocol_binding_enum.rb new file mode 100644 index 000000000..319e35c47 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object2options_protocol_binding_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject2OptionsProtocolBindingEnum + extend Auth0::Internal::Types::Enum + + URN_OASIS_NAMES_TC_SAML20BINDINGS_HTTP_POST = "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" + URN_OASIS_NAMES_TC_SAML20BINDINGS_HTTP_REDIRECT = "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object2options_set_user_root_attributes_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object2options_set_user_root_attributes_enum.rb new file mode 100644 index 000000000..0814c8d4d --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object2options_set_user_root_attributes_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject2OptionsSetUserRootAttributesEnum + extend Auth0::Internal::Types::Enum + + ON_EACH_LOGIN = "on_each_login" + ON_FIRST_LOGIN = "on_first_login" + NEVER_ON_LOGIN = "never_on_login" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object2options_signature_algorithm_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object2options_signature_algorithm_enum.rb new file mode 100644 index 000000000..b19901855 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object2options_signature_algorithm_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject2OptionsSignatureAlgorithmEnum + extend Auth0::Internal::Types::Enum + + RSA_SHA1 = "rsa-sha1" + RSA_SHA256 = "rsa-sha256" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object2options_subject.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object2options_subject.rb new file mode 100644 index 000000000..7497c6eee --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object2options_subject.rb @@ -0,0 +1,8 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Certificate Subject Distinguished Name (DN) extracted from the identity provider's signing certificate. + class EventStreamCloudEventConnectionDeletedObject2OptionsSubject < Internal::Types::Model; end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object2options_upstream_params.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object2options_upstream_params.rb new file mode 100644 index 000000000..b5a1b8aa1 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object2options_upstream_params.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject2OptionsUpstreamParams + # EventStreamCloudEventConnectionDeletedObject2OptionsUpstreamParams is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object2strategy_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object2strategy_enum.rb new file mode 100644 index 000000000..977f41011 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object2strategy_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject2StrategyEnum + extend Auth0::Internal::Types::Enum + + SAMLP = "samlp" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object3.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object3.rb new file mode 100644 index 000000000..6fa770399 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object3.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class EventStreamCloudEventConnectionDeletedObject3 < Internal::Types::Model + field :authentication, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject3Authentication }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject3ConnectedAccounts }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject3Metadata }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject3Options }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject3StrategyEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object3authentication.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object3authentication.rb new file mode 100644 index 000000000..e262c54bb --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object3authentication.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configure the purpose of a connection to be used for authentication during login. + class EventStreamCloudEventConnectionDeletedObject3Authentication < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object3connected_accounts.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object3connected_accounts.rb new file mode 100644 index 000000000..30cf524f6 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object3connected_accounts.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configure the purpose of a connection to be used for connected accounts and Token Vault. + class EventStreamCloudEventConnectionDeletedObject3ConnectedAccounts < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object3metadata.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object3metadata.rb new file mode 100644 index 000000000..a74765d08 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object3metadata.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Metadata associated with the connection in the form of an object with string values (max 255 chars). Maximum of + # 10 metadata properties allowed. + class EventStreamCloudEventConnectionDeletedObject3Metadata < Internal::Types::Model; end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object3options.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object3options.rb new file mode 100644 index 000000000..2fdeb92f6 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object3options.rb @@ -0,0 +1,50 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'pingfederate' connection + class EventStreamCloudEventConnectionDeletedObject3Options < Internal::Types::Model + field :assertion_decryption_settings, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject3OptionsAssertionDecryptionSettings }, optional: true, nullable: false + + field :cert, -> { String }, optional: true, nullable: false + + field :cert_rollover_notification, -> { String }, optional: true, nullable: false + + field :digest_algorithm, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject3OptionsDigestAlgorithmEnum }, optional: true, nullable: false, api_name: "digestAlgorithm" + + field :domain_aliases, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :entity_id, -> { String }, optional: true, nullable: false, api_name: "entityId" + + field :expires, -> { String }, optional: true, nullable: false + + field :icon_url, -> { String }, optional: true, nullable: false + + field :idpinitiated, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject3OptionsIdpinitiated }, optional: true, nullable: false + + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :protocol_binding, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject3OptionsProtocolBindingEnum }, optional: true, nullable: false, api_name: "protocolBinding" + + field :set_user_root_attributes, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject3OptionsSetUserRootAttributesEnum }, optional: true, nullable: false + + field :signature_algorithm, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject3OptionsSignatureAlgorithmEnum }, optional: true, nullable: false, api_name: "signatureAlgorithm" + + field :sign_in_endpoint, -> { String }, optional: true, nullable: false, api_name: "signInEndpoint" + + field :signing_cert, -> { String }, optional: true, nullable: false, api_name: "signingCert" + + field :sign_saml_request, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "signSAMLRequest" + + field :subject, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject3OptionsSubject }, optional: true, nullable: false + + field :tenant_domain, -> { String }, optional: true, nullable: false + + field :thumbprints, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :ping_federate_base_url, -> { String }, optional: false, nullable: false, api_name: "pingFederateBaseUrl" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object3options_assertion_decryption_settings.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object3options_assertion_decryption_settings.rb new file mode 100644 index 000000000..24b2d30dc --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object3options_assertion_decryption_settings.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Settings for SAML assertion decryption. + class EventStreamCloudEventConnectionDeletedObject3OptionsAssertionDecryptionSettings < Internal::Types::Model + field :algorithm_exceptions, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :algorithm_profile, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject3OptionsAssertionDecryptionSettingsAlgorithmProfileEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object3options_assertion_decryption_settings_a_03ff04.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object3options_assertion_decryption_settings_a_03ff04.rb new file mode 100644 index 000000000..14dc3bc71 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object3options_assertion_decryption_settings_a_03ff04.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject3OptionsAssertionDecryptionSettingsAlgorithmProfileEnum + extend Auth0::Internal::Types::Enum + + V20261 = "v2026-1" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object3options_digest_algorithm_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object3options_digest_algorithm_enum.rb new file mode 100644 index 000000000..ed7516bbd --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object3options_digest_algorithm_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject3OptionsDigestAlgorithmEnum + extend Auth0::Internal::Types::Enum + + SHA1 = "sha1" + SHA256 = "sha256" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object3options_idpinitiated.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object3options_idpinitiated.rb new file mode 100644 index 000000000..56dfc816f --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object3options_idpinitiated.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configuration for IdP-Initiated SAML Single Sign-On. When enabled, allows users to initiate login directly from + # their SAML identity provider without first visiting Auth0. The IdP must include the connection parameter in the + # post-back URL (Assertion Consumer Service URL). + class EventStreamCloudEventConnectionDeletedObject3OptionsIdpinitiated < Internal::Types::Model + field :client_authorizequery, -> { String }, optional: true, nullable: false + + field :client_id, -> { String }, optional: true, nullable: false + + field :client_protocol, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject3OptionsIdpinitiatedClientProtocolEnum }, optional: true, nullable: false + + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object3options_idpinitiated_client_protocol_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object3options_idpinitiated_client_protocol_enum.rb new file mode 100644 index 000000000..44ed53f95 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object3options_idpinitiated_client_protocol_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject3OptionsIdpinitiatedClientProtocolEnum + extend Auth0::Internal::Types::Enum + + OIDC = "oidc" + SAMLP = "samlp" + WSFED = "wsfed" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object3options_protocol_binding_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object3options_protocol_binding_enum.rb new file mode 100644 index 000000000..ca1a6a6d8 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object3options_protocol_binding_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject3OptionsProtocolBindingEnum + extend Auth0::Internal::Types::Enum + + URN_OASIS_NAMES_TC_SAML20BINDINGS_HTTP_POST = "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" + URN_OASIS_NAMES_TC_SAML20BINDINGS_HTTP_REDIRECT = "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object3options_set_user_root_attributes_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object3options_set_user_root_attributes_enum.rb new file mode 100644 index 000000000..66dd3d9f1 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object3options_set_user_root_attributes_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject3OptionsSetUserRootAttributesEnum + extend Auth0::Internal::Types::Enum + + ON_EACH_LOGIN = "on_each_login" + ON_FIRST_LOGIN = "on_first_login" + NEVER_ON_LOGIN = "never_on_login" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object3options_signature_algorithm_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object3options_signature_algorithm_enum.rb new file mode 100644 index 000000000..7b26efa64 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object3options_signature_algorithm_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject3OptionsSignatureAlgorithmEnum + extend Auth0::Internal::Types::Enum + + RSA_SHA1 = "rsa-sha1" + RSA_SHA256 = "rsa-sha256" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object3options_subject.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object3options_subject.rb new file mode 100644 index 000000000..92fd70946 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object3options_subject.rb @@ -0,0 +1,8 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Certificate Subject Distinguished Name (DN) extracted from the identity provider's signing certificate. + class EventStreamCloudEventConnectionDeletedObject3OptionsSubject < Internal::Types::Model; end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object3options_upstream_params.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object3options_upstream_params.rb new file mode 100644 index 000000000..5fa5feab1 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object3options_upstream_params.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject3OptionsUpstreamParams + # EventStreamCloudEventConnectionDeletedObject3OptionsUpstreamParams is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object3strategy_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object3strategy_enum.rb new file mode 100644 index 000000000..2479c1ad0 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object3strategy_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject3StrategyEnum + extend Auth0::Internal::Types::Enum + + PINGFEDERATE = "pingfederate" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object4.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object4.rb new file mode 100644 index 000000000..45d6efbf1 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object4.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class EventStreamCloudEventConnectionDeletedObject4 < Internal::Types::Model + field :authentication, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject4Authentication }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject4ConnectedAccounts }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject4Metadata }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject4Options }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject4StrategyEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object4authentication.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object4authentication.rb new file mode 100644 index 000000000..45b122f52 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object4authentication.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configure the purpose of a connection to be used for authentication during login. + class EventStreamCloudEventConnectionDeletedObject4Authentication < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object4connected_accounts.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object4connected_accounts.rb new file mode 100644 index 000000000..655dc91f3 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object4connected_accounts.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configure the purpose of a connection to be used for connected accounts and Token Vault. + class EventStreamCloudEventConnectionDeletedObject4ConnectedAccounts < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object4metadata.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object4metadata.rb new file mode 100644 index 000000000..d40699e7c --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object4metadata.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Metadata associated with the connection in the form of an object with string values (max 255 chars). Maximum of + # 10 metadata properties allowed. + class EventStreamCloudEventConnectionDeletedObject4Metadata < Internal::Types::Model; end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object4options.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object4options.rb new file mode 100644 index 000000000..70b481d62 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object4options.rb @@ -0,0 +1,38 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'adfs' connection + class EventStreamCloudEventConnectionDeletedObject4Options < Internal::Types::Model + field :adfs_server, -> { String }, optional: true, nullable: false + + field :cert_rollover_notification, -> { String }, optional: true, nullable: false + + field :domain_aliases, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :entity_id, -> { String }, optional: true, nullable: false, api_name: "entityId" + + field :fed_metadata_xml, -> { String }, optional: true, nullable: false, api_name: "fedMetadataXml" + + field :icon_url, -> { String }, optional: true, nullable: false + + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :prev_thumbprints, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject4OptionsSetUserRootAttributesEnum }, optional: true, nullable: false + + field :should_trust_email_verified_connection, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject4OptionsShouldTrustEmailVerifiedConnectionEnum }, optional: true, nullable: false + + field :sign_in_endpoint, -> { String }, optional: true, nullable: false, api_name: "signInEndpoint" + + field :tenant_domain, -> { String }, optional: true, nullable: false + + field :thumbprints, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :user_id_attribute, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object4options_set_user_root_attributes_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object4options_set_user_root_attributes_enum.rb new file mode 100644 index 000000000..92708dd7f --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object4options_set_user_root_attributes_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject4OptionsSetUserRootAttributesEnum + extend Auth0::Internal::Types::Enum + + ON_EACH_LOGIN = "on_each_login" + ON_FIRST_LOGIN = "on_first_login" + NEVER_ON_LOGIN = "never_on_login" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object4options_should_trust_email_verified_con_b74f01.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object4options_should_trust_email_verified_con_b74f01.rb new file mode 100644 index 000000000..e4ee6f07e --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object4options_should_trust_email_verified_con_b74f01.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject4OptionsShouldTrustEmailVerifiedConnectionEnum + extend Auth0::Internal::Types::Enum + + NEVER_SET_EMAILS_AS_VERIFIED = "never_set_emails_as_verified" + ALWAYS_SET_EMAILS_AS_VERIFIED = "always_set_emails_as_verified" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object4options_upstream_params.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object4options_upstream_params.rb new file mode 100644 index 000000000..2f38374a2 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object4options_upstream_params.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject4OptionsUpstreamParams + # EventStreamCloudEventConnectionDeletedObject4OptionsUpstreamParams is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object4strategy_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object4strategy_enum.rb new file mode 100644 index 000000000..6b832abe9 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object4strategy_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject4StrategyEnum + extend Auth0::Internal::Types::Enum + + ADFS = "adfs" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object5.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object5.rb new file mode 100644 index 000000000..7cf055df3 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object5.rb @@ -0,0 +1,29 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class EventStreamCloudEventConnectionDeletedObject5 < Internal::Types::Model + field :authentication, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject5Authentication }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject5ConnectedAccounts }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject5Metadata }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject5Options }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject5StrategyEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object5authentication.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object5authentication.rb new file mode 100644 index 000000000..884ea0220 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object5authentication.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configure the purpose of a connection to be used for authentication during login. + class EventStreamCloudEventConnectionDeletedObject5Authentication < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object5connected_accounts.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object5connected_accounts.rb new file mode 100644 index 000000000..ef3a99ba9 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object5connected_accounts.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configure the purpose of a connection to be used for connected accounts and Token Vault. + class EventStreamCloudEventConnectionDeletedObject5ConnectedAccounts < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object5metadata.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object5metadata.rb new file mode 100644 index 000000000..7a83198cc --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object5metadata.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Metadata associated with the connection in the form of an object with string values (max 255 chars). Maximum of + # 10 metadata properties allowed. + class EventStreamCloudEventConnectionDeletedObject5Metadata < Internal::Types::Model; end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object5options.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object5options.rb new file mode 100644 index 000000000..3a8652ac6 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object5options.rb @@ -0,0 +1,44 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'ad' connection + class EventStreamCloudEventConnectionDeletedObject5Options < Internal::Types::Model + field :agent_ip, -> { String }, optional: true, nullable: false, api_name: "agentIP" + + field :agent_mode, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "agentMode" + + field :agent_version, -> { String }, optional: true, nullable: false, api_name: "agentVersion" + + field :brute_force_protection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :cert_auth, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "certAuth" + + field :certs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :disable_cache, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :disable_self_service_change_password, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :domain_aliases, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :icon_url, -> { String }, optional: true, nullable: false + + field :ips, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :kerberos, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject5OptionsSetUserRootAttributesEnum }, optional: true, nullable: false + + field :sign_in_endpoint, -> { String }, optional: true, nullable: false, api_name: "signInEndpoint" + + field :tenant_domain, -> { String }, optional: true, nullable: false + + field :thumbprints, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object5options_set_user_root_attributes_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object5options_set_user_root_attributes_enum.rb new file mode 100644 index 000000000..8719a96d8 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object5options_set_user_root_attributes_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject5OptionsSetUserRootAttributesEnum + extend Auth0::Internal::Types::Enum + + ON_EACH_LOGIN = "on_each_login" + ON_FIRST_LOGIN = "on_first_login" + NEVER_ON_LOGIN = "never_on_login" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object5options_upstream_params.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object5options_upstream_params.rb new file mode 100644 index 000000000..08c7c77a6 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object5options_upstream_params.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject5OptionsUpstreamParams + # EventStreamCloudEventConnectionDeletedObject5OptionsUpstreamParams is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object5strategy_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object5strategy_enum.rb new file mode 100644 index 000000000..c6086865f --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object5strategy_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject5StrategyEnum + extend Auth0::Internal::Types::Enum + + AD = "ad" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object6.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object6.rb new file mode 100644 index 000000000..0a73c83e5 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object6.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class EventStreamCloudEventConnectionDeletedObject6 < Internal::Types::Model + field :authentication, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject6Authentication }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject6ConnectedAccounts }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject6Metadata }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject6Options }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject6StrategyEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object6authentication.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object6authentication.rb new file mode 100644 index 000000000..da9efd6d5 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object6authentication.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configure the purpose of a connection to be used for authentication during login. + class EventStreamCloudEventConnectionDeletedObject6Authentication < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object6connected_accounts.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object6connected_accounts.rb new file mode 100644 index 000000000..6f7d77719 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object6connected_accounts.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configure the purpose of a connection to be used for connected accounts and Token Vault. + class EventStreamCloudEventConnectionDeletedObject6ConnectedAccounts < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object6metadata.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object6metadata.rb new file mode 100644 index 000000000..092d91a91 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object6metadata.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Metadata associated with the connection in the form of an object with string values (max 255 chars). Maximum of + # 10 metadata properties allowed. + class EventStreamCloudEventConnectionDeletedObject6Metadata < Internal::Types::Model; end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object6options.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object6options.rb new file mode 100644 index 000000000..aa8fc933a --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object6options.rb @@ -0,0 +1,54 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'google-apps' connection + class EventStreamCloudEventConnectionDeletedObject6Options < Internal::Types::Model + field :admin_access_token_expiresin, -> { String }, optional: true, nullable: false + + field :allow_setting_login_scopes, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :api_enable_groups, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :api_enable_users, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :client_id, -> { String }, optional: false, nullable: false + + field :domain, -> { String }, optional: true, nullable: false + + field :domain_aliases, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :email, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_agreed_terms, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_groups, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_groups_extended, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_is_admin, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_is_suspended, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :federated_connections_access_tokens, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject6OptionsFederatedConnectionsAccessTokens }, optional: true, nullable: false + + field :handle_login_from_social, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :icon_url, -> { String }, optional: true, nullable: false + + field :map_user_id_to_id, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :profile, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :scope, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject6OptionsSetUserRootAttributesEnum }, optional: true, nullable: false + + field :tenant_domain, -> { String }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object6options_federated_connections_access_tokens.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object6options_federated_connections_access_tokens.rb new file mode 100644 index 000000000..ae9e4acd3 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object6options_federated_connections_access_tokens.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configuration for storing identity provider tokens in Auth0's Token Vault. When active, Auth0 securely stores + # access and refresh tokens from federated logins, enabling your application to make authenticated API calls on + # behalf of users. + class EventStreamCloudEventConnectionDeletedObject6OptionsFederatedConnectionsAccessTokens < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object6options_set_user_root_attributes_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object6options_set_user_root_attributes_enum.rb new file mode 100644 index 000000000..482a3e633 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object6options_set_user_root_attributes_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject6OptionsSetUserRootAttributesEnum + extend Auth0::Internal::Types::Enum + + ON_EACH_LOGIN = "on_each_login" + ON_FIRST_LOGIN = "on_first_login" + NEVER_ON_LOGIN = "never_on_login" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object6options_upstream_params.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object6options_upstream_params.rb new file mode 100644 index 000000000..69c0fd009 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object6options_upstream_params.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject6OptionsUpstreamParams + # EventStreamCloudEventConnectionDeletedObject6OptionsUpstreamParams is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object6strategy_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object6strategy_enum.rb new file mode 100644 index 000000000..001eb074e --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object6strategy_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject6StrategyEnum + extend Auth0::Internal::Types::Enum + + GOOGLE_APPS = "google-apps" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object7.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object7.rb new file mode 100644 index 000000000..9e47e2529 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object7.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class EventStreamCloudEventConnectionDeletedObject7 < Internal::Types::Model + field :authentication, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject7Authentication }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject7ConnectedAccounts }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject7Metadata }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject7Options }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject7StrategyEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object7authentication.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object7authentication.rb new file mode 100644 index 000000000..d1b7589c9 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object7authentication.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configure the purpose of a connection to be used for authentication during login. + class EventStreamCloudEventConnectionDeletedObject7Authentication < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object7connected_accounts.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object7connected_accounts.rb new file mode 100644 index 000000000..78b07608c --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object7connected_accounts.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configure the purpose of a connection to be used for connected accounts and Token Vault. + class EventStreamCloudEventConnectionDeletedObject7ConnectedAccounts < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object7metadata.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object7metadata.rb new file mode 100644 index 000000000..f9410a015 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object7metadata.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Metadata associated with the connection in the form of an object with string values (max 255 chars). Maximum of + # 10 metadata properties allowed. + class EventStreamCloudEventConnectionDeletedObject7Metadata < Internal::Types::Model; end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object7options.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object7options.rb new file mode 100644 index 000000000..10e7140f0 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object7options.rb @@ -0,0 +1,64 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'waad' connection + class EventStreamCloudEventConnectionDeletedObject7Options < Internal::Types::Model + field :api_enable_users, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :app_domain, -> { String }, optional: true, nullable: false + + field :app_id, -> { String }, optional: true, nullable: false + + field :basic_profile, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :cert_rollover_notification, -> { String }, optional: true, nullable: false + + field :client_id, -> { String }, optional: false, nullable: false + + field :domain, -> { String }, optional: true, nullable: false + + field :domain_aliases, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :ext_groups, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_nested_groups, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_profile, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :federated_connections_access_tokens, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject7OptionsFederatedConnectionsAccessTokens }, optional: true, nullable: false + + field :granted, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :icon_url, -> { String }, optional: true, nullable: false + + field :identity_api, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject7OptionsIdentityAPIEnum }, optional: true, nullable: false + + field :max_groups_to_retrieve, -> { String }, optional: true, nullable: false + + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :scope, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject7OptionsSetUserRootAttributesEnum }, optional: true, nullable: false + + field :should_trust_email_verified_connection, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject7OptionsShouldTrustEmailVerifiedConnectionEnum }, optional: true, nullable: false + + field :tenant_domain, -> { String }, optional: true, nullable: false + + field :tenant_id, -> { String }, optional: true, nullable: false, api_name: "tenantId" + + field :thumbprints, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :use_wsfed, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :use_common_endpoint, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "useCommonEndpoint" + + field :userid_attribute, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject7OptionsUseridAttributeEnum }, optional: true, nullable: false + + field :waad_protocol, -> { Auth0::Types::EventStreamCloudEventConnectionDeletedObject7OptionsWaadProtocolEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object7options_federated_connections_access_tokens.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object7options_federated_connections_access_tokens.rb new file mode 100644 index 000000000..71afb5d30 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object7options_federated_connections_access_tokens.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configuration for storing identity provider tokens in Auth0's Token Vault. When active, Auth0 securely stores + # access and refresh tokens from federated logins, enabling your application to make authenticated API calls on + # behalf of users. + class EventStreamCloudEventConnectionDeletedObject7OptionsFederatedConnectionsAccessTokens < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object7options_identity_api_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object7options_identity_api_enum.rb new file mode 100644 index 000000000..8089adbb2 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object7options_identity_api_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject7OptionsIdentityAPIEnum + extend Auth0::Internal::Types::Enum + + MICROSOFT_IDENTITY_PLATFORM_V20 = "microsoft-identity-platform-v2.0" + AZURE_ACTIVE_DIRECTORY_V10 = "azure-active-directory-v1.0" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object7options_set_user_root_attributes_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object7options_set_user_root_attributes_enum.rb new file mode 100644 index 000000000..80e9a9a97 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object7options_set_user_root_attributes_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject7OptionsSetUserRootAttributesEnum + extend Auth0::Internal::Types::Enum + + ON_EACH_LOGIN = "on_each_login" + ON_FIRST_LOGIN = "on_first_login" + NEVER_ON_LOGIN = "never_on_login" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object7options_should_trust_email_verified_con_0c40ad.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object7options_should_trust_email_verified_con_0c40ad.rb new file mode 100644 index 000000000..cb2eb230f --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object7options_should_trust_email_verified_con_0c40ad.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject7OptionsShouldTrustEmailVerifiedConnectionEnum + extend Auth0::Internal::Types::Enum + + NEVER_SET_EMAILS_AS_VERIFIED = "never_set_emails_as_verified" + ALWAYS_SET_EMAILS_AS_VERIFIED = "always_set_emails_as_verified" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object7options_tenant_domain_one.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object7options_tenant_domain_one.rb new file mode 100644 index 000000000..f31f00df3 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object7options_tenant_domain_one.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject7OptionsTenantDomainOne + # EventStreamCloudEventConnectionDeletedObject7OptionsTenantDomainOne is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object7options_upstream_params.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object7options_upstream_params.rb new file mode 100644 index 000000000..ff31f69ac --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object7options_upstream_params.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject7OptionsUpstreamParams + # EventStreamCloudEventConnectionDeletedObject7OptionsUpstreamParams is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object7options_userid_attribute_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object7options_userid_attribute_enum.rb new file mode 100644 index 000000000..5c329d493 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object7options_userid_attribute_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject7OptionsUseridAttributeEnum + extend Auth0::Internal::Types::Enum + + OID = "oid" + SUB = "sub" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object7options_waad_protocol_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object7options_waad_protocol_enum.rb new file mode 100644 index 000000000..3776605b0 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object7options_waad_protocol_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject7OptionsWaadProtocolEnum + extend Auth0::Internal::Types::Enum + + WS_FEDERATION = "ws-federation" + OPENID_CONNECT = "openid-connect" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_object7strategy_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object7strategy_enum.rb new file mode 100644 index 000000000..d0e883726 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_object7strategy_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedObject7StrategyEnum + extend Auth0::Internal::Types::Enum + + WAAD = "waad" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_deleted_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_deleted_type_enum.rb new file mode 100644 index 000000000..168331338 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_deleted_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionDeletedTypeEnum + extend Auth0::Internal::Types::Enum + + CONNECTION_DELETED = "connection.deleted" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated.rb new file mode 100644 index 000000000..d1ee1cac5 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # SSE message for connection.updated. + class EventStreamCloudEventConnectionUpdated < Internal::Types::Model + field :offset, -> { String }, optional: false, nullable: false + + field :event, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedCloudEvent }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_cloud_event.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_cloud_event.rb new file mode 100644 index 000000000..113897a20 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_cloud_event.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Represents an event that occurs when a connection is updated. + class EventStreamCloudEventConnectionUpdatedCloudEvent < Internal::Types::Model + field :specversion, -> { Auth0::Types::EventStreamCloudEventSpecVersionEnum }, optional: false, nullable: false + + field :type, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedCloudEventTypeEnum }, optional: false, nullable: false + + field :source, -> { String }, optional: false, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :time, -> { String }, optional: false, nullable: false + + field :data, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedData }, optional: false, nullable: false + + field :a0tenant, -> { String }, optional: false, nullable: false + + field :a0stream, -> { String }, optional: false, nullable: false + + field :a0purpose, -> { Auth0::Types::EventStreamCloudEventA0PurposeEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_cloud_event_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_cloud_event_type_enum.rb new file mode 100644 index 000000000..d71b9d752 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_cloud_event_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedCloudEventTypeEnum + extend Auth0::Internal::Types::Enum + + CONNECTION_UPDATED = "connection.updated" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_data.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_data.rb new file mode 100644 index 000000000..1f08d8eab --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_data.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The event payload. + class EventStreamCloudEventConnectionUpdatedData < Internal::Types::Model + field :object, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject }, optional: false, nullable: false + + field :context, -> { Auth0::Types::EventStreamCloudEventContext }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object.rb new file mode 100644 index 000000000..60844c91d --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The event content. + class EventStreamCloudEventConnectionUpdatedObject < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject0 } + + member -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject1 } + + member -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject2 } + + member -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject3 } + + member -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject4 } + + member -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject5 } + + member -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject6 } + + member -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject7 } + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object0.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object0.rb new file mode 100644 index 000000000..f7bb1d7cd --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object0.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class EventStreamCloudEventConnectionUpdatedObject0 < Internal::Types::Model + field :authentication, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject0Authentication }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject0Metadata }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject0ConnectedAccounts }, optional: true, nullable: false + + field :options, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject0Options }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject0StrategyEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object0authentication.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object0authentication.rb new file mode 100644 index 000000000..f721755a5 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object0authentication.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configure the purpose of a connection to be used for authentication during login. + class EventStreamCloudEventConnectionUpdatedObject0Authentication < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object0connected_accounts.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object0connected_accounts.rb new file mode 100644 index 000000000..fc04bf9c7 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object0connected_accounts.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configure the purpose of a connection to be used for connected accounts and Token Vault. + class EventStreamCloudEventConnectionUpdatedObject0ConnectedAccounts < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + + field :cross_app_access, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object0metadata.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object0metadata.rb new file mode 100644 index 000000000..f36fd2b33 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object0metadata.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Metadata associated with the connection in the form of an object with string values (max 255 chars). Maximum of + # 10 metadata properties allowed. + class EventStreamCloudEventConnectionUpdatedObject0Metadata < Internal::Types::Model; end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object0options.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object0options.rb new file mode 100644 index 000000000..6668e2a74 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object0options.rb @@ -0,0 +1,62 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'oidc' connection + class EventStreamCloudEventConnectionUpdatedObject0Options < Internal::Types::Model + field :authorization_endpoint, -> { String }, optional: true, nullable: false + + field :client_id, -> { String }, optional: false, nullable: false + + field :connection_settings, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject0OptionsConnectionSettings }, optional: true, nullable: false + + field :domain_aliases, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :dpop_signing_alg, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject0OptionsDpopSigningAlgEnum }, optional: true, nullable: false + + field :federated_connections_access_tokens, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject0OptionsFederatedConnectionsAccessTokens }, optional: true, nullable: false + + field :icon_url, -> { String }, optional: true, nullable: false + + field :id_token_session_expiry_supported, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :id_token_signed_response_algs, -> { Internal::Types::Array[Auth0::Types::EventStreamCloudEventConnectionUpdatedObject0OptionsIDTokenSignedResponseAlgsItemEnum] }, optional: true, nullable: false + + field :issuer, -> { String }, optional: true, nullable: false + + field :jwks_uri, -> { String }, optional: true, nullable: false + + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :oidc_metadata, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject0OptionsOidcMetadata }, optional: true, nullable: false + + field :schema_version, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject0OptionsSchemaVersionEnum }, optional: true, nullable: false + + field :scope, -> { String }, optional: true, nullable: false + + field :send_back_channel_nonce, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject0OptionsSetUserRootAttributesEnum }, optional: true, nullable: false + + field :tenant_domain, -> { String }, optional: true, nullable: false + + field :token_endpoint, -> { String }, optional: true, nullable: false + + field :token_endpoint_auth_method, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject0OptionsTokenEndpointAuthMethodEnum }, optional: true, nullable: false + + field :token_endpoint_auth_signing_alg, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject0OptionsTokenEndpointAuthSigningAlgEnum }, optional: true, nullable: false + + field :token_endpoint_jwtca_aud_format, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject0OptionsTokenEndpointJwtcaAudFormatEnum }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :userinfo_endpoint, -> { String }, optional: true, nullable: false + + field :attribute_map, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject0OptionsAttributeMap }, optional: true, nullable: false + + field :discovery_url, -> { String }, optional: true, nullable: false + + field :type, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject0OptionsTypeEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object0options_attribute_map.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object0options_attribute_map.rb new file mode 100644 index 000000000..72e22625b --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object0options_attribute_map.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configuration for mapping claims from the identity provider to Auth0 user profile attributes. Allows customizing + # which IdP claims populate user fields and how they are transformed. + class EventStreamCloudEventConnectionUpdatedObject0OptionsAttributeMap < Internal::Types::Model + field :attributes, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :userinfo_scope, -> { String }, optional: true, nullable: false + + field :mapping_mode, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject0OptionsAttributeMapMappingModeEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object0options_attribute_map_attributes.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object0options_attribute_map_attributes.rb new file mode 100644 index 000000000..b3a17420f --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object0options_attribute_map_attributes.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject0OptionsAttributeMapAttributes + # EventStreamCloudEventConnectionUpdatedObject0OptionsAttributeMapAttributes is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object0options_attribute_map_mapping_mode_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object0options_attribute_map_mapping_mode_enum.rb new file mode 100644 index 000000000..1e0e22ff8 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object0options_attribute_map_mapping_mode_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject0OptionsAttributeMapMappingModeEnum + extend Auth0::Internal::Types::Enum + + BIND_ALL = "bind_all" + USE_MAP = "use_map" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object0options_connection_settings.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object0options_connection_settings.rb new file mode 100644 index 000000000..1a2d15649 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object0options_connection_settings.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # OAuth 2.0 PKCE (Proof Key for Code Exchange) settings. PKCE enhances security for public clients by preventing + # authorization code interception attacks. 'auto' (recommended) uses the strongest method supported by the IdP. + class EventStreamCloudEventConnectionUpdatedObject0OptionsConnectionSettings < Internal::Types::Model + field :pkce, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject0OptionsConnectionSettingsPkceEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object0options_connection_settings_pkce_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object0options_connection_settings_pkce_enum.rb new file mode 100644 index 000000000..6f4ec8b51 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object0options_connection_settings_pkce_enum.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject0OptionsConnectionSettingsPkceEnum + extend Auth0::Internal::Types::Enum + + AUTO = "auto" + S256 = "S256" + PLAIN = "plain" + DISABLED = "disabled" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object0options_dpop_signing_alg_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object0options_dpop_signing_alg_enum.rb new file mode 100644 index 000000000..c5233b35f --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object0options_dpop_signing_alg_enum.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject0OptionsDpopSigningAlgEnum + extend Auth0::Internal::Types::Enum + + ES256 = "ES256" + ES384 = "ES384" + ES512 = "ES512" + ED25519 = "Ed25519" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object0options_federated_connections_access_tokens.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object0options_federated_connections_access_tokens.rb new file mode 100644 index 000000000..2204fc7af --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object0options_federated_connections_access_tokens.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configuration for storing identity provider tokens in Auth0's Token Vault. When active, Auth0 securely stores + # access and refresh tokens from federated logins, enabling your application to make authenticated API calls on + # behalf of users. + class EventStreamCloudEventConnectionUpdatedObject0OptionsFederatedConnectionsAccessTokens < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object0options_id_token_signed_response_algs_i_5fe7b1.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object0options_id_token_signed_response_algs_i_5fe7b1.rb new file mode 100644 index 000000000..ebbee725a --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object0options_id_token_signed_response_algs_i_5fe7b1.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject0OptionsIDTokenSignedResponseAlgsItemEnum + extend Auth0::Internal::Types::Enum + + ES256 = "ES256" + ES384 = "ES384" + PS256 = "PS256" + PS384 = "PS384" + RS256 = "RS256" + RS384 = "RS384" + RS512 = "RS512" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object0options_oidc_metadata.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object0options_oidc_metadata.rb new file mode 100644 index 000000000..ee2f5a6a1 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object0options_oidc_metadata.rb @@ -0,0 +1,83 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # OpenID Connect Provider Metadata as per + # https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata + class EventStreamCloudEventConnectionUpdatedObject0OptionsOidcMetadata < Internal::Types::Model + field :acr_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :authorization_endpoint, -> { String }, optional: false, nullable: false + + field :claim_types_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :claims_locales_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :claims_parameter_supported, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :claims_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :dpop_signing_alg_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :end_session_endpoint, -> { String }, optional: true, nullable: false + + field :grant_types_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :id_token_encryption_alg_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :id_token_encryption_enc_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :id_token_signing_alg_values_supported, -> { Internal::Types::Array[String] }, optional: false, nullable: false + + field :issuer, -> { String }, optional: false, nullable: false + + field :jwks_uri, -> { String }, optional: false, nullable: false + + field :op_policy_uri, -> { String }, optional: true, nullable: false + + field :op_tos_uri, -> { String }, optional: true, nullable: false + + field :registration_endpoint, -> { String }, optional: true, nullable: false + + field :request_object_encryption_alg_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :request_object_encryption_enc_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :request_object_signing_alg_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :request_parameter_supported, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :request_uri_parameter_supported, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :require_request_uri_registration, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :response_modes_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :response_types_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :scopes_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :service_documentation, -> { String }, optional: true, nullable: false + + field :subject_types_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :token_endpoint, -> { String }, optional: true, nullable: false + + field :token_endpoint_auth_methods_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :token_endpoint_auth_signing_alg_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :ui_locales_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :userinfo_encryption_alg_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :userinfo_encryption_enc_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :userinfo_endpoint, -> { String }, optional: true, nullable: false + + field :userinfo_signing_alg_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object0options_schema_version_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object0options_schema_version_enum.rb new file mode 100644 index 000000000..f4c134011 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object0options_schema_version_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject0OptionsSchemaVersionEnum + extend Auth0::Internal::Types::Enum + + OPENID100 = "openid-1.0.0" + OIDC_V4 = "oidc-v4" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object0options_set_user_root_attributes_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object0options_set_user_root_attributes_enum.rb new file mode 100644 index 000000000..b4e2eaeb6 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object0options_set_user_root_attributes_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject0OptionsSetUserRootAttributesEnum + extend Auth0::Internal::Types::Enum + + ON_EACH_LOGIN = "on_each_login" + ON_FIRST_LOGIN = "on_first_login" + NEVER_ON_LOGIN = "never_on_login" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object0options_token_endpoint_auth_method_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object0options_token_endpoint_auth_method_enum.rb new file mode 100644 index 000000000..b1973819d --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object0options_token_endpoint_auth_method_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject0OptionsTokenEndpointAuthMethodEnum + extend Auth0::Internal::Types::Enum + + CLIENT_SECRET_POST = "client_secret_post" + PRIVATE_KEY_JWT = "private_key_jwt" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object0options_token_endpoint_auth_signing_alg_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object0options_token_endpoint_auth_signing_alg_enum.rb new file mode 100644 index 000000000..9ea54ecb5 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object0options_token_endpoint_auth_signing_alg_enum.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject0OptionsTokenEndpointAuthSigningAlgEnum + extend Auth0::Internal::Types::Enum + + ES256 = "ES256" + ES384 = "ES384" + PS256 = "PS256" + PS384 = "PS384" + RS256 = "RS256" + RS384 = "RS384" + RS512 = "RS512" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object0options_token_endpoint_jwtca_aud_format_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object0options_token_endpoint_jwtca_aud_format_enum.rb new file mode 100644 index 000000000..43b930e8f --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object0options_token_endpoint_jwtca_aud_format_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject0OptionsTokenEndpointJwtcaAudFormatEnum + extend Auth0::Internal::Types::Enum + + ISSUER = "issuer" + TOKEN_ENDPOINT = "token_endpoint" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object0options_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object0options_type_enum.rb new file mode 100644 index 000000000..d7061bd2f --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object0options_type_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject0OptionsTypeEnum + extend Auth0::Internal::Types::Enum + + BACK_CHANNEL = "back_channel" + FRONT_CHANNEL = "front_channel" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object0options_upstream_params.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object0options_upstream_params.rb new file mode 100644 index 000000000..a4bb96e62 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object0options_upstream_params.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject0OptionsUpstreamParams + # EventStreamCloudEventConnectionUpdatedObject0OptionsUpstreamParams is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object0strategy_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object0strategy_enum.rb new file mode 100644 index 000000000..1e806c3c8 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object0strategy_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject0StrategyEnum + extend Auth0::Internal::Types::Enum + + OIDC = "oidc" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object1.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object1.rb new file mode 100644 index 000000000..c5a74c601 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object1.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class EventStreamCloudEventConnectionUpdatedObject1 < Internal::Types::Model + field :authentication, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject1Authentication }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject1ConnectedAccounts }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject1Metadata }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject1Options }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject1StrategyEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object1authentication.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object1authentication.rb new file mode 100644 index 000000000..2111d4fae --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object1authentication.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configure the purpose of a connection to be used for authentication during login. + class EventStreamCloudEventConnectionUpdatedObject1Authentication < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object1connected_accounts.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object1connected_accounts.rb new file mode 100644 index 000000000..27b81f0c7 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object1connected_accounts.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configure the purpose of a connection to be used for connected accounts and Token Vault. + class EventStreamCloudEventConnectionUpdatedObject1ConnectedAccounts < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object1metadata.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object1metadata.rb new file mode 100644 index 000000000..c03396dfc --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object1metadata.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Metadata associated with the connection in the form of an object with string values (max 255 chars). Maximum of + # 10 metadata properties allowed. + class EventStreamCloudEventConnectionUpdatedObject1Metadata < Internal::Types::Model; end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object1options.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object1options.rb new file mode 100644 index 000000000..8b7c514a0 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object1options.rb @@ -0,0 +1,62 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'okta' connection + class EventStreamCloudEventConnectionUpdatedObject1Options < Internal::Types::Model + field :authorization_endpoint, -> { String }, optional: true, nullable: false + + field :client_id, -> { String }, optional: false, nullable: false + + field :connection_settings, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject1OptionsConnectionSettings }, optional: true, nullable: false + + field :domain_aliases, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :dpop_signing_alg, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject1OptionsDpopSigningAlgEnum }, optional: true, nullable: false + + field :federated_connections_access_tokens, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject1OptionsFederatedConnectionsAccessTokens }, optional: true, nullable: false + + field :icon_url, -> { String }, optional: true, nullable: false + + field :id_token_session_expiry_supported, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :id_token_signed_response_algs, -> { Internal::Types::Array[Auth0::Types::EventStreamCloudEventConnectionUpdatedObject1OptionsIDTokenSignedResponseAlgsItemEnum] }, optional: true, nullable: false + + field :issuer, -> { String }, optional: true, nullable: false + + field :jwks_uri, -> { String }, optional: true, nullable: false + + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :oidc_metadata, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject1OptionsOidcMetadata }, optional: true, nullable: false + + field :schema_version, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject1OptionsSchemaVersionEnum }, optional: true, nullable: false + + field :scope, -> { String }, optional: true, nullable: false + + field :send_back_channel_nonce, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject1OptionsSetUserRootAttributesEnum }, optional: true, nullable: false + + field :tenant_domain, -> { String }, optional: true, nullable: false + + field :token_endpoint, -> { String }, optional: true, nullable: false + + field :token_endpoint_auth_method, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject1OptionsTokenEndpointAuthMethodEnum }, optional: true, nullable: false + + field :token_endpoint_auth_signing_alg, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject1OptionsTokenEndpointAuthSigningAlgEnum }, optional: true, nullable: false + + field :token_endpoint_jwtca_aud_format, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject1OptionsTokenEndpointJwtcaAudFormatEnum }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :userinfo_endpoint, -> { String }, optional: true, nullable: false + + field :attribute_map, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject1OptionsAttributeMap }, optional: true, nullable: false + + field :domain, -> { String }, optional: true, nullable: false + + field :type, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject1OptionsTypeEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object1options_attribute_map.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object1options_attribute_map.rb new file mode 100644 index 000000000..06eec930b --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object1options_attribute_map.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Mapping of claims received from the identity provider (IdP) + class EventStreamCloudEventConnectionUpdatedObject1OptionsAttributeMap < Internal::Types::Model + field :attributes, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :userinfo_scope, -> { String }, optional: true, nullable: false + + field :mapping_mode, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject1OptionsAttributeMapMappingModeEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object1options_attribute_map_attributes.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object1options_attribute_map_attributes.rb new file mode 100644 index 000000000..666e77eab --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object1options_attribute_map_attributes.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject1OptionsAttributeMapAttributes + # EventStreamCloudEventConnectionUpdatedObject1OptionsAttributeMapAttributes is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object1options_attribute_map_mapping_mode_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object1options_attribute_map_mapping_mode_enum.rb new file mode 100644 index 000000000..4ff327fc3 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object1options_attribute_map_mapping_mode_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject1OptionsAttributeMapMappingModeEnum + extend Auth0::Internal::Types::Enum + + BASIC_PROFILE = "basic_profile" + USE_MAP = "use_map" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object1options_connection_settings.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object1options_connection_settings.rb new file mode 100644 index 000000000..3a4aa4e11 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object1options_connection_settings.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # OAuth 2.0 PKCE (Proof Key for Code Exchange) settings. PKCE enhances security for public clients by preventing + # authorization code interception attacks. 'auto' (recommended) uses the strongest method supported by the IdP. + class EventStreamCloudEventConnectionUpdatedObject1OptionsConnectionSettings < Internal::Types::Model + field :pkce, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject1OptionsConnectionSettingsPkceEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object1options_connection_settings_pkce_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object1options_connection_settings_pkce_enum.rb new file mode 100644 index 000000000..509d129b3 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object1options_connection_settings_pkce_enum.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject1OptionsConnectionSettingsPkceEnum + extend Auth0::Internal::Types::Enum + + AUTO = "auto" + S256 = "S256" + PLAIN = "plain" + DISABLED = "disabled" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object1options_dpop_signing_alg_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object1options_dpop_signing_alg_enum.rb new file mode 100644 index 000000000..25f614ce7 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object1options_dpop_signing_alg_enum.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject1OptionsDpopSigningAlgEnum + extend Auth0::Internal::Types::Enum + + ES256 = "ES256" + ES384 = "ES384" + ES512 = "ES512" + ED25519 = "Ed25519" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object1options_federated_connections_access_tokens.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object1options_federated_connections_access_tokens.rb new file mode 100644 index 000000000..9f64a819e --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object1options_federated_connections_access_tokens.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configuration for storing identity provider tokens in Auth0's Token Vault. When active, Auth0 securely stores + # access and refresh tokens from federated logins, enabling your application to make authenticated API calls on + # behalf of users. + class EventStreamCloudEventConnectionUpdatedObject1OptionsFederatedConnectionsAccessTokens < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object1options_id_token_signed_response_algs_i_d5434c.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object1options_id_token_signed_response_algs_i_d5434c.rb new file mode 100644 index 000000000..dfb57274e --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object1options_id_token_signed_response_algs_i_d5434c.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject1OptionsIDTokenSignedResponseAlgsItemEnum + extend Auth0::Internal::Types::Enum + + ES256 = "ES256" + ES384 = "ES384" + PS256 = "PS256" + PS384 = "PS384" + RS256 = "RS256" + RS384 = "RS384" + RS512 = "RS512" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object1options_oidc_metadata.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object1options_oidc_metadata.rb new file mode 100644 index 000000000..f844e3cc3 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object1options_oidc_metadata.rb @@ -0,0 +1,83 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # OpenID Connect Provider Metadata as per + # https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata + class EventStreamCloudEventConnectionUpdatedObject1OptionsOidcMetadata < Internal::Types::Model + field :acr_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :authorization_endpoint, -> { String }, optional: false, nullable: false + + field :claim_types_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :claims_locales_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :claims_parameter_supported, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :claims_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :display_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :dpop_signing_alg_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :end_session_endpoint, -> { String }, optional: true, nullable: false + + field :grant_types_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :id_token_encryption_alg_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :id_token_encryption_enc_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :id_token_signing_alg_values_supported, -> { Internal::Types::Array[String] }, optional: false, nullable: false + + field :issuer, -> { String }, optional: false, nullable: false + + field :jwks_uri, -> { String }, optional: false, nullable: false + + field :op_policy_uri, -> { String }, optional: true, nullable: false + + field :op_tos_uri, -> { String }, optional: true, nullable: false + + field :registration_endpoint, -> { String }, optional: true, nullable: false + + field :request_object_encryption_alg_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :request_object_encryption_enc_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :request_object_signing_alg_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :request_parameter_supported, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :request_uri_parameter_supported, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :require_request_uri_registration, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :response_modes_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :response_types_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :scopes_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :service_documentation, -> { String }, optional: true, nullable: false + + field :subject_types_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :token_endpoint, -> { String }, optional: true, nullable: false + + field :token_endpoint_auth_methods_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :token_endpoint_auth_signing_alg_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :ui_locales_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :userinfo_encryption_alg_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :userinfo_encryption_enc_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :userinfo_endpoint, -> { String }, optional: true, nullable: false + + field :userinfo_signing_alg_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object1options_schema_version_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object1options_schema_version_enum.rb new file mode 100644 index 000000000..33c4d411a --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object1options_schema_version_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject1OptionsSchemaVersionEnum + extend Auth0::Internal::Types::Enum + + OPENID100 = "openid-1.0.0" + OIDC_V4 = "oidc-v4" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object1options_set_user_root_attributes_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object1options_set_user_root_attributes_enum.rb new file mode 100644 index 000000000..667eddfd9 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object1options_set_user_root_attributes_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject1OptionsSetUserRootAttributesEnum + extend Auth0::Internal::Types::Enum + + ON_EACH_LOGIN = "on_each_login" + ON_FIRST_LOGIN = "on_first_login" + NEVER_ON_LOGIN = "never_on_login" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object1options_token_endpoint_auth_method_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object1options_token_endpoint_auth_method_enum.rb new file mode 100644 index 000000000..6cfaa98e7 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object1options_token_endpoint_auth_method_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject1OptionsTokenEndpointAuthMethodEnum + extend Auth0::Internal::Types::Enum + + CLIENT_SECRET_POST = "client_secret_post" + PRIVATE_KEY_JWT = "private_key_jwt" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object1options_token_endpoint_auth_signing_alg_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object1options_token_endpoint_auth_signing_alg_enum.rb new file mode 100644 index 000000000..fcd9a8287 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object1options_token_endpoint_auth_signing_alg_enum.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject1OptionsTokenEndpointAuthSigningAlgEnum + extend Auth0::Internal::Types::Enum + + ES256 = "ES256" + ES384 = "ES384" + PS256 = "PS256" + PS384 = "PS384" + RS256 = "RS256" + RS384 = "RS384" + RS512 = "RS512" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object1options_token_endpoint_jwtca_aud_format_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object1options_token_endpoint_jwtca_aud_format_enum.rb new file mode 100644 index 000000000..389ad5b86 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object1options_token_endpoint_jwtca_aud_format_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject1OptionsTokenEndpointJwtcaAudFormatEnum + extend Auth0::Internal::Types::Enum + + ISSUER = "issuer" + TOKEN_ENDPOINT = "token_endpoint" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object1options_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object1options_type_enum.rb new file mode 100644 index 000000000..b19a24f7d --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object1options_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject1OptionsTypeEnum + extend Auth0::Internal::Types::Enum + + BACK_CHANNEL = "back_channel" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object1options_upstream_params.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object1options_upstream_params.rb new file mode 100644 index 000000000..0a6f10488 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object1options_upstream_params.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject1OptionsUpstreamParams + # EventStreamCloudEventConnectionUpdatedObject1OptionsUpstreamParams is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object1strategy_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object1strategy_enum.rb new file mode 100644 index 000000000..ec078b3b0 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object1strategy_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject1StrategyEnum + extend Auth0::Internal::Types::Enum + + OKTA = "okta" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object2.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object2.rb new file mode 100644 index 000000000..8324ef48b --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object2.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class EventStreamCloudEventConnectionUpdatedObject2 < Internal::Types::Model + field :authentication, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject2Authentication }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject2ConnectedAccounts }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject2Metadata }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject2Options }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject2StrategyEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object2authentication.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object2authentication.rb new file mode 100644 index 000000000..eca7bad2f --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object2authentication.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configure the purpose of a connection to be used for authentication during login. + class EventStreamCloudEventConnectionUpdatedObject2Authentication < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object2connected_accounts.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object2connected_accounts.rb new file mode 100644 index 000000000..1660c5727 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object2connected_accounts.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configure the purpose of a connection to be used for connected accounts and Token Vault. + class EventStreamCloudEventConnectionUpdatedObject2ConnectedAccounts < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object2metadata.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object2metadata.rb new file mode 100644 index 000000000..cfec9b137 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object2metadata.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Metadata associated with the connection in the form of an object with string values (max 255 chars). Maximum of + # 10 metadata properties allowed. + class EventStreamCloudEventConnectionUpdatedObject2Metadata < Internal::Types::Model; end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object2options.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object2options.rb new file mode 100644 index 000000000..7461ac2d0 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object2options.rb @@ -0,0 +1,72 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'samlp' connection + class EventStreamCloudEventConnectionUpdatedObject2Options < Internal::Types::Model + field :assertion_decryption_settings, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject2OptionsAssertionDecryptionSettings }, optional: true, nullable: false + + field :cert, -> { String }, optional: true, nullable: false + + field :cert_rollover_notification, -> { String }, optional: true, nullable: false + + field :digest_algorithm, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject2OptionsDigestAlgorithmEnum }, optional: true, nullable: false, api_name: "digestAlgorithm" + + field :domain_aliases, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :entity_id, -> { String }, optional: true, nullable: false, api_name: "entityId" + + field :expires, -> { String }, optional: true, nullable: false + + field :icon_url, -> { String }, optional: true, nullable: false + + field :idpinitiated, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject2OptionsIdpinitiated }, optional: true, nullable: false + + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :protocol_binding, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject2OptionsProtocolBindingEnum }, optional: true, nullable: false, api_name: "protocolBinding" + + field :set_user_root_attributes, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject2OptionsSetUserRootAttributesEnum }, optional: true, nullable: false + + field :signature_algorithm, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject2OptionsSignatureAlgorithmEnum }, optional: true, nullable: false, api_name: "signatureAlgorithm" + + field :sign_in_endpoint, -> { String }, optional: true, nullable: false, api_name: "signInEndpoint" + + field :signing_cert, -> { String }, optional: true, nullable: false, api_name: "signingCert" + + field :sign_saml_request, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "signSAMLRequest" + + field :subject, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject2OptionsSubject }, optional: true, nullable: false + + field :tenant_domain, -> { String }, optional: true, nullable: false + + field :thumbprints, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :debug, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :deflate, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :destination_url, -> { String }, optional: true, nullable: false, api_name: "destinationUrl" + + field :disable_signout, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "disableSignout" + + field :fields_map, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false, api_name: "fieldsMap" + + field :global_token_revocation_jwt_iss, -> { String }, optional: true, nullable: false + + field :global_token_revocation_jwt_sub, -> { String }, optional: true, nullable: false + + field :metadata_url, -> { String }, optional: true, nullable: false, api_name: "metadataUrl" + + field :recipient_url, -> { String }, optional: true, nullable: false, api_name: "recipientUrl" + + field :request_template, -> { String }, optional: true, nullable: false, api_name: "requestTemplate" + + field :sign_out_endpoint, -> { String }, optional: true, nullable: false, api_name: "signOutEndpoint" + + field :user_id_attribute, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object2options_assertion_decryption_settings.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object2options_assertion_decryption_settings.rb new file mode 100644 index 000000000..59711f02c --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object2options_assertion_decryption_settings.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Settings for SAML assertion decryption. + class EventStreamCloudEventConnectionUpdatedObject2OptionsAssertionDecryptionSettings < Internal::Types::Model + field :algorithm_exceptions, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :algorithm_profile, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject2OptionsAssertionDecryptionSettingsAlgorithmProfileEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object2options_assertion_decryption_settings_a_715c3e.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object2options_assertion_decryption_settings_a_715c3e.rb new file mode 100644 index 000000000..f913ffb20 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object2options_assertion_decryption_settings_a_715c3e.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject2OptionsAssertionDecryptionSettingsAlgorithmProfileEnum + extend Auth0::Internal::Types::Enum + + V20261 = "v2026-1" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object2options_digest_algorithm_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object2options_digest_algorithm_enum.rb new file mode 100644 index 000000000..9753f5459 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object2options_digest_algorithm_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject2OptionsDigestAlgorithmEnum + extend Auth0::Internal::Types::Enum + + SHA1 = "sha1" + SHA256 = "sha256" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object2options_fields_map.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object2options_fields_map.rb new file mode 100644 index 000000000..fc4bfcac2 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object2options_fields_map.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject2OptionsFieldsMap + # EventStreamCloudEventConnectionUpdatedObject2OptionsFieldsMap is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object2options_idpinitiated.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object2options_idpinitiated.rb new file mode 100644 index 000000000..dfafc75f8 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object2options_idpinitiated.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configuration for IdP-Initiated SAML Single Sign-On. When enabled, allows users to initiate login directly from + # their SAML identity provider without first visiting Auth0. The IdP must include the connection parameter in the + # post-back URL (Assertion Consumer Service URL). + class EventStreamCloudEventConnectionUpdatedObject2OptionsIdpinitiated < Internal::Types::Model + field :client_authorizequery, -> { String }, optional: true, nullable: false + + field :client_id, -> { String }, optional: true, nullable: false + + field :client_protocol, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject2OptionsIdpinitiatedClientProtocolEnum }, optional: true, nullable: false + + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object2options_idpinitiated_client_protocol_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object2options_idpinitiated_client_protocol_enum.rb new file mode 100644 index 000000000..370c820ac --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object2options_idpinitiated_client_protocol_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject2OptionsIdpinitiatedClientProtocolEnum + extend Auth0::Internal::Types::Enum + + OIDC = "oidc" + SAMLP = "samlp" + WSFED = "wsfed" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object2options_protocol_binding_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object2options_protocol_binding_enum.rb new file mode 100644 index 000000000..c6f3ac88f --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object2options_protocol_binding_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject2OptionsProtocolBindingEnum + extend Auth0::Internal::Types::Enum + + URN_OASIS_NAMES_TC_SAML20BINDINGS_HTTP_POST = "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" + URN_OASIS_NAMES_TC_SAML20BINDINGS_HTTP_REDIRECT = "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object2options_set_user_root_attributes_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object2options_set_user_root_attributes_enum.rb new file mode 100644 index 000000000..72af42e9c --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object2options_set_user_root_attributes_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject2OptionsSetUserRootAttributesEnum + extend Auth0::Internal::Types::Enum + + ON_EACH_LOGIN = "on_each_login" + ON_FIRST_LOGIN = "on_first_login" + NEVER_ON_LOGIN = "never_on_login" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object2options_signature_algorithm_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object2options_signature_algorithm_enum.rb new file mode 100644 index 000000000..8e3da82c4 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object2options_signature_algorithm_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject2OptionsSignatureAlgorithmEnum + extend Auth0::Internal::Types::Enum + + RSA_SHA1 = "rsa-sha1" + RSA_SHA256 = "rsa-sha256" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object2options_subject.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object2options_subject.rb new file mode 100644 index 000000000..99233296d --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object2options_subject.rb @@ -0,0 +1,8 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Certificate Subject Distinguished Name (DN) extracted from the identity provider's signing certificate. + class EventStreamCloudEventConnectionUpdatedObject2OptionsSubject < Internal::Types::Model; end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object2options_upstream_params.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object2options_upstream_params.rb new file mode 100644 index 000000000..0945d6819 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object2options_upstream_params.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject2OptionsUpstreamParams + # EventStreamCloudEventConnectionUpdatedObject2OptionsUpstreamParams is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object2strategy_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object2strategy_enum.rb new file mode 100644 index 000000000..44b99b102 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object2strategy_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject2StrategyEnum + extend Auth0::Internal::Types::Enum + + SAMLP = "samlp" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object3.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object3.rb new file mode 100644 index 000000000..3566dd704 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object3.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class EventStreamCloudEventConnectionUpdatedObject3 < Internal::Types::Model + field :authentication, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject3Authentication }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject3ConnectedAccounts }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject3Metadata }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject3Options }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject3StrategyEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object3authentication.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object3authentication.rb new file mode 100644 index 000000000..2a2d18012 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object3authentication.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configure the purpose of a connection to be used for authentication during login. + class EventStreamCloudEventConnectionUpdatedObject3Authentication < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object3connected_accounts.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object3connected_accounts.rb new file mode 100644 index 000000000..330ce4c5c --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object3connected_accounts.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configure the purpose of a connection to be used for connected accounts and Token Vault. + class EventStreamCloudEventConnectionUpdatedObject3ConnectedAccounts < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object3metadata.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object3metadata.rb new file mode 100644 index 000000000..db6b7238d --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object3metadata.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Metadata associated with the connection in the form of an object with string values (max 255 chars). Maximum of + # 10 metadata properties allowed. + class EventStreamCloudEventConnectionUpdatedObject3Metadata < Internal::Types::Model; end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object3options.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object3options.rb new file mode 100644 index 000000000..da162e90b --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object3options.rb @@ -0,0 +1,50 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'pingfederate' connection + class EventStreamCloudEventConnectionUpdatedObject3Options < Internal::Types::Model + field :assertion_decryption_settings, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject3OptionsAssertionDecryptionSettings }, optional: true, nullable: false + + field :cert, -> { String }, optional: true, nullable: false + + field :cert_rollover_notification, -> { String }, optional: true, nullable: false + + field :digest_algorithm, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject3OptionsDigestAlgorithmEnum }, optional: true, nullable: false, api_name: "digestAlgorithm" + + field :domain_aliases, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :entity_id, -> { String }, optional: true, nullable: false, api_name: "entityId" + + field :expires, -> { String }, optional: true, nullable: false + + field :icon_url, -> { String }, optional: true, nullable: false + + field :idpinitiated, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject3OptionsIdpinitiated }, optional: true, nullable: false + + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :protocol_binding, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject3OptionsProtocolBindingEnum }, optional: true, nullable: false, api_name: "protocolBinding" + + field :set_user_root_attributes, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject3OptionsSetUserRootAttributesEnum }, optional: true, nullable: false + + field :signature_algorithm, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject3OptionsSignatureAlgorithmEnum }, optional: true, nullable: false, api_name: "signatureAlgorithm" + + field :sign_in_endpoint, -> { String }, optional: true, nullable: false, api_name: "signInEndpoint" + + field :signing_cert, -> { String }, optional: true, nullable: false, api_name: "signingCert" + + field :sign_saml_request, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "signSAMLRequest" + + field :subject, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject3OptionsSubject }, optional: true, nullable: false + + field :tenant_domain, -> { String }, optional: true, nullable: false + + field :thumbprints, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :ping_federate_base_url, -> { String }, optional: false, nullable: false, api_name: "pingFederateBaseUrl" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object3options_assertion_decryption_settings.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object3options_assertion_decryption_settings.rb new file mode 100644 index 000000000..569aaadf5 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object3options_assertion_decryption_settings.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Settings for SAML assertion decryption. + class EventStreamCloudEventConnectionUpdatedObject3OptionsAssertionDecryptionSettings < Internal::Types::Model + field :algorithm_exceptions, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :algorithm_profile, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject3OptionsAssertionDecryptionSettingsAlgorithmProfileEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object3options_assertion_decryption_settings_a_f31c8e.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object3options_assertion_decryption_settings_a_f31c8e.rb new file mode 100644 index 000000000..b33dd1578 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object3options_assertion_decryption_settings_a_f31c8e.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject3OptionsAssertionDecryptionSettingsAlgorithmProfileEnum + extend Auth0::Internal::Types::Enum + + V20261 = "v2026-1" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object3options_digest_algorithm_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object3options_digest_algorithm_enum.rb new file mode 100644 index 000000000..132b5d051 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object3options_digest_algorithm_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject3OptionsDigestAlgorithmEnum + extend Auth0::Internal::Types::Enum + + SHA1 = "sha1" + SHA256 = "sha256" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object3options_idpinitiated.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object3options_idpinitiated.rb new file mode 100644 index 000000000..84adc2fc5 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object3options_idpinitiated.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configuration for IdP-Initiated SAML Single Sign-On. When enabled, allows users to initiate login directly from + # their SAML identity provider without first visiting Auth0. The IdP must include the connection parameter in the + # post-back URL (Assertion Consumer Service URL). + class EventStreamCloudEventConnectionUpdatedObject3OptionsIdpinitiated < Internal::Types::Model + field :client_authorizequery, -> { String }, optional: true, nullable: false + + field :client_id, -> { String }, optional: true, nullable: false + + field :client_protocol, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject3OptionsIdpinitiatedClientProtocolEnum }, optional: true, nullable: false + + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object3options_idpinitiated_client_protocol_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object3options_idpinitiated_client_protocol_enum.rb new file mode 100644 index 000000000..02746ee55 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object3options_idpinitiated_client_protocol_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject3OptionsIdpinitiatedClientProtocolEnum + extend Auth0::Internal::Types::Enum + + OIDC = "oidc" + SAMLP = "samlp" + WSFED = "wsfed" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object3options_protocol_binding_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object3options_protocol_binding_enum.rb new file mode 100644 index 000000000..abd1db502 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object3options_protocol_binding_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject3OptionsProtocolBindingEnum + extend Auth0::Internal::Types::Enum + + URN_OASIS_NAMES_TC_SAML20BINDINGS_HTTP_POST = "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" + URN_OASIS_NAMES_TC_SAML20BINDINGS_HTTP_REDIRECT = "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object3options_set_user_root_attributes_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object3options_set_user_root_attributes_enum.rb new file mode 100644 index 000000000..db5eb32be --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object3options_set_user_root_attributes_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject3OptionsSetUserRootAttributesEnum + extend Auth0::Internal::Types::Enum + + ON_EACH_LOGIN = "on_each_login" + ON_FIRST_LOGIN = "on_first_login" + NEVER_ON_LOGIN = "never_on_login" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object3options_signature_algorithm_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object3options_signature_algorithm_enum.rb new file mode 100644 index 000000000..023883713 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object3options_signature_algorithm_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject3OptionsSignatureAlgorithmEnum + extend Auth0::Internal::Types::Enum + + RSA_SHA1 = "rsa-sha1" + RSA_SHA256 = "rsa-sha256" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object3options_subject.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object3options_subject.rb new file mode 100644 index 000000000..02090828d --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object3options_subject.rb @@ -0,0 +1,8 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Certificate Subject Distinguished Name (DN) extracted from the identity provider's signing certificate. + class EventStreamCloudEventConnectionUpdatedObject3OptionsSubject < Internal::Types::Model; end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object3options_upstream_params.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object3options_upstream_params.rb new file mode 100644 index 000000000..7acd74653 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object3options_upstream_params.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject3OptionsUpstreamParams + # EventStreamCloudEventConnectionUpdatedObject3OptionsUpstreamParams is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object3strategy_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object3strategy_enum.rb new file mode 100644 index 000000000..d47e6d900 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object3strategy_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject3StrategyEnum + extend Auth0::Internal::Types::Enum + + PINGFEDERATE = "pingfederate" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object4.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object4.rb new file mode 100644 index 000000000..8ae9b93d2 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object4.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class EventStreamCloudEventConnectionUpdatedObject4 < Internal::Types::Model + field :authentication, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject4Authentication }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject4ConnectedAccounts }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject4Metadata }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject4Options }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject4StrategyEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object4authentication.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object4authentication.rb new file mode 100644 index 000000000..ac4f4e5f8 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object4authentication.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configure the purpose of a connection to be used for authentication during login. + class EventStreamCloudEventConnectionUpdatedObject4Authentication < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object4connected_accounts.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object4connected_accounts.rb new file mode 100644 index 000000000..ebcad0616 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object4connected_accounts.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configure the purpose of a connection to be used for connected accounts and Token Vault. + class EventStreamCloudEventConnectionUpdatedObject4ConnectedAccounts < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object4metadata.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object4metadata.rb new file mode 100644 index 000000000..50c006fef --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object4metadata.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Metadata associated with the connection in the form of an object with string values (max 255 chars). Maximum of + # 10 metadata properties allowed. + class EventStreamCloudEventConnectionUpdatedObject4Metadata < Internal::Types::Model; end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object4options.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object4options.rb new file mode 100644 index 000000000..a09ac8e36 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object4options.rb @@ -0,0 +1,38 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'adfs' connection + class EventStreamCloudEventConnectionUpdatedObject4Options < Internal::Types::Model + field :adfs_server, -> { String }, optional: true, nullable: false + + field :cert_rollover_notification, -> { String }, optional: true, nullable: false + + field :domain_aliases, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :entity_id, -> { String }, optional: true, nullable: false, api_name: "entityId" + + field :fed_metadata_xml, -> { String }, optional: true, nullable: false, api_name: "fedMetadataXml" + + field :icon_url, -> { String }, optional: true, nullable: false + + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :prev_thumbprints, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject4OptionsSetUserRootAttributesEnum }, optional: true, nullable: false + + field :should_trust_email_verified_connection, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject4OptionsShouldTrustEmailVerifiedConnectionEnum }, optional: true, nullable: false + + field :sign_in_endpoint, -> { String }, optional: true, nullable: false, api_name: "signInEndpoint" + + field :tenant_domain, -> { String }, optional: true, nullable: false + + field :thumbprints, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :user_id_attribute, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object4options_set_user_root_attributes_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object4options_set_user_root_attributes_enum.rb new file mode 100644 index 000000000..8935aa811 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object4options_set_user_root_attributes_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject4OptionsSetUserRootAttributesEnum + extend Auth0::Internal::Types::Enum + + ON_EACH_LOGIN = "on_each_login" + ON_FIRST_LOGIN = "on_first_login" + NEVER_ON_LOGIN = "never_on_login" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object4options_should_trust_email_verified_con_1c0d52.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object4options_should_trust_email_verified_con_1c0d52.rb new file mode 100644 index 000000000..9ecb35c0c --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object4options_should_trust_email_verified_con_1c0d52.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject4OptionsShouldTrustEmailVerifiedConnectionEnum + extend Auth0::Internal::Types::Enum + + NEVER_SET_EMAILS_AS_VERIFIED = "never_set_emails_as_verified" + ALWAYS_SET_EMAILS_AS_VERIFIED = "always_set_emails_as_verified" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object4options_upstream_params.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object4options_upstream_params.rb new file mode 100644 index 000000000..b62aaef43 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object4options_upstream_params.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject4OptionsUpstreamParams + # EventStreamCloudEventConnectionUpdatedObject4OptionsUpstreamParams is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object4strategy_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object4strategy_enum.rb new file mode 100644 index 000000000..42e8b78ac --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object4strategy_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject4StrategyEnum + extend Auth0::Internal::Types::Enum + + ADFS = "adfs" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object5.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object5.rb new file mode 100644 index 000000000..fb95948aa --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object5.rb @@ -0,0 +1,29 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class EventStreamCloudEventConnectionUpdatedObject5 < Internal::Types::Model + field :authentication, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject5Authentication }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject5ConnectedAccounts }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject5Metadata }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject5Options }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject5StrategyEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object5authentication.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object5authentication.rb new file mode 100644 index 000000000..0c13536b0 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object5authentication.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configure the purpose of a connection to be used for authentication during login. + class EventStreamCloudEventConnectionUpdatedObject5Authentication < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object5connected_accounts.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object5connected_accounts.rb new file mode 100644 index 000000000..984811e75 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object5connected_accounts.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configure the purpose of a connection to be used for connected accounts and Token Vault. + class EventStreamCloudEventConnectionUpdatedObject5ConnectedAccounts < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object5metadata.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object5metadata.rb new file mode 100644 index 000000000..196f8f6ae --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object5metadata.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Metadata associated with the connection in the form of an object with string values (max 255 chars). Maximum of + # 10 metadata properties allowed. + class EventStreamCloudEventConnectionUpdatedObject5Metadata < Internal::Types::Model; end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object5options.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object5options.rb new file mode 100644 index 000000000..986a1ab95 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object5options.rb @@ -0,0 +1,44 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'ad' connection + class EventStreamCloudEventConnectionUpdatedObject5Options < Internal::Types::Model + field :agent_ip, -> { String }, optional: true, nullable: false, api_name: "agentIP" + + field :agent_mode, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "agentMode" + + field :agent_version, -> { String }, optional: true, nullable: false, api_name: "agentVersion" + + field :brute_force_protection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :cert_auth, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "certAuth" + + field :certs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :disable_cache, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :disable_self_service_change_password, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :domain_aliases, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :icon_url, -> { String }, optional: true, nullable: false + + field :ips, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :kerberos, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject5OptionsSetUserRootAttributesEnum }, optional: true, nullable: false + + field :sign_in_endpoint, -> { String }, optional: true, nullable: false, api_name: "signInEndpoint" + + field :tenant_domain, -> { String }, optional: true, nullable: false + + field :thumbprints, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object5options_set_user_root_attributes_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object5options_set_user_root_attributes_enum.rb new file mode 100644 index 000000000..201597c6b --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object5options_set_user_root_attributes_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject5OptionsSetUserRootAttributesEnum + extend Auth0::Internal::Types::Enum + + ON_EACH_LOGIN = "on_each_login" + ON_FIRST_LOGIN = "on_first_login" + NEVER_ON_LOGIN = "never_on_login" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object5options_upstream_params.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object5options_upstream_params.rb new file mode 100644 index 000000000..e46ac0f93 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object5options_upstream_params.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject5OptionsUpstreamParams + # EventStreamCloudEventConnectionUpdatedObject5OptionsUpstreamParams is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object5strategy_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object5strategy_enum.rb new file mode 100644 index 000000000..bfda32dd7 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object5strategy_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject5StrategyEnum + extend Auth0::Internal::Types::Enum + + AD = "ad" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object6.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object6.rb new file mode 100644 index 000000000..58bad29d7 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object6.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class EventStreamCloudEventConnectionUpdatedObject6 < Internal::Types::Model + field :authentication, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject6Authentication }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject6ConnectedAccounts }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject6Metadata }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject6Options }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject6StrategyEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object6authentication.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object6authentication.rb new file mode 100644 index 000000000..df484dbf8 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object6authentication.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configure the purpose of a connection to be used for authentication during login. + class EventStreamCloudEventConnectionUpdatedObject6Authentication < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object6connected_accounts.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object6connected_accounts.rb new file mode 100644 index 000000000..2a363dff3 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object6connected_accounts.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configure the purpose of a connection to be used for connected accounts and Token Vault. + class EventStreamCloudEventConnectionUpdatedObject6ConnectedAccounts < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object6metadata.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object6metadata.rb new file mode 100644 index 000000000..7cd537147 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object6metadata.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Metadata associated with the connection in the form of an object with string values (max 255 chars). Maximum of + # 10 metadata properties allowed. + class EventStreamCloudEventConnectionUpdatedObject6Metadata < Internal::Types::Model; end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object6options.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object6options.rb new file mode 100644 index 000000000..cbd3ab2c8 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object6options.rb @@ -0,0 +1,54 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'google-apps' connection + class EventStreamCloudEventConnectionUpdatedObject6Options < Internal::Types::Model + field :admin_access_token_expiresin, -> { String }, optional: true, nullable: false + + field :allow_setting_login_scopes, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :api_enable_groups, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :api_enable_users, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :client_id, -> { String }, optional: false, nullable: false + + field :domain, -> { String }, optional: true, nullable: false + + field :domain_aliases, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :email, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_agreed_terms, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_groups, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_groups_extended, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_is_admin, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_is_suspended, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :federated_connections_access_tokens, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject6OptionsFederatedConnectionsAccessTokens }, optional: true, nullable: false + + field :handle_login_from_social, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :icon_url, -> { String }, optional: true, nullable: false + + field :map_user_id_to_id, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :profile, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :scope, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject6OptionsSetUserRootAttributesEnum }, optional: true, nullable: false + + field :tenant_domain, -> { String }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object6options_federated_connections_access_tokens.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object6options_federated_connections_access_tokens.rb new file mode 100644 index 000000000..2077fab8d --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object6options_federated_connections_access_tokens.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configuration for storing identity provider tokens in Auth0's Token Vault. When active, Auth0 securely stores + # access and refresh tokens from federated logins, enabling your application to make authenticated API calls on + # behalf of users. + class EventStreamCloudEventConnectionUpdatedObject6OptionsFederatedConnectionsAccessTokens < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object6options_set_user_root_attributes_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object6options_set_user_root_attributes_enum.rb new file mode 100644 index 000000000..c6be16252 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object6options_set_user_root_attributes_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject6OptionsSetUserRootAttributesEnum + extend Auth0::Internal::Types::Enum + + ON_EACH_LOGIN = "on_each_login" + ON_FIRST_LOGIN = "on_first_login" + NEVER_ON_LOGIN = "never_on_login" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object6options_upstream_params.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object6options_upstream_params.rb new file mode 100644 index 000000000..108105252 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object6options_upstream_params.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject6OptionsUpstreamParams + # EventStreamCloudEventConnectionUpdatedObject6OptionsUpstreamParams is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object6strategy_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object6strategy_enum.rb new file mode 100644 index 000000000..7d1aa07b7 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object6strategy_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject6StrategyEnum + extend Auth0::Internal::Types::Enum + + GOOGLE_APPS = "google-apps" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object7.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object7.rb new file mode 100644 index 000000000..ce88f5d2c --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object7.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class EventStreamCloudEventConnectionUpdatedObject7 < Internal::Types::Model + field :authentication, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject7Authentication }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject7ConnectedAccounts }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject7Metadata }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject7Options }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :strategy, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject7StrategyEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object7authentication.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object7authentication.rb new file mode 100644 index 000000000..50f841eb1 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object7authentication.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configure the purpose of a connection to be used for authentication during login. + class EventStreamCloudEventConnectionUpdatedObject7Authentication < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object7connected_accounts.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object7connected_accounts.rb new file mode 100644 index 000000000..a23e493fa --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object7connected_accounts.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configure the purpose of a connection to be used for connected accounts and Token Vault. + class EventStreamCloudEventConnectionUpdatedObject7ConnectedAccounts < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object7metadata.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object7metadata.rb new file mode 100644 index 000000000..9d7bfeefd --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object7metadata.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Metadata associated with the connection in the form of an object with string values (max 255 chars). Maximum of + # 10 metadata properties allowed. + class EventStreamCloudEventConnectionUpdatedObject7Metadata < Internal::Types::Model; end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object7options.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object7options.rb new file mode 100644 index 000000000..df4491304 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object7options.rb @@ -0,0 +1,64 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Options for the 'waad' connection + class EventStreamCloudEventConnectionUpdatedObject7Options < Internal::Types::Model + field :api_enable_users, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :app_domain, -> { String }, optional: true, nullable: false + + field :app_id, -> { String }, optional: true, nullable: false + + field :basic_profile, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :cert_rollover_notification, -> { String }, optional: true, nullable: false + + field :client_id, -> { String }, optional: false, nullable: false + + field :domain, -> { String }, optional: true, nullable: false + + field :domain_aliases, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :ext_groups, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_nested_groups, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_profile, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :federated_connections_access_tokens, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject7OptionsFederatedConnectionsAccessTokens }, optional: true, nullable: false + + field :granted, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :icon_url, -> { String }, optional: true, nullable: false + + field :identity_api, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject7OptionsIdentityAPIEnum }, optional: true, nullable: false + + field :max_groups_to_retrieve, -> { String }, optional: true, nullable: false + + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :scope, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject7OptionsSetUserRootAttributesEnum }, optional: true, nullable: false + + field :should_trust_email_verified_connection, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject7OptionsShouldTrustEmailVerifiedConnectionEnum }, optional: true, nullable: false + + field :tenant_domain, -> { String }, optional: true, nullable: false + + field :tenant_id, -> { String }, optional: true, nullable: false, api_name: "tenantId" + + field :thumbprints, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :use_wsfed, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :use_common_endpoint, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "useCommonEndpoint" + + field :userid_attribute, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject7OptionsUseridAttributeEnum }, optional: true, nullable: false + + field :waad_protocol, -> { Auth0::Types::EventStreamCloudEventConnectionUpdatedObject7OptionsWaadProtocolEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object7options_federated_connections_access_tokens.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object7options_federated_connections_access_tokens.rb new file mode 100644 index 000000000..8217961d7 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object7options_federated_connections_access_tokens.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configuration for storing identity provider tokens in Auth0's Token Vault. When active, Auth0 securely stores + # access and refresh tokens from federated logins, enabling your application to make authenticated API calls on + # behalf of users. + class EventStreamCloudEventConnectionUpdatedObject7OptionsFederatedConnectionsAccessTokens < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object7options_identity_api_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object7options_identity_api_enum.rb new file mode 100644 index 000000000..dd80f6c23 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object7options_identity_api_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject7OptionsIdentityAPIEnum + extend Auth0::Internal::Types::Enum + + MICROSOFT_IDENTITY_PLATFORM_V20 = "microsoft-identity-platform-v2.0" + AZURE_ACTIVE_DIRECTORY_V10 = "azure-active-directory-v1.0" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object7options_set_user_root_attributes_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object7options_set_user_root_attributes_enum.rb new file mode 100644 index 000000000..46ce997aa --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object7options_set_user_root_attributes_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject7OptionsSetUserRootAttributesEnum + extend Auth0::Internal::Types::Enum + + ON_EACH_LOGIN = "on_each_login" + ON_FIRST_LOGIN = "on_first_login" + NEVER_ON_LOGIN = "never_on_login" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object7options_should_trust_email_verified_con_df9f65.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object7options_should_trust_email_verified_con_df9f65.rb new file mode 100644 index 000000000..ac10162d1 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object7options_should_trust_email_verified_con_df9f65.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject7OptionsShouldTrustEmailVerifiedConnectionEnum + extend Auth0::Internal::Types::Enum + + NEVER_SET_EMAILS_AS_VERIFIED = "never_set_emails_as_verified" + ALWAYS_SET_EMAILS_AS_VERIFIED = "always_set_emails_as_verified" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object7options_tenant_domain_one.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object7options_tenant_domain_one.rb new file mode 100644 index 000000000..f626b1ea9 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object7options_tenant_domain_one.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject7OptionsTenantDomainOne + # EventStreamCloudEventConnectionUpdatedObject7OptionsTenantDomainOne is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object7options_upstream_params.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object7options_upstream_params.rb new file mode 100644 index 000000000..d0dbf17fd --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object7options_upstream_params.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject7OptionsUpstreamParams + # EventStreamCloudEventConnectionUpdatedObject7OptionsUpstreamParams is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object7options_userid_attribute_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object7options_userid_attribute_enum.rb new file mode 100644 index 000000000..a9b92331c --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object7options_userid_attribute_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject7OptionsUseridAttributeEnum + extend Auth0::Internal::Types::Enum + + OID = "oid" + SUB = "sub" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object7options_waad_protocol_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object7options_waad_protocol_enum.rb new file mode 100644 index 000000000..69eee06bf --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object7options_waad_protocol_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject7OptionsWaadProtocolEnum + extend Auth0::Internal::Types::Enum + + WS_FEDERATION = "ws-federation" + OPENID_CONNECT = "openid-connect" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_object7strategy_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_object7strategy_enum.rb new file mode 100644 index 000000000..c27499b45 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_object7strategy_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedObject7StrategyEnum + extend Auth0::Internal::Types::Enum + + WAAD = "waad" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_connection_updated_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_connection_updated_type_enum.rb new file mode 100644 index 000000000..bfd5daccd --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_connection_updated_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventConnectionUpdatedTypeEnum + extend Auth0::Internal::Types::Enum + + CONNECTION_UPDATED = "connection.updated" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_context.rb b/lib/auth0/types/event_stream_cloud_event_context.rb new file mode 100644 index 000000000..77023a60f --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_context.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Information about the context in which the event was produced. This may include things like + # HTTP request details, client information, connection information, etc. + # + # Note: This field may not be present on all events, depending on the event type and the + # context in which it was generated. + class EventStreamCloudEventContext < Internal::Types::Model + field :client, -> { Auth0::Types::EventStreamCloudEventContextClient }, optional: true, nullable: false + + field :connection, -> { Auth0::Types::EventStreamCloudEventContextConnection }, optional: true, nullable: false + + field :request, -> { Auth0::Types::EventStreamCloudEventContextRequest }, optional: true, nullable: false + + field :tenant, -> { Auth0::Types::EventStreamCloudEventContextTenant }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_context_client.rb b/lib/auth0/types/event_stream_cloud_event_context_client.rb new file mode 100644 index 000000000..82b81eed3 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_context_client.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The OAuth Client requesting or presenting an access token. + class EventStreamCloudEventContextClient < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, Object] }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_context_client_metadata.rb b/lib/auth0/types/event_stream_cloud_event_context_client_metadata.rb new file mode 100644 index 000000000..6dc4a5db4 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_context_client_metadata.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventContextClientMetadata + # EventStreamCloudEventContextClientMetadata is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_context_connection.rb b/lib/auth0/types/event_stream_cloud_event_context_connection.rb new file mode 100644 index 000000000..eb4ebcace --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_context_connection.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The Auth0 Connection used for the authentication transaction that generated the event. + class EventStreamCloudEventContextConnection < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :strategy, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_context_request.rb b/lib/auth0/types/event_stream_cloud_event_context_request.rb new file mode 100644 index 000000000..051044c01 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_context_request.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # An HTTP request. + class EventStreamCloudEventContextRequest < Internal::Types::Model + field :geo, -> { Auth0::Types::EventStreamCloudEventContextRequestGeo }, optional: false, nullable: false + + field :hostname, -> { String }, optional: false, nullable: false + + field :custom_domain, -> { String }, optional: true, nullable: false + + field :ip, -> { String }, optional: false, nullable: false + + field :method_, -> { String }, optional: false, nullable: false, api_name: "method" + + field :user_agent, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_context_request_geo.rb b/lib/auth0/types/event_stream_cloud_event_context_request_geo.rb new file mode 100644 index 000000000..f8ebf50ef --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_context_request_geo.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Geographic information about the request origin. + class EventStreamCloudEventContextRequestGeo < Internal::Types::Model + field :continent_code, -> { String }, optional: true, nullable: false + + field :country_code, -> { String }, optional: true, nullable: false + + field :country_name, -> { String }, optional: true, nullable: false + + field :latitude, -> { Integer }, optional: true, nullable: false + + field :longitude, -> { Integer }, optional: true, nullable: false + + field :subdivision_code, -> { String }, optional: true, nullable: false + + field :subdivision_name, -> { String }, optional: true, nullable: false + + field :city_name, -> { String }, optional: true, nullable: false + + field :time_zone, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_context_tenant.rb b/lib/auth0/types/event_stream_cloud_event_context_tenant.rb new file mode 100644 index 000000000..fc1ae82e3 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_context_tenant.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Reference to a tenant in event context + class EventStreamCloudEventContextTenant < Internal::Types::Model + field :tenant_id, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_data.rb b/lib/auth0/types/event_stream_cloud_event_data.rb new file mode 100644 index 000000000..46c8bf95e --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_data.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventData + # EventStreamCloudEventData is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_error_code_enum.rb b/lib/auth0/types/event_stream_cloud_event_error_code_enum.rb new file mode 100644 index 000000000..9344e6824 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_error_code_enum.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventErrorCodeEnum + extend Auth0::Internal::Types::Enum + + INVALID_CURSOR = "invalid_cursor" + CURSOR_EXPIRED = "cursor_expired" + TIMEOUT = "timeout" + PAYLOAD_TOO_LARGE = "payload_too_large" + PROCESSING_ERROR = "processing_error" + CONNECTION_TIMEOUT = "connection_timeout" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_error_detail.rb b/lib/auth0/types/event_stream_cloud_event_error_detail.rb new file mode 100644 index 000000000..c9ce348bb --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_error_detail.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Error details. + class EventStreamCloudEventErrorDetail < Internal::Types::Model + field :code, -> { Auth0::Types::EventStreamCloudEventErrorCodeEnum }, optional: false, nullable: false + + field :message, -> { String }, optional: false, nullable: false + + field :offset, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_error_message.rb b/lib/auth0/types/event_stream_cloud_event_error_message.rb new file mode 100644 index 000000000..aac83fdee --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_error_message.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # An error message delivered via the SSE stream. The stream closes after this message. + class EventStreamCloudEventErrorMessage < Internal::Types::Model + field :error, -> { Auth0::Types::EventStreamCloudEventErrorDetail }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_error_message_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_error_message_type_enum.rb new file mode 100644 index 000000000..ba6811e14 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_error_message_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventErrorMessageTypeEnum + extend Auth0::Internal::Types::Enum + + ERROR = "error" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_created.rb b/lib/auth0/types/event_stream_cloud_event_group_created.rb new file mode 100644 index 000000000..a64ca1419 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_created.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # SSE message for group.created. + class EventStreamCloudEventGroupCreated < Internal::Types::Model + field :offset, -> { String }, optional: false, nullable: false + + field :event, -> { Auth0::Types::EventStreamCloudEventGroupCreatedCloudEvent }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_created_cloud_event.rb b/lib/auth0/types/event_stream_cloud_event_group_created_cloud_event.rb new file mode 100644 index 000000000..e75f7506d --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_created_cloud_event.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Represents an event that occurs when a group is created. + class EventStreamCloudEventGroupCreatedCloudEvent < Internal::Types::Model + field :specversion, -> { Auth0::Types::EventStreamCloudEventSpecVersionEnum }, optional: false, nullable: false + + field :type, -> { Auth0::Types::EventStreamCloudEventGroupCreatedCloudEventTypeEnum }, optional: false, nullable: false + + field :source, -> { String }, optional: false, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :time, -> { String }, optional: false, nullable: false + + field :data, -> { Auth0::Types::EventStreamCloudEventGroupCreatedData }, optional: false, nullable: false + + field :a0tenant, -> { String }, optional: false, nullable: false + + field :a0stream, -> { String }, optional: false, nullable: false + + field :a0purpose, -> { Auth0::Types::EventStreamCloudEventA0PurposeEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_created_cloud_event_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_group_created_cloud_event_type_enum.rb new file mode 100644 index 000000000..2f2fca3d1 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_created_cloud_event_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventGroupCreatedCloudEventTypeEnum + extend Auth0::Internal::Types::Enum + + GROUP_CREATED = "group.created" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_created_data.rb b/lib/auth0/types/event_stream_cloud_event_group_created_data.rb new file mode 100644 index 000000000..25f9156e7 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_created_data.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The event payload. + class EventStreamCloudEventGroupCreatedData < Internal::Types::Model + field :object, -> { Auth0::Types::EventStreamCloudEventGroupCreatedObject }, optional: false, nullable: false + + field :context, -> { Auth0::Types::EventStreamCloudEventContext }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_created_object.rb b/lib/auth0/types/event_stream_cloud_event_group_created_object.rb new file mode 100644 index 000000000..cfd98a55d --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_created_object.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The event content. + class EventStreamCloudEventGroupCreatedObject < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::EventStreamCloudEventGroupCreatedObject0 } + + member -> { Auth0::Types::EventStreamCloudEventGroupCreatedObject1 } + + member -> { Auth0::Types::EventStreamCloudEventGroupCreatedObject2 } + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_created_object0.rb b/lib/auth0/types/event_stream_cloud_event_group_created_object0.rb new file mode 100644 index 000000000..01d9c6c19 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_created_object0.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Represents a connection group entity. + class EventStreamCloudEventGroupCreatedObject0 < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :external_id, -> { String }, optional: true, nullable: false + + field :created_at, -> { String }, optional: false, nullable: false + + field :type, -> { Auth0::Types::EventStreamCloudEventGroupCreatedObject0TypeEnum }, optional: false, nullable: false + + field :connection_id, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_created_object0type_enum.rb b/lib/auth0/types/event_stream_cloud_event_group_created_object0type_enum.rb new file mode 100644 index 000000000..a383e604f --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_created_object0type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventGroupCreatedObject0TypeEnum + extend Auth0::Internal::Types::Enum + + CONNECTION = "connection" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_created_object1.rb b/lib/auth0/types/event_stream_cloud_event_group_created_object1.rb new file mode 100644 index 000000000..42164e898 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_created_object1.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Represents an organization group entity. + class EventStreamCloudEventGroupCreatedObject1 < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :external_id, -> { String }, optional: true, nullable: false + + field :created_at, -> { String }, optional: false, nullable: false + + field :type, -> { Auth0::Types::EventStreamCloudEventGroupCreatedObject1TypeEnum }, optional: false, nullable: false + + field :organization_id, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_created_object1type_enum.rb b/lib/auth0/types/event_stream_cloud_event_group_created_object1type_enum.rb new file mode 100644 index 000000000..de4b5621c --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_created_object1type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventGroupCreatedObject1TypeEnum + extend Auth0::Internal::Types::Enum + + ORGANIZATION = "organization" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_created_object2.rb b/lib/auth0/types/event_stream_cloud_event_group_created_object2.rb new file mode 100644 index 000000000..292357d4a --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_created_object2.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Represents a tenant group entity. + class EventStreamCloudEventGroupCreatedObject2 < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :external_id, -> { String }, optional: true, nullable: false + + field :created_at, -> { String }, optional: false, nullable: false + + field :type, -> { Auth0::Types::EventStreamCloudEventGroupCreatedObject2TypeEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_created_object2type_enum.rb b/lib/auth0/types/event_stream_cloud_event_group_created_object2type_enum.rb new file mode 100644 index 000000000..3ade0eb4c --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_created_object2type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventGroupCreatedObject2TypeEnum + extend Auth0::Internal::Types::Enum + + TENANT = "tenant" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_created_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_group_created_type_enum.rb new file mode 100644 index 000000000..53c19093b --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_created_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventGroupCreatedTypeEnum + extend Auth0::Internal::Types::Enum + + GROUP_CREATED = "group.created" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_deleted.rb b/lib/auth0/types/event_stream_cloud_event_group_deleted.rb new file mode 100644 index 000000000..17040a086 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_deleted.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # SSE message for group.deleted. + class EventStreamCloudEventGroupDeleted < Internal::Types::Model + field :offset, -> { String }, optional: false, nullable: false + + field :event, -> { Auth0::Types::EventStreamCloudEventGroupDeletedCloudEvent }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_deleted_cloud_event.rb b/lib/auth0/types/event_stream_cloud_event_group_deleted_cloud_event.rb new file mode 100644 index 000000000..5184116fb --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_deleted_cloud_event.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Represents an event that occurs when a group is deleted. + class EventStreamCloudEventGroupDeletedCloudEvent < Internal::Types::Model + field :specversion, -> { Auth0::Types::EventStreamCloudEventSpecVersionEnum }, optional: false, nullable: false + + field :type, -> { Auth0::Types::EventStreamCloudEventGroupDeletedCloudEventTypeEnum }, optional: false, nullable: false + + field :source, -> { String }, optional: false, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :time, -> { String }, optional: false, nullable: false + + field :data, -> { Auth0::Types::EventStreamCloudEventGroupDeletedData }, optional: false, nullable: false + + field :a0tenant, -> { String }, optional: false, nullable: false + + field :a0stream, -> { String }, optional: false, nullable: false + + field :a0purpose, -> { Auth0::Types::EventStreamCloudEventA0PurposeEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_deleted_cloud_event_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_group_deleted_cloud_event_type_enum.rb new file mode 100644 index 000000000..de8e15c53 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_deleted_cloud_event_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventGroupDeletedCloudEventTypeEnum + extend Auth0::Internal::Types::Enum + + GROUP_DELETED = "group.deleted" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_deleted_data.rb b/lib/auth0/types/event_stream_cloud_event_group_deleted_data.rb new file mode 100644 index 000000000..6fbd9ea88 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_deleted_data.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The event payload. + class EventStreamCloudEventGroupDeletedData < Internal::Types::Model + field :object, -> { Auth0::Types::EventStreamCloudEventGroupDeletedObject }, optional: false, nullable: false + + field :context, -> { Auth0::Types::EventStreamCloudEventContext }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_deleted_object.rb b/lib/auth0/types/event_stream_cloud_event_group_deleted_object.rb new file mode 100644 index 000000000..461ba9a95 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_deleted_object.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The event content. + class EventStreamCloudEventGroupDeletedObject < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::EventStreamCloudEventGroupDeletedObject0 } + + member -> { Auth0::Types::EventStreamCloudEventGroupDeletedObject1 } + + member -> { Auth0::Types::EventStreamCloudEventGroupDeletedObject2 } + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_deleted_object0.rb b/lib/auth0/types/event_stream_cloud_event_group_deleted_object0.rb new file mode 100644 index 000000000..5812685b9 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_deleted_object0.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Connection group with updated_at timestamp + class EventStreamCloudEventGroupDeletedObject0 < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :external_id, -> { String }, optional: true, nullable: false + + field :created_at, -> { String }, optional: false, nullable: false + + field :type, -> { Auth0::Types::EventStreamCloudEventGroupDeletedObject0TypeEnum }, optional: false, nullable: false + + field :connection_id, -> { String }, optional: false, nullable: false + + field :updated_at, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_deleted_object0type_enum.rb b/lib/auth0/types/event_stream_cloud_event_group_deleted_object0type_enum.rb new file mode 100644 index 000000000..25e2fa765 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_deleted_object0type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventGroupDeletedObject0TypeEnum + extend Auth0::Internal::Types::Enum + + CONNECTION = "connection" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_deleted_object1.rb b/lib/auth0/types/event_stream_cloud_event_group_deleted_object1.rb new file mode 100644 index 000000000..ad6fbda8e --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_deleted_object1.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Organization group with updated_at timestamp + class EventStreamCloudEventGroupDeletedObject1 < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :external_id, -> { String }, optional: true, nullable: false + + field :created_at, -> { String }, optional: false, nullable: false + + field :type, -> { Auth0::Types::EventStreamCloudEventGroupDeletedObject1TypeEnum }, optional: false, nullable: false + + field :organization_id, -> { String }, optional: false, nullable: false + + field :updated_at, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_deleted_object1type_enum.rb b/lib/auth0/types/event_stream_cloud_event_group_deleted_object1type_enum.rb new file mode 100644 index 000000000..53d5d7b51 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_deleted_object1type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventGroupDeletedObject1TypeEnum + extend Auth0::Internal::Types::Enum + + ORGANIZATION = "organization" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_deleted_object2.rb b/lib/auth0/types/event_stream_cloud_event_group_deleted_object2.rb new file mode 100644 index 000000000..922aa3d7a --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_deleted_object2.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Tenant group with updated_at timestamp + class EventStreamCloudEventGroupDeletedObject2 < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :external_id, -> { String }, optional: true, nullable: false + + field :created_at, -> { String }, optional: false, nullable: false + + field :type, -> { Auth0::Types::EventStreamCloudEventGroupDeletedObject2TypeEnum }, optional: false, nullable: false + + field :updated_at, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_deleted_object2type_enum.rb b/lib/auth0/types/event_stream_cloud_event_group_deleted_object2type_enum.rb new file mode 100644 index 000000000..c5985e000 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_deleted_object2type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventGroupDeletedObject2TypeEnum + extend Auth0::Internal::Types::Enum + + TENANT = "tenant" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_deleted_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_group_deleted_type_enum.rb new file mode 100644 index 000000000..76a8ec643 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_deleted_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventGroupDeletedTypeEnum + extend Auth0::Internal::Types::Enum + + GROUP_DELETED = "group.deleted" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_member_added.rb b/lib/auth0/types/event_stream_cloud_event_group_member_added.rb new file mode 100644 index 000000000..ba9527ad5 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_member_added.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # SSE message for group.member.added. + class EventStreamCloudEventGroupMemberAdded < Internal::Types::Model + field :offset, -> { String }, optional: false, nullable: false + + field :event, -> { Auth0::Types::EventStreamCloudEventGroupMemberAddedCloudEvent }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_member_added_cloud_event.rb b/lib/auth0/types/event_stream_cloud_event_group_member_added_cloud_event.rb new file mode 100644 index 000000000..45e05f902 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_member_added_cloud_event.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Represents an event that occurs when a member is added to a group. + class EventStreamCloudEventGroupMemberAddedCloudEvent < Internal::Types::Model + field :specversion, -> { Auth0::Types::EventStreamCloudEventSpecVersionEnum }, optional: false, nullable: false + + field :type, -> { Auth0::Types::EventStreamCloudEventGroupMemberAddedCloudEventTypeEnum }, optional: false, nullable: false + + field :source, -> { String }, optional: false, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :time, -> { String }, optional: false, nullable: false + + field :data, -> { Auth0::Types::EventStreamCloudEventGroupMemberAddedData }, optional: false, nullable: false + + field :a0tenant, -> { String }, optional: false, nullable: false + + field :a0stream, -> { String }, optional: false, nullable: false + + field :a0purpose, -> { Auth0::Types::EventStreamCloudEventA0PurposeEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_member_added_cloud_event_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_group_member_added_cloud_event_type_enum.rb new file mode 100644 index 000000000..885823c20 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_member_added_cloud_event_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventGroupMemberAddedCloudEventTypeEnum + extend Auth0::Internal::Types::Enum + + GROUP_MEMBER_ADDED = "group.member.added" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_member_added_data.rb b/lib/auth0/types/event_stream_cloud_event_group_member_added_data.rb new file mode 100644 index 000000000..18f151019 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_member_added_data.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The event payload. + class EventStreamCloudEventGroupMemberAddedData < Internal::Types::Model + field :object, -> { Auth0::Types::EventStreamCloudEventGroupMemberAddedObject }, optional: false, nullable: false + + field :context, -> { Auth0::Types::EventStreamCloudEventContext }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_member_added_object.rb b/lib/auth0/types/event_stream_cloud_event_group_member_added_object.rb new file mode 100644 index 000000000..6961a2c00 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_member_added_object.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The event content. + class EventStreamCloudEventGroupMemberAddedObject < Internal::Types::Model + field :group, -> { Auth0::Types::EventStreamCloudEventGroupMemberAddedObjectGroup }, optional: false, nullable: false + + field :member, -> { Auth0::Types::EventStreamCloudEventGroupMemberAddedObjectMember }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_member_added_object_group.rb b/lib/auth0/types/event_stream_cloud_event_group_member_added_object_group.rb new file mode 100644 index 000000000..21cb3bcce --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_member_added_object_group.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The group the member belongs to. + class EventStreamCloudEventGroupMemberAddedObjectGroup < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::EventStreamCloudEventGroupMemberAddedObjectGroup0 } + + member -> { Auth0::Types::EventStreamCloudEventGroupMemberAddedObjectGroup1 } + + member -> { Auth0::Types::EventStreamCloudEventGroupMemberAddedObjectGroup2 } + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_member_added_object_group0.rb b/lib/auth0/types/event_stream_cloud_event_group_member_added_object_group0.rb new file mode 100644 index 000000000..ad2e2aad4 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_member_added_object_group0.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Reference to a connection group + class EventStreamCloudEventGroupMemberAddedObjectGroup0 < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :external_id, -> { String }, optional: true, nullable: false + + field :type, -> { Auth0::Types::EventStreamCloudEventGroupMemberAddedObjectGroup0TypeEnum }, optional: false, nullable: false + + field :connection_id, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_member_added_object_group0type_enum.rb b/lib/auth0/types/event_stream_cloud_event_group_member_added_object_group0type_enum.rb new file mode 100644 index 000000000..2805f7bc2 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_member_added_object_group0type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventGroupMemberAddedObjectGroup0TypeEnum + extend Auth0::Internal::Types::Enum + + CONNECTION = "connection" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_member_added_object_group1.rb b/lib/auth0/types/event_stream_cloud_event_group_member_added_object_group1.rb new file mode 100644 index 000000000..eedc0d008 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_member_added_object_group1.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Reference to an organization group + class EventStreamCloudEventGroupMemberAddedObjectGroup1 < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :external_id, -> { String }, optional: true, nullable: false + + field :type, -> { Auth0::Types::EventStreamCloudEventGroupMemberAddedObjectGroup1TypeEnum }, optional: false, nullable: false + + field :organization_id, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_member_added_object_group1type_enum.rb b/lib/auth0/types/event_stream_cloud_event_group_member_added_object_group1type_enum.rb new file mode 100644 index 000000000..56c587961 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_member_added_object_group1type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventGroupMemberAddedObjectGroup1TypeEnum + extend Auth0::Internal::Types::Enum + + ORGANIZATION = "organization" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_member_added_object_group2.rb b/lib/auth0/types/event_stream_cloud_event_group_member_added_object_group2.rb new file mode 100644 index 000000000..752672ce4 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_member_added_object_group2.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Reference to a tenant group + class EventStreamCloudEventGroupMemberAddedObjectGroup2 < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :external_id, -> { String }, optional: true, nullable: false + + field :type, -> { Auth0::Types::EventStreamCloudEventGroupMemberAddedObjectGroup2TypeEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_member_added_object_group2type_enum.rb b/lib/auth0/types/event_stream_cloud_event_group_member_added_object_group2type_enum.rb new file mode 100644 index 000000000..695e55fae --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_member_added_object_group2type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventGroupMemberAddedObjectGroup2TypeEnum + extend Auth0::Internal::Types::Enum + + TENANT = "tenant" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_member_added_object_member.rb b/lib/auth0/types/event_stream_cloud_event_group_member_added_object_member.rb new file mode 100644 index 000000000..a025fbc7c --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_member_added_object_member.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The member that is a part of the group. + class EventStreamCloudEventGroupMemberAddedObjectMember < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::EventStreamCloudEventGroupMemberAddedObjectMember0 } + + member -> { Auth0::Types::EventStreamCloudEventGroupMemberAddedObjectMember1 } + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_member_added_object_member0.rb b/lib/auth0/types/event_stream_cloud_event_group_member_added_object_member0.rb new file mode 100644 index 000000000..167fa5284 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_member_added_object_member0.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # A group member of member_type user + class EventStreamCloudEventGroupMemberAddedObjectMember0 < Internal::Types::Model + field :member_type, -> { Auth0::Types::EventStreamCloudEventGroupMemberAddedObjectMember0MemberTypeEnum }, optional: false, nullable: false + + field :id, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_member_added_object_member0member_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_group_member_added_object_member0member_type_enum.rb new file mode 100644 index 000000000..7b2a0acdf --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_member_added_object_member0member_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventGroupMemberAddedObjectMember0MemberTypeEnum + extend Auth0::Internal::Types::Enum + + USER = "user" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_member_added_object_member1.rb b/lib/auth0/types/event_stream_cloud_event_group_member_added_object_member1.rb new file mode 100644 index 000000000..d6e953054 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_member_added_object_member1.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # A group member of member_type group + class EventStreamCloudEventGroupMemberAddedObjectMember1 < Internal::Types::Model + field :member_type, -> { Auth0::Types::EventStreamCloudEventGroupMemberAddedObjectMember1MemberTypeEnum }, optional: false, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :type, -> { String }, optional: false, nullable: false + + field :connection_id, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_member_added_object_member1member_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_group_member_added_object_member1member_type_enum.rb new file mode 100644 index 000000000..2b8dd0748 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_member_added_object_member1member_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventGroupMemberAddedObjectMember1MemberTypeEnum + extend Auth0::Internal::Types::Enum + + CONNECTION = "connection" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_member_added_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_group_member_added_type_enum.rb new file mode 100644 index 000000000..4b1afd7cf --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_member_added_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventGroupMemberAddedTypeEnum + extend Auth0::Internal::Types::Enum + + GROUP_MEMBER_ADDED = "group.member.added" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_member_deleted.rb b/lib/auth0/types/event_stream_cloud_event_group_member_deleted.rb new file mode 100644 index 000000000..011e28600 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_member_deleted.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # SSE message for group.member.deleted. + class EventStreamCloudEventGroupMemberDeleted < Internal::Types::Model + field :offset, -> { String }, optional: false, nullable: false + + field :event, -> { Auth0::Types::EventStreamCloudEventGroupMemberDeletedCloudEvent }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_member_deleted_cloud_event.rb b/lib/auth0/types/event_stream_cloud_event_group_member_deleted_cloud_event.rb new file mode 100644 index 000000000..3fb8166d0 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_member_deleted_cloud_event.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Represents an event that occurs when a member is removed from a group. + class EventStreamCloudEventGroupMemberDeletedCloudEvent < Internal::Types::Model + field :specversion, -> { Auth0::Types::EventStreamCloudEventSpecVersionEnum }, optional: false, nullable: false + + field :type, -> { Auth0::Types::EventStreamCloudEventGroupMemberDeletedCloudEventTypeEnum }, optional: false, nullable: false + + field :source, -> { String }, optional: false, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :time, -> { String }, optional: false, nullable: false + + field :data, -> { Auth0::Types::EventStreamCloudEventGroupMemberDeletedData }, optional: false, nullable: false + + field :a0tenant, -> { String }, optional: false, nullable: false + + field :a0stream, -> { String }, optional: false, nullable: false + + field :a0purpose, -> { Auth0::Types::EventStreamCloudEventA0PurposeEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_member_deleted_cloud_event_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_group_member_deleted_cloud_event_type_enum.rb new file mode 100644 index 000000000..50cbc56bb --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_member_deleted_cloud_event_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventGroupMemberDeletedCloudEventTypeEnum + extend Auth0::Internal::Types::Enum + + GROUP_MEMBER_DELETED = "group.member.deleted" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_member_deleted_data.rb b/lib/auth0/types/event_stream_cloud_event_group_member_deleted_data.rb new file mode 100644 index 000000000..0a3a12472 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_member_deleted_data.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The event payload. + class EventStreamCloudEventGroupMemberDeletedData < Internal::Types::Model + field :object, -> { Auth0::Types::EventStreamCloudEventGroupMemberDeletedObject }, optional: false, nullable: false + + field :context, -> { Auth0::Types::EventStreamCloudEventContext }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_member_deleted_object.rb b/lib/auth0/types/event_stream_cloud_event_group_member_deleted_object.rb new file mode 100644 index 000000000..982d2eef7 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_member_deleted_object.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The event content. + class EventStreamCloudEventGroupMemberDeletedObject < Internal::Types::Model + field :group, -> { Auth0::Types::EventStreamCloudEventGroupMemberDeletedObjectGroup }, optional: false, nullable: false + + field :member, -> { Auth0::Types::EventStreamCloudEventGroupMemberDeletedObjectMember }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_member_deleted_object_group.rb b/lib/auth0/types/event_stream_cloud_event_group_member_deleted_object_group.rb new file mode 100644 index 000000000..b4ccf8066 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_member_deleted_object_group.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The group the member belongs to. + class EventStreamCloudEventGroupMemberDeletedObjectGroup < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::EventStreamCloudEventGroupMemberDeletedObjectGroup0 } + + member -> { Auth0::Types::EventStreamCloudEventGroupMemberDeletedObjectGroup1 } + + member -> { Auth0::Types::EventStreamCloudEventGroupMemberDeletedObjectGroup2 } + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_member_deleted_object_group0.rb b/lib/auth0/types/event_stream_cloud_event_group_member_deleted_object_group0.rb new file mode 100644 index 000000000..7ec0b0ae0 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_member_deleted_object_group0.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Reference to a connection group + class EventStreamCloudEventGroupMemberDeletedObjectGroup0 < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :external_id, -> { String }, optional: true, nullable: false + + field :type, -> { Auth0::Types::EventStreamCloudEventGroupMemberDeletedObjectGroup0TypeEnum }, optional: false, nullable: false + + field :connection_id, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_member_deleted_object_group0type_enum.rb b/lib/auth0/types/event_stream_cloud_event_group_member_deleted_object_group0type_enum.rb new file mode 100644 index 000000000..8be16551d --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_member_deleted_object_group0type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventGroupMemberDeletedObjectGroup0TypeEnum + extend Auth0::Internal::Types::Enum + + CONNECTION = "connection" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_member_deleted_object_group1.rb b/lib/auth0/types/event_stream_cloud_event_group_member_deleted_object_group1.rb new file mode 100644 index 000000000..cc57a32ca --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_member_deleted_object_group1.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Reference to an organization group + class EventStreamCloudEventGroupMemberDeletedObjectGroup1 < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :external_id, -> { String }, optional: true, nullable: false + + field :type, -> { Auth0::Types::EventStreamCloudEventGroupMemberDeletedObjectGroup1TypeEnum }, optional: false, nullable: false + + field :organization_id, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_member_deleted_object_group1type_enum.rb b/lib/auth0/types/event_stream_cloud_event_group_member_deleted_object_group1type_enum.rb new file mode 100644 index 000000000..294eda176 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_member_deleted_object_group1type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventGroupMemberDeletedObjectGroup1TypeEnum + extend Auth0::Internal::Types::Enum + + ORGANIZATION = "organization" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_member_deleted_object_group2.rb b/lib/auth0/types/event_stream_cloud_event_group_member_deleted_object_group2.rb new file mode 100644 index 000000000..e278b10f9 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_member_deleted_object_group2.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Reference to a tenant group + class EventStreamCloudEventGroupMemberDeletedObjectGroup2 < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :external_id, -> { String }, optional: true, nullable: false + + field :type, -> { Auth0::Types::EventStreamCloudEventGroupMemberDeletedObjectGroup2TypeEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_member_deleted_object_group2type_enum.rb b/lib/auth0/types/event_stream_cloud_event_group_member_deleted_object_group2type_enum.rb new file mode 100644 index 000000000..3be2e42c3 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_member_deleted_object_group2type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventGroupMemberDeletedObjectGroup2TypeEnum + extend Auth0::Internal::Types::Enum + + TENANT = "tenant" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_member_deleted_object_member.rb b/lib/auth0/types/event_stream_cloud_event_group_member_deleted_object_member.rb new file mode 100644 index 000000000..4fb1a980b --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_member_deleted_object_member.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The member that is a part of the group. + class EventStreamCloudEventGroupMemberDeletedObjectMember < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::EventStreamCloudEventGroupMemberDeletedObjectMember0 } + + member -> { Auth0::Types::EventStreamCloudEventGroupMemberDeletedObjectMember1 } + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_member_deleted_object_member0.rb b/lib/auth0/types/event_stream_cloud_event_group_member_deleted_object_member0.rb new file mode 100644 index 000000000..4fe70c486 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_member_deleted_object_member0.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # A group member of member_type user + class EventStreamCloudEventGroupMemberDeletedObjectMember0 < Internal::Types::Model + field :member_type, -> { Auth0::Types::EventStreamCloudEventGroupMemberDeletedObjectMember0MemberTypeEnum }, optional: false, nullable: false + + field :id, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_member_deleted_object_member0member_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_group_member_deleted_object_member0member_type_enum.rb new file mode 100644 index 000000000..32bb5c397 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_member_deleted_object_member0member_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventGroupMemberDeletedObjectMember0MemberTypeEnum + extend Auth0::Internal::Types::Enum + + USER = "user" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_member_deleted_object_member1.rb b/lib/auth0/types/event_stream_cloud_event_group_member_deleted_object_member1.rb new file mode 100644 index 000000000..98aee7930 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_member_deleted_object_member1.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # A group member of member_type group + class EventStreamCloudEventGroupMemberDeletedObjectMember1 < Internal::Types::Model + field :member_type, -> { Auth0::Types::EventStreamCloudEventGroupMemberDeletedObjectMember1MemberTypeEnum }, optional: false, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :type, -> { String }, optional: false, nullable: false + + field :connection_id, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_member_deleted_object_member1member_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_group_member_deleted_object_member1member_type_enum.rb new file mode 100644 index 000000000..8b814d210 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_member_deleted_object_member1member_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventGroupMemberDeletedObjectMember1MemberTypeEnum + extend Auth0::Internal::Types::Enum + + CONNECTION = "connection" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_member_deleted_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_group_member_deleted_type_enum.rb new file mode 100644 index 000000000..7361ff466 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_member_deleted_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventGroupMemberDeletedTypeEnum + extend Auth0::Internal::Types::Enum + + GROUP_MEMBER_DELETED = "group.member.deleted" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_role_assigned.rb b/lib/auth0/types/event_stream_cloud_event_group_role_assigned.rb new file mode 100644 index 000000000..18483214d --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_role_assigned.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # SSE message for group.role.assigned. + class EventStreamCloudEventGroupRoleAssigned < Internal::Types::Model + field :offset, -> { String }, optional: false, nullable: false + + field :event, -> { Auth0::Types::EventStreamCloudEventGroupRoleAssignedCloudEvent }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_role_assigned_cloud_event.rb b/lib/auth0/types/event_stream_cloud_event_group_role_assigned_cloud_event.rb new file mode 100644 index 000000000..de7d9af6f --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_role_assigned_cloud_event.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Represents an event that occurs when a role is assigned to a group. + class EventStreamCloudEventGroupRoleAssignedCloudEvent < Internal::Types::Model + field :specversion, -> { Auth0::Types::EventStreamCloudEventSpecVersionEnum }, optional: false, nullable: false + + field :type, -> { Auth0::Types::EventStreamCloudEventGroupRoleAssignedCloudEventTypeEnum }, optional: false, nullable: false + + field :source, -> { String }, optional: false, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :time, -> { String }, optional: false, nullable: false + + field :data, -> { Auth0::Types::EventStreamCloudEventGroupRoleAssignedData }, optional: false, nullable: false + + field :a0tenant, -> { String }, optional: false, nullable: false + + field :a0stream, -> { String }, optional: false, nullable: false + + field :a0purpose, -> { Auth0::Types::EventStreamCloudEventA0PurposeEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_role_assigned_cloud_event_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_group_role_assigned_cloud_event_type_enum.rb new file mode 100644 index 000000000..19d468cc2 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_role_assigned_cloud_event_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventGroupRoleAssignedCloudEventTypeEnum + extend Auth0::Internal::Types::Enum + + GROUP_ROLE_ASSIGNED = "group.role.assigned" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_role_assigned_data.rb b/lib/auth0/types/event_stream_cloud_event_group_role_assigned_data.rb new file mode 100644 index 000000000..c807a768a --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_role_assigned_data.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The event payload. + class EventStreamCloudEventGroupRoleAssignedData < Internal::Types::Model + field :object, -> { Auth0::Types::EventStreamCloudEventGroupRoleAssignedObject }, optional: false, nullable: false + + field :context, -> { Auth0::Types::EventStreamCloudEventContext }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_role_assigned_object.rb b/lib/auth0/types/event_stream_cloud_event_group_role_assigned_object.rb new file mode 100644 index 000000000..0030ae765 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_role_assigned_object.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The event content. + class EventStreamCloudEventGroupRoleAssignedObject < Internal::Types::Model + field :group, -> { Auth0::Types::EventStreamCloudEventGroupRoleAssignedObjectGroup }, optional: false, nullable: false + + field :role, -> { Auth0::Types::EventStreamCloudEventGroupRoleAssignedObjectRole }, optional: false, nullable: false + + field :created_at, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_role_assigned_object_group.rb b/lib/auth0/types/event_stream_cloud_event_group_role_assigned_object_group.rb new file mode 100644 index 000000000..32cd0e75f --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_role_assigned_object_group.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The group the role is assigned to. + class EventStreamCloudEventGroupRoleAssignedObjectGroup < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::EventStreamCloudEventGroupRoleAssignedObjectGroup0 } + + member -> { Auth0::Types::EventStreamCloudEventGroupRoleAssignedObjectGroup1 } + + member -> { Auth0::Types::EventStreamCloudEventGroupRoleAssignedObjectGroup2 } + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_role_assigned_object_group0.rb b/lib/auth0/types/event_stream_cloud_event_group_role_assigned_object_group0.rb new file mode 100644 index 000000000..e297e10fa --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_role_assigned_object_group0.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Reference to a connection group + class EventStreamCloudEventGroupRoleAssignedObjectGroup0 < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :external_id, -> { String }, optional: true, nullable: false + + field :type, -> { Auth0::Types::EventStreamCloudEventGroupRoleAssignedObjectGroup0TypeEnum }, optional: false, nullable: false + + field :connection_id, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_role_assigned_object_group0type_enum.rb b/lib/auth0/types/event_stream_cloud_event_group_role_assigned_object_group0type_enum.rb new file mode 100644 index 000000000..878ee4f40 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_role_assigned_object_group0type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventGroupRoleAssignedObjectGroup0TypeEnum + extend Auth0::Internal::Types::Enum + + CONNECTION = "connection" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_role_assigned_object_group1.rb b/lib/auth0/types/event_stream_cloud_event_group_role_assigned_object_group1.rb new file mode 100644 index 000000000..94b0e1665 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_role_assigned_object_group1.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Reference to an organization group + class EventStreamCloudEventGroupRoleAssignedObjectGroup1 < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :external_id, -> { String }, optional: true, nullable: false + + field :type, -> { Auth0::Types::EventStreamCloudEventGroupRoleAssignedObjectGroup1TypeEnum }, optional: false, nullable: false + + field :organization_id, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_role_assigned_object_group1type_enum.rb b/lib/auth0/types/event_stream_cloud_event_group_role_assigned_object_group1type_enum.rb new file mode 100644 index 000000000..0c881ebce --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_role_assigned_object_group1type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventGroupRoleAssignedObjectGroup1TypeEnum + extend Auth0::Internal::Types::Enum + + ORGANIZATION = "organization" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_role_assigned_object_group2.rb b/lib/auth0/types/event_stream_cloud_event_group_role_assigned_object_group2.rb new file mode 100644 index 000000000..3742b5eae --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_role_assigned_object_group2.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Reference to a tenant group + class EventStreamCloudEventGroupRoleAssignedObjectGroup2 < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :external_id, -> { String }, optional: true, nullable: false + + field :type, -> { Auth0::Types::EventStreamCloudEventGroupRoleAssignedObjectGroup2TypeEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_role_assigned_object_group2type_enum.rb b/lib/auth0/types/event_stream_cloud_event_group_role_assigned_object_group2type_enum.rb new file mode 100644 index 000000000..a550e0e4a --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_role_assigned_object_group2type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventGroupRoleAssignedObjectGroup2TypeEnum + extend Auth0::Internal::Types::Enum + + TENANT = "tenant" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_role_assigned_object_role.rb b/lib/auth0/types/event_stream_cloud_event_group_role_assigned_object_role.rb new file mode 100644 index 000000000..dc6bb4c0a --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_role_assigned_object_role.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The role assigned to the group. + class EventStreamCloudEventGroupRoleAssignedObjectRole < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :name, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_role_assigned_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_group_role_assigned_type_enum.rb new file mode 100644 index 000000000..f19c82f37 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_role_assigned_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventGroupRoleAssignedTypeEnum + extend Auth0::Internal::Types::Enum + + GROUP_ROLE_ASSIGNED = "group.role.assigned" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_role_deleted.rb b/lib/auth0/types/event_stream_cloud_event_group_role_deleted.rb new file mode 100644 index 000000000..293ffb538 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_role_deleted.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # SSE message for group.role.deleted. + class EventStreamCloudEventGroupRoleDeleted < Internal::Types::Model + field :offset, -> { String }, optional: false, nullable: false + + field :event, -> { Auth0::Types::EventStreamCloudEventGroupRoleDeletedCloudEvent }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_role_deleted_cloud_event.rb b/lib/auth0/types/event_stream_cloud_event_group_role_deleted_cloud_event.rb new file mode 100644 index 000000000..e9adc2aff --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_role_deleted_cloud_event.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Represents an event that occurs when a role is removed from a group. + class EventStreamCloudEventGroupRoleDeletedCloudEvent < Internal::Types::Model + field :specversion, -> { Auth0::Types::EventStreamCloudEventSpecVersionEnum }, optional: false, nullable: false + + field :type, -> { Auth0::Types::EventStreamCloudEventGroupRoleDeletedCloudEventTypeEnum }, optional: false, nullable: false + + field :source, -> { String }, optional: false, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :time, -> { String }, optional: false, nullable: false + + field :data, -> { Auth0::Types::EventStreamCloudEventGroupRoleDeletedData }, optional: false, nullable: false + + field :a0tenant, -> { String }, optional: false, nullable: false + + field :a0stream, -> { String }, optional: false, nullable: false + + field :a0purpose, -> { Auth0::Types::EventStreamCloudEventA0PurposeEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_role_deleted_cloud_event_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_group_role_deleted_cloud_event_type_enum.rb new file mode 100644 index 000000000..67b9c48f0 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_role_deleted_cloud_event_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventGroupRoleDeletedCloudEventTypeEnum + extend Auth0::Internal::Types::Enum + + GROUP_ROLE_DELETED = "group.role.deleted" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_role_deleted_data.rb b/lib/auth0/types/event_stream_cloud_event_group_role_deleted_data.rb new file mode 100644 index 000000000..0889601b4 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_role_deleted_data.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The event payload. + class EventStreamCloudEventGroupRoleDeletedData < Internal::Types::Model + field :object, -> { Auth0::Types::EventStreamCloudEventGroupRoleDeletedObject }, optional: false, nullable: false + + field :context, -> { Auth0::Types::EventStreamCloudEventContext }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_role_deleted_object.rb b/lib/auth0/types/event_stream_cloud_event_group_role_deleted_object.rb new file mode 100644 index 000000000..231a5a60b --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_role_deleted_object.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The event content. + class EventStreamCloudEventGroupRoleDeletedObject < Internal::Types::Model + field :group, -> { Auth0::Types::EventStreamCloudEventGroupRoleDeletedObjectGroup }, optional: false, nullable: false + + field :role, -> { Auth0::Types::EventStreamCloudEventGroupRoleDeletedObjectRole }, optional: false, nullable: false + + field :deleted_at, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_role_deleted_object_group.rb b/lib/auth0/types/event_stream_cloud_event_group_role_deleted_object_group.rb new file mode 100644 index 000000000..50db1967f --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_role_deleted_object_group.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The group the role is removed from. + class EventStreamCloudEventGroupRoleDeletedObjectGroup < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::EventStreamCloudEventGroupRoleDeletedObjectGroup0 } + + member -> { Auth0::Types::EventStreamCloudEventGroupRoleDeletedObjectGroup1 } + + member -> { Auth0::Types::EventStreamCloudEventGroupRoleDeletedObjectGroup2 } + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_role_deleted_object_group0.rb b/lib/auth0/types/event_stream_cloud_event_group_role_deleted_object_group0.rb new file mode 100644 index 000000000..035d754b7 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_role_deleted_object_group0.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Reference to a connection group + class EventStreamCloudEventGroupRoleDeletedObjectGroup0 < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :external_id, -> { String }, optional: true, nullable: false + + field :type, -> { Auth0::Types::EventStreamCloudEventGroupRoleDeletedObjectGroup0TypeEnum }, optional: false, nullable: false + + field :connection_id, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_role_deleted_object_group0type_enum.rb b/lib/auth0/types/event_stream_cloud_event_group_role_deleted_object_group0type_enum.rb new file mode 100644 index 000000000..3c0ee2024 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_role_deleted_object_group0type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventGroupRoleDeletedObjectGroup0TypeEnum + extend Auth0::Internal::Types::Enum + + CONNECTION = "connection" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_role_deleted_object_group1.rb b/lib/auth0/types/event_stream_cloud_event_group_role_deleted_object_group1.rb new file mode 100644 index 000000000..f3cabc8bb --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_role_deleted_object_group1.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Reference to an organization group + class EventStreamCloudEventGroupRoleDeletedObjectGroup1 < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :external_id, -> { String }, optional: true, nullable: false + + field :type, -> { Auth0::Types::EventStreamCloudEventGroupRoleDeletedObjectGroup1TypeEnum }, optional: false, nullable: false + + field :organization_id, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_role_deleted_object_group1type_enum.rb b/lib/auth0/types/event_stream_cloud_event_group_role_deleted_object_group1type_enum.rb new file mode 100644 index 000000000..c472f697c --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_role_deleted_object_group1type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventGroupRoleDeletedObjectGroup1TypeEnum + extend Auth0::Internal::Types::Enum + + ORGANIZATION = "organization" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_role_deleted_object_group2.rb b/lib/auth0/types/event_stream_cloud_event_group_role_deleted_object_group2.rb new file mode 100644 index 000000000..235ef2e74 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_role_deleted_object_group2.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Reference to a tenant group + class EventStreamCloudEventGroupRoleDeletedObjectGroup2 < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :external_id, -> { String }, optional: true, nullable: false + + field :type, -> { Auth0::Types::EventStreamCloudEventGroupRoleDeletedObjectGroup2TypeEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_role_deleted_object_group2type_enum.rb b/lib/auth0/types/event_stream_cloud_event_group_role_deleted_object_group2type_enum.rb new file mode 100644 index 000000000..1ff4af0a3 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_role_deleted_object_group2type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventGroupRoleDeletedObjectGroup2TypeEnum + extend Auth0::Internal::Types::Enum + + TENANT = "tenant" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_role_deleted_object_role.rb b/lib/auth0/types/event_stream_cloud_event_group_role_deleted_object_role.rb new file mode 100644 index 000000000..e6a55d884 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_role_deleted_object_role.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The role removed from the group. + class EventStreamCloudEventGroupRoleDeletedObjectRole < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_role_deleted_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_group_role_deleted_type_enum.rb new file mode 100644 index 000000000..689027f2a --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_role_deleted_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventGroupRoleDeletedTypeEnum + extend Auth0::Internal::Types::Enum + + GROUP_ROLE_DELETED = "group.role.deleted" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_updated.rb b/lib/auth0/types/event_stream_cloud_event_group_updated.rb new file mode 100644 index 000000000..8dc3c379d --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_updated.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # SSE message for group.updated. + class EventStreamCloudEventGroupUpdated < Internal::Types::Model + field :offset, -> { String }, optional: false, nullable: false + + field :event, -> { Auth0::Types::EventStreamCloudEventGroupUpdatedCloudEvent }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_updated_cloud_event.rb b/lib/auth0/types/event_stream_cloud_event_group_updated_cloud_event.rb new file mode 100644 index 000000000..150b41773 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_updated_cloud_event.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Represents an event that occurs when a group is updated. + class EventStreamCloudEventGroupUpdatedCloudEvent < Internal::Types::Model + field :specversion, -> { Auth0::Types::EventStreamCloudEventSpecVersionEnum }, optional: false, nullable: false + + field :type, -> { Auth0::Types::EventStreamCloudEventGroupUpdatedCloudEventTypeEnum }, optional: false, nullable: false + + field :source, -> { String }, optional: false, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :time, -> { String }, optional: false, nullable: false + + field :data, -> { Auth0::Types::EventStreamCloudEventGroupUpdatedData }, optional: false, nullable: false + + field :a0tenant, -> { String }, optional: false, nullable: false + + field :a0stream, -> { String }, optional: false, nullable: false + + field :a0purpose, -> { Auth0::Types::EventStreamCloudEventA0PurposeEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_updated_cloud_event_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_group_updated_cloud_event_type_enum.rb new file mode 100644 index 000000000..b6bb9c29e --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_updated_cloud_event_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventGroupUpdatedCloudEventTypeEnum + extend Auth0::Internal::Types::Enum + + GROUP_UPDATED = "group.updated" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_updated_data.rb b/lib/auth0/types/event_stream_cloud_event_group_updated_data.rb new file mode 100644 index 000000000..4240a5318 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_updated_data.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The event payload. + class EventStreamCloudEventGroupUpdatedData < Internal::Types::Model + field :object, -> { Auth0::Types::EventStreamCloudEventGroupUpdatedObject }, optional: false, nullable: false + + field :context, -> { Auth0::Types::EventStreamCloudEventContext }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_updated_object.rb b/lib/auth0/types/event_stream_cloud_event_group_updated_object.rb new file mode 100644 index 000000000..c39ac5f31 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_updated_object.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The event content. + class EventStreamCloudEventGroupUpdatedObject < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::EventStreamCloudEventGroupUpdatedObject0 } + + member -> { Auth0::Types::EventStreamCloudEventGroupUpdatedObject1 } + + member -> { Auth0::Types::EventStreamCloudEventGroupUpdatedObject2 } + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_updated_object0.rb b/lib/auth0/types/event_stream_cloud_event_group_updated_object0.rb new file mode 100644 index 000000000..1e02d032e --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_updated_object0.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Connection group with updated_at timestamp + class EventStreamCloudEventGroupUpdatedObject0 < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :external_id, -> { String }, optional: true, nullable: false + + field :created_at, -> { String }, optional: false, nullable: false + + field :type, -> { Auth0::Types::EventStreamCloudEventGroupUpdatedObject0TypeEnum }, optional: false, nullable: false + + field :connection_id, -> { String }, optional: false, nullable: false + + field :updated_at, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_updated_object0type_enum.rb b/lib/auth0/types/event_stream_cloud_event_group_updated_object0type_enum.rb new file mode 100644 index 000000000..11bf96cae --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_updated_object0type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventGroupUpdatedObject0TypeEnum + extend Auth0::Internal::Types::Enum + + CONNECTION = "connection" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_updated_object1.rb b/lib/auth0/types/event_stream_cloud_event_group_updated_object1.rb new file mode 100644 index 000000000..a0853b33b --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_updated_object1.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Organization group with updated_at timestamp + class EventStreamCloudEventGroupUpdatedObject1 < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :external_id, -> { String }, optional: true, nullable: false + + field :created_at, -> { String }, optional: false, nullable: false + + field :type, -> { Auth0::Types::EventStreamCloudEventGroupUpdatedObject1TypeEnum }, optional: false, nullable: false + + field :organization_id, -> { String }, optional: false, nullable: false + + field :updated_at, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_updated_object1type_enum.rb b/lib/auth0/types/event_stream_cloud_event_group_updated_object1type_enum.rb new file mode 100644 index 000000000..7c79b9d59 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_updated_object1type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventGroupUpdatedObject1TypeEnum + extend Auth0::Internal::Types::Enum + + ORGANIZATION = "organization" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_updated_object2.rb b/lib/auth0/types/event_stream_cloud_event_group_updated_object2.rb new file mode 100644 index 000000000..13211d5ed --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_updated_object2.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Tenant group with updated_at timestamp + class EventStreamCloudEventGroupUpdatedObject2 < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :external_id, -> { String }, optional: true, nullable: false + + field :created_at, -> { String }, optional: false, nullable: false + + field :type, -> { Auth0::Types::EventStreamCloudEventGroupUpdatedObject2TypeEnum }, optional: false, nullable: false + + field :updated_at, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_updated_object2type_enum.rb b/lib/auth0/types/event_stream_cloud_event_group_updated_object2type_enum.rb new file mode 100644 index 000000000..3dada532f --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_updated_object2type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventGroupUpdatedObject2TypeEnum + extend Auth0::Internal::Types::Enum + + TENANT = "tenant" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_group_updated_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_group_updated_type_enum.rb new file mode 100644 index 000000000..5d6c7c68c --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_group_updated_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventGroupUpdatedTypeEnum + extend Auth0::Internal::Types::Enum + + GROUP_UPDATED = "group.updated" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_offset_only_message.rb b/lib/auth0/types/event_stream_cloud_event_offset_only_message.rb new file mode 100644 index 000000000..eaaa712a6 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_offset_only_message.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # An offset-only heartbeat message. Advances the cursor without delivering an event. + class EventStreamCloudEventOffsetOnlyMessage < Internal::Types::Model + field :offset, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_offset_only_message_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_offset_only_message_type_enum.rb new file mode 100644 index 000000000..4b2c7b1d6 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_offset_only_message_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventOffsetOnlyMessageTypeEnum + extend Auth0::Internal::Types::Enum + + OFFSET_ONLY = "offset-only" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_connection_added.rb b/lib/auth0/types/event_stream_cloud_event_org_connection_added.rb new file mode 100644 index 000000000..a214f93ae --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_connection_added.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # SSE message for organization.connection.added. + class EventStreamCloudEventOrgConnectionAdded < Internal::Types::Model + field :offset, -> { String }, optional: false, nullable: false + + field :event, -> { Auth0::Types::EventStreamCloudEventOrgConnectionAddedCloudEvent }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_connection_added_cloud_event.rb b/lib/auth0/types/event_stream_cloud_event_org_connection_added_cloud_event.rb new file mode 100644 index 000000000..3ecba13f2 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_connection_added_cloud_event.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Represents an event that occurs when a connection is added to an organization. + class EventStreamCloudEventOrgConnectionAddedCloudEvent < Internal::Types::Model + field :specversion, -> { Auth0::Types::EventStreamCloudEventSpecVersionEnum }, optional: false, nullable: false + + field :type, -> { Auth0::Types::EventStreamCloudEventOrgConnectionAddedCloudEventTypeEnum }, optional: false, nullable: false + + field :source, -> { String }, optional: false, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :time, -> { String }, optional: false, nullable: false + + field :data, -> { Auth0::Types::EventStreamCloudEventOrgConnectionAddedData }, optional: false, nullable: false + + field :a0tenant, -> { String }, optional: false, nullable: false + + field :a0stream, -> { String }, optional: false, nullable: false + + field :a0purpose, -> { Auth0::Types::EventStreamCloudEventA0PurposeEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_connection_added_cloud_event_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_org_connection_added_cloud_event_type_enum.rb new file mode 100644 index 000000000..e173cedcc --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_connection_added_cloud_event_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventOrgConnectionAddedCloudEventTypeEnum + extend Auth0::Internal::Types::Enum + + ORGANIZATION_CONNECTION_ADDED = "organization.connection.added" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_connection_added_data.rb b/lib/auth0/types/event_stream_cloud_event_org_connection_added_data.rb new file mode 100644 index 000000000..b9da226f2 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_connection_added_data.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The event payload. + class EventStreamCloudEventOrgConnectionAddedData < Internal::Types::Model + field :object, -> { Auth0::Types::EventStreamCloudEventOrgConnectionAddedObject }, optional: false, nullable: false + + field :context, -> { Auth0::Types::EventStreamCloudEventContext }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_connection_added_object.rb b/lib/auth0/types/event_stream_cloud_event_org_connection_added_object.rb new file mode 100644 index 000000000..cec349a5b --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_connection_added_object.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The event content. + class EventStreamCloudEventOrgConnectionAddedObject < Internal::Types::Model + field :organization, -> { Auth0::Types::EventStreamCloudEventOrgConnectionAddedObjectOrganization }, optional: false, nullable: false + + field :connection, -> { Auth0::Types::EventStreamCloudEventOrgConnectionAddedObjectConnection }, optional: false, nullable: false + + field :assign_membership_on_login, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :is_signup_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_connection_added_object_connection.rb b/lib/auth0/types/event_stream_cloud_event_org_connection_added_object_connection.rb new file mode 100644 index 000000000..eee8fd4aa --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_connection_added_object_connection.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class EventStreamCloudEventOrgConnectionAddedObjectConnection < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_connection_added_object_organization.rb b/lib/auth0/types/event_stream_cloud_event_org_connection_added_object_organization.rb new file mode 100644 index 000000000..2b935204f --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_connection_added_object_organization.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Information about an Auth0 Organization. + class EventStreamCloudEventOrgConnectionAddedObjectOrganization < Internal::Types::Model + field :name, -> { String }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_connection_added_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_org_connection_added_type_enum.rb new file mode 100644 index 000000000..7dd70cdc4 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_connection_added_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventOrgConnectionAddedTypeEnum + extend Auth0::Internal::Types::Enum + + ORGANIZATION_CONNECTION_ADDED = "organization.connection.added" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_connection_removed.rb b/lib/auth0/types/event_stream_cloud_event_org_connection_removed.rb new file mode 100644 index 000000000..d201f3bc2 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_connection_removed.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # SSE message for organization.connection.removed. + class EventStreamCloudEventOrgConnectionRemoved < Internal::Types::Model + field :offset, -> { String }, optional: false, nullable: false + + field :event, -> { Auth0::Types::EventStreamCloudEventOrgConnectionRemovedCloudEvent }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_connection_removed_cloud_event.rb b/lib/auth0/types/event_stream_cloud_event_org_connection_removed_cloud_event.rb new file mode 100644 index 000000000..5495bb685 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_connection_removed_cloud_event.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Represents an event that occurs when a connection is removed from an organization. + class EventStreamCloudEventOrgConnectionRemovedCloudEvent < Internal::Types::Model + field :specversion, -> { Auth0::Types::EventStreamCloudEventSpecVersionEnum }, optional: false, nullable: false + + field :type, -> { Auth0::Types::EventStreamCloudEventOrgConnectionRemovedCloudEventTypeEnum }, optional: false, nullable: false + + field :source, -> { String }, optional: false, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :time, -> { String }, optional: false, nullable: false + + field :data, -> { Auth0::Types::EventStreamCloudEventOrgConnectionRemovedData }, optional: false, nullable: false + + field :a0tenant, -> { String }, optional: false, nullable: false + + field :a0stream, -> { String }, optional: false, nullable: false + + field :a0purpose, -> { Auth0::Types::EventStreamCloudEventA0PurposeEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_connection_removed_cloud_event_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_org_connection_removed_cloud_event_type_enum.rb new file mode 100644 index 000000000..afeff26da --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_connection_removed_cloud_event_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventOrgConnectionRemovedCloudEventTypeEnum + extend Auth0::Internal::Types::Enum + + ORGANIZATION_CONNECTION_REMOVED = "organization.connection.removed" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_connection_removed_data.rb b/lib/auth0/types/event_stream_cloud_event_org_connection_removed_data.rb new file mode 100644 index 000000000..f935dc13a --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_connection_removed_data.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The event payload. + class EventStreamCloudEventOrgConnectionRemovedData < Internal::Types::Model + field :object, -> { Auth0::Types::EventStreamCloudEventOrgConnectionRemovedObject }, optional: false, nullable: false + + field :context, -> { Auth0::Types::EventStreamCloudEventContext }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_connection_removed_object.rb b/lib/auth0/types/event_stream_cloud_event_org_connection_removed_object.rb new file mode 100644 index 000000000..9793bba53 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_connection_removed_object.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The event content. + class EventStreamCloudEventOrgConnectionRemovedObject < Internal::Types::Model + field :organization, -> { Auth0::Types::EventStreamCloudEventOrgConnectionRemovedObjectOrganization }, optional: false, nullable: false + + field :connection, -> { Auth0::Types::EventStreamCloudEventOrgConnectionRemovedObjectConnection }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_connection_removed_object_connection.rb b/lib/auth0/types/event_stream_cloud_event_org_connection_removed_object_connection.rb new file mode 100644 index 000000000..89db6a646 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_connection_removed_object_connection.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class EventStreamCloudEventOrgConnectionRemovedObjectConnection < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_connection_removed_object_organization.rb b/lib/auth0/types/event_stream_cloud_event_org_connection_removed_object_organization.rb new file mode 100644 index 000000000..d8307cd64 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_connection_removed_object_organization.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Information about an Auth0 Organization. + class EventStreamCloudEventOrgConnectionRemovedObjectOrganization < Internal::Types::Model + field :name, -> { String }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_connection_removed_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_org_connection_removed_type_enum.rb new file mode 100644 index 000000000..38958f06a --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_connection_removed_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventOrgConnectionRemovedTypeEnum + extend Auth0::Internal::Types::Enum + + ORGANIZATION_CONNECTION_REMOVED = "organization.connection.removed" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_connection_updated.rb b/lib/auth0/types/event_stream_cloud_event_org_connection_updated.rb new file mode 100644 index 000000000..ec07f4b3a --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_connection_updated.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # SSE message for organization.connection.updated. + class EventStreamCloudEventOrgConnectionUpdated < Internal::Types::Model + field :offset, -> { String }, optional: false, nullable: false + + field :event, -> { Auth0::Types::EventStreamCloudEventOrgConnectionUpdatedCloudEvent }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_connection_updated_cloud_event.rb b/lib/auth0/types/event_stream_cloud_event_org_connection_updated_cloud_event.rb new file mode 100644 index 000000000..1c20582c5 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_connection_updated_cloud_event.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Represents an event that occurs when a organization connection is updated. + class EventStreamCloudEventOrgConnectionUpdatedCloudEvent < Internal::Types::Model + field :specversion, -> { Auth0::Types::EventStreamCloudEventSpecVersionEnum }, optional: false, nullable: false + + field :type, -> { Auth0::Types::EventStreamCloudEventOrgConnectionUpdatedCloudEventTypeEnum }, optional: false, nullable: false + + field :source, -> { String }, optional: false, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :time, -> { String }, optional: false, nullable: false + + field :data, -> { Auth0::Types::EventStreamCloudEventOrgConnectionUpdatedData }, optional: false, nullable: false + + field :a0tenant, -> { String }, optional: false, nullable: false + + field :a0stream, -> { String }, optional: false, nullable: false + + field :a0purpose, -> { Auth0::Types::EventStreamCloudEventA0PurposeEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_connection_updated_cloud_event_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_org_connection_updated_cloud_event_type_enum.rb new file mode 100644 index 000000000..f91d751dc --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_connection_updated_cloud_event_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventOrgConnectionUpdatedCloudEventTypeEnum + extend Auth0::Internal::Types::Enum + + ORGANIZATION_CONNECTION_UPDATED = "organization.connection.updated" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_connection_updated_data.rb b/lib/auth0/types/event_stream_cloud_event_org_connection_updated_data.rb new file mode 100644 index 000000000..0fabcebbf --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_connection_updated_data.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The event payload. + class EventStreamCloudEventOrgConnectionUpdatedData < Internal::Types::Model + field :object, -> { Auth0::Types::EventStreamCloudEventOrgConnectionUpdatedObject }, optional: false, nullable: false + + field :context, -> { Auth0::Types::EventStreamCloudEventContext }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_connection_updated_object.rb b/lib/auth0/types/event_stream_cloud_event_org_connection_updated_object.rb new file mode 100644 index 000000000..c4fc327c6 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_connection_updated_object.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The event content. + class EventStreamCloudEventOrgConnectionUpdatedObject < Internal::Types::Model + field :organization, -> { Auth0::Types::EventStreamCloudEventOrgConnectionUpdatedObjectOrganization }, optional: false, nullable: false + + field :connection, -> { Auth0::Types::EventStreamCloudEventOrgConnectionUpdatedObjectConnection }, optional: false, nullable: false + + field :assign_membership_on_login, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :is_signup_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_connection_updated_object_connection.rb b/lib/auth0/types/event_stream_cloud_event_org_connection_updated_object_connection.rb new file mode 100644 index 000000000..609f69dc4 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_connection_updated_object_connection.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class EventStreamCloudEventOrgConnectionUpdatedObjectConnection < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_connection_updated_object_organization.rb b/lib/auth0/types/event_stream_cloud_event_org_connection_updated_object_organization.rb new file mode 100644 index 000000000..bfc28b683 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_connection_updated_object_organization.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Information about an Auth0 Organization. + class EventStreamCloudEventOrgConnectionUpdatedObjectOrganization < Internal::Types::Model + field :name, -> { String }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_connection_updated_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_org_connection_updated_type_enum.rb new file mode 100644 index 000000000..86d7d9af8 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_connection_updated_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventOrgConnectionUpdatedTypeEnum + extend Auth0::Internal::Types::Enum + + ORGANIZATION_CONNECTION_UPDATED = "organization.connection.updated" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_created.rb b/lib/auth0/types/event_stream_cloud_event_org_created.rb new file mode 100644 index 000000000..8aefa12c5 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_created.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # SSE message for organization.created. + class EventStreamCloudEventOrgCreated < Internal::Types::Model + field :offset, -> { String }, optional: false, nullable: false + + field :event, -> { Auth0::Types::EventStreamCloudEventOrgCreatedCloudEvent }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_created_cloud_event.rb b/lib/auth0/types/event_stream_cloud_event_org_created_cloud_event.rb new file mode 100644 index 000000000..a6924f86a --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_created_cloud_event.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Represents an event that occurs when an organization is created. + class EventStreamCloudEventOrgCreatedCloudEvent < Internal::Types::Model + field :specversion, -> { Auth0::Types::EventStreamCloudEventSpecVersionEnum }, optional: false, nullable: false + + field :type, -> { Auth0::Types::EventStreamCloudEventOrgCreatedCloudEventTypeEnum }, optional: false, nullable: false + + field :source, -> { String }, optional: false, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :time, -> { String }, optional: false, nullable: false + + field :data, -> { Auth0::Types::EventStreamCloudEventOrgCreatedData }, optional: false, nullable: false + + field :a0tenant, -> { String }, optional: false, nullable: false + + field :a0stream, -> { String }, optional: false, nullable: false + + field :a0purpose, -> { Auth0::Types::EventStreamCloudEventA0PurposeEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_created_cloud_event_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_org_created_cloud_event_type_enum.rb new file mode 100644 index 000000000..1a16f1dc3 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_created_cloud_event_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventOrgCreatedCloudEventTypeEnum + extend Auth0::Internal::Types::Enum + + ORGANIZATION_CREATED = "organization.created" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_created_data.rb b/lib/auth0/types/event_stream_cloud_event_org_created_data.rb new file mode 100644 index 000000000..8342801cf --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_created_data.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The event payload. + class EventStreamCloudEventOrgCreatedData < Internal::Types::Model + field :object, -> { Auth0::Types::EventStreamCloudEventOrgCreatedObject }, optional: false, nullable: false + + field :context, -> { Auth0::Types::EventStreamCloudEventContext }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_created_object.rb b/lib/auth0/types/event_stream_cloud_event_org_created_object.rb new file mode 100644 index 000000000..4fe5ce453 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_created_object.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The event content. + class EventStreamCloudEventOrgCreatedObject < Internal::Types::Model + field :name, -> { String }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :branding, -> { Auth0::Types::EventStreamCloudEventOrgCreatedObjectBranding }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_created_object_branding.rb b/lib/auth0/types/event_stream_cloud_event_org_created_object_branding.rb new file mode 100644 index 000000000..1454fee86 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_created_object_branding.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The branding associated with the organization. + class EventStreamCloudEventOrgCreatedObjectBranding < Internal::Types::Model + field :logo_url, -> { String }, optional: true, nullable: false + + field :colors, -> { Auth0::Types::EventStreamCloudEventOrgCreatedObjectBrandingColors }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_created_object_branding_colors.rb b/lib/auth0/types/event_stream_cloud_event_org_created_object_branding_colors.rb new file mode 100644 index 000000000..5ffcf12be --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_created_object_branding_colors.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Color scheme used to customize the login pages. + class EventStreamCloudEventOrgCreatedObjectBrandingColors < Internal::Types::Model + field :primary, -> { String }, optional: true, nullable: false + + field :page_background, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_created_object_metadata.rb b/lib/auth0/types/event_stream_cloud_event_org_created_object_metadata.rb new file mode 100644 index 000000000..fee612afd --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_created_object_metadata.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventOrgCreatedObjectMetadata + # EventStreamCloudEventOrgCreatedObjectMetadata is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_created_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_org_created_type_enum.rb new file mode 100644 index 000000000..68d63170d --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_created_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventOrgCreatedTypeEnum + extend Auth0::Internal::Types::Enum + + ORGANIZATION_CREATED = "organization.created" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_deleted.rb b/lib/auth0/types/event_stream_cloud_event_org_deleted.rb new file mode 100644 index 000000000..1fae23e78 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_deleted.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # SSE message for organization.deleted. + class EventStreamCloudEventOrgDeleted < Internal::Types::Model + field :offset, -> { String }, optional: false, nullable: false + + field :event, -> { Auth0::Types::EventStreamCloudEventOrgDeletedCloudEvent }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_deleted_cloud_event.rb b/lib/auth0/types/event_stream_cloud_event_org_deleted_cloud_event.rb new file mode 100644 index 000000000..53cea453e --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_deleted_cloud_event.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Represents an event that occurs when an organization is deleted. + class EventStreamCloudEventOrgDeletedCloudEvent < Internal::Types::Model + field :specversion, -> { Auth0::Types::EventStreamCloudEventSpecVersionEnum }, optional: false, nullable: false + + field :type, -> { Auth0::Types::EventStreamCloudEventOrgDeletedCloudEventTypeEnum }, optional: false, nullable: false + + field :source, -> { String }, optional: false, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :time, -> { String }, optional: false, nullable: false + + field :data, -> { Auth0::Types::EventStreamCloudEventOrgDeletedData }, optional: false, nullable: false + + field :a0tenant, -> { String }, optional: false, nullable: false + + field :a0stream, -> { String }, optional: false, nullable: false + + field :a0purpose, -> { Auth0::Types::EventStreamCloudEventA0PurposeEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_deleted_cloud_event_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_org_deleted_cloud_event_type_enum.rb new file mode 100644 index 000000000..3fcca288f --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_deleted_cloud_event_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventOrgDeletedCloudEventTypeEnum + extend Auth0::Internal::Types::Enum + + ORGANIZATION_DELETED = "organization.deleted" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_deleted_data.rb b/lib/auth0/types/event_stream_cloud_event_org_deleted_data.rb new file mode 100644 index 000000000..170774807 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_deleted_data.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The event payload. + class EventStreamCloudEventOrgDeletedData < Internal::Types::Model + field :object, -> { Auth0::Types::EventStreamCloudEventOrgDeletedObject }, optional: false, nullable: false + + field :context, -> { Auth0::Types::EventStreamCloudEventContext }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_deleted_object.rb b/lib/auth0/types/event_stream_cloud_event_org_deleted_object.rb new file mode 100644 index 000000000..efdf7cf5a --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_deleted_object.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The event content. + class EventStreamCloudEventOrgDeletedObject < Internal::Types::Model + field :name, -> { String }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_deleted_object_metadata.rb b/lib/auth0/types/event_stream_cloud_event_org_deleted_object_metadata.rb new file mode 100644 index 000000000..2e7563586 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_deleted_object_metadata.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventOrgDeletedObjectMetadata + # EventStreamCloudEventOrgDeletedObjectMetadata is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_deleted_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_org_deleted_type_enum.rb new file mode 100644 index 000000000..fb52266b9 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_deleted_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventOrgDeletedTypeEnum + extend Auth0::Internal::Types::Enum + + ORGANIZATION_DELETED = "organization.deleted" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_group_role_assigned.rb b/lib/auth0/types/event_stream_cloud_event_org_group_role_assigned.rb new file mode 100644 index 000000000..3169ee7ca --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_group_role_assigned.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # SSE message for organization.group.role.assigned. + class EventStreamCloudEventOrgGroupRoleAssigned < Internal::Types::Model + field :offset, -> { String }, optional: false, nullable: false + + field :event, -> { Auth0::Types::EventStreamCloudEventOrgGroupRoleAssignedCloudEvent }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_group_role_assigned_cloud_event.rb b/lib/auth0/types/event_stream_cloud_event_org_group_role_assigned_cloud_event.rb new file mode 100644 index 000000000..0b04eabb8 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_group_role_assigned_cloud_event.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Represents an event that occurs when a role is assigned to an organization group. + class EventStreamCloudEventOrgGroupRoleAssignedCloudEvent < Internal::Types::Model + field :specversion, -> { Auth0::Types::EventStreamCloudEventSpecVersionEnum }, optional: false, nullable: false + + field :type, -> { Auth0::Types::EventStreamCloudEventOrgGroupRoleAssignedCloudEventTypeEnum }, optional: false, nullable: false + + field :source, -> { String }, optional: false, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :time, -> { String }, optional: false, nullable: false + + field :data, -> { Auth0::Types::EventStreamCloudEventOrgGroupRoleAssignedData }, optional: false, nullable: false + + field :a0tenant, -> { String }, optional: false, nullable: false + + field :a0stream, -> { String }, optional: false, nullable: false + + field :a0purpose, -> { Auth0::Types::EventStreamCloudEventA0PurposeEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_group_role_assigned_cloud_event_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_org_group_role_assigned_cloud_event_type_enum.rb new file mode 100644 index 000000000..6ef719e39 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_group_role_assigned_cloud_event_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventOrgGroupRoleAssignedCloudEventTypeEnum + extend Auth0::Internal::Types::Enum + + ORGANIZATION_GROUP_ROLE_ASSIGNED = "organization.group.role.assigned" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_group_role_assigned_data.rb b/lib/auth0/types/event_stream_cloud_event_org_group_role_assigned_data.rb new file mode 100644 index 000000000..befbb1783 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_group_role_assigned_data.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The event payload. + class EventStreamCloudEventOrgGroupRoleAssignedData < Internal::Types::Model + field :object, -> { Auth0::Types::EventStreamCloudEventOrgGroupRoleAssignedObject }, optional: false, nullable: false + + field :context, -> { Auth0::Types::EventStreamCloudEventContext }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_group_role_assigned_object.rb b/lib/auth0/types/event_stream_cloud_event_org_group_role_assigned_object.rb new file mode 100644 index 000000000..8e893288e --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_group_role_assigned_object.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The event content. + class EventStreamCloudEventOrgGroupRoleAssignedObject < Internal::Types::Model + field :organization, -> { Auth0::Types::EventStreamCloudEventOrgGroupRoleAssignedObjectOrganization }, optional: false, nullable: false + + field :role, -> { Auth0::Types::EventStreamCloudEventOrgGroupRoleAssignedObjectRole }, optional: false, nullable: false + + field :group, -> { Auth0::Types::EventStreamCloudEventOrgGroupRoleAssignedObjectGroup }, optional: false, nullable: false + + field :created_at, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_group_role_assigned_object_group.rb b/lib/auth0/types/event_stream_cloud_event_org_group_role_assigned_object_group.rb new file mode 100644 index 000000000..95a01b7f3 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_group_role_assigned_object_group.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The group the role is assigned to. + class EventStreamCloudEventOrgGroupRoleAssignedObjectGroup < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::EventStreamCloudEventOrgGroupRoleAssignedObjectGroup0 } + + member -> { Auth0::Types::EventStreamCloudEventOrgGroupRoleAssignedObjectGroup1 } + + member -> { Auth0::Types::EventStreamCloudEventOrgGroupRoleAssignedObjectGroup2 } + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_group_role_assigned_object_group0.rb b/lib/auth0/types/event_stream_cloud_event_org_group_role_assigned_object_group0.rb new file mode 100644 index 000000000..4236a5e39 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_group_role_assigned_object_group0.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Reference to a connection group + class EventStreamCloudEventOrgGroupRoleAssignedObjectGroup0 < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :external_id, -> { String }, optional: true, nullable: false + + field :type, -> { Auth0::Types::EventStreamCloudEventOrgGroupRoleAssignedObjectGroup0TypeEnum }, optional: false, nullable: false + + field :connection_id, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_group_role_assigned_object_group0type_enum.rb b/lib/auth0/types/event_stream_cloud_event_org_group_role_assigned_object_group0type_enum.rb new file mode 100644 index 000000000..c9191ddd5 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_group_role_assigned_object_group0type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventOrgGroupRoleAssignedObjectGroup0TypeEnum + extend Auth0::Internal::Types::Enum + + CONNECTION = "connection" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_group_role_assigned_object_group1.rb b/lib/auth0/types/event_stream_cloud_event_org_group_role_assigned_object_group1.rb new file mode 100644 index 000000000..d97ca609f --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_group_role_assigned_object_group1.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Reference to an organization group + class EventStreamCloudEventOrgGroupRoleAssignedObjectGroup1 < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :external_id, -> { String }, optional: true, nullable: false + + field :type, -> { Auth0::Types::EventStreamCloudEventOrgGroupRoleAssignedObjectGroup1TypeEnum }, optional: false, nullable: false + + field :organization_id, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_group_role_assigned_object_group1type_enum.rb b/lib/auth0/types/event_stream_cloud_event_org_group_role_assigned_object_group1type_enum.rb new file mode 100644 index 000000000..0c6d1b812 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_group_role_assigned_object_group1type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventOrgGroupRoleAssignedObjectGroup1TypeEnum + extend Auth0::Internal::Types::Enum + + ORGANIZATION = "organization" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_group_role_assigned_object_group2.rb b/lib/auth0/types/event_stream_cloud_event_org_group_role_assigned_object_group2.rb new file mode 100644 index 000000000..6c7d9ff74 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_group_role_assigned_object_group2.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Reference to a tenant group + class EventStreamCloudEventOrgGroupRoleAssignedObjectGroup2 < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :external_id, -> { String }, optional: true, nullable: false + + field :type, -> { Auth0::Types::EventStreamCloudEventOrgGroupRoleAssignedObjectGroup2TypeEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_group_role_assigned_object_group2type_enum.rb b/lib/auth0/types/event_stream_cloud_event_org_group_role_assigned_object_group2type_enum.rb new file mode 100644 index 000000000..f879ea949 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_group_role_assigned_object_group2type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventOrgGroupRoleAssignedObjectGroup2TypeEnum + extend Auth0::Internal::Types::Enum + + TENANT = "tenant" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_group_role_assigned_object_organization.rb b/lib/auth0/types/event_stream_cloud_event_org_group_role_assigned_object_organization.rb new file mode 100644 index 000000000..eea3643ce --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_group_role_assigned_object_organization.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The organization the group role is assigned in. + class EventStreamCloudEventOrgGroupRoleAssignedObjectOrganization < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_group_role_assigned_object_role.rb b/lib/auth0/types/event_stream_cloud_event_org_group_role_assigned_object_role.rb new file mode 100644 index 000000000..9c4e2dcec --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_group_role_assigned_object_role.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The role assigned to the group in the organization. + class EventStreamCloudEventOrgGroupRoleAssignedObjectRole < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :name, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_group_role_assigned_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_org_group_role_assigned_type_enum.rb new file mode 100644 index 000000000..b01b3d6a5 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_group_role_assigned_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventOrgGroupRoleAssignedTypeEnum + extend Auth0::Internal::Types::Enum + + ORGANIZATION_GROUP_ROLE_ASSIGNED = "organization.group.role.assigned" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_group_role_deleted.rb b/lib/auth0/types/event_stream_cloud_event_org_group_role_deleted.rb new file mode 100644 index 000000000..2b3cfb8e2 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_group_role_deleted.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # SSE message for organization.group.role.deleted. + class EventStreamCloudEventOrgGroupRoleDeleted < Internal::Types::Model + field :offset, -> { String }, optional: false, nullable: false + + field :event, -> { Auth0::Types::EventStreamCloudEventOrgGroupRoleDeletedCloudEvent }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_group_role_deleted_cloud_event.rb b/lib/auth0/types/event_stream_cloud_event_org_group_role_deleted_cloud_event.rb new file mode 100644 index 000000000..c932dc0c9 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_group_role_deleted_cloud_event.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Represents an event that occurs when a role is removed from an organization group. + class EventStreamCloudEventOrgGroupRoleDeletedCloudEvent < Internal::Types::Model + field :specversion, -> { Auth0::Types::EventStreamCloudEventSpecVersionEnum }, optional: false, nullable: false + + field :type, -> { Auth0::Types::EventStreamCloudEventOrgGroupRoleDeletedCloudEventTypeEnum }, optional: false, nullable: false + + field :source, -> { String }, optional: false, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :time, -> { String }, optional: false, nullable: false + + field :data, -> { Auth0::Types::EventStreamCloudEventOrgGroupRoleDeletedData }, optional: false, nullable: false + + field :a0tenant, -> { String }, optional: false, nullable: false + + field :a0stream, -> { String }, optional: false, nullable: false + + field :a0purpose, -> { Auth0::Types::EventStreamCloudEventA0PurposeEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_group_role_deleted_cloud_event_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_org_group_role_deleted_cloud_event_type_enum.rb new file mode 100644 index 000000000..9d53e9fbe --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_group_role_deleted_cloud_event_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventOrgGroupRoleDeletedCloudEventTypeEnum + extend Auth0::Internal::Types::Enum + + ORGANIZATION_GROUP_ROLE_DELETED = "organization.group.role.deleted" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_group_role_deleted_data.rb b/lib/auth0/types/event_stream_cloud_event_org_group_role_deleted_data.rb new file mode 100644 index 000000000..a1c2590fd --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_group_role_deleted_data.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The event payload. + class EventStreamCloudEventOrgGroupRoleDeletedData < Internal::Types::Model + field :object, -> { Auth0::Types::EventStreamCloudEventOrgGroupRoleDeletedObject }, optional: false, nullable: false + + field :context, -> { Auth0::Types::EventStreamCloudEventContext }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_group_role_deleted_object.rb b/lib/auth0/types/event_stream_cloud_event_org_group_role_deleted_object.rb new file mode 100644 index 000000000..c06c1b699 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_group_role_deleted_object.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The event content. + class EventStreamCloudEventOrgGroupRoleDeletedObject < Internal::Types::Model + field :organization, -> { Auth0::Types::EventStreamCloudEventOrgGroupRoleDeletedObjectOrganization }, optional: false, nullable: false + + field :role, -> { Auth0::Types::EventStreamCloudEventOrgGroupRoleDeletedObjectRole }, optional: false, nullable: false + + field :group, -> { Auth0::Types::EventStreamCloudEventOrgGroupRoleDeletedObjectGroup }, optional: false, nullable: false + + field :deleted_at, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_group_role_deleted_object_group.rb b/lib/auth0/types/event_stream_cloud_event_org_group_role_deleted_object_group.rb new file mode 100644 index 000000000..9475e8985 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_group_role_deleted_object_group.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The group the role is removed from. + class EventStreamCloudEventOrgGroupRoleDeletedObjectGroup < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::EventStreamCloudEventOrgGroupRoleDeletedObjectGroup0 } + + member -> { Auth0::Types::EventStreamCloudEventOrgGroupRoleDeletedObjectGroup1 } + + member -> { Auth0::Types::EventStreamCloudEventOrgGroupRoleDeletedObjectGroup2 } + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_group_role_deleted_object_group0.rb b/lib/auth0/types/event_stream_cloud_event_org_group_role_deleted_object_group0.rb new file mode 100644 index 000000000..131706f31 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_group_role_deleted_object_group0.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Reference to a connection group + class EventStreamCloudEventOrgGroupRoleDeletedObjectGroup0 < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :external_id, -> { String }, optional: true, nullable: false + + field :type, -> { Auth0::Types::EventStreamCloudEventOrgGroupRoleDeletedObjectGroup0TypeEnum }, optional: false, nullable: false + + field :connection_id, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_group_role_deleted_object_group0type_enum.rb b/lib/auth0/types/event_stream_cloud_event_org_group_role_deleted_object_group0type_enum.rb new file mode 100644 index 000000000..2e5ca8bfc --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_group_role_deleted_object_group0type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventOrgGroupRoleDeletedObjectGroup0TypeEnum + extend Auth0::Internal::Types::Enum + + CONNECTION = "connection" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_group_role_deleted_object_group1.rb b/lib/auth0/types/event_stream_cloud_event_org_group_role_deleted_object_group1.rb new file mode 100644 index 000000000..22ffddd3e --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_group_role_deleted_object_group1.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Reference to an organization group + class EventStreamCloudEventOrgGroupRoleDeletedObjectGroup1 < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :external_id, -> { String }, optional: true, nullable: false + + field :type, -> { Auth0::Types::EventStreamCloudEventOrgGroupRoleDeletedObjectGroup1TypeEnum }, optional: false, nullable: false + + field :organization_id, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_group_role_deleted_object_group1type_enum.rb b/lib/auth0/types/event_stream_cloud_event_org_group_role_deleted_object_group1type_enum.rb new file mode 100644 index 000000000..e38cfa76e --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_group_role_deleted_object_group1type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventOrgGroupRoleDeletedObjectGroup1TypeEnum + extend Auth0::Internal::Types::Enum + + ORGANIZATION = "organization" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_group_role_deleted_object_group2.rb b/lib/auth0/types/event_stream_cloud_event_org_group_role_deleted_object_group2.rb new file mode 100644 index 000000000..5f1c9df2d --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_group_role_deleted_object_group2.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Reference to a tenant group + class EventStreamCloudEventOrgGroupRoleDeletedObjectGroup2 < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :external_id, -> { String }, optional: true, nullable: false + + field :type, -> { Auth0::Types::EventStreamCloudEventOrgGroupRoleDeletedObjectGroup2TypeEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_group_role_deleted_object_group2type_enum.rb b/lib/auth0/types/event_stream_cloud_event_org_group_role_deleted_object_group2type_enum.rb new file mode 100644 index 000000000..06686e541 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_group_role_deleted_object_group2type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventOrgGroupRoleDeletedObjectGroup2TypeEnum + extend Auth0::Internal::Types::Enum + + TENANT = "tenant" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_group_role_deleted_object_organization.rb b/lib/auth0/types/event_stream_cloud_event_org_group_role_deleted_object_organization.rb new file mode 100644 index 000000000..b9ea79e40 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_group_role_deleted_object_organization.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The organization the group role is removed from. + class EventStreamCloudEventOrgGroupRoleDeletedObjectOrganization < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_group_role_deleted_object_role.rb b/lib/auth0/types/event_stream_cloud_event_org_group_role_deleted_object_role.rb new file mode 100644 index 000000000..b524dcb2a --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_group_role_deleted_object_role.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The role removed from the group. + class EventStreamCloudEventOrgGroupRoleDeletedObjectRole < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_group_role_deleted_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_org_group_role_deleted_type_enum.rb new file mode 100644 index 000000000..9c5c61b31 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_group_role_deleted_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventOrgGroupRoleDeletedTypeEnum + extend Auth0::Internal::Types::Enum + + ORGANIZATION_GROUP_ROLE_DELETED = "organization.group.role.deleted" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_member_added.rb b/lib/auth0/types/event_stream_cloud_event_org_member_added.rb new file mode 100644 index 000000000..b6e571ce2 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_member_added.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # SSE message for organization.member.added. + class EventStreamCloudEventOrgMemberAdded < Internal::Types::Model + field :offset, -> { String }, optional: false, nullable: false + + field :event, -> { Auth0::Types::EventStreamCloudEventOrgMemberAddedCloudEvent }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_member_added_cloud_event.rb b/lib/auth0/types/event_stream_cloud_event_org_member_added_cloud_event.rb new file mode 100644 index 000000000..476e897be --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_member_added_cloud_event.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Represents an event that occurs when a member is added to an organization. + class EventStreamCloudEventOrgMemberAddedCloudEvent < Internal::Types::Model + field :specversion, -> { Auth0::Types::EventStreamCloudEventSpecVersionEnum }, optional: false, nullable: false + + field :type, -> { Auth0::Types::EventStreamCloudEventOrgMemberAddedCloudEventTypeEnum }, optional: false, nullable: false + + field :source, -> { String }, optional: false, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :time, -> { String }, optional: false, nullable: false + + field :data, -> { Auth0::Types::EventStreamCloudEventOrgMemberAddedData }, optional: false, nullable: false + + field :a0tenant, -> { String }, optional: false, nullable: false + + field :a0stream, -> { String }, optional: false, nullable: false + + field :a0purpose, -> { Auth0::Types::EventStreamCloudEventA0PurposeEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_member_added_cloud_event_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_org_member_added_cloud_event_type_enum.rb new file mode 100644 index 000000000..2147d4952 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_member_added_cloud_event_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventOrgMemberAddedCloudEventTypeEnum + extend Auth0::Internal::Types::Enum + + ORGANIZATION_MEMBER_ADDED = "organization.member.added" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_member_added_data.rb b/lib/auth0/types/event_stream_cloud_event_org_member_added_data.rb new file mode 100644 index 000000000..6e1663e17 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_member_added_data.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The event payload. + class EventStreamCloudEventOrgMemberAddedData < Internal::Types::Model + field :object, -> { Auth0::Types::EventStreamCloudEventOrgMemberAddedObject }, optional: false, nullable: false + + field :context, -> { Auth0::Types::EventStreamCloudEventContext }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_member_added_object.rb b/lib/auth0/types/event_stream_cloud_event_org_member_added_object.rb new file mode 100644 index 000000000..50db4c69d --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_member_added_object.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The event content. + class EventStreamCloudEventOrgMemberAddedObject < Internal::Types::Model + field :organization, -> { Auth0::Types::EventStreamCloudEventOrgMemberAddedObjectOrganization }, optional: false, nullable: false + + field :user, -> { Auth0::Types::EventStreamCloudEventOrgMemberAddedObjectUser }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_member_added_object_organization.rb b/lib/auth0/types/event_stream_cloud_event_org_member_added_object_organization.rb new file mode 100644 index 000000000..5de4b86c2 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_member_added_object_organization.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The organization the member belongs to. + class EventStreamCloudEventOrgMemberAddedObjectOrganization < Internal::Types::Model + field :name, -> { String }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_member_added_object_user.rb b/lib/auth0/types/event_stream_cloud_event_org_member_added_object_user.rb new file mode 100644 index 000000000..0baf12078 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_member_added_object_user.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The user that is a member of the organization. + class EventStreamCloudEventOrgMemberAddedObjectUser < Internal::Types::Model + field :user_id, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_member_added_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_org_member_added_type_enum.rb new file mode 100644 index 000000000..8836b72ac --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_member_added_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventOrgMemberAddedTypeEnum + extend Auth0::Internal::Types::Enum + + ORGANIZATION_MEMBER_ADDED = "organization.member.added" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_member_deleted.rb b/lib/auth0/types/event_stream_cloud_event_org_member_deleted.rb new file mode 100644 index 000000000..75cb2cd7b --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_member_deleted.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # SSE message for organization.member.deleted. + class EventStreamCloudEventOrgMemberDeleted < Internal::Types::Model + field :offset, -> { String }, optional: false, nullable: false + + field :event, -> { Auth0::Types::EventStreamCloudEventOrgMemberDeletedCloudEvent }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_member_deleted_cloud_event.rb b/lib/auth0/types/event_stream_cloud_event_org_member_deleted_cloud_event.rb new file mode 100644 index 000000000..1440814d5 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_member_deleted_cloud_event.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Represents an event that occurs when a member is removed from an organization. + class EventStreamCloudEventOrgMemberDeletedCloudEvent < Internal::Types::Model + field :specversion, -> { Auth0::Types::EventStreamCloudEventSpecVersionEnum }, optional: false, nullable: false + + field :type, -> { Auth0::Types::EventStreamCloudEventOrgMemberDeletedCloudEventTypeEnum }, optional: false, nullable: false + + field :source, -> { String }, optional: false, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :time, -> { String }, optional: false, nullable: false + + field :data, -> { Auth0::Types::EventStreamCloudEventOrgMemberDeletedData }, optional: false, nullable: false + + field :a0tenant, -> { String }, optional: false, nullable: false + + field :a0stream, -> { String }, optional: false, nullable: false + + field :a0purpose, -> { Auth0::Types::EventStreamCloudEventA0PurposeEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_member_deleted_cloud_event_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_org_member_deleted_cloud_event_type_enum.rb new file mode 100644 index 000000000..aff17035b --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_member_deleted_cloud_event_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventOrgMemberDeletedCloudEventTypeEnum + extend Auth0::Internal::Types::Enum + + ORGANIZATION_MEMBER_DELETED = "organization.member.deleted" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_member_deleted_data.rb b/lib/auth0/types/event_stream_cloud_event_org_member_deleted_data.rb new file mode 100644 index 000000000..41f19c9db --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_member_deleted_data.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The event payload. + class EventStreamCloudEventOrgMemberDeletedData < Internal::Types::Model + field :object, -> { Auth0::Types::EventStreamCloudEventOrgMemberDeletedObject }, optional: false, nullable: false + + field :context, -> { Auth0::Types::EventStreamCloudEventContext }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_member_deleted_object.rb b/lib/auth0/types/event_stream_cloud_event_org_member_deleted_object.rb new file mode 100644 index 000000000..64e007478 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_member_deleted_object.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The event content. + class EventStreamCloudEventOrgMemberDeletedObject < Internal::Types::Model + field :organization, -> { Auth0::Types::EventStreamCloudEventOrgMemberDeletedObjectOrganization }, optional: false, nullable: false + + field :user, -> { Auth0::Types::EventStreamCloudEventOrgMemberDeletedObjectUser }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_member_deleted_object_organization.rb b/lib/auth0/types/event_stream_cloud_event_org_member_deleted_object_organization.rb new file mode 100644 index 000000000..d10b24c5d --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_member_deleted_object_organization.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The organization the member belongs to. + class EventStreamCloudEventOrgMemberDeletedObjectOrganization < Internal::Types::Model + field :name, -> { String }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_member_deleted_object_user.rb b/lib/auth0/types/event_stream_cloud_event_org_member_deleted_object_user.rb new file mode 100644 index 000000000..2c16f062e --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_member_deleted_object_user.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The user that is a member of the organization. + class EventStreamCloudEventOrgMemberDeletedObjectUser < Internal::Types::Model + field :user_id, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_member_deleted_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_org_member_deleted_type_enum.rb new file mode 100644 index 000000000..e235b5bb0 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_member_deleted_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventOrgMemberDeletedTypeEnum + extend Auth0::Internal::Types::Enum + + ORGANIZATION_MEMBER_DELETED = "organization.member.deleted" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_member_role_assigned.rb b/lib/auth0/types/event_stream_cloud_event_org_member_role_assigned.rb new file mode 100644 index 000000000..78810e24e --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_member_role_assigned.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # SSE message for organization.member.role.assigned. + class EventStreamCloudEventOrgMemberRoleAssigned < Internal::Types::Model + field :offset, -> { String }, optional: false, nullable: false + + field :event, -> { Auth0::Types::EventStreamCloudEventOrgMemberRoleAssignedCloudEvent }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_member_role_assigned_cloud_event.rb b/lib/auth0/types/event_stream_cloud_event_org_member_role_assigned_cloud_event.rb new file mode 100644 index 000000000..f133ddc58 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_member_role_assigned_cloud_event.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Represents an event that occurs when a member is added to an organization. + class EventStreamCloudEventOrgMemberRoleAssignedCloudEvent < Internal::Types::Model + field :specversion, -> { Auth0::Types::EventStreamCloudEventSpecVersionEnum }, optional: false, nullable: false + + field :type, -> { Auth0::Types::EventStreamCloudEventOrgMemberRoleAssignedCloudEventTypeEnum }, optional: false, nullable: false + + field :source, -> { String }, optional: false, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :time, -> { String }, optional: false, nullable: false + + field :data, -> { Auth0::Types::EventStreamCloudEventOrgMemberRoleAssignedData }, optional: false, nullable: false + + field :a0tenant, -> { String }, optional: false, nullable: false + + field :a0stream, -> { String }, optional: false, nullable: false + + field :a0purpose, -> { Auth0::Types::EventStreamCloudEventA0PurposeEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_member_role_assigned_cloud_event_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_org_member_role_assigned_cloud_event_type_enum.rb new file mode 100644 index 000000000..bccebf74f --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_member_role_assigned_cloud_event_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventOrgMemberRoleAssignedCloudEventTypeEnum + extend Auth0::Internal::Types::Enum + + ORGANIZATION_MEMBER_ROLE_ASSIGNED = "organization.member.role.assigned" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_member_role_assigned_data.rb b/lib/auth0/types/event_stream_cloud_event_org_member_role_assigned_data.rb new file mode 100644 index 000000000..57d7774ef --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_member_role_assigned_data.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The event payload. + class EventStreamCloudEventOrgMemberRoleAssignedData < Internal::Types::Model + field :object, -> { Auth0::Types::EventStreamCloudEventOrgMemberRoleAssignedObject }, optional: false, nullable: false + + field :context, -> { Auth0::Types::EventStreamCloudEventContext }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_member_role_assigned_object.rb b/lib/auth0/types/event_stream_cloud_event_org_member_role_assigned_object.rb new file mode 100644 index 000000000..e1f197638 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_member_role_assigned_object.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The event content. + class EventStreamCloudEventOrgMemberRoleAssignedObject < Internal::Types::Model + field :organization, -> { Auth0::Types::EventStreamCloudEventOrgMemberRoleAssignedObjectOrganization }, optional: false, nullable: false + + field :user, -> { Auth0::Types::EventStreamCloudEventOrgMemberRoleAssignedObjectUser }, optional: false, nullable: false + + field :role, -> { Auth0::Types::EventStreamCloudEventOrgMemberRoleAssignedObjectRole }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_member_role_assigned_object_organization.rb b/lib/auth0/types/event_stream_cloud_event_org_member_role_assigned_object_organization.rb new file mode 100644 index 000000000..4a0fa457c --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_member_role_assigned_object_organization.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The organization the member belongs to. + class EventStreamCloudEventOrgMemberRoleAssignedObjectOrganization < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_member_role_assigned_object_role.rb b/lib/auth0/types/event_stream_cloud_event_org_member_role_assigned_object_role.rb new file mode 100644 index 000000000..3d6ed3b80 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_member_role_assigned_object_role.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The role assigned to the user in the organization. + class EventStreamCloudEventOrgMemberRoleAssignedObjectRole < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :name, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_member_role_assigned_object_user.rb b/lib/auth0/types/event_stream_cloud_event_org_member_role_assigned_object_user.rb new file mode 100644 index 000000000..63d6c2140 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_member_role_assigned_object_user.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The user that is a member of the organization. + class EventStreamCloudEventOrgMemberRoleAssignedObjectUser < Internal::Types::Model + field :user_id, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_member_role_assigned_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_org_member_role_assigned_type_enum.rb new file mode 100644 index 000000000..ac2292124 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_member_role_assigned_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventOrgMemberRoleAssignedTypeEnum + extend Auth0::Internal::Types::Enum + + ORGANIZATION_MEMBER_ROLE_ASSIGNED = "organization.member.role.assigned" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_member_role_deleted.rb b/lib/auth0/types/event_stream_cloud_event_org_member_role_deleted.rb new file mode 100644 index 000000000..4119196d7 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_member_role_deleted.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # SSE message for organization.member.role.deleted. + class EventStreamCloudEventOrgMemberRoleDeleted < Internal::Types::Model + field :offset, -> { String }, optional: false, nullable: false + + field :event, -> { Auth0::Types::EventStreamCloudEventOrgMemberRoleDeletedCloudEvent }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_member_role_deleted_cloud_event.rb b/lib/auth0/types/event_stream_cloud_event_org_member_role_deleted_cloud_event.rb new file mode 100644 index 000000000..c88a51b80 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_member_role_deleted_cloud_event.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Represents an event that occurs when a member is removed from an organization. + class EventStreamCloudEventOrgMemberRoleDeletedCloudEvent < Internal::Types::Model + field :specversion, -> { Auth0::Types::EventStreamCloudEventSpecVersionEnum }, optional: false, nullable: false + + field :type, -> { Auth0::Types::EventStreamCloudEventOrgMemberRoleDeletedCloudEventTypeEnum }, optional: false, nullable: false + + field :source, -> { String }, optional: false, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :time, -> { String }, optional: false, nullable: false + + field :data, -> { Auth0::Types::EventStreamCloudEventOrgMemberRoleDeletedData }, optional: false, nullable: false + + field :a0tenant, -> { String }, optional: false, nullable: false + + field :a0stream, -> { String }, optional: false, nullable: false + + field :a0purpose, -> { Auth0::Types::EventStreamCloudEventA0PurposeEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_member_role_deleted_cloud_event_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_org_member_role_deleted_cloud_event_type_enum.rb new file mode 100644 index 000000000..92729a602 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_member_role_deleted_cloud_event_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventOrgMemberRoleDeletedCloudEventTypeEnum + extend Auth0::Internal::Types::Enum + + ORGANIZATION_MEMBER_ROLE_DELETED = "organization.member.role.deleted" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_member_role_deleted_data.rb b/lib/auth0/types/event_stream_cloud_event_org_member_role_deleted_data.rb new file mode 100644 index 000000000..5cacf20b1 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_member_role_deleted_data.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The event payload. + class EventStreamCloudEventOrgMemberRoleDeletedData < Internal::Types::Model + field :object, -> { Auth0::Types::EventStreamCloudEventOrgMemberRoleDeletedObject }, optional: false, nullable: false + + field :context, -> { Auth0::Types::EventStreamCloudEventContext }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_member_role_deleted_object.rb b/lib/auth0/types/event_stream_cloud_event_org_member_role_deleted_object.rb new file mode 100644 index 000000000..ca76aa28b --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_member_role_deleted_object.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The event content. + class EventStreamCloudEventOrgMemberRoleDeletedObject < Internal::Types::Model + field :organization, -> { Auth0::Types::EventStreamCloudEventOrgMemberRoleDeletedObjectOrganization }, optional: false, nullable: false + + field :user, -> { Auth0::Types::EventStreamCloudEventOrgMemberRoleDeletedObjectUser }, optional: false, nullable: false + + field :role, -> { Auth0::Types::EventStreamCloudEventOrgMemberRoleDeletedObjectRole }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_member_role_deleted_object_organization.rb b/lib/auth0/types/event_stream_cloud_event_org_member_role_deleted_object_organization.rb new file mode 100644 index 000000000..183a1fb2c --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_member_role_deleted_object_organization.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The organization the member belongs to. + class EventStreamCloudEventOrgMemberRoleDeletedObjectOrganization < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_member_role_deleted_object_role.rb b/lib/auth0/types/event_stream_cloud_event_org_member_role_deleted_object_role.rb new file mode 100644 index 000000000..375da443e --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_member_role_deleted_object_role.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The role assigned to the user in the organization. + class EventStreamCloudEventOrgMemberRoleDeletedObjectRole < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :name, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_member_role_deleted_object_user.rb b/lib/auth0/types/event_stream_cloud_event_org_member_role_deleted_object_user.rb new file mode 100644 index 000000000..7d4e35dc7 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_member_role_deleted_object_user.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The user that is a member of the organization. + class EventStreamCloudEventOrgMemberRoleDeletedObjectUser < Internal::Types::Model + field :user_id, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_member_role_deleted_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_org_member_role_deleted_type_enum.rb new file mode 100644 index 000000000..8641caf1e --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_member_role_deleted_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventOrgMemberRoleDeletedTypeEnum + extend Auth0::Internal::Types::Enum + + ORGANIZATION_MEMBER_ROLE_DELETED = "organization.member.role.deleted" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_updated.rb b/lib/auth0/types/event_stream_cloud_event_org_updated.rb new file mode 100644 index 000000000..11f43fc03 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_updated.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # SSE message for organization.updated. + class EventStreamCloudEventOrgUpdated < Internal::Types::Model + field :offset, -> { String }, optional: false, nullable: false + + field :event, -> { Auth0::Types::EventStreamCloudEventOrgUpdatedCloudEvent }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_updated_cloud_event.rb b/lib/auth0/types/event_stream_cloud_event_org_updated_cloud_event.rb new file mode 100644 index 000000000..3316c8891 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_updated_cloud_event.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Represents an event that occurs when an organization is updated. + class EventStreamCloudEventOrgUpdatedCloudEvent < Internal::Types::Model + field :specversion, -> { Auth0::Types::EventStreamCloudEventSpecVersionEnum }, optional: false, nullable: false + + field :type, -> { Auth0::Types::EventStreamCloudEventOrgUpdatedCloudEventTypeEnum }, optional: false, nullable: false + + field :source, -> { String }, optional: false, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :time, -> { String }, optional: false, nullable: false + + field :data, -> { Auth0::Types::EventStreamCloudEventOrgUpdatedData }, optional: false, nullable: false + + field :a0tenant, -> { String }, optional: false, nullable: false + + field :a0stream, -> { String }, optional: false, nullable: false + + field :a0purpose, -> { Auth0::Types::EventStreamCloudEventA0PurposeEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_updated_cloud_event_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_org_updated_cloud_event_type_enum.rb new file mode 100644 index 000000000..465bb071b --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_updated_cloud_event_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventOrgUpdatedCloudEventTypeEnum + extend Auth0::Internal::Types::Enum + + ORGANIZATION_UPDATED = "organization.updated" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_updated_data.rb b/lib/auth0/types/event_stream_cloud_event_org_updated_data.rb new file mode 100644 index 000000000..26cbc5aa6 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_updated_data.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The event payload. + class EventStreamCloudEventOrgUpdatedData < Internal::Types::Model + field :object, -> { Auth0::Types::EventStreamCloudEventOrgUpdatedObject }, optional: false, nullable: false + + field :context, -> { Auth0::Types::EventStreamCloudEventContext }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_updated_object.rb b/lib/auth0/types/event_stream_cloud_event_org_updated_object.rb new file mode 100644 index 000000000..94d53e39f --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_updated_object.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The event content. + class EventStreamCloudEventOrgUpdatedObject < Internal::Types::Model + field :name, -> { String }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :branding, -> { Auth0::Types::EventStreamCloudEventOrgUpdatedObjectBranding }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_updated_object_branding.rb b/lib/auth0/types/event_stream_cloud_event_org_updated_object_branding.rb new file mode 100644 index 000000000..5ec594b17 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_updated_object_branding.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The branding associated with the organization. + class EventStreamCloudEventOrgUpdatedObjectBranding < Internal::Types::Model + field :logo_url, -> { String }, optional: true, nullable: false + + field :colors, -> { Auth0::Types::EventStreamCloudEventOrgUpdatedObjectBrandingColors }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_updated_object_branding_colors.rb b/lib/auth0/types/event_stream_cloud_event_org_updated_object_branding_colors.rb new file mode 100644 index 000000000..d54e6a568 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_updated_object_branding_colors.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Color scheme used to customize the login pages. + class EventStreamCloudEventOrgUpdatedObjectBrandingColors < Internal::Types::Model + field :primary, -> { String }, optional: true, nullable: false + + field :page_background, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_updated_object_metadata.rb b/lib/auth0/types/event_stream_cloud_event_org_updated_object_metadata.rb new file mode 100644 index 000000000..5bc8678b5 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_updated_object_metadata.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventOrgUpdatedObjectMetadata + # EventStreamCloudEventOrgUpdatedObjectMetadata is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_org_updated_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_org_updated_type_enum.rb new file mode 100644 index 000000000..fbba8a46c --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_org_updated_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventOrgUpdatedTypeEnum + extend Auth0::Internal::Types::Enum + + ORGANIZATION_UPDATED = "organization.updated" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_spec_version_enum.rb b/lib/auth0/types/event_stream_cloud_event_spec_version_enum.rb new file mode 100644 index 000000000..6e62e55b1 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_spec_version_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventSpecVersionEnum + extend Auth0::Internal::Types::Enum + + ONE0 = "1.0" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_created.rb b/lib/auth0/types/event_stream_cloud_event_user_created.rb new file mode 100644 index 000000000..a2432af23 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_created.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # SSE message for user.created. + class EventStreamCloudEventUserCreated < Internal::Types::Model + field :offset, -> { String }, optional: false, nullable: false + + field :event, -> { Auth0::Types::EventStreamCloudEventUserCreatedCloudEvent }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_created_cloud_event.rb b/lib/auth0/types/event_stream_cloud_event_user_created_cloud_event.rb new file mode 100644 index 000000000..6061fb0ce --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_created_cloud_event.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Represents an event that occurs when a user is created. + class EventStreamCloudEventUserCreatedCloudEvent < Internal::Types::Model + field :specversion, -> { Auth0::Types::EventStreamCloudEventSpecVersionEnum }, optional: false, nullable: false + + field :type, -> { Auth0::Types::EventStreamCloudEventUserCreatedCloudEventTypeEnum }, optional: false, nullable: false + + field :source, -> { String }, optional: false, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :time, -> { String }, optional: false, nullable: false + + field :data, -> { Auth0::Types::EventStreamCloudEventUserCreatedData }, optional: false, nullable: false + + field :a0tenant, -> { String }, optional: false, nullable: false + + field :a0stream, -> { String }, optional: false, nullable: false + + field :a0purpose, -> { Auth0::Types::EventStreamCloudEventA0PurposeEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_created_cloud_event_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_user_created_cloud_event_type_enum.rb new file mode 100644 index 000000000..64f0c794e --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_created_cloud_event_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventUserCreatedCloudEventTypeEnum + extend Auth0::Internal::Types::Enum + + USER_CREATED = "user.created" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_created_data.rb b/lib/auth0/types/event_stream_cloud_event_user_created_data.rb new file mode 100644 index 000000000..8888ac31b --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_created_data.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The event payload. + class EventStreamCloudEventUserCreatedData < Internal::Types::Model + field :object, -> { Auth0::Types::EventStreamCloudEventUserCreatedObject }, optional: false, nullable: false + + field :context, -> { Auth0::Types::EventStreamCloudEventContext }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_created_object.rb b/lib/auth0/types/event_stream_cloud_event_user_created_object.rb new file mode 100644 index 000000000..e897010d5 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_created_object.rb @@ -0,0 +1,50 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The event content. + class EventStreamCloudEventUserCreatedObject < Internal::Types::Model + field :user_id, -> { String }, optional: false, nullable: false + + field :email, -> { String }, optional: true, nullable: false + + field :email_verified, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :username, -> { String }, optional: true, nullable: false + + field :phone_number, -> { String }, optional: true, nullable: false + + field :phone_verified, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :created_at, -> { String }, optional: false, nullable: false + + field :updated_at, -> { String }, optional: false, nullable: false + + field :identities, -> { Internal::Types::Array[Auth0::Types::EventStreamCloudEventUserCreatedObjectIdentitiesItem] }, optional: false, nullable: false + + field :app_metadata, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :user_metadata, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :picture, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :nickname, -> { String }, optional: true, nullable: false + + field :multifactor, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :last_ip, -> { String }, optional: true, nullable: false + + field :last_login, -> { String }, optional: true, nullable: false + + field :logins_count, -> { Integer }, optional: true, nullable: false + + field :blocked, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :given_name, -> { String }, optional: true, nullable: false + + field :family_name, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_created_object_app_metadata.rb b/lib/auth0/types/event_stream_cloud_event_user_created_object_app_metadata.rb new file mode 100644 index 000000000..8dd190bd7 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_created_object_app_metadata.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventUserCreatedObjectAppMetadata + # EventStreamCloudEventUserCreatedObjectAppMetadata is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item.rb b/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item.rb new file mode 100644 index 000000000..37166894a --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Identity object when accounts are linked. + class EventStreamCloudEventUserCreatedObjectIdentitiesItem < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::EventStreamCloudEventUserCreatedObjectIdentitiesItemCustom } + + member -> { Auth0::Types::EventStreamCloudEventUserCreatedObjectIdentitiesItemDatabase } + + member -> { Auth0::Types::EventStreamCloudEventUserCreatedObjectIdentitiesItemEnterprise } + + member -> { Auth0::Types::EventStreamCloudEventUserCreatedObjectIdentitiesItemPasswordless } + + member -> { Auth0::Types::EventStreamCloudEventUserCreatedObjectIdentitiesItemSocial } + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_custom.rb b/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_custom.rb new file mode 100644 index 000000000..792795840 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_custom.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The identity object for custom identity providers. + class EventStreamCloudEventUserCreatedObjectIdentitiesItemCustom < Internal::Types::Model + field :connection, -> { String }, optional: false, nullable: false + + field :user_id, -> { Auth0::Types::EventStreamCloudEventUserCreatedObjectIdentitiesItemCustomUserID }, optional: false, nullable: false + + field :profile_data, -> { Auth0::Types::EventStreamCloudEventUserCreatedObjectIdentitiesItemCustomProfileData }, optional: true, nullable: false, api_name: "profileData" + + field :provider, -> { Auth0::Types::EventStreamCloudEventUserCreatedObjectIdentitiesItemCustomProviderEnum }, optional: false, nullable: false + + field :is_social, -> { Internal::Types::Boolean }, optional: false, nullable: false, api_name: "isSocial" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_custom_is_social_enum.rb b/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_custom_is_social_enum.rb new file mode 100644 index 000000000..867c68d5d --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_custom_is_social_enum.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventUserCreatedObjectIdentitiesItemCustomIsSocialEnum + # EventStreamCloudEventUserCreatedObjectIdentitiesItemCustomIsSocialEnum is an alias for Boolean + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_custom_profile_data.rb b/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_custom_profile_data.rb new file mode 100644 index 000000000..413d6d279 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_custom_profile_data.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Profile data for the user. + class EventStreamCloudEventUserCreatedObjectIdentitiesItemCustomProfileData < Internal::Types::Model + field :email, -> { String }, optional: true, nullable: false + + field :email_verified, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :username, -> { String }, optional: true, nullable: false + + field :given_name, -> { String }, optional: true, nullable: false + + field :family_name, -> { String }, optional: true, nullable: false + + field :phone_number, -> { String }, optional: true, nullable: false + + field :phone_verified, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_custom_provider_enum.rb b/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_custom_provider_enum.rb new file mode 100644 index 000000000..779057ef4 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_custom_provider_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventUserCreatedObjectIdentitiesItemCustomProviderEnum + extend Auth0::Internal::Types::Enum + + CUSTOM = "custom" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_custom_user_id.rb b/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_custom_user_id.rb new file mode 100644 index 000000000..ca1cf21d1 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_custom_user_id.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The IDP-specific identifer for the user. + class EventStreamCloudEventUserCreatedObjectIdentitiesItemCustomUserID < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { String } + + member -> { Integer } + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_database.rb b/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_database.rb new file mode 100644 index 000000000..15d4dc6a4 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_database.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The identity object for database identity providers. + class EventStreamCloudEventUserCreatedObjectIdentitiesItemDatabase < Internal::Types::Model + field :connection, -> { String }, optional: false, nullable: false + + field :user_id, -> { Auth0::Types::EventStreamCloudEventUserCreatedObjectIdentitiesItemDatabaseUserID }, optional: false, nullable: false + + field :profile_data, -> { Auth0::Types::EventStreamCloudEventUserCreatedObjectIdentitiesItemDatabaseProfileData }, optional: true, nullable: false, api_name: "profileData" + + field :provider, -> { Auth0::Types::EventStreamCloudEventUserCreatedObjectIdentitiesItemDatabaseProviderEnum }, optional: false, nullable: false + + field :is_social, -> { Internal::Types::Boolean }, optional: false, nullable: false, api_name: "isSocial" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_database_is_social_enum.rb b/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_database_is_social_enum.rb new file mode 100644 index 000000000..3b87046f5 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_database_is_social_enum.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventUserCreatedObjectIdentitiesItemDatabaseIsSocialEnum + # EventStreamCloudEventUserCreatedObjectIdentitiesItemDatabaseIsSocialEnum is an alias for Boolean + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_database_profile_data.rb b/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_database_profile_data.rb new file mode 100644 index 000000000..71b532224 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_database_profile_data.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Profile data for the user. + class EventStreamCloudEventUserCreatedObjectIdentitiesItemDatabaseProfileData < Internal::Types::Model + field :email, -> { String }, optional: true, nullable: false + + field :email_verified, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :username, -> { String }, optional: true, nullable: false + + field :given_name, -> { String }, optional: true, nullable: false + + field :family_name, -> { String }, optional: true, nullable: false + + field :phone_number, -> { String }, optional: true, nullable: false + + field :phone_verified, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_database_provider_enum.rb b/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_database_provider_enum.rb new file mode 100644 index 000000000..50f738382 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_database_provider_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventUserCreatedObjectIdentitiesItemDatabaseProviderEnum + extend Auth0::Internal::Types::Enum + + AUTH0 = "auth0" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_database_user_id.rb b/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_database_user_id.rb new file mode 100644 index 000000000..82ddeedf3 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_database_user_id.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The IDP-specific identifer for the user. + class EventStreamCloudEventUserCreatedObjectIdentitiesItemDatabaseUserID < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { String } + + member -> { Integer } + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_enterprise.rb b/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_enterprise.rb new file mode 100644 index 000000000..cc7b9f944 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_enterprise.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The identity object for enterprise identity providers. + class EventStreamCloudEventUserCreatedObjectIdentitiesItemEnterprise < Internal::Types::Model + field :connection, -> { String }, optional: false, nullable: false + + field :user_id, -> { Auth0::Types::EventStreamCloudEventUserCreatedObjectIdentitiesItemEnterpriseUserID }, optional: false, nullable: false + + field :profile_data, -> { Auth0::Types::EventStreamCloudEventUserCreatedObjectIdentitiesItemEnterpriseProfileData }, optional: true, nullable: false, api_name: "profileData" + + field :provider, -> { Auth0::Types::EventStreamCloudEventUserCreatedObjectIdentitiesItemEnterpriseProviderEnum }, optional: false, nullable: false + + field :is_social, -> { Internal::Types::Boolean }, optional: false, nullable: false, api_name: "isSocial" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_enterprise_is_social_enum.rb b/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_enterprise_is_social_enum.rb new file mode 100644 index 000000000..4e9e996a1 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_enterprise_is_social_enum.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventUserCreatedObjectIdentitiesItemEnterpriseIsSocialEnum + # EventStreamCloudEventUserCreatedObjectIdentitiesItemEnterpriseIsSocialEnum is an alias for Boolean + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_enterprise_profile_data.rb b/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_enterprise_profile_data.rb new file mode 100644 index 000000000..05fc35432 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_enterprise_profile_data.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Profile data for the user. + class EventStreamCloudEventUserCreatedObjectIdentitiesItemEnterpriseProfileData < Internal::Types::Model + field :email, -> { String }, optional: true, nullable: false + + field :email_verified, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :username, -> { String }, optional: true, nullable: false + + field :given_name, -> { String }, optional: true, nullable: false + + field :family_name, -> { String }, optional: true, nullable: false + + field :phone_number, -> { String }, optional: true, nullable: false + + field :phone_verified, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_enterprise_provider_enum.rb b/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_enterprise_provider_enum.rb new file mode 100644 index 000000000..3d6f55a59 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_enterprise_provider_enum.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventUserCreatedObjectIdentitiesItemEnterpriseProviderEnum + extend Auth0::Internal::Types::Enum + + AD = "ad" + ADFS = "adfs" + GOOGLE_APPS = "google-apps" + IP = "ip" + OFFICE365 = "office365" + OIDC = "oidc" + OKTA = "okta" + PINGFEDERATE = "pingfederate" + SAMLP = "samlp" + SHAREPOINT = "sharepoint" + WAAD = "waad" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_enterprise_user_id.rb b/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_enterprise_user_id.rb new file mode 100644 index 000000000..1c08a19f9 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_enterprise_user_id.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The IDP-specific identifer for the user. + class EventStreamCloudEventUserCreatedObjectIdentitiesItemEnterpriseUserID < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { String } + + member -> { Integer } + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_passwordless.rb b/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_passwordless.rb new file mode 100644 index 000000000..9b575c527 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_passwordless.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The identity object for passwordless identity providers. + class EventStreamCloudEventUserCreatedObjectIdentitiesItemPasswordless < Internal::Types::Model + field :connection, -> { String }, optional: false, nullable: false + + field :user_id, -> { Auth0::Types::EventStreamCloudEventUserCreatedObjectIdentitiesItemPasswordlessUserID }, optional: false, nullable: false + + field :profile_data, -> { Auth0::Types::EventStreamCloudEventUserCreatedObjectIdentitiesItemPasswordlessProfileData }, optional: true, nullable: false, api_name: "profileData" + + field :provider, -> { Auth0::Types::EventStreamCloudEventUserCreatedObjectIdentitiesItemPasswordlessProviderEnum }, optional: false, nullable: false + + field :is_social, -> { Internal::Types::Boolean }, optional: false, nullable: false, api_name: "isSocial" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_passwordless_is_social_enum.rb b/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_passwordless_is_social_enum.rb new file mode 100644 index 000000000..583e8df09 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_passwordless_is_social_enum.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventUserCreatedObjectIdentitiesItemPasswordlessIsSocialEnum + # EventStreamCloudEventUserCreatedObjectIdentitiesItemPasswordlessIsSocialEnum is an alias for Boolean + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_passwordless_profile_data.rb b/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_passwordless_profile_data.rb new file mode 100644 index 000000000..7229e2ef4 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_passwordless_profile_data.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Profile data for the user. + class EventStreamCloudEventUserCreatedObjectIdentitiesItemPasswordlessProfileData < Internal::Types::Model + field :email, -> { String }, optional: true, nullable: false + + field :email_verified, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :username, -> { String }, optional: true, nullable: false + + field :given_name, -> { String }, optional: true, nullable: false + + field :family_name, -> { String }, optional: true, nullable: false + + field :phone_number, -> { String }, optional: true, nullable: false + + field :phone_verified, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_passwordless_provider_enum.rb b/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_passwordless_provider_enum.rb new file mode 100644 index 000000000..8a66a30f3 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_passwordless_provider_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventUserCreatedObjectIdentitiesItemPasswordlessProviderEnum + extend Auth0::Internal::Types::Enum + + EMAIL = "email" + SMS = "sms" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_passwordless_user_id.rb b/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_passwordless_user_id.rb new file mode 100644 index 000000000..d4af67eb8 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_passwordless_user_id.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The IDP-specific identifer for the user. + class EventStreamCloudEventUserCreatedObjectIdentitiesItemPasswordlessUserID < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { String } + + member -> { Integer } + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_social.rb b/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_social.rb new file mode 100644 index 000000000..074caea84 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_social.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The identity object for social identity providers. + class EventStreamCloudEventUserCreatedObjectIdentitiesItemSocial < Internal::Types::Model + field :connection, -> { String }, optional: false, nullable: false + + field :user_id, -> { Auth0::Types::EventStreamCloudEventUserCreatedObjectIdentitiesItemSocialUserID }, optional: false, nullable: false + + field :profile_data, -> { Auth0::Types::EventStreamCloudEventUserCreatedObjectIdentitiesItemSocialProfileData }, optional: true, nullable: false, api_name: "profileData" + + field :provider, -> { Auth0::Types::EventStreamCloudEventUserCreatedObjectIdentitiesItemSocialProviderEnum }, optional: false, nullable: false + + field :is_social, -> { Internal::Types::Boolean }, optional: false, nullable: false, api_name: "isSocial" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_social_is_social_enum.rb b/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_social_is_social_enum.rb new file mode 100644 index 000000000..ae0ebf8d3 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_social_is_social_enum.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventUserCreatedObjectIdentitiesItemSocialIsSocialEnum + # EventStreamCloudEventUserCreatedObjectIdentitiesItemSocialIsSocialEnum is an alias for Boolean + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_social_profile_data.rb b/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_social_profile_data.rb new file mode 100644 index 000000000..5e42d4668 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_social_profile_data.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Profile data for the user. + class EventStreamCloudEventUserCreatedObjectIdentitiesItemSocialProfileData < Internal::Types::Model + field :email, -> { String }, optional: true, nullable: false + + field :email_verified, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :username, -> { String }, optional: true, nullable: false + + field :given_name, -> { String }, optional: true, nullable: false + + field :family_name, -> { String }, optional: true, nullable: false + + field :phone_number, -> { String }, optional: true, nullable: false + + field :phone_verified, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_social_provider_enum.rb b/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_social_provider_enum.rb new file mode 100644 index 000000000..f519743e0 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_social_provider_enum.rb @@ -0,0 +1,49 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventUserCreatedObjectIdentitiesItemSocialProviderEnum + extend Auth0::Internal::Types::Enum + + AMAZON = "amazon" + APPLE = "apple" + DROPBOX = "dropbox" + BITBUCKET = "bitbucket" + AUTH0OIDC = "auth0-oidc" + BAIDU = "baidu" + BITLY = "bitly" + BOX = "box" + DACCOUNT = "daccount" + DWOLLA = "dwolla" + EVERNOTE_SANDBOX = "evernote-sandbox" + EVERNOTE = "evernote" + EXACT = "exact" + FACEBOOK = "facebook" + FITBIT = "fitbit" + GITHUB = "github" + GOOGLE_OAUTH2 = "google-oauth2" + INSTAGRAM = "instagram" + LINE = "line" + LINKEDIN = "linkedin" + OAUTH1 = "oauth1" + OAUTH2 = "oauth2" + PAYPAL = "paypal" + PAYPAL_SANDBOX = "paypal-sandbox" + PLANNINGCENTER = "planningcenter" + SALESFORCE_COMMUNITY = "salesforce-community" + SALESFORCE_SANDBOX = "salesforce-sandbox" + SALESFORCE = "salesforce" + SHOPIFY = "shopify" + SOUNDCLOUD = "soundcloud" + THIRTYSEVENSIGNALS = "thirtysevensignals" + TWITTER = "twitter" + UNTAPPED = "untapped" + VKONTAKTE = "vkontakte" + WEIBO = "weibo" + WINDOWSLIVE = "windowslive" + WORDPRESS = "wordpress" + YAHOO = "yahoo" + YANDEX = "yandex" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_social_user_id.rb b/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_social_user_id.rb new file mode 100644 index 000000000..b42987b33 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_created_object_identities_item_social_user_id.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The IDP-specific identifer for the user. + class EventStreamCloudEventUserCreatedObjectIdentitiesItemSocialUserID < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { String } + + member -> { Integer } + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_created_object_user_metadata.rb b/lib/auth0/types/event_stream_cloud_event_user_created_object_user_metadata.rb new file mode 100644 index 000000000..de6f1ce4e --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_created_object_user_metadata.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventUserCreatedObjectUserMetadata + # EventStreamCloudEventUserCreatedObjectUserMetadata is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_created_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_user_created_type_enum.rb new file mode 100644 index 000000000..f54506e45 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_created_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventUserCreatedTypeEnum + extend Auth0::Internal::Types::Enum + + USER_CREATED = "user.created" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_deleted.rb b/lib/auth0/types/event_stream_cloud_event_user_deleted.rb new file mode 100644 index 000000000..adc7a33f9 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_deleted.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # SSE message for user.deleted. + class EventStreamCloudEventUserDeleted < Internal::Types::Model + field :offset, -> { String }, optional: false, nullable: false + + field :event, -> { Auth0::Types::EventStreamCloudEventUserDeletedCloudEvent }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_deleted_cloud_event.rb b/lib/auth0/types/event_stream_cloud_event_user_deleted_cloud_event.rb new file mode 100644 index 000000000..16de8517f --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_deleted_cloud_event.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Represents an event that occurs when a user is deleted. + class EventStreamCloudEventUserDeletedCloudEvent < Internal::Types::Model + field :specversion, -> { Auth0::Types::EventStreamCloudEventSpecVersionEnum }, optional: false, nullable: false + + field :type, -> { Auth0::Types::EventStreamCloudEventUserDeletedCloudEventTypeEnum }, optional: false, nullable: false + + field :source, -> { String }, optional: false, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :time, -> { String }, optional: false, nullable: false + + field :data, -> { Auth0::Types::EventStreamCloudEventUserDeletedData }, optional: false, nullable: false + + field :a0tenant, -> { String }, optional: false, nullable: false + + field :a0stream, -> { String }, optional: false, nullable: false + + field :a0purpose, -> { Auth0::Types::EventStreamCloudEventA0PurposeEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_deleted_cloud_event_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_user_deleted_cloud_event_type_enum.rb new file mode 100644 index 000000000..8cdd5995e --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_deleted_cloud_event_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventUserDeletedCloudEventTypeEnum + extend Auth0::Internal::Types::Enum + + USER_DELETED = "user.deleted" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_deleted_data.rb b/lib/auth0/types/event_stream_cloud_event_user_deleted_data.rb new file mode 100644 index 000000000..083e097b9 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_deleted_data.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The event payload. + class EventStreamCloudEventUserDeletedData < Internal::Types::Model + field :object, -> { Auth0::Types::EventStreamCloudEventUserDeletedObject }, optional: false, nullable: false + + field :context, -> { Auth0::Types::EventStreamCloudEventContext }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_deleted_object.rb b/lib/auth0/types/event_stream_cloud_event_user_deleted_object.rb new file mode 100644 index 000000000..63f391492 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_deleted_object.rb @@ -0,0 +1,52 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The event content. + class EventStreamCloudEventUserDeletedObject < Internal::Types::Model + field :user_id, -> { String }, optional: false, nullable: false + + field :email, -> { String }, optional: true, nullable: false + + field :email_verified, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :username, -> { String }, optional: true, nullable: false + + field :phone_number, -> { String }, optional: true, nullable: false + + field :phone_verified, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :created_at, -> { String }, optional: false, nullable: false + + field :updated_at, -> { String }, optional: false, nullable: false + + field :identities, -> { Internal::Types::Array[Auth0::Types::EventStreamCloudEventUserDeletedObjectIdentitiesItem] }, optional: false, nullable: false + + field :app_metadata, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :user_metadata, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :picture, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :nickname, -> { String }, optional: true, nullable: false + + field :multifactor, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :last_ip, -> { String }, optional: true, nullable: false + + field :last_login, -> { String }, optional: true, nullable: false + + field :logins_count, -> { Integer }, optional: true, nullable: false + + field :blocked, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :given_name, -> { String }, optional: true, nullable: false + + field :family_name, -> { String }, optional: true, nullable: false + + field :deleted_at, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_deleted_object_app_metadata.rb b/lib/auth0/types/event_stream_cloud_event_user_deleted_object_app_metadata.rb new file mode 100644 index 000000000..ca293a925 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_deleted_object_app_metadata.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventUserDeletedObjectAppMetadata + # EventStreamCloudEventUserDeletedObjectAppMetadata is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item.rb b/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item.rb new file mode 100644 index 000000000..3809592ec --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Identity object when accounts are linked. + class EventStreamCloudEventUserDeletedObjectIdentitiesItem < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::EventStreamCloudEventUserDeletedObjectIdentitiesItemCustom } + + member -> { Auth0::Types::EventStreamCloudEventUserDeletedObjectIdentitiesItemDatabase } + + member -> { Auth0::Types::EventStreamCloudEventUserDeletedObjectIdentitiesItemEnterprise } + + member -> { Auth0::Types::EventStreamCloudEventUserDeletedObjectIdentitiesItemPasswordless } + + member -> { Auth0::Types::EventStreamCloudEventUserDeletedObjectIdentitiesItemSocial } + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_custom.rb b/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_custom.rb new file mode 100644 index 000000000..c8d35fca2 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_custom.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The identity object for custom identity providers. + class EventStreamCloudEventUserDeletedObjectIdentitiesItemCustom < Internal::Types::Model + field :connection, -> { String }, optional: false, nullable: false + + field :user_id, -> { Auth0::Types::EventStreamCloudEventUserDeletedObjectIdentitiesItemCustomUserID }, optional: false, nullable: false + + field :profile_data, -> { Auth0::Types::EventStreamCloudEventUserDeletedObjectIdentitiesItemCustomProfileData }, optional: true, nullable: false, api_name: "profileData" + + field :provider, -> { Auth0::Types::EventStreamCloudEventUserDeletedObjectIdentitiesItemCustomProviderEnum }, optional: false, nullable: false + + field :is_social, -> { Internal::Types::Boolean }, optional: false, nullable: false, api_name: "isSocial" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_custom_is_social_enum.rb b/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_custom_is_social_enum.rb new file mode 100644 index 000000000..441490d8e --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_custom_is_social_enum.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventUserDeletedObjectIdentitiesItemCustomIsSocialEnum + # EventStreamCloudEventUserDeletedObjectIdentitiesItemCustomIsSocialEnum is an alias for Boolean + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_custom_profile_data.rb b/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_custom_profile_data.rb new file mode 100644 index 000000000..fa62674ae --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_custom_profile_data.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Profile data for the user. + class EventStreamCloudEventUserDeletedObjectIdentitiesItemCustomProfileData < Internal::Types::Model + field :email, -> { String }, optional: true, nullable: false + + field :email_verified, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :username, -> { String }, optional: true, nullable: false + + field :given_name, -> { String }, optional: true, nullable: false + + field :family_name, -> { String }, optional: true, nullable: false + + field :phone_number, -> { String }, optional: true, nullable: false + + field :phone_verified, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_custom_provider_enum.rb b/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_custom_provider_enum.rb new file mode 100644 index 000000000..3698ee49f --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_custom_provider_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventUserDeletedObjectIdentitiesItemCustomProviderEnum + extend Auth0::Internal::Types::Enum + + CUSTOM = "custom" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_custom_user_id.rb b/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_custom_user_id.rb new file mode 100644 index 000000000..f528fa564 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_custom_user_id.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The IDP-specific identifer for the user. + class EventStreamCloudEventUserDeletedObjectIdentitiesItemCustomUserID < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { String } + + member -> { Integer } + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_database.rb b/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_database.rb new file mode 100644 index 000000000..2c841ffd9 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_database.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The identity object for database identity providers. + class EventStreamCloudEventUserDeletedObjectIdentitiesItemDatabase < Internal::Types::Model + field :connection, -> { String }, optional: false, nullable: false + + field :user_id, -> { Auth0::Types::EventStreamCloudEventUserDeletedObjectIdentitiesItemDatabaseUserID }, optional: false, nullable: false + + field :profile_data, -> { Auth0::Types::EventStreamCloudEventUserDeletedObjectIdentitiesItemDatabaseProfileData }, optional: true, nullable: false, api_name: "profileData" + + field :provider, -> { Auth0::Types::EventStreamCloudEventUserDeletedObjectIdentitiesItemDatabaseProviderEnum }, optional: false, nullable: false + + field :is_social, -> { Internal::Types::Boolean }, optional: false, nullable: false, api_name: "isSocial" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_database_is_social_enum.rb b/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_database_is_social_enum.rb new file mode 100644 index 000000000..bb04fff43 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_database_is_social_enum.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventUserDeletedObjectIdentitiesItemDatabaseIsSocialEnum + # EventStreamCloudEventUserDeletedObjectIdentitiesItemDatabaseIsSocialEnum is an alias for Boolean + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_database_profile_data.rb b/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_database_profile_data.rb new file mode 100644 index 000000000..d20fe1eab --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_database_profile_data.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Profile data for the user. + class EventStreamCloudEventUserDeletedObjectIdentitiesItemDatabaseProfileData < Internal::Types::Model + field :email, -> { String }, optional: true, nullable: false + + field :email_verified, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :username, -> { String }, optional: true, nullable: false + + field :given_name, -> { String }, optional: true, nullable: false + + field :family_name, -> { String }, optional: true, nullable: false + + field :phone_number, -> { String }, optional: true, nullable: false + + field :phone_verified, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_database_provider_enum.rb b/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_database_provider_enum.rb new file mode 100644 index 000000000..0b9336825 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_database_provider_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventUserDeletedObjectIdentitiesItemDatabaseProviderEnum + extend Auth0::Internal::Types::Enum + + AUTH0 = "auth0" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_database_user_id.rb b/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_database_user_id.rb new file mode 100644 index 000000000..6bd1f7f43 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_database_user_id.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The IDP-specific identifer for the user. + class EventStreamCloudEventUserDeletedObjectIdentitiesItemDatabaseUserID < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { String } + + member -> { Integer } + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_enterprise.rb b/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_enterprise.rb new file mode 100644 index 000000000..bd916231d --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_enterprise.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The identity object for enterprise identity providers. + class EventStreamCloudEventUserDeletedObjectIdentitiesItemEnterprise < Internal::Types::Model + field :connection, -> { String }, optional: false, nullable: false + + field :user_id, -> { Auth0::Types::EventStreamCloudEventUserDeletedObjectIdentitiesItemEnterpriseUserID }, optional: false, nullable: false + + field :profile_data, -> { Auth0::Types::EventStreamCloudEventUserDeletedObjectIdentitiesItemEnterpriseProfileData }, optional: true, nullable: false, api_name: "profileData" + + field :provider, -> { Auth0::Types::EventStreamCloudEventUserDeletedObjectIdentitiesItemEnterpriseProviderEnum }, optional: false, nullable: false + + field :is_social, -> { Internal::Types::Boolean }, optional: false, nullable: false, api_name: "isSocial" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_enterprise_is_social_enum.rb b/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_enterprise_is_social_enum.rb new file mode 100644 index 000000000..f02be6daf --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_enterprise_is_social_enum.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventUserDeletedObjectIdentitiesItemEnterpriseIsSocialEnum + # EventStreamCloudEventUserDeletedObjectIdentitiesItemEnterpriseIsSocialEnum is an alias for Boolean + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_enterprise_profile_data.rb b/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_enterprise_profile_data.rb new file mode 100644 index 000000000..cc6284305 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_enterprise_profile_data.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Profile data for the user. + class EventStreamCloudEventUserDeletedObjectIdentitiesItemEnterpriseProfileData < Internal::Types::Model + field :email, -> { String }, optional: true, nullable: false + + field :email_verified, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :username, -> { String }, optional: true, nullable: false + + field :given_name, -> { String }, optional: true, nullable: false + + field :family_name, -> { String }, optional: true, nullable: false + + field :phone_number, -> { String }, optional: true, nullable: false + + field :phone_verified, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_enterprise_provider_enum.rb b/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_enterprise_provider_enum.rb new file mode 100644 index 000000000..d99b787c5 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_enterprise_provider_enum.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventUserDeletedObjectIdentitiesItemEnterpriseProviderEnum + extend Auth0::Internal::Types::Enum + + AD = "ad" + ADFS = "adfs" + GOOGLE_APPS = "google-apps" + IP = "ip" + OFFICE365 = "office365" + OIDC = "oidc" + OKTA = "okta" + PINGFEDERATE = "pingfederate" + SAMLP = "samlp" + SHAREPOINT = "sharepoint" + WAAD = "waad" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_enterprise_user_id.rb b/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_enterprise_user_id.rb new file mode 100644 index 000000000..5c09cea98 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_enterprise_user_id.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The IDP-specific identifer for the user. + class EventStreamCloudEventUserDeletedObjectIdentitiesItemEnterpriseUserID < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { String } + + member -> { Integer } + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_passwordless.rb b/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_passwordless.rb new file mode 100644 index 000000000..8afdf0840 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_passwordless.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The identity object for passwordless identity providers. + class EventStreamCloudEventUserDeletedObjectIdentitiesItemPasswordless < Internal::Types::Model + field :connection, -> { String }, optional: false, nullable: false + + field :user_id, -> { Auth0::Types::EventStreamCloudEventUserDeletedObjectIdentitiesItemPasswordlessUserID }, optional: false, nullable: false + + field :profile_data, -> { Auth0::Types::EventStreamCloudEventUserDeletedObjectIdentitiesItemPasswordlessProfileData }, optional: true, nullable: false, api_name: "profileData" + + field :provider, -> { Auth0::Types::EventStreamCloudEventUserDeletedObjectIdentitiesItemPasswordlessProviderEnum }, optional: false, nullable: false + + field :is_social, -> { Internal::Types::Boolean }, optional: false, nullable: false, api_name: "isSocial" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_passwordless_is_social_enum.rb b/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_passwordless_is_social_enum.rb new file mode 100644 index 000000000..14a152d02 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_passwordless_is_social_enum.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventUserDeletedObjectIdentitiesItemPasswordlessIsSocialEnum + # EventStreamCloudEventUserDeletedObjectIdentitiesItemPasswordlessIsSocialEnum is an alias for Boolean + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_passwordless_profile_data.rb b/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_passwordless_profile_data.rb new file mode 100644 index 000000000..b6bfe853c --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_passwordless_profile_data.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Profile data for the user. + class EventStreamCloudEventUserDeletedObjectIdentitiesItemPasswordlessProfileData < Internal::Types::Model + field :email, -> { String }, optional: true, nullable: false + + field :email_verified, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :username, -> { String }, optional: true, nullable: false + + field :given_name, -> { String }, optional: true, nullable: false + + field :family_name, -> { String }, optional: true, nullable: false + + field :phone_number, -> { String }, optional: true, nullable: false + + field :phone_verified, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_passwordless_provider_enum.rb b/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_passwordless_provider_enum.rb new file mode 100644 index 000000000..c0a87b9c3 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_passwordless_provider_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventUserDeletedObjectIdentitiesItemPasswordlessProviderEnum + extend Auth0::Internal::Types::Enum + + EMAIL = "email" + SMS = "sms" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_passwordless_user_id.rb b/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_passwordless_user_id.rb new file mode 100644 index 000000000..68bd7f52c --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_passwordless_user_id.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The IDP-specific identifer for the user. + class EventStreamCloudEventUserDeletedObjectIdentitiesItemPasswordlessUserID < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { String } + + member -> { Integer } + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_social.rb b/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_social.rb new file mode 100644 index 000000000..60e38ff76 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_social.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The identity object for social identity providers. + class EventStreamCloudEventUserDeletedObjectIdentitiesItemSocial < Internal::Types::Model + field :connection, -> { String }, optional: false, nullable: false + + field :user_id, -> { Auth0::Types::EventStreamCloudEventUserDeletedObjectIdentitiesItemSocialUserID }, optional: false, nullable: false + + field :profile_data, -> { Auth0::Types::EventStreamCloudEventUserDeletedObjectIdentitiesItemSocialProfileData }, optional: true, nullable: false, api_name: "profileData" + + field :provider, -> { Auth0::Types::EventStreamCloudEventUserDeletedObjectIdentitiesItemSocialProviderEnum }, optional: false, nullable: false + + field :is_social, -> { Internal::Types::Boolean }, optional: false, nullable: false, api_name: "isSocial" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_social_is_social_enum.rb b/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_social_is_social_enum.rb new file mode 100644 index 000000000..ddff982f9 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_social_is_social_enum.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventUserDeletedObjectIdentitiesItemSocialIsSocialEnum + # EventStreamCloudEventUserDeletedObjectIdentitiesItemSocialIsSocialEnum is an alias for Boolean + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_social_profile_data.rb b/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_social_profile_data.rb new file mode 100644 index 000000000..be0b25b6b --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_social_profile_data.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Profile data for the user. + class EventStreamCloudEventUserDeletedObjectIdentitiesItemSocialProfileData < Internal::Types::Model + field :email, -> { String }, optional: true, nullable: false + + field :email_verified, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :username, -> { String }, optional: true, nullable: false + + field :given_name, -> { String }, optional: true, nullable: false + + field :family_name, -> { String }, optional: true, nullable: false + + field :phone_number, -> { String }, optional: true, nullable: false + + field :phone_verified, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_social_provider_enum.rb b/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_social_provider_enum.rb new file mode 100644 index 000000000..8889a711a --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_social_provider_enum.rb @@ -0,0 +1,49 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventUserDeletedObjectIdentitiesItemSocialProviderEnum + extend Auth0::Internal::Types::Enum + + AMAZON = "amazon" + APPLE = "apple" + DROPBOX = "dropbox" + BITBUCKET = "bitbucket" + AUTH0OIDC = "auth0-oidc" + BAIDU = "baidu" + BITLY = "bitly" + BOX = "box" + DACCOUNT = "daccount" + DWOLLA = "dwolla" + EVERNOTE_SANDBOX = "evernote-sandbox" + EVERNOTE = "evernote" + EXACT = "exact" + FACEBOOK = "facebook" + FITBIT = "fitbit" + GITHUB = "github" + GOOGLE_OAUTH2 = "google-oauth2" + INSTAGRAM = "instagram" + LINE = "line" + LINKEDIN = "linkedin" + OAUTH1 = "oauth1" + OAUTH2 = "oauth2" + PAYPAL = "paypal" + PAYPAL_SANDBOX = "paypal-sandbox" + PLANNINGCENTER = "planningcenter" + SALESFORCE_COMMUNITY = "salesforce-community" + SALESFORCE_SANDBOX = "salesforce-sandbox" + SALESFORCE = "salesforce" + SHOPIFY = "shopify" + SOUNDCLOUD = "soundcloud" + THIRTYSEVENSIGNALS = "thirtysevensignals" + TWITTER = "twitter" + UNTAPPED = "untapped" + VKONTAKTE = "vkontakte" + WEIBO = "weibo" + WINDOWSLIVE = "windowslive" + WORDPRESS = "wordpress" + YAHOO = "yahoo" + YANDEX = "yandex" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_social_user_id.rb b/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_social_user_id.rb new file mode 100644 index 000000000..ffabd5a07 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_deleted_object_identities_item_social_user_id.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The IDP-specific identifer for the user. + class EventStreamCloudEventUserDeletedObjectIdentitiesItemSocialUserID < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { String } + + member -> { Integer } + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_deleted_object_user_metadata.rb b/lib/auth0/types/event_stream_cloud_event_user_deleted_object_user_metadata.rb new file mode 100644 index 000000000..3d6660b0f --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_deleted_object_user_metadata.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventUserDeletedObjectUserMetadata + # EventStreamCloudEventUserDeletedObjectUserMetadata is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_deleted_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_user_deleted_type_enum.rb new file mode 100644 index 000000000..e7ba17411 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_deleted_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventUserDeletedTypeEnum + extend Auth0::Internal::Types::Enum + + USER_DELETED = "user.deleted" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_updated.rb b/lib/auth0/types/event_stream_cloud_event_user_updated.rb new file mode 100644 index 000000000..9290d4ee9 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_updated.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # SSE message for user.updated. + class EventStreamCloudEventUserUpdated < Internal::Types::Model + field :offset, -> { String }, optional: false, nullable: false + + field :event, -> { Auth0::Types::EventStreamCloudEventUserUpdatedCloudEvent }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_updated_cloud_event.rb b/lib/auth0/types/event_stream_cloud_event_user_updated_cloud_event.rb new file mode 100644 index 000000000..75c4a471d --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_updated_cloud_event.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Represents an event that occurs when a user is updated. + class EventStreamCloudEventUserUpdatedCloudEvent < Internal::Types::Model + field :specversion, -> { Auth0::Types::EventStreamCloudEventSpecVersionEnum }, optional: false, nullable: false + + field :type, -> { Auth0::Types::EventStreamCloudEventUserUpdatedCloudEventTypeEnum }, optional: false, nullable: false + + field :source, -> { String }, optional: false, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :time, -> { String }, optional: false, nullable: false + + field :data, -> { Auth0::Types::EventStreamCloudEventUserUpdatedData }, optional: false, nullable: false + + field :a0tenant, -> { String }, optional: false, nullable: false + + field :a0stream, -> { String }, optional: false, nullable: false + + field :a0purpose, -> { Auth0::Types::EventStreamCloudEventA0PurposeEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_updated_cloud_event_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_user_updated_cloud_event_type_enum.rb new file mode 100644 index 000000000..3d4b35326 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_updated_cloud_event_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventUserUpdatedCloudEventTypeEnum + extend Auth0::Internal::Types::Enum + + USER_UPDATED = "user.updated" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_updated_data.rb b/lib/auth0/types/event_stream_cloud_event_user_updated_data.rb new file mode 100644 index 000000000..1211783e0 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_updated_data.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The event payload. + class EventStreamCloudEventUserUpdatedData < Internal::Types::Model + field :object, -> { Auth0::Types::EventStreamCloudEventUserUpdatedObject }, optional: false, nullable: false + + field :context, -> { Auth0::Types::EventStreamCloudEventContext }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_updated_object.rb b/lib/auth0/types/event_stream_cloud_event_user_updated_object.rb new file mode 100644 index 000000000..e568295a0 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_updated_object.rb @@ -0,0 +1,50 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The event content. + class EventStreamCloudEventUserUpdatedObject < Internal::Types::Model + field :user_id, -> { String }, optional: false, nullable: false + + field :email, -> { String }, optional: true, nullable: false + + field :email_verified, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :username, -> { String }, optional: true, nullable: false + + field :phone_number, -> { String }, optional: true, nullable: false + + field :phone_verified, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :created_at, -> { String }, optional: false, nullable: false + + field :updated_at, -> { String }, optional: false, nullable: false + + field :identities, -> { Internal::Types::Array[Auth0::Types::EventStreamCloudEventUserUpdatedObjectIdentitiesItem] }, optional: false, nullable: false + + field :app_metadata, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :user_metadata, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :picture, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :nickname, -> { String }, optional: true, nullable: false + + field :multifactor, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :last_ip, -> { String }, optional: true, nullable: false + + field :last_login, -> { String }, optional: true, nullable: false + + field :logins_count, -> { Integer }, optional: true, nullable: false + + field :blocked, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :given_name, -> { String }, optional: true, nullable: false + + field :family_name, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_updated_object_app_metadata.rb b/lib/auth0/types/event_stream_cloud_event_user_updated_object_app_metadata.rb new file mode 100644 index 000000000..669ca77d9 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_updated_object_app_metadata.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventUserUpdatedObjectAppMetadata + # EventStreamCloudEventUserUpdatedObjectAppMetadata is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item.rb b/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item.rb new file mode 100644 index 000000000..a1f02151b --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Identity object when accounts are linked. + class EventStreamCloudEventUserUpdatedObjectIdentitiesItem < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::EventStreamCloudEventUserUpdatedObjectIdentitiesItemCustom } + + member -> { Auth0::Types::EventStreamCloudEventUserUpdatedObjectIdentitiesItemDatabase } + + member -> { Auth0::Types::EventStreamCloudEventUserUpdatedObjectIdentitiesItemEnterprise } + + member -> { Auth0::Types::EventStreamCloudEventUserUpdatedObjectIdentitiesItemPasswordless } + + member -> { Auth0::Types::EventStreamCloudEventUserUpdatedObjectIdentitiesItemSocial } + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_custom.rb b/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_custom.rb new file mode 100644 index 000000000..1ba84f612 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_custom.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The identity object for custom identity providers. + class EventStreamCloudEventUserUpdatedObjectIdentitiesItemCustom < Internal::Types::Model + field :connection, -> { String }, optional: false, nullable: false + + field :user_id, -> { Auth0::Types::EventStreamCloudEventUserUpdatedObjectIdentitiesItemCustomUserID }, optional: false, nullable: false + + field :profile_data, -> { Auth0::Types::EventStreamCloudEventUserUpdatedObjectIdentitiesItemCustomProfileData }, optional: true, nullable: false, api_name: "profileData" + + field :provider, -> { Auth0::Types::EventStreamCloudEventUserUpdatedObjectIdentitiesItemCustomProviderEnum }, optional: false, nullable: false + + field :is_social, -> { Internal::Types::Boolean }, optional: false, nullable: false, api_name: "isSocial" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_custom_is_social_enum.rb b/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_custom_is_social_enum.rb new file mode 100644 index 000000000..f9e05d566 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_custom_is_social_enum.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventUserUpdatedObjectIdentitiesItemCustomIsSocialEnum + # EventStreamCloudEventUserUpdatedObjectIdentitiesItemCustomIsSocialEnum is an alias for Boolean + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_custom_profile_data.rb b/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_custom_profile_data.rb new file mode 100644 index 000000000..89571bc3b --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_custom_profile_data.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Profile data for the user. + class EventStreamCloudEventUserUpdatedObjectIdentitiesItemCustomProfileData < Internal::Types::Model + field :email, -> { String }, optional: true, nullable: false + + field :email_verified, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :username, -> { String }, optional: true, nullable: false + + field :given_name, -> { String }, optional: true, nullable: false + + field :family_name, -> { String }, optional: true, nullable: false + + field :phone_number, -> { String }, optional: true, nullable: false + + field :phone_verified, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_custom_provider_enum.rb b/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_custom_provider_enum.rb new file mode 100644 index 000000000..f6dd59b5a --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_custom_provider_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventUserUpdatedObjectIdentitiesItemCustomProviderEnum + extend Auth0::Internal::Types::Enum + + CUSTOM = "custom" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_custom_user_id.rb b/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_custom_user_id.rb new file mode 100644 index 000000000..abb2f1905 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_custom_user_id.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The IDP-specific identifer for the user. + class EventStreamCloudEventUserUpdatedObjectIdentitiesItemCustomUserID < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { String } + + member -> { Integer } + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_database.rb b/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_database.rb new file mode 100644 index 000000000..33e7fb3c8 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_database.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The identity object for database identity providers. + class EventStreamCloudEventUserUpdatedObjectIdentitiesItemDatabase < Internal::Types::Model + field :connection, -> { String }, optional: false, nullable: false + + field :user_id, -> { Auth0::Types::EventStreamCloudEventUserUpdatedObjectIdentitiesItemDatabaseUserID }, optional: false, nullable: false + + field :profile_data, -> { Auth0::Types::EventStreamCloudEventUserUpdatedObjectIdentitiesItemDatabaseProfileData }, optional: true, nullable: false, api_name: "profileData" + + field :provider, -> { Auth0::Types::EventStreamCloudEventUserUpdatedObjectIdentitiesItemDatabaseProviderEnum }, optional: false, nullable: false + + field :is_social, -> { Internal::Types::Boolean }, optional: false, nullable: false, api_name: "isSocial" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_database_is_social_enum.rb b/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_database_is_social_enum.rb new file mode 100644 index 000000000..ecc0bd79e --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_database_is_social_enum.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventUserUpdatedObjectIdentitiesItemDatabaseIsSocialEnum + # EventStreamCloudEventUserUpdatedObjectIdentitiesItemDatabaseIsSocialEnum is an alias for Boolean + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_database_profile_data.rb b/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_database_profile_data.rb new file mode 100644 index 000000000..606071fa3 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_database_profile_data.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Profile data for the user. + class EventStreamCloudEventUserUpdatedObjectIdentitiesItemDatabaseProfileData < Internal::Types::Model + field :email, -> { String }, optional: true, nullable: false + + field :email_verified, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :username, -> { String }, optional: true, nullable: false + + field :given_name, -> { String }, optional: true, nullable: false + + field :family_name, -> { String }, optional: true, nullable: false + + field :phone_number, -> { String }, optional: true, nullable: false + + field :phone_verified, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_database_provider_enum.rb b/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_database_provider_enum.rb new file mode 100644 index 000000000..291783672 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_database_provider_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventUserUpdatedObjectIdentitiesItemDatabaseProviderEnum + extend Auth0::Internal::Types::Enum + + AUTH0 = "auth0" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_database_user_id.rb b/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_database_user_id.rb new file mode 100644 index 000000000..14c1e778b --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_database_user_id.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The IDP-specific identifer for the user. + class EventStreamCloudEventUserUpdatedObjectIdentitiesItemDatabaseUserID < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { String } + + member -> { Integer } + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_enterprise.rb b/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_enterprise.rb new file mode 100644 index 000000000..20e736eb0 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_enterprise.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The identity object for enterprise identity providers. + class EventStreamCloudEventUserUpdatedObjectIdentitiesItemEnterprise < Internal::Types::Model + field :connection, -> { String }, optional: false, nullable: false + + field :user_id, -> { Auth0::Types::EventStreamCloudEventUserUpdatedObjectIdentitiesItemEnterpriseUserID }, optional: false, nullable: false + + field :profile_data, -> { Auth0::Types::EventStreamCloudEventUserUpdatedObjectIdentitiesItemEnterpriseProfileData }, optional: true, nullable: false, api_name: "profileData" + + field :provider, -> { Auth0::Types::EventStreamCloudEventUserUpdatedObjectIdentitiesItemEnterpriseProviderEnum }, optional: false, nullable: false + + field :is_social, -> { Internal::Types::Boolean }, optional: false, nullable: false, api_name: "isSocial" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_enterprise_is_social_enum.rb b/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_enterprise_is_social_enum.rb new file mode 100644 index 000000000..49e7aa2d6 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_enterprise_is_social_enum.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventUserUpdatedObjectIdentitiesItemEnterpriseIsSocialEnum + # EventStreamCloudEventUserUpdatedObjectIdentitiesItemEnterpriseIsSocialEnum is an alias for Boolean + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_enterprise_profile_data.rb b/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_enterprise_profile_data.rb new file mode 100644 index 000000000..5bfccd92a --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_enterprise_profile_data.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Profile data for the user. + class EventStreamCloudEventUserUpdatedObjectIdentitiesItemEnterpriseProfileData < Internal::Types::Model + field :email, -> { String }, optional: true, nullable: false + + field :email_verified, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :username, -> { String }, optional: true, nullable: false + + field :given_name, -> { String }, optional: true, nullable: false + + field :family_name, -> { String }, optional: true, nullable: false + + field :phone_number, -> { String }, optional: true, nullable: false + + field :phone_verified, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_enterprise_provider_enum.rb b/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_enterprise_provider_enum.rb new file mode 100644 index 000000000..36703b0fc --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_enterprise_provider_enum.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventUserUpdatedObjectIdentitiesItemEnterpriseProviderEnum + extend Auth0::Internal::Types::Enum + + AD = "ad" + ADFS = "adfs" + GOOGLE_APPS = "google-apps" + IP = "ip" + OFFICE365 = "office365" + OIDC = "oidc" + OKTA = "okta" + PINGFEDERATE = "pingfederate" + SAMLP = "samlp" + SHAREPOINT = "sharepoint" + WAAD = "waad" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_enterprise_user_id.rb b/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_enterprise_user_id.rb new file mode 100644 index 000000000..ee760c082 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_enterprise_user_id.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The IDP-specific identifer for the user. + class EventStreamCloudEventUserUpdatedObjectIdentitiesItemEnterpriseUserID < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { String } + + member -> { Integer } + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_passwordless.rb b/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_passwordless.rb new file mode 100644 index 000000000..8e07173b3 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_passwordless.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The identity object for passwordless identity providers. + class EventStreamCloudEventUserUpdatedObjectIdentitiesItemPasswordless < Internal::Types::Model + field :connection, -> { String }, optional: false, nullable: false + + field :user_id, -> { Auth0::Types::EventStreamCloudEventUserUpdatedObjectIdentitiesItemPasswordlessUserID }, optional: false, nullable: false + + field :profile_data, -> { Auth0::Types::EventStreamCloudEventUserUpdatedObjectIdentitiesItemPasswordlessProfileData }, optional: true, nullable: false, api_name: "profileData" + + field :provider, -> { Auth0::Types::EventStreamCloudEventUserUpdatedObjectIdentitiesItemPasswordlessProviderEnum }, optional: false, nullable: false + + field :is_social, -> { Internal::Types::Boolean }, optional: false, nullable: false, api_name: "isSocial" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_passwordless_is_social_enum.rb b/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_passwordless_is_social_enum.rb new file mode 100644 index 000000000..97c6334ed --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_passwordless_is_social_enum.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventUserUpdatedObjectIdentitiesItemPasswordlessIsSocialEnum + # EventStreamCloudEventUserUpdatedObjectIdentitiesItemPasswordlessIsSocialEnum is an alias for Boolean + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_passwordless_profile_data.rb b/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_passwordless_profile_data.rb new file mode 100644 index 000000000..4b03a4679 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_passwordless_profile_data.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Profile data for the user. + class EventStreamCloudEventUserUpdatedObjectIdentitiesItemPasswordlessProfileData < Internal::Types::Model + field :email, -> { String }, optional: true, nullable: false + + field :email_verified, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :username, -> { String }, optional: true, nullable: false + + field :given_name, -> { String }, optional: true, nullable: false + + field :family_name, -> { String }, optional: true, nullable: false + + field :phone_number, -> { String }, optional: true, nullable: false + + field :phone_verified, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_passwordless_provider_enum.rb b/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_passwordless_provider_enum.rb new file mode 100644 index 000000000..b54b9d696 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_passwordless_provider_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventUserUpdatedObjectIdentitiesItemPasswordlessProviderEnum + extend Auth0::Internal::Types::Enum + + EMAIL = "email" + SMS = "sms" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_passwordless_user_id.rb b/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_passwordless_user_id.rb new file mode 100644 index 000000000..e6766cce7 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_passwordless_user_id.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The IDP-specific identifer for the user. + class EventStreamCloudEventUserUpdatedObjectIdentitiesItemPasswordlessUserID < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { String } + + member -> { Integer } + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_social.rb b/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_social.rb new file mode 100644 index 000000000..6b768dbfc --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_social.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The identity object for social identity providers. + class EventStreamCloudEventUserUpdatedObjectIdentitiesItemSocial < Internal::Types::Model + field :connection, -> { String }, optional: false, nullable: false + + field :user_id, -> { Auth0::Types::EventStreamCloudEventUserUpdatedObjectIdentitiesItemSocialUserID }, optional: false, nullable: false + + field :profile_data, -> { Auth0::Types::EventStreamCloudEventUserUpdatedObjectIdentitiesItemSocialProfileData }, optional: true, nullable: false, api_name: "profileData" + + field :provider, -> { Auth0::Types::EventStreamCloudEventUserUpdatedObjectIdentitiesItemSocialProviderEnum }, optional: false, nullable: false + + field :is_social, -> { Internal::Types::Boolean }, optional: false, nullable: false, api_name: "isSocial" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_social_is_social_enum.rb b/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_social_is_social_enum.rb new file mode 100644 index 000000000..07814e342 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_social_is_social_enum.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventUserUpdatedObjectIdentitiesItemSocialIsSocialEnum + # EventStreamCloudEventUserUpdatedObjectIdentitiesItemSocialIsSocialEnum is an alias for Boolean + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_social_profile_data.rb b/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_social_profile_data.rb new file mode 100644 index 000000000..73301f98b --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_social_profile_data.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Profile data for the user. + class EventStreamCloudEventUserUpdatedObjectIdentitiesItemSocialProfileData < Internal::Types::Model + field :email, -> { String }, optional: true, nullable: false + + field :email_verified, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :username, -> { String }, optional: true, nullable: false + + field :given_name, -> { String }, optional: true, nullable: false + + field :family_name, -> { String }, optional: true, nullable: false + + field :phone_number, -> { String }, optional: true, nullable: false + + field :phone_verified, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_social_provider_enum.rb b/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_social_provider_enum.rb new file mode 100644 index 000000000..a6caa6729 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_social_provider_enum.rb @@ -0,0 +1,49 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventUserUpdatedObjectIdentitiesItemSocialProviderEnum + extend Auth0::Internal::Types::Enum + + AMAZON = "amazon" + APPLE = "apple" + DROPBOX = "dropbox" + BITBUCKET = "bitbucket" + AUTH0OIDC = "auth0-oidc" + BAIDU = "baidu" + BITLY = "bitly" + BOX = "box" + DACCOUNT = "daccount" + DWOLLA = "dwolla" + EVERNOTE_SANDBOX = "evernote-sandbox" + EVERNOTE = "evernote" + EXACT = "exact" + FACEBOOK = "facebook" + FITBIT = "fitbit" + GITHUB = "github" + GOOGLE_OAUTH2 = "google-oauth2" + INSTAGRAM = "instagram" + LINE = "line" + LINKEDIN = "linkedin" + OAUTH1 = "oauth1" + OAUTH2 = "oauth2" + PAYPAL = "paypal" + PAYPAL_SANDBOX = "paypal-sandbox" + PLANNINGCENTER = "planningcenter" + SALESFORCE_COMMUNITY = "salesforce-community" + SALESFORCE_SANDBOX = "salesforce-sandbox" + SALESFORCE = "salesforce" + SHOPIFY = "shopify" + SOUNDCLOUD = "soundcloud" + THIRTYSEVENSIGNALS = "thirtysevensignals" + TWITTER = "twitter" + UNTAPPED = "untapped" + VKONTAKTE = "vkontakte" + WEIBO = "weibo" + WINDOWSLIVE = "windowslive" + WORDPRESS = "wordpress" + YAHOO = "yahoo" + YANDEX = "yandex" + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_social_user_id.rb b/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_social_user_id.rb new file mode 100644 index 000000000..5274abcbf --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_updated_object_identities_item_social_user_id.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The IDP-specific identifer for the user. + class EventStreamCloudEventUserUpdatedObjectIdentitiesItemSocialUserID < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { String } + + member -> { Integer } + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_updated_object_user_metadata.rb b/lib/auth0/types/event_stream_cloud_event_user_updated_object_user_metadata.rb new file mode 100644 index 000000000..b7959e0db --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_updated_object_user_metadata.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventUserUpdatedObjectUserMetadata + # EventStreamCloudEventUserUpdatedObjectUserMetadata is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_cloud_event_user_updated_type_enum.rb b/lib/auth0/types/event_stream_cloud_event_user_updated_type_enum.rb new file mode 100644 index 000000000..7007882d3 --- /dev/null +++ b/lib/auth0/types/event_stream_cloud_event_user_updated_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamCloudEventUserUpdatedTypeEnum + extend Auth0::Internal::Types::Enum + + USER_UPDATED = "user.updated" + end + end +end diff --git a/lib/auth0/types/event_stream_delivery.rb b/lib/auth0/types/event_stream_delivery.rb new file mode 100644 index 000000000..38de02eb7 --- /dev/null +++ b/lib/auth0/types/event_stream_delivery.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Metadata about a specific attempt to deliver an event + class EventStreamDelivery < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :event_stream_id, -> { String }, optional: false, nullable: false + + field :status, -> { Auth0::Types::EventStreamDeliveryStatusEnum }, optional: false, nullable: false + + field :event_type, -> { Auth0::Types::EventStreamDeliveryEventTypeEnum }, optional: false, nullable: false + + field :attempts, -> { Internal::Types::Array[Auth0::Types::EventStreamDeliveryAttempt] }, optional: false, nullable: false + + field :event, -> { Auth0::Types::EventStreamCloudEvent }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_delivery_attempt.rb b/lib/auth0/types/event_stream_delivery_attempt.rb new file mode 100644 index 000000000..74789ef6c --- /dev/null +++ b/lib/auth0/types/event_stream_delivery_attempt.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class EventStreamDeliveryAttempt < Internal::Types::Model + field :status, -> { Auth0::Types::EventStreamDeliveryStatusEnum }, optional: false, nullable: false + + field :timestamp, -> { String }, optional: false, nullable: false + + field :error_message, -> { String }, optional: true, nullable: false + + field :duration, -> { Integer }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_delivery_event_type_enum.rb b/lib/auth0/types/event_stream_delivery_event_type_enum.rb new file mode 100644 index 000000000..00b720ade --- /dev/null +++ b/lib/auth0/types/event_stream_delivery_event_type_enum.rb @@ -0,0 +1,35 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamDeliveryEventTypeEnum + extend Auth0::Internal::Types::Enum + + CONNECTION_CREATED = "connection.created" + CONNECTION_DELETED = "connection.deleted" + CONNECTION_UPDATED = "connection.updated" + GROUP_CREATED = "group.created" + GROUP_DELETED = "group.deleted" + GROUP_MEMBER_ADDED = "group.member.added" + GROUP_MEMBER_DELETED = "group.member.deleted" + GROUP_ROLE_ASSIGNED = "group.role.assigned" + GROUP_ROLE_DELETED = "group.role.deleted" + GROUP_UPDATED = "group.updated" + ORGANIZATION_CONNECTION_ADDED = "organization.connection.added" + ORGANIZATION_CONNECTION_REMOVED = "organization.connection.removed" + ORGANIZATION_CONNECTION_UPDATED = "organization.connection.updated" + ORGANIZATION_CREATED = "organization.created" + ORGANIZATION_DELETED = "organization.deleted" + ORGANIZATION_GROUP_ROLE_ASSIGNED = "organization.group.role.assigned" + ORGANIZATION_GROUP_ROLE_DELETED = "organization.group.role.deleted" + ORGANIZATION_MEMBER_ADDED = "organization.member.added" + ORGANIZATION_MEMBER_DELETED = "organization.member.deleted" + ORGANIZATION_MEMBER_ROLE_ASSIGNED = "organization.member.role.assigned" + ORGANIZATION_MEMBER_ROLE_DELETED = "organization.member.role.deleted" + ORGANIZATION_UPDATED = "organization.updated" + USER_CREATED = "user.created" + USER_DELETED = "user.deleted" + USER_UPDATED = "user.updated" + end + end +end diff --git a/lib/auth0/types/event_stream_delivery_status_enum.rb b/lib/auth0/types/event_stream_delivery_status_enum.rb new file mode 100644 index 000000000..cc8c5b22d --- /dev/null +++ b/lib/auth0/types/event_stream_delivery_status_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamDeliveryStatusEnum + extend Auth0::Internal::Types::Enum + + FAILED = "failed" + end + end +end diff --git a/lib/auth0/types/event_stream_destination_patch.rb b/lib/auth0/types/event_stream_destination_patch.rb new file mode 100644 index 000000000..30f8b0023 --- /dev/null +++ b/lib/auth0/types/event_stream_destination_patch.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class EventStreamDestinationPatch < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::EventStreamWebhookDestination } + + member -> { Auth0::Types::EventStreamActionDestination } + end + end +end diff --git a/lib/auth0/types/event_stream_event_bridge_aws_region_enum.rb b/lib/auth0/types/event_stream_event_bridge_aws_region_enum.rb new file mode 100644 index 000000000..0120234ff --- /dev/null +++ b/lib/auth0/types/event_stream_event_bridge_aws_region_enum.rb @@ -0,0 +1,46 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamEventBridgeAwsRegionEnum + extend Auth0::Internal::Types::Enum + + AF_SOUTH1 = "af-south-1" + AP_EAST1 = "ap-east-1" + AP_EAST2 = "ap-east-2" + AP_NORTHEAST1 = "ap-northeast-1" + AP_NORTHEAST2 = "ap-northeast-2" + AP_NORTHEAST3 = "ap-northeast-3" + AP_SOUTH1 = "ap-south-1" + AP_SOUTH2 = "ap-south-2" + AP_SOUTHEAST1 = "ap-southeast-1" + AP_SOUTHEAST2 = "ap-southeast-2" + AP_SOUTHEAST3 = "ap-southeast-3" + AP_SOUTHEAST4 = "ap-southeast-4" + AP_SOUTHEAST5 = "ap-southeast-5" + AP_SOUTHEAST6 = "ap-southeast-6" + AP_SOUTHEAST7 = "ap-southeast-7" + CA_CENTRAL1 = "ca-central-1" + CA_WEST1 = "ca-west-1" + EU_CENTRAL1 = "eu-central-1" + EU_CENTRAL2 = "eu-central-2" + EU_NORTH1 = "eu-north-1" + EU_SOUTH1 = "eu-south-1" + EU_SOUTH2 = "eu-south-2" + EU_WEST1 = "eu-west-1" + EU_WEST2 = "eu-west-2" + EU_WEST3 = "eu-west-3" + IL_CENTRAL1 = "il-central-1" + ME_CENTRAL1 = "me-central-1" + ME_SOUTH1 = "me-south-1" + MX_CENTRAL1 = "mx-central-1" + SA_EAST1 = "sa-east-1" + US_GOV_EAST1 = "us-gov-east-1" + US_GOV_WEST1 = "us-gov-west-1" + US_EAST1 = "us-east-1" + US_EAST2 = "us-east-2" + US_WEST1 = "us-west-1" + US_WEST2 = "us-west-2" + end + end +end diff --git a/lib/auth0/types/event_stream_event_bridge_configuration.rb b/lib/auth0/types/event_stream_event_bridge_configuration.rb new file mode 100644 index 000000000..5830b5dcd --- /dev/null +++ b/lib/auth0/types/event_stream_event_bridge_configuration.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configuration specific to an eventbridge destination. + class EventStreamEventBridgeConfiguration < Internal::Types::Model + field :aws_account_id, -> { String }, optional: false, nullable: false + + field :aws_region, -> { Auth0::Types::EventStreamEventBridgeAwsRegionEnum }, optional: false, nullable: false + + field :aws_partner_event_source, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_event_bridge_destination.rb b/lib/auth0/types/event_stream_event_bridge_destination.rb new file mode 100644 index 000000000..0862b0a9b --- /dev/null +++ b/lib/auth0/types/event_stream_event_bridge_destination.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class EventStreamEventBridgeDestination < Internal::Types::Model + field :type, -> { Auth0::Types::EventStreamEventBridgeDestinationTypeEnum }, optional: false, nullable: false + + field :configuration, -> { Auth0::Types::EventStreamEventBridgeConfiguration }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_event_bridge_destination_type_enum.rb b/lib/auth0/types/event_stream_event_bridge_destination_type_enum.rb new file mode 100644 index 000000000..a9be5c3f5 --- /dev/null +++ b/lib/auth0/types/event_stream_event_bridge_destination_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamEventBridgeDestinationTypeEnum + extend Auth0::Internal::Types::Enum + + EVENTBRIDGE = "eventbridge" + end + end +end diff --git a/lib/auth0/types/event_stream_event_bridge_response_content.rb b/lib/auth0/types/event_stream_event_bridge_response_content.rb new file mode 100644 index 000000000..c59683424 --- /dev/null +++ b/lib/auth0/types/event_stream_event_bridge_response_content.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class EventStreamEventBridgeResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :subscriptions, -> { Internal::Types::Array[Auth0::Types::EventStreamSubscription] }, optional: true, nullable: false + + field :destination, -> { Auth0::Types::EventStreamEventBridgeDestination }, optional: true, nullable: false + + field :status, -> { Auth0::Types::EventStreamStatusEnum }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :updated_at, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_event_type_enum.rb b/lib/auth0/types/event_stream_event_type_enum.rb new file mode 100644 index 000000000..8df591f4b --- /dev/null +++ b/lib/auth0/types/event_stream_event_type_enum.rb @@ -0,0 +1,35 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamEventTypeEnum + extend Auth0::Internal::Types::Enum + + CONNECTION_CREATED = "connection.created" + CONNECTION_DELETED = "connection.deleted" + CONNECTION_UPDATED = "connection.updated" + GROUP_CREATED = "group.created" + GROUP_DELETED = "group.deleted" + GROUP_MEMBER_ADDED = "group.member.added" + GROUP_MEMBER_DELETED = "group.member.deleted" + GROUP_ROLE_ASSIGNED = "group.role.assigned" + GROUP_ROLE_DELETED = "group.role.deleted" + GROUP_UPDATED = "group.updated" + ORGANIZATION_CONNECTION_ADDED = "organization.connection.added" + ORGANIZATION_CONNECTION_REMOVED = "organization.connection.removed" + ORGANIZATION_CONNECTION_UPDATED = "organization.connection.updated" + ORGANIZATION_CREATED = "organization.created" + ORGANIZATION_DELETED = "organization.deleted" + ORGANIZATION_GROUP_ROLE_ASSIGNED = "organization.group.role.assigned" + ORGANIZATION_GROUP_ROLE_DELETED = "organization.group.role.deleted" + ORGANIZATION_MEMBER_ADDED = "organization.member.added" + ORGANIZATION_MEMBER_DELETED = "organization.member.deleted" + ORGANIZATION_MEMBER_ROLE_ASSIGNED = "organization.member.role.assigned" + ORGANIZATION_MEMBER_ROLE_DELETED = "organization.member.role.deleted" + ORGANIZATION_UPDATED = "organization.updated" + USER_CREATED = "user.created" + USER_DELETED = "user.deleted" + USER_UPDATED = "user.updated" + end + end +end diff --git a/lib/auth0/types/event_stream_response_content.rb b/lib/auth0/types/event_stream_response_content.rb new file mode 100644 index 000000000..ed28ec52e --- /dev/null +++ b/lib/auth0/types/event_stream_response_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class EventStreamResponseContent < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::EventStreamWebhookResponseContent } + + member -> { Auth0::Types::EventStreamEventBridgeResponseContent } + + member -> { Auth0::Types::EventStreamActionResponseContent } + end + end +end diff --git a/lib/auth0/types/event_stream_status_enum.rb b/lib/auth0/types/event_stream_status_enum.rb new file mode 100644 index 000000000..dfec7c9f9 --- /dev/null +++ b/lib/auth0/types/event_stream_status_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamStatusEnum + extend Auth0::Internal::Types::Enum + + ENABLED = "enabled" + DISABLED = "disabled" + end + end +end diff --git a/lib/auth0/types/event_stream_subscribe_events_event_type_enum.rb b/lib/auth0/types/event_stream_subscribe_events_event_type_enum.rb new file mode 100644 index 000000000..22d8075c5 --- /dev/null +++ b/lib/auth0/types/event_stream_subscribe_events_event_type_enum.rb @@ -0,0 +1,35 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamSubscribeEventsEventTypeEnum + extend Auth0::Internal::Types::Enum + + CONNECTION_CREATED = "connection.created" + CONNECTION_DELETED = "connection.deleted" + CONNECTION_UPDATED = "connection.updated" + GROUP_CREATED = "group.created" + GROUP_DELETED = "group.deleted" + GROUP_MEMBER_ADDED = "group.member.added" + GROUP_MEMBER_DELETED = "group.member.deleted" + GROUP_ROLE_ASSIGNED = "group.role.assigned" + GROUP_ROLE_DELETED = "group.role.deleted" + GROUP_UPDATED = "group.updated" + ORGANIZATION_CONNECTION_ADDED = "organization.connection.added" + ORGANIZATION_CONNECTION_REMOVED = "organization.connection.removed" + ORGANIZATION_CONNECTION_UPDATED = "organization.connection.updated" + ORGANIZATION_CREATED = "organization.created" + ORGANIZATION_DELETED = "organization.deleted" + ORGANIZATION_GROUP_ROLE_ASSIGNED = "organization.group.role.assigned" + ORGANIZATION_GROUP_ROLE_DELETED = "organization.group.role.deleted" + ORGANIZATION_MEMBER_ADDED = "organization.member.added" + ORGANIZATION_MEMBER_DELETED = "organization.member.deleted" + ORGANIZATION_MEMBER_ROLE_ASSIGNED = "organization.member.role.assigned" + ORGANIZATION_MEMBER_ROLE_DELETED = "organization.member.role.deleted" + ORGANIZATION_UPDATED = "organization.updated" + USER_CREATED = "user.created" + USER_DELETED = "user.deleted" + USER_UPDATED = "user.updated" + end + end +end diff --git a/lib/auth0/types/event_stream_subscribe_events_event_type_param.rb b/lib/auth0/types/event_stream_subscribe_events_event_type_param.rb new file mode 100644 index 000000000..bf2ace915 --- /dev/null +++ b/lib/auth0/types/event_stream_subscribe_events_event_type_param.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamSubscribeEventsEventTypeParam + # EventStreamSubscribeEventsEventTypeParam is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/event_stream_subscribe_events_response_content.rb b/lib/auth0/types/event_stream_subscribe_events_response_content.rb new file mode 100644 index 000000000..31cbc97e3 --- /dev/null +++ b/lib/auth0/types/event_stream_subscribe_events_response_content.rb @@ -0,0 +1,68 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The JSON payload delivered in each SSE data line. The type field is injected from the SSE event field by the SDK. + # Discriminated by type: an event type name for events, "error" for errors, and "offset-only" for cursor-only + # heartbeats. + class EventStreamSubscribeEventsResponseContent < Internal::Types::Model + extend Auth0::Internal::Types::Union + + discriminant :type + + member -> { Auth0::Types::EventStreamCloudEventConnectionCreated }, key: "CONNECTION_CREATED" + + member -> { Auth0::Types::EventStreamCloudEventConnectionDeleted }, key: "CONNECTION_DELETED" + + member -> { Auth0::Types::EventStreamCloudEventConnectionUpdated }, key: "CONNECTION_UPDATED" + + member -> { Auth0::Types::EventStreamCloudEventGroupCreated }, key: "GROUP_CREATED" + + member -> { Auth0::Types::EventStreamCloudEventGroupDeleted }, key: "GROUP_DELETED" + + member -> { Auth0::Types::EventStreamCloudEventGroupMemberAdded }, key: "GROUP_MEMBER_ADDED" + + member -> { Auth0::Types::EventStreamCloudEventGroupMemberDeleted }, key: "GROUP_MEMBER_DELETED" + + member -> { Auth0::Types::EventStreamCloudEventGroupRoleAssigned }, key: "GROUP_ROLE_ASSIGNED" + + member -> { Auth0::Types::EventStreamCloudEventGroupRoleDeleted }, key: "GROUP_ROLE_DELETED" + + member -> { Auth0::Types::EventStreamCloudEventGroupUpdated }, key: "GROUP_UPDATED" + + member -> { Auth0::Types::EventStreamCloudEventOrgConnectionAdded }, key: "ORGANIZATION_CONNECTION_ADDED" + + member -> { Auth0::Types::EventStreamCloudEventOrgConnectionRemoved }, key: "ORGANIZATION_CONNECTION_REMOVED" + + member -> { Auth0::Types::EventStreamCloudEventOrgConnectionUpdated }, key: "ORGANIZATION_CONNECTION_UPDATED" + + member -> { Auth0::Types::EventStreamCloudEventOrgCreated }, key: "ORGANIZATION_CREATED" + + member -> { Auth0::Types::EventStreamCloudEventOrgDeleted }, key: "ORGANIZATION_DELETED" + + member -> { Auth0::Types::EventStreamCloudEventOrgGroupRoleAssigned }, key: "ORGANIZATION_GROUP_ROLE_ASSIGNED" + + member -> { Auth0::Types::EventStreamCloudEventOrgGroupRoleDeleted }, key: "ORGANIZATION_GROUP_ROLE_DELETED" + + member -> { Auth0::Types::EventStreamCloudEventOrgMemberAdded }, key: "ORGANIZATION_MEMBER_ADDED" + + member -> { Auth0::Types::EventStreamCloudEventOrgMemberDeleted }, key: "ORGANIZATION_MEMBER_DELETED" + + member -> { Auth0::Types::EventStreamCloudEventOrgMemberRoleAssigned }, key: "ORGANIZATION_MEMBER_ROLE_ASSIGNED" + + member -> { Auth0::Types::EventStreamCloudEventOrgMemberRoleDeleted }, key: "ORGANIZATION_MEMBER_ROLE_DELETED" + + member -> { Auth0::Types::EventStreamCloudEventOrgUpdated }, key: "ORGANIZATION_UPDATED" + + member -> { Auth0::Types::EventStreamCloudEventUserCreated }, key: "USER_CREATED" + + member -> { Auth0::Types::EventStreamCloudEventUserDeleted }, key: "USER_DELETED" + + member -> { Auth0::Types::EventStreamCloudEventUserUpdated }, key: "USER_UPDATED" + + member -> { Auth0::Types::EventStreamCloudEventErrorMessage }, key: "ERROR" + + member -> { Auth0::Types::EventStreamCloudEventOffsetOnlyMessage }, key: "OFFSET_ONLY" + end + end +end diff --git a/lib/auth0/types/event_stream_subscription.rb b/lib/auth0/types/event_stream_subscription.rb new file mode 100644 index 000000000..5157f2a8b --- /dev/null +++ b/lib/auth0/types/event_stream_subscription.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Event types + class EventStreamSubscription < Internal::Types::Model + field :event_type, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_test_event_type_enum.rb b/lib/auth0/types/event_stream_test_event_type_enum.rb new file mode 100644 index 000000000..cd8299a10 --- /dev/null +++ b/lib/auth0/types/event_stream_test_event_type_enum.rb @@ -0,0 +1,35 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamTestEventTypeEnum + extend Auth0::Internal::Types::Enum + + CONNECTION_CREATED = "connection.created" + CONNECTION_DELETED = "connection.deleted" + CONNECTION_UPDATED = "connection.updated" + GROUP_CREATED = "group.created" + GROUP_DELETED = "group.deleted" + GROUP_MEMBER_ADDED = "group.member.added" + GROUP_MEMBER_DELETED = "group.member.deleted" + GROUP_ROLE_ASSIGNED = "group.role.assigned" + GROUP_ROLE_DELETED = "group.role.deleted" + GROUP_UPDATED = "group.updated" + ORGANIZATION_CONNECTION_ADDED = "organization.connection.added" + ORGANIZATION_CONNECTION_REMOVED = "organization.connection.removed" + ORGANIZATION_CONNECTION_UPDATED = "organization.connection.updated" + ORGANIZATION_CREATED = "organization.created" + ORGANIZATION_DELETED = "organization.deleted" + ORGANIZATION_GROUP_ROLE_ASSIGNED = "organization.group.role.assigned" + ORGANIZATION_GROUP_ROLE_DELETED = "organization.group.role.deleted" + ORGANIZATION_MEMBER_ADDED = "organization.member.added" + ORGANIZATION_MEMBER_DELETED = "organization.member.deleted" + ORGANIZATION_MEMBER_ROLE_ASSIGNED = "organization.member.role.assigned" + ORGANIZATION_MEMBER_ROLE_DELETED = "organization.member.role.deleted" + ORGANIZATION_UPDATED = "organization.updated" + USER_CREATED = "user.created" + USER_DELETED = "user.deleted" + USER_UPDATED = "user.updated" + end + end +end diff --git a/lib/auth0/types/event_stream_webhook_authorization_response.rb b/lib/auth0/types/event_stream_webhook_authorization_response.rb new file mode 100644 index 000000000..79b48541d --- /dev/null +++ b/lib/auth0/types/event_stream_webhook_authorization_response.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class EventStreamWebhookAuthorizationResponse < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::EventStreamWebhookBasicAuth } + + member -> { Auth0::Types::EventStreamWebhookBearerAuth } + + member -> { Auth0::Types::EventStreamWebhookCustomHeaderAuth } + end + end +end diff --git a/lib/auth0/types/event_stream_webhook_basic_auth.rb b/lib/auth0/types/event_stream_webhook_basic_auth.rb new file mode 100644 index 000000000..06a22c145 --- /dev/null +++ b/lib/auth0/types/event_stream_webhook_basic_auth.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Basic Authorization for HTTP requests (e.g., 'Basic credentials'). + class EventStreamWebhookBasicAuth < Internal::Types::Model + field :method_, -> { Auth0::Types::EventStreamWebhookBasicAuthMethodEnum }, optional: false, nullable: false, api_name: "method" + + field :username, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_webhook_basic_auth_method_enum.rb b/lib/auth0/types/event_stream_webhook_basic_auth_method_enum.rb new file mode 100644 index 000000000..c492979d3 --- /dev/null +++ b/lib/auth0/types/event_stream_webhook_basic_auth_method_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamWebhookBasicAuthMethodEnum + extend Auth0::Internal::Types::Enum + + BASIC = "basic" + end + end +end diff --git a/lib/auth0/types/event_stream_webhook_bearer_auth.rb b/lib/auth0/types/event_stream_webhook_bearer_auth.rb new file mode 100644 index 000000000..49f5428ce --- /dev/null +++ b/lib/auth0/types/event_stream_webhook_bearer_auth.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Bearer Authorization for HTTP requests (e.g., 'Bearer token'). + class EventStreamWebhookBearerAuth < Internal::Types::Model + field :method_, -> { Auth0::Types::EventStreamWebhookBearerAuthMethodEnum }, optional: false, nullable: false, api_name: "method" + end + end +end diff --git a/lib/auth0/types/event_stream_webhook_bearer_auth_method_enum.rb b/lib/auth0/types/event_stream_webhook_bearer_auth_method_enum.rb new file mode 100644 index 000000000..cf83a9927 --- /dev/null +++ b/lib/auth0/types/event_stream_webhook_bearer_auth_method_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamWebhookBearerAuthMethodEnum + extend Auth0::Internal::Types::Enum + + BEARER = "bearer" + end + end +end diff --git a/lib/auth0/types/event_stream_webhook_configuration.rb b/lib/auth0/types/event_stream_webhook_configuration.rb new file mode 100644 index 000000000..6b767f823 --- /dev/null +++ b/lib/auth0/types/event_stream_webhook_configuration.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configuration specific to a webhook destination. + class EventStreamWebhookConfiguration < Internal::Types::Model + field :webhook_endpoint, -> { String }, optional: false, nullable: false + + field :webhook_authorization, -> { Auth0::Types::EventStreamWebhookAuthorizationResponse }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_webhook_custom_header_auth.rb b/lib/auth0/types/event_stream_webhook_custom_header_auth.rb new file mode 100644 index 000000000..141064996 --- /dev/null +++ b/lib/auth0/types/event_stream_webhook_custom_header_auth.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Custom header authorization for HTTP requests. + class EventStreamWebhookCustomHeaderAuth < Internal::Types::Model + field :method_, -> { Auth0::Types::EventStreamWebhookCustomHeaderAuthMethodEnum }, optional: false, nullable: false, api_name: "method" + + field :header_key, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_webhook_custom_header_auth_method_enum.rb b/lib/auth0/types/event_stream_webhook_custom_header_auth_method_enum.rb new file mode 100644 index 000000000..a38bf3660 --- /dev/null +++ b/lib/auth0/types/event_stream_webhook_custom_header_auth_method_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamWebhookCustomHeaderAuthMethodEnum + extend Auth0::Internal::Types::Enum + + CUSTOM_HEADER = "custom_header" + end + end +end diff --git a/lib/auth0/types/event_stream_webhook_destination.rb b/lib/auth0/types/event_stream_webhook_destination.rb new file mode 100644 index 000000000..15d620ddd --- /dev/null +++ b/lib/auth0/types/event_stream_webhook_destination.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class EventStreamWebhookDestination < Internal::Types::Model + field :type, -> { Auth0::Types::EventStreamWebhookDestinationTypeEnum }, optional: false, nullable: false + + field :configuration, -> { Auth0::Types::EventStreamWebhookConfiguration }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/event_stream_webhook_destination_type_enum.rb b/lib/auth0/types/event_stream_webhook_destination_type_enum.rb new file mode 100644 index 000000000..3954f3537 --- /dev/null +++ b/lib/auth0/types/event_stream_webhook_destination_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module EventStreamWebhookDestinationTypeEnum + extend Auth0::Internal::Types::Enum + + WEBHOOK = "webhook" + end + end +end diff --git a/lib/auth0/types/event_stream_webhook_response_content.rb b/lib/auth0/types/event_stream_webhook_response_content.rb new file mode 100644 index 000000000..ed03d1e19 --- /dev/null +++ b/lib/auth0/types/event_stream_webhook_response_content.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class EventStreamWebhookResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :subscriptions, -> { Internal::Types::Array[Auth0::Types::EventStreamSubscription] }, optional: true, nullable: false + + field :destination, -> { Auth0::Types::EventStreamWebhookDestination }, optional: true, nullable: false + + field :status, -> { Auth0::Types::EventStreamStatusEnum }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :updated_at, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/express_configuration.rb b/lib/auth0/types/express_configuration.rb new file mode 100644 index 000000000..69845fc4f --- /dev/null +++ b/lib/auth0/types/express_configuration.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Application specific configuration for use with the OIN Express Configuration feature. + class ExpressConfiguration < Internal::Types::Model + field :initiate_login_uri_template, -> { String }, optional: false, nullable: false + + field :user_attribute_profile_id, -> { String }, optional: false, nullable: false + + field :connection_profile_id, -> { String }, optional: false, nullable: false + + field :enable_client, -> { Internal::Types::Boolean }, optional: false, nullable: false + + field :enable_organization, -> { Internal::Types::Boolean }, optional: false, nullable: false + + field :linked_clients, -> { Internal::Types::Array[Auth0::Types::LinkedClientConfiguration] }, optional: true, nullable: false + + field :okta_oin_client_id, -> { String }, optional: false, nullable: false + + field :admin_login_domain, -> { String }, optional: false, nullable: false + + field :oin_submission_id, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/express_configuration_or_null.rb b/lib/auth0/types/express_configuration_or_null.rb new file mode 100644 index 000000000..a63fa5d38 --- /dev/null +++ b/lib/auth0/types/express_configuration_or_null.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Application specific configuration for use with the OIN Express Configuration feature. + class ExpressConfigurationOrNull < Internal::Types::Model + field :initiate_login_uri_template, -> { String }, optional: false, nullable: false + + field :user_attribute_profile_id, -> { String }, optional: false, nullable: false + + field :connection_profile_id, -> { String }, optional: false, nullable: false + + field :enable_client, -> { Internal::Types::Boolean }, optional: false, nullable: false + + field :enable_organization, -> { Internal::Types::Boolean }, optional: false, nullable: false + + field :linked_clients, -> { Internal::Types::Array[Auth0::Types::LinkedClientConfiguration] }, optional: true, nullable: false + + field :okta_oin_client_id, -> { String }, optional: false, nullable: false + + field :admin_login_domain, -> { String }, optional: false, nullable: false + + field :oin_submission_id, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/extensibility_email_provider_credentials.rb b/lib/auth0/types/extensibility_email_provider_credentials.rb new file mode 100644 index 000000000..67b005faa --- /dev/null +++ b/lib/auth0/types/extensibility_email_provider_credentials.rb @@ -0,0 +1,7 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ExtensibilityEmailProviderCredentials < Internal::Types::Model; end + end +end diff --git a/lib/auth0/types/fed_cm_login.rb b/lib/auth0/types/fed_cm_login.rb new file mode 100644 index 000000000..80eeced1c --- /dev/null +++ b/lib/auth0/types/fed_cm_login.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configure FedCM login settings for New Universal Login + class FedCmLogin < Internal::Types::Model + field :google, -> { Auth0::Types::FedCmLoginGoogle }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/fed_cm_login_google.rb b/lib/auth0/types/fed_cm_login_google.rb new file mode 100644 index 000000000..5ccda9704 --- /dev/null +++ b/lib/auth0/types/fed_cm_login_google.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Google FedCM configuration for this client + class FedCmLoginGoogle < Internal::Types::Model + field :is_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/fed_cm_login_google_patch.rb b/lib/auth0/types/fed_cm_login_google_patch.rb new file mode 100644 index 000000000..f176226fc --- /dev/null +++ b/lib/auth0/types/fed_cm_login_google_patch.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Google FedCM configuration for this client + class FedCmLoginGooglePatch < Internal::Types::Model + field :is_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/fed_cm_login_patch.rb b/lib/auth0/types/fed_cm_login_patch.rb new file mode 100644 index 000000000..fa57295a1 --- /dev/null +++ b/lib/auth0/types/fed_cm_login_patch.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configure FedCM login settings for New Universal Login + class FedCmLoginPatch < Internal::Types::Model + field :google, -> { Auth0::Types::FedCmLoginGooglePatch }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action.rb b/lib/auth0/types/flow_action.rb new file mode 100644 index 000000000..d266dbead --- /dev/null +++ b/lib/auth0/types/flow_action.rb @@ -0,0 +1,59 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowAction < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::FlowActionActivecampaign } + + member -> { Auth0::Types::FlowActionAirtable } + + member -> { Auth0::Types::FlowActionAuth0 } + + member -> { Auth0::Types::FlowActionBigqueryInsertRows } + + member -> { Auth0::Types::FlowActionClearbit } + + member -> { Auth0::Types::FlowActionEmailVerifyEmail } + + member -> { Auth0::Types::FlowActionFlow } + + member -> { Auth0::Types::FlowActionGoogleSheetsAddRow } + + member -> { Auth0::Types::FlowActionHTTPSendRequest } + + member -> { Auth0::Types::FlowActionHubspot } + + member -> { Auth0::Types::FlowActionJSON } + + member -> { Auth0::Types::FlowActionJwt } + + member -> { Auth0::Types::FlowActionMailchimpUpsertMember } + + member -> { Auth0::Types::FlowActionMailjetSendEmail } + + member -> { Auth0::Types::FlowActionOtp } + + member -> { Auth0::Types::FlowActionPipedrive } + + member -> { Auth0::Types::FlowActionSalesforce } + + member -> { Auth0::Types::FlowActionSendgridSendEmail } + + member -> { Auth0::Types::FlowActionSlackPostMessage } + + member -> { Auth0::Types::FlowActionStripe } + + member -> { Auth0::Types::FlowActionTelegramSendMessage } + + member -> { Auth0::Types::FlowActionTwilio } + + member -> { Auth0::Types::FlowActionWhatsappSendMessage } + + member -> { Auth0::Types::FlowActionXML } + + member -> { Auth0::Types::FlowActionZapierTriggerWebhook } + end + end +end diff --git a/lib/auth0/types/flow_action_activecampaign.rb b/lib/auth0/types/flow_action_activecampaign.rb new file mode 100644 index 000000000..dcf2b2788 --- /dev/null +++ b/lib/auth0/types/flow_action_activecampaign.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionActivecampaign < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::FlowActionActivecampaignListContacts } + + member -> { Auth0::Types::FlowActionActivecampaignUpsertContact } + end + end +end diff --git a/lib/auth0/types/flow_action_activecampaign_list_contacts.rb b/lib/auth0/types/flow_action_activecampaign_list_contacts.rb new file mode 100644 index 000000000..c8445504e --- /dev/null +++ b/lib/auth0/types/flow_action_activecampaign_list_contacts.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionActivecampaignListContacts < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionActivecampaignListContactsType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionActivecampaignListContactsAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionActivecampaignListContactsParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_activecampaign_list_contacts_action.rb b/lib/auth0/types/flow_action_activecampaign_list_contacts_action.rb new file mode 100644 index 000000000..30fe75780 --- /dev/null +++ b/lib/auth0/types/flow_action_activecampaign_list_contacts_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionActivecampaignListContactsAction + extend Auth0::Internal::Types::Enum + + LIST_CONTACTS = "LIST_CONTACTS" + end + end +end diff --git a/lib/auth0/types/flow_action_activecampaign_list_contacts_params.rb b/lib/auth0/types/flow_action_activecampaign_list_contacts_params.rb new file mode 100644 index 000000000..05f064053 --- /dev/null +++ b/lib/auth0/types/flow_action_activecampaign_list_contacts_params.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionActivecampaignListContactsParams < Internal::Types::Model + field :connection_id, -> { String }, optional: false, nullable: false + + field :email, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_activecampaign_list_contacts_type.rb b/lib/auth0/types/flow_action_activecampaign_list_contacts_type.rb new file mode 100644 index 000000000..44e2daf78 --- /dev/null +++ b/lib/auth0/types/flow_action_activecampaign_list_contacts_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionActivecampaignListContactsType + extend Auth0::Internal::Types::Enum + + ACTIVECAMPAIGN = "ACTIVECAMPAIGN" + end + end +end diff --git a/lib/auth0/types/flow_action_activecampaign_upsert_contact.rb b/lib/auth0/types/flow_action_activecampaign_upsert_contact.rb new file mode 100644 index 000000000..69364cbbc --- /dev/null +++ b/lib/auth0/types/flow_action_activecampaign_upsert_contact.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionActivecampaignUpsertContact < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionActivecampaignUpsertContactType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionActivecampaignUpsertContactAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionActivecampaignUpsertContactParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_activecampaign_upsert_contact_action.rb b/lib/auth0/types/flow_action_activecampaign_upsert_contact_action.rb new file mode 100644 index 000000000..c6905ce88 --- /dev/null +++ b/lib/auth0/types/flow_action_activecampaign_upsert_contact_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionActivecampaignUpsertContactAction + extend Auth0::Internal::Types::Enum + + UPSERT_CONTACT = "UPSERT_CONTACT" + end + end +end diff --git a/lib/auth0/types/flow_action_activecampaign_upsert_contact_params.rb b/lib/auth0/types/flow_action_activecampaign_upsert_contact_params.rb new file mode 100644 index 000000000..f033efe44 --- /dev/null +++ b/lib/auth0/types/flow_action_activecampaign_upsert_contact_params.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionActivecampaignUpsertContactParams < Internal::Types::Model + field :connection_id, -> { String }, optional: false, nullable: false + + field :email, -> { String }, optional: false, nullable: false + + field :first_name, -> { String }, optional: true, nullable: false + + field :last_name, -> { String }, optional: true, nullable: false + + field :phone, -> { String }, optional: true, nullable: false + + field :custom_fields, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_activecampaign_upsert_contact_params_custom_fields.rb b/lib/auth0/types/flow_action_activecampaign_upsert_contact_params_custom_fields.rb new file mode 100644 index 000000000..d1c3af224 --- /dev/null +++ b/lib/auth0/types/flow_action_activecampaign_upsert_contact_params_custom_fields.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionActivecampaignUpsertContactParamsCustomFields + # FlowActionActivecampaignUpsertContactParamsCustomFields is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/flow_action_activecampaign_upsert_contact_type.rb b/lib/auth0/types/flow_action_activecampaign_upsert_contact_type.rb new file mode 100644 index 000000000..565c1b650 --- /dev/null +++ b/lib/auth0/types/flow_action_activecampaign_upsert_contact_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionActivecampaignUpsertContactType + extend Auth0::Internal::Types::Enum + + ACTIVECAMPAIGN = "ACTIVECAMPAIGN" + end + end +end diff --git a/lib/auth0/types/flow_action_airtable.rb b/lib/auth0/types/flow_action_airtable.rb new file mode 100644 index 000000000..4fc67058c --- /dev/null +++ b/lib/auth0/types/flow_action_airtable.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionAirtable < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::FlowActionAirtableCreateRecord } + + member -> { Auth0::Types::FlowActionAirtableListRecords } + + member -> { Auth0::Types::FlowActionAirtableUpdateRecord } + end + end +end diff --git a/lib/auth0/types/flow_action_airtable_create_record.rb b/lib/auth0/types/flow_action_airtable_create_record.rb new file mode 100644 index 000000000..d1a54557a --- /dev/null +++ b/lib/auth0/types/flow_action_airtable_create_record.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionAirtableCreateRecord < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionAirtableCreateRecordType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionAirtableCreateRecordAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionAirtableCreateRecordParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_airtable_create_record_action.rb b/lib/auth0/types/flow_action_airtable_create_record_action.rb new file mode 100644 index 000000000..4108fd903 --- /dev/null +++ b/lib/auth0/types/flow_action_airtable_create_record_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionAirtableCreateRecordAction + extend Auth0::Internal::Types::Enum + + CREATE_RECORD = "CREATE_RECORD" + end + end +end diff --git a/lib/auth0/types/flow_action_airtable_create_record_params.rb b/lib/auth0/types/flow_action_airtable_create_record_params.rb new file mode 100644 index 000000000..948ba5c1c --- /dev/null +++ b/lib/auth0/types/flow_action_airtable_create_record_params.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionAirtableCreateRecordParams < Internal::Types::Model + field :connection_id, -> { String }, optional: false, nullable: false + + field :base_id, -> { String }, optional: false, nullable: false + + field :table_name, -> { String }, optional: false, nullable: false + + field :fields, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_airtable_create_record_params_fields.rb b/lib/auth0/types/flow_action_airtable_create_record_params_fields.rb new file mode 100644 index 000000000..ba970f652 --- /dev/null +++ b/lib/auth0/types/flow_action_airtable_create_record_params_fields.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionAirtableCreateRecordParamsFields + # FlowActionAirtableCreateRecordParamsFields is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/flow_action_airtable_create_record_type.rb b/lib/auth0/types/flow_action_airtable_create_record_type.rb new file mode 100644 index 000000000..3e7a68bc5 --- /dev/null +++ b/lib/auth0/types/flow_action_airtable_create_record_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionAirtableCreateRecordType + extend Auth0::Internal::Types::Enum + + AIRTABLE = "AIRTABLE" + end + end +end diff --git a/lib/auth0/types/flow_action_airtable_list_records.rb b/lib/auth0/types/flow_action_airtable_list_records.rb new file mode 100644 index 000000000..e1f854448 --- /dev/null +++ b/lib/auth0/types/flow_action_airtable_list_records.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionAirtableListRecords < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionAirtableListRecordsType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionAirtableListRecordsAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionAirtableListRecordsParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_airtable_list_records_action.rb b/lib/auth0/types/flow_action_airtable_list_records_action.rb new file mode 100644 index 000000000..8821530ee --- /dev/null +++ b/lib/auth0/types/flow_action_airtable_list_records_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionAirtableListRecordsAction + extend Auth0::Internal::Types::Enum + + LIST_RECORDS = "LIST_RECORDS" + end + end +end diff --git a/lib/auth0/types/flow_action_airtable_list_records_params.rb b/lib/auth0/types/flow_action_airtable_list_records_params.rb new file mode 100644 index 000000000..6eb2ef246 --- /dev/null +++ b/lib/auth0/types/flow_action_airtable_list_records_params.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionAirtableListRecordsParams < Internal::Types::Model + field :connection_id, -> { String }, optional: false, nullable: false + + field :base_id, -> { String }, optional: false, nullable: false + + field :table_name, -> { String }, optional: false, nullable: false + + field :query, -> { String }, optional: true, nullable: false + + field :view, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_airtable_list_records_type.rb b/lib/auth0/types/flow_action_airtable_list_records_type.rb new file mode 100644 index 000000000..6212a7dc9 --- /dev/null +++ b/lib/auth0/types/flow_action_airtable_list_records_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionAirtableListRecordsType + extend Auth0::Internal::Types::Enum + + AIRTABLE = "AIRTABLE" + end + end +end diff --git a/lib/auth0/types/flow_action_airtable_update_record.rb b/lib/auth0/types/flow_action_airtable_update_record.rb new file mode 100644 index 000000000..519a2ae9c --- /dev/null +++ b/lib/auth0/types/flow_action_airtable_update_record.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionAirtableUpdateRecord < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionAirtableUpdateRecordType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionAirtableUpdateRecordAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionAirtableUpdateRecordParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_airtable_update_record_action.rb b/lib/auth0/types/flow_action_airtable_update_record_action.rb new file mode 100644 index 000000000..a5307bb73 --- /dev/null +++ b/lib/auth0/types/flow_action_airtable_update_record_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionAirtableUpdateRecordAction + extend Auth0::Internal::Types::Enum + + UPDATE_RECORD = "UPDATE_RECORD" + end + end +end diff --git a/lib/auth0/types/flow_action_airtable_update_record_params.rb b/lib/auth0/types/flow_action_airtable_update_record_params.rb new file mode 100644 index 000000000..817a69e56 --- /dev/null +++ b/lib/auth0/types/flow_action_airtable_update_record_params.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionAirtableUpdateRecordParams < Internal::Types::Model + field :connection_id, -> { String }, optional: false, nullable: false + + field :base_id, -> { String }, optional: false, nullable: false + + field :table_name, -> { String }, optional: false, nullable: false + + field :record_id, -> { String }, optional: false, nullable: false + + field :fields, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_airtable_update_record_params_fields.rb b/lib/auth0/types/flow_action_airtable_update_record_params_fields.rb new file mode 100644 index 000000000..aedc1b8dc --- /dev/null +++ b/lib/auth0/types/flow_action_airtable_update_record_params_fields.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionAirtableUpdateRecordParamsFields + # FlowActionAirtableUpdateRecordParamsFields is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/flow_action_airtable_update_record_type.rb b/lib/auth0/types/flow_action_airtable_update_record_type.rb new file mode 100644 index 000000000..734c90e8e --- /dev/null +++ b/lib/auth0/types/flow_action_airtable_update_record_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionAirtableUpdateRecordType + extend Auth0::Internal::Types::Enum + + AIRTABLE = "AIRTABLE" + end + end +end diff --git a/lib/auth0/types/flow_action_auth0.rb b/lib/auth0/types/flow_action_auth0.rb new file mode 100644 index 000000000..98b463726 --- /dev/null +++ b/lib/auth0/types/flow_action_auth0.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionAuth0 < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::FlowActionAuth0CreateUser } + + member -> { Auth0::Types::FlowActionAuth0GetUser } + + member -> { Auth0::Types::FlowActionAuth0UpdateUser } + + member -> { Auth0::Types::FlowActionAuth0SendRequest } + + member -> { Auth0::Types::FlowActionAuth0SendEmail } + + member -> { Auth0::Types::FlowActionAuth0SendSms } + + member -> { Auth0::Types::FlowActionAuth0MakeCall } + end + end +end diff --git a/lib/auth0/types/flow_action_auth0create_user.rb b/lib/auth0/types/flow_action_auth0create_user.rb new file mode 100644 index 000000000..425669905 --- /dev/null +++ b/lib/auth0/types/flow_action_auth0create_user.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionAuth0CreateUser < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionAuth0CreateUserType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionAuth0CreateUserAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionAuth0CreateUserParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_auth0create_user_action.rb b/lib/auth0/types/flow_action_auth0create_user_action.rb new file mode 100644 index 000000000..ed7c28b5a --- /dev/null +++ b/lib/auth0/types/flow_action_auth0create_user_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionAuth0CreateUserAction + extend Auth0::Internal::Types::Enum + + CREATE_USER = "CREATE_USER" + end + end +end diff --git a/lib/auth0/types/flow_action_auth0create_user_params.rb b/lib/auth0/types/flow_action_auth0create_user_params.rb new file mode 100644 index 000000000..ca7c3d03b --- /dev/null +++ b/lib/auth0/types/flow_action_auth0create_user_params.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionAuth0CreateUserParams < Internal::Types::Model + field :connection_id, -> { String }, optional: false, nullable: false + + field :payload, -> { Internal::Types::Hash[String, Object] }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_auth0create_user_params_payload.rb b/lib/auth0/types/flow_action_auth0create_user_params_payload.rb new file mode 100644 index 000000000..f246b2786 --- /dev/null +++ b/lib/auth0/types/flow_action_auth0create_user_params_payload.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionAuth0CreateUserParamsPayload + # FlowActionAuth0CreateUserParamsPayload is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/flow_action_auth0create_user_type.rb b/lib/auth0/types/flow_action_auth0create_user_type.rb new file mode 100644 index 000000000..821924575 --- /dev/null +++ b/lib/auth0/types/flow_action_auth0create_user_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionAuth0CreateUserType + extend Auth0::Internal::Types::Enum + + AUTH0 = "AUTH0" + end + end +end diff --git a/lib/auth0/types/flow_action_auth0get_user.rb b/lib/auth0/types/flow_action_auth0get_user.rb new file mode 100644 index 000000000..b321760f3 --- /dev/null +++ b/lib/auth0/types/flow_action_auth0get_user.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionAuth0GetUser < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionAuth0GetUserType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionAuth0GetUserAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionAuth0GetUserParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_auth0get_user_action.rb b/lib/auth0/types/flow_action_auth0get_user_action.rb new file mode 100644 index 000000000..84c9abbf4 --- /dev/null +++ b/lib/auth0/types/flow_action_auth0get_user_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionAuth0GetUserAction + extend Auth0::Internal::Types::Enum + + GET_USER = "GET_USER" + end + end +end diff --git a/lib/auth0/types/flow_action_auth0get_user_params.rb b/lib/auth0/types/flow_action_auth0get_user_params.rb new file mode 100644 index 000000000..408638485 --- /dev/null +++ b/lib/auth0/types/flow_action_auth0get_user_params.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionAuth0GetUserParams < Internal::Types::Model + field :connection_id, -> { String }, optional: false, nullable: false + + field :user_id, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_auth0get_user_type.rb b/lib/auth0/types/flow_action_auth0get_user_type.rb new file mode 100644 index 000000000..ce27e6561 --- /dev/null +++ b/lib/auth0/types/flow_action_auth0get_user_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionAuth0GetUserType + extend Auth0::Internal::Types::Enum + + AUTH0 = "AUTH0" + end + end +end diff --git a/lib/auth0/types/flow_action_auth0make_call.rb b/lib/auth0/types/flow_action_auth0make_call.rb new file mode 100644 index 000000000..3fa172720 --- /dev/null +++ b/lib/auth0/types/flow_action_auth0make_call.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionAuth0MakeCall < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionAuth0MakeCallType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionAuth0MakeCallAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionAuth0MakeCallParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_auth0make_call_action.rb b/lib/auth0/types/flow_action_auth0make_call_action.rb new file mode 100644 index 000000000..f80081cf2 --- /dev/null +++ b/lib/auth0/types/flow_action_auth0make_call_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionAuth0MakeCallAction + extend Auth0::Internal::Types::Enum + + MAKE_CALL = "MAKE_CALL" + end + end +end diff --git a/lib/auth0/types/flow_action_auth0make_call_params.rb b/lib/auth0/types/flow_action_auth0make_call_params.rb new file mode 100644 index 000000000..2cf64da6d --- /dev/null +++ b/lib/auth0/types/flow_action_auth0make_call_params.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionAuth0MakeCallParams < Internal::Types::Model + field :from, -> { String }, optional: true, nullable: false + + field :to, -> { String }, optional: false, nullable: false + + field :message, -> { String }, optional: false, nullable: false + + field :custom_vars, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_auth0make_call_params_custom_vars.rb b/lib/auth0/types/flow_action_auth0make_call_params_custom_vars.rb new file mode 100644 index 000000000..b5520e473 --- /dev/null +++ b/lib/auth0/types/flow_action_auth0make_call_params_custom_vars.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionAuth0MakeCallParamsCustomVars + # FlowActionAuth0MakeCallParamsCustomVars is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/flow_action_auth0make_call_type.rb b/lib/auth0/types/flow_action_auth0make_call_type.rb new file mode 100644 index 000000000..db681afc2 --- /dev/null +++ b/lib/auth0/types/flow_action_auth0make_call_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionAuth0MakeCallType + extend Auth0::Internal::Types::Enum + + AUTH0 = "AUTH0" + end + end +end diff --git a/lib/auth0/types/flow_action_auth0send_email.rb b/lib/auth0/types/flow_action_auth0send_email.rb new file mode 100644 index 000000000..1ec043ac5 --- /dev/null +++ b/lib/auth0/types/flow_action_auth0send_email.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionAuth0SendEmail < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionAuth0SendEmailType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionAuth0SendEmailAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionAuth0SendEmailParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_auth0send_email_action.rb b/lib/auth0/types/flow_action_auth0send_email_action.rb new file mode 100644 index 000000000..ebab0c50b --- /dev/null +++ b/lib/auth0/types/flow_action_auth0send_email_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionAuth0SendEmailAction + extend Auth0::Internal::Types::Enum + + SEND_EMAIL = "SEND_EMAIL" + end + end +end diff --git a/lib/auth0/types/flow_action_auth0send_email_params.rb b/lib/auth0/types/flow_action_auth0send_email_params.rb new file mode 100644 index 000000000..b800d0673 --- /dev/null +++ b/lib/auth0/types/flow_action_auth0send_email_params.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionAuth0SendEmailParams < Internal::Types::Model + field :from, -> { Auth0::Types::FlowActionAuth0SendEmailParamsFrom }, optional: true, nullable: false + + field :to, -> { String }, optional: false, nullable: false + + field :subject, -> { String }, optional: false, nullable: false + + field :body, -> { String }, optional: false, nullable: false + + field :custom_vars, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_auth0send_email_params_from.rb b/lib/auth0/types/flow_action_auth0send_email_params_from.rb new file mode 100644 index 000000000..bebe6e9f2 --- /dev/null +++ b/lib/auth0/types/flow_action_auth0send_email_params_from.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionAuth0SendEmailParamsFrom < Internal::Types::Model + field :name, -> { String }, optional: true, nullable: false + + field :email, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_auth0send_email_params_from_email.rb b/lib/auth0/types/flow_action_auth0send_email_params_from_email.rb new file mode 100644 index 000000000..2adcac193 --- /dev/null +++ b/lib/auth0/types/flow_action_auth0send_email_params_from_email.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionAuth0SendEmailParamsFromEmail + # FlowActionAuth0SendEmailParamsFromEmail is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/flow_action_auth0send_email_params_to.rb b/lib/auth0/types/flow_action_auth0send_email_params_to.rb new file mode 100644 index 000000000..3d3bf5071 --- /dev/null +++ b/lib/auth0/types/flow_action_auth0send_email_params_to.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionAuth0SendEmailParamsTo + # FlowActionAuth0SendEmailParamsTo is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/flow_action_auth0send_email_type.rb b/lib/auth0/types/flow_action_auth0send_email_type.rb new file mode 100644 index 000000000..8b77c59dc --- /dev/null +++ b/lib/auth0/types/flow_action_auth0send_email_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionAuth0SendEmailType + extend Auth0::Internal::Types::Enum + + AUTH0 = "AUTH0" + end + end +end diff --git a/lib/auth0/types/flow_action_auth0send_request.rb b/lib/auth0/types/flow_action_auth0send_request.rb new file mode 100644 index 000000000..6ea593bbc --- /dev/null +++ b/lib/auth0/types/flow_action_auth0send_request.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionAuth0SendRequest < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionAuth0SendRequestType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionAuth0SendRequestAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionAuth0SendRequestParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_auth0send_request_action.rb b/lib/auth0/types/flow_action_auth0send_request_action.rb new file mode 100644 index 000000000..a1f7f66db --- /dev/null +++ b/lib/auth0/types/flow_action_auth0send_request_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionAuth0SendRequestAction + extend Auth0::Internal::Types::Enum + + SEND_REQUEST = "SEND_REQUEST" + end + end +end diff --git a/lib/auth0/types/flow_action_auth0send_request_params.rb b/lib/auth0/types/flow_action_auth0send_request_params.rb new file mode 100644 index 000000000..98d66aa94 --- /dev/null +++ b/lib/auth0/types/flow_action_auth0send_request_params.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionAuth0SendRequestParams < Internal::Types::Model + field :connection_id, -> { String }, optional: false, nullable: false + + field :pathname, -> { String }, optional: false, nullable: false + + field :method_, -> { Auth0::Types::FlowActionAuth0SendRequestParamsMethod }, optional: true, nullable: false, api_name: "method" + + field :headers, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :params, -> { Internal::Types::Hash[String, Auth0::Types::FlowActionAuth0SendRequestParamsQueryParamsValue] }, optional: true, nullable: false + + field :payload, -> { Auth0::Types::FlowActionAuth0SendRequestParamsPayload }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_auth0send_request_params_custom_vars.rb b/lib/auth0/types/flow_action_auth0send_request_params_custom_vars.rb new file mode 100644 index 000000000..a5506be79 --- /dev/null +++ b/lib/auth0/types/flow_action_auth0send_request_params_custom_vars.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionAuth0SendRequestParamsCustomVars + # FlowActionAuth0SendRequestParamsCustomVars is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/flow_action_auth0send_request_params_headers.rb b/lib/auth0/types/flow_action_auth0send_request_params_headers.rb new file mode 100644 index 000000000..302541792 --- /dev/null +++ b/lib/auth0/types/flow_action_auth0send_request_params_headers.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionAuth0SendRequestParamsHeaders + # FlowActionAuth0SendRequestParamsHeaders is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/flow_action_auth0send_request_params_method.rb b/lib/auth0/types/flow_action_auth0send_request_params_method.rb new file mode 100644 index 000000000..166b62909 --- /dev/null +++ b/lib/auth0/types/flow_action_auth0send_request_params_method.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionAuth0SendRequestParamsMethod + extend Auth0::Internal::Types::Enum + + GET = "GET" + POST = "POST" + PUT = "PUT" + PATCH = "PATCH" + DELETE = "DELETE" + end + end +end diff --git a/lib/auth0/types/flow_action_auth0send_request_params_payload.rb b/lib/auth0/types/flow_action_auth0send_request_params_payload.rb new file mode 100644 index 000000000..07515d5fa --- /dev/null +++ b/lib/auth0/types/flow_action_auth0send_request_params_payload.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionAuth0SendRequestParamsPayload < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { String } + + member -> { Internal::Types::Array[Object] } + + member -> { Internal::Types::Hash[String, Object] } + end + end +end diff --git a/lib/auth0/types/flow_action_auth0send_request_params_payload_object.rb b/lib/auth0/types/flow_action_auth0send_request_params_payload_object.rb new file mode 100644 index 000000000..3105b45c1 --- /dev/null +++ b/lib/auth0/types/flow_action_auth0send_request_params_payload_object.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionAuth0SendRequestParamsPayloadObject + # FlowActionAuth0SendRequestParamsPayloadObject is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/flow_action_auth0send_request_params_query_params.rb b/lib/auth0/types/flow_action_auth0send_request_params_query_params.rb new file mode 100644 index 000000000..286c829b5 --- /dev/null +++ b/lib/auth0/types/flow_action_auth0send_request_params_query_params.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionAuth0SendRequestParamsQueryParams + # FlowActionAuth0SendRequestParamsQueryParams is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/flow_action_auth0send_request_params_query_params_value.rb b/lib/auth0/types/flow_action_auth0send_request_params_query_params_value.rb new file mode 100644 index 000000000..cbad28d2b --- /dev/null +++ b/lib/auth0/types/flow_action_auth0send_request_params_query_params_value.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionAuth0SendRequestParamsQueryParamsValue < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Integer } + + member -> { String } + end + end +end diff --git a/lib/auth0/types/flow_action_auth0send_request_type.rb b/lib/auth0/types/flow_action_auth0send_request_type.rb new file mode 100644 index 000000000..6688b5607 --- /dev/null +++ b/lib/auth0/types/flow_action_auth0send_request_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionAuth0SendRequestType + extend Auth0::Internal::Types::Enum + + AUTH0 = "AUTH0" + end + end +end diff --git a/lib/auth0/types/flow_action_auth0send_sms.rb b/lib/auth0/types/flow_action_auth0send_sms.rb new file mode 100644 index 000000000..86158db54 --- /dev/null +++ b/lib/auth0/types/flow_action_auth0send_sms.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionAuth0SendSms < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionAuth0SendSmsType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionAuth0SendSmsAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionAuth0SendSmsParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_auth0send_sms_action.rb b/lib/auth0/types/flow_action_auth0send_sms_action.rb new file mode 100644 index 000000000..fd09d44b6 --- /dev/null +++ b/lib/auth0/types/flow_action_auth0send_sms_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionAuth0SendSmsAction + extend Auth0::Internal::Types::Enum + + SEND_SMS = "SEND_SMS" + end + end +end diff --git a/lib/auth0/types/flow_action_auth0send_sms_params.rb b/lib/auth0/types/flow_action_auth0send_sms_params.rb new file mode 100644 index 000000000..c9a3d722d --- /dev/null +++ b/lib/auth0/types/flow_action_auth0send_sms_params.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionAuth0SendSmsParams < Internal::Types::Model + field :from, -> { String }, optional: true, nullable: false + + field :to, -> { String }, optional: false, nullable: false + + field :message, -> { String }, optional: false, nullable: false + + field :custom_vars, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_auth0send_sms_params_custom_vars.rb b/lib/auth0/types/flow_action_auth0send_sms_params_custom_vars.rb new file mode 100644 index 000000000..38cda7d02 --- /dev/null +++ b/lib/auth0/types/flow_action_auth0send_sms_params_custom_vars.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionAuth0SendSmsParamsCustomVars + # FlowActionAuth0SendSmsParamsCustomVars is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/flow_action_auth0send_sms_type.rb b/lib/auth0/types/flow_action_auth0send_sms_type.rb new file mode 100644 index 000000000..269f8877e --- /dev/null +++ b/lib/auth0/types/flow_action_auth0send_sms_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionAuth0SendSmsType + extend Auth0::Internal::Types::Enum + + AUTH0 = "AUTH0" + end + end +end diff --git a/lib/auth0/types/flow_action_auth0update_user.rb b/lib/auth0/types/flow_action_auth0update_user.rb new file mode 100644 index 000000000..9d4b9cc96 --- /dev/null +++ b/lib/auth0/types/flow_action_auth0update_user.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionAuth0UpdateUser < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionAuth0UpdateUserType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionAuth0UpdateUserAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionAuth0UpdateUserParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_auth0update_user_action.rb b/lib/auth0/types/flow_action_auth0update_user_action.rb new file mode 100644 index 000000000..cc123bee9 --- /dev/null +++ b/lib/auth0/types/flow_action_auth0update_user_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionAuth0UpdateUserAction + extend Auth0::Internal::Types::Enum + + UPDATE_USER = "UPDATE_USER" + end + end +end diff --git a/lib/auth0/types/flow_action_auth0update_user_params.rb b/lib/auth0/types/flow_action_auth0update_user_params.rb new file mode 100644 index 000000000..927e5b9fa --- /dev/null +++ b/lib/auth0/types/flow_action_auth0update_user_params.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionAuth0UpdateUserParams < Internal::Types::Model + field :connection_id, -> { String }, optional: false, nullable: false + + field :user_id, -> { String }, optional: false, nullable: false + + field :changes, -> { Internal::Types::Hash[String, Object] }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_auth0update_user_params_changes.rb b/lib/auth0/types/flow_action_auth0update_user_params_changes.rb new file mode 100644 index 000000000..b6c19a726 --- /dev/null +++ b/lib/auth0/types/flow_action_auth0update_user_params_changes.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionAuth0UpdateUserParamsChanges + # FlowActionAuth0UpdateUserParamsChanges is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/flow_action_auth0update_user_type.rb b/lib/auth0/types/flow_action_auth0update_user_type.rb new file mode 100644 index 000000000..cc68f2608 --- /dev/null +++ b/lib/auth0/types/flow_action_auth0update_user_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionAuth0UpdateUserType + extend Auth0::Internal::Types::Enum + + AUTH0 = "AUTH0" + end + end +end diff --git a/lib/auth0/types/flow_action_bigquery.rb b/lib/auth0/types/flow_action_bigquery.rb new file mode 100644 index 000000000..9da1d7539 --- /dev/null +++ b/lib/auth0/types/flow_action_bigquery.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionBigquery + # FlowActionBigquery is an alias for FlowActionBigqueryInsertRows + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/flow_action_bigquery_insert_rows.rb b/lib/auth0/types/flow_action_bigquery_insert_rows.rb new file mode 100644 index 000000000..e2b83ded0 --- /dev/null +++ b/lib/auth0/types/flow_action_bigquery_insert_rows.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionBigqueryInsertRows < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionBigqueryInsertRowsType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionBigqueryInsertRowsAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionBigqueryInsertRowsParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_bigquery_insert_rows_action.rb b/lib/auth0/types/flow_action_bigquery_insert_rows_action.rb new file mode 100644 index 000000000..b21b8e3a7 --- /dev/null +++ b/lib/auth0/types/flow_action_bigquery_insert_rows_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionBigqueryInsertRowsAction + extend Auth0::Internal::Types::Enum + + INSERT_ROWS = "INSERT_ROWS" + end + end +end diff --git a/lib/auth0/types/flow_action_bigquery_insert_rows_params.rb b/lib/auth0/types/flow_action_bigquery_insert_rows_params.rb new file mode 100644 index 000000000..0b6e64449 --- /dev/null +++ b/lib/auth0/types/flow_action_bigquery_insert_rows_params.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionBigqueryInsertRowsParams < Internal::Types::Model + field :connection_id, -> { String }, optional: false, nullable: false + + field :dataset_id, -> { String }, optional: false, nullable: false + + field :table_id, -> { String }, optional: false, nullable: false + + field :data, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_bigquery_insert_rows_params_data.rb b/lib/auth0/types/flow_action_bigquery_insert_rows_params_data.rb new file mode 100644 index 000000000..3e77b033b --- /dev/null +++ b/lib/auth0/types/flow_action_bigquery_insert_rows_params_data.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionBigqueryInsertRowsParamsData + # FlowActionBigqueryInsertRowsParamsData is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/flow_action_bigquery_insert_rows_type.rb b/lib/auth0/types/flow_action_bigquery_insert_rows_type.rb new file mode 100644 index 000000000..3f5070cd6 --- /dev/null +++ b/lib/auth0/types/flow_action_bigquery_insert_rows_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionBigqueryInsertRowsType + extend Auth0::Internal::Types::Enum + + BIGQUERY = "BIGQUERY" + end + end +end diff --git a/lib/auth0/types/flow_action_clearbit.rb b/lib/auth0/types/flow_action_clearbit.rb new file mode 100644 index 000000000..834baa4a8 --- /dev/null +++ b/lib/auth0/types/flow_action_clearbit.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionClearbit < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::FlowActionClearbitFindPerson } + + member -> { Auth0::Types::FlowActionClearbitFindCompany } + end + end +end diff --git a/lib/auth0/types/flow_action_clearbit_find_company.rb b/lib/auth0/types/flow_action_clearbit_find_company.rb new file mode 100644 index 000000000..323c7dcd7 --- /dev/null +++ b/lib/auth0/types/flow_action_clearbit_find_company.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionClearbitFindCompany < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionClearbitFindCompanyType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionClearbitFindCompanyAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionClearbitFindCompanyParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_clearbit_find_company_action.rb b/lib/auth0/types/flow_action_clearbit_find_company_action.rb new file mode 100644 index 000000000..04f5bc437 --- /dev/null +++ b/lib/auth0/types/flow_action_clearbit_find_company_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionClearbitFindCompanyAction + extend Auth0::Internal::Types::Enum + + FIND_COMPANY = "FIND_COMPANY" + end + end +end diff --git a/lib/auth0/types/flow_action_clearbit_find_company_params.rb b/lib/auth0/types/flow_action_clearbit_find_company_params.rb new file mode 100644 index 000000000..bde82f7c2 --- /dev/null +++ b/lib/auth0/types/flow_action_clearbit_find_company_params.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionClearbitFindCompanyParams < Internal::Types::Model + field :connection_id, -> { String }, optional: false, nullable: false + + field :domain, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_clearbit_find_company_type.rb b/lib/auth0/types/flow_action_clearbit_find_company_type.rb new file mode 100644 index 000000000..01008af04 --- /dev/null +++ b/lib/auth0/types/flow_action_clearbit_find_company_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionClearbitFindCompanyType + extend Auth0::Internal::Types::Enum + + CLEARBIT = "CLEARBIT" + end + end +end diff --git a/lib/auth0/types/flow_action_clearbit_find_person.rb b/lib/auth0/types/flow_action_clearbit_find_person.rb new file mode 100644 index 000000000..feb7d7189 --- /dev/null +++ b/lib/auth0/types/flow_action_clearbit_find_person.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionClearbitFindPerson < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionClearbitFindPersonType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionClearbitFindPersonAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionClearbitFindPersonParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_clearbit_find_person_action.rb b/lib/auth0/types/flow_action_clearbit_find_person_action.rb new file mode 100644 index 000000000..662dbd39c --- /dev/null +++ b/lib/auth0/types/flow_action_clearbit_find_person_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionClearbitFindPersonAction + extend Auth0::Internal::Types::Enum + + FIND_PERSON = "FIND_PERSON" + end + end +end diff --git a/lib/auth0/types/flow_action_clearbit_find_person_params.rb b/lib/auth0/types/flow_action_clearbit_find_person_params.rb new file mode 100644 index 000000000..34dba965e --- /dev/null +++ b/lib/auth0/types/flow_action_clearbit_find_person_params.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionClearbitFindPersonParams < Internal::Types::Model + field :connection_id, -> { String }, optional: false, nullable: false + + field :email, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_clearbit_find_person_type.rb b/lib/auth0/types/flow_action_clearbit_find_person_type.rb new file mode 100644 index 000000000..d066e7f0b --- /dev/null +++ b/lib/auth0/types/flow_action_clearbit_find_person_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionClearbitFindPersonType + extend Auth0::Internal::Types::Enum + + CLEARBIT = "CLEARBIT" + end + end +end diff --git a/lib/auth0/types/flow_action_email.rb b/lib/auth0/types/flow_action_email.rb new file mode 100644 index 000000000..a8b69908e --- /dev/null +++ b/lib/auth0/types/flow_action_email.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionEmail + # FlowActionEmail is an alias for FlowActionEmailVerifyEmail + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/flow_action_email_verify_email.rb b/lib/auth0/types/flow_action_email_verify_email.rb new file mode 100644 index 000000000..9e3b01376 --- /dev/null +++ b/lib/auth0/types/flow_action_email_verify_email.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionEmailVerifyEmail < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionEmailVerifyEmailType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionEmailVerifyEmailAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionEmailVerifyEmailParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_email_verify_email_action.rb b/lib/auth0/types/flow_action_email_verify_email_action.rb new file mode 100644 index 000000000..a7758fdd2 --- /dev/null +++ b/lib/auth0/types/flow_action_email_verify_email_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionEmailVerifyEmailAction + extend Auth0::Internal::Types::Enum + + VERIFY_EMAIL = "VERIFY_EMAIL" + end + end +end diff --git a/lib/auth0/types/flow_action_email_verify_email_params.rb b/lib/auth0/types/flow_action_email_verify_email_params.rb new file mode 100644 index 000000000..87d658ed2 --- /dev/null +++ b/lib/auth0/types/flow_action_email_verify_email_params.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionEmailVerifyEmailParams < Internal::Types::Model + field :email, -> { String }, optional: false, nullable: false + + field :rules, -> { Auth0::Types::FlowActionEmailVerifyEmailParamsRules }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_email_verify_email_params_rules.rb b/lib/auth0/types/flow_action_email_verify_email_params_rules.rb new file mode 100644 index 000000000..3ae98744a --- /dev/null +++ b/lib/auth0/types/flow_action_email_verify_email_params_rules.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionEmailVerifyEmailParamsRules < Internal::Types::Model + field :require_mx_record, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :block_aliases, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :block_free_emails, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :block_disposable_emails, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :blocklist, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :allowlist, -> { Internal::Types::Array[String] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_email_verify_email_type.rb b/lib/auth0/types/flow_action_email_verify_email_type.rb new file mode 100644 index 000000000..472a669d2 --- /dev/null +++ b/lib/auth0/types/flow_action_email_verify_email_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionEmailVerifyEmailType + extend Auth0::Internal::Types::Enum + + EMAIL = "EMAIL" + end + end +end diff --git a/lib/auth0/types/flow_action_flow.rb b/lib/auth0/types/flow_action_flow.rb new file mode 100644 index 000000000..c148ac6b0 --- /dev/null +++ b/lib/auth0/types/flow_action_flow.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionFlow < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::FlowActionFlowBooleanCondition } + + member -> { Auth0::Types::FlowActionFlowDelayFlow } + + member -> { Auth0::Types::FlowActionFlowDoNothing } + + member -> { Auth0::Types::FlowActionFlowErrorMessage } + + member -> { Auth0::Types::FlowActionFlowMapValue } + + member -> { Auth0::Types::FlowActionFlowReturnJSON } + + member -> { Auth0::Types::FlowActionFlowStoreVars } + end + end +end diff --git a/lib/auth0/types/flow_action_flow_boolean_condition.rb b/lib/auth0/types/flow_action_flow_boolean_condition.rb new file mode 100644 index 000000000..08a1e6746 --- /dev/null +++ b/lib/auth0/types/flow_action_flow_boolean_condition.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionFlowBooleanCondition < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionFlowBooleanConditionType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionFlowBooleanConditionAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionFlowBooleanConditionParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_flow_boolean_condition_action.rb b/lib/auth0/types/flow_action_flow_boolean_condition_action.rb new file mode 100644 index 000000000..a3fa88a6a --- /dev/null +++ b/lib/auth0/types/flow_action_flow_boolean_condition_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionFlowBooleanConditionAction + extend Auth0::Internal::Types::Enum + + BOOLEAN_CONDITION = "BOOLEAN_CONDITION" + end + end +end diff --git a/lib/auth0/types/flow_action_flow_boolean_condition_params.rb b/lib/auth0/types/flow_action_flow_boolean_condition_params.rb new file mode 100644 index 000000000..14a45c7c9 --- /dev/null +++ b/lib/auth0/types/flow_action_flow_boolean_condition_params.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionFlowBooleanConditionParams < Internal::Types::Model + field :then_, -> { Internal::Types::Array[Auth0::Types::FlowAction] }, optional: true, nullable: false, api_name: "then" + + field :else_, -> { Internal::Types::Array[Auth0::Types::FlowAction] }, optional: true, nullable: false, api_name: "else" + end + end +end diff --git a/lib/auth0/types/flow_action_flow_boolean_condition_type.rb b/lib/auth0/types/flow_action_flow_boolean_condition_type.rb new file mode 100644 index 000000000..3149906e6 --- /dev/null +++ b/lib/auth0/types/flow_action_flow_boolean_condition_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionFlowBooleanConditionType + extend Auth0::Internal::Types::Enum + + FLOW = "FLOW" + end + end +end diff --git a/lib/auth0/types/flow_action_flow_delay_flow.rb b/lib/auth0/types/flow_action_flow_delay_flow.rb new file mode 100644 index 000000000..21b1f5a10 --- /dev/null +++ b/lib/auth0/types/flow_action_flow_delay_flow.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionFlowDelayFlow < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionFlowDelayFlowType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionFlowDelayFlowAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionFlowDelayFlowParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_flow_delay_flow_action.rb b/lib/auth0/types/flow_action_flow_delay_flow_action.rb new file mode 100644 index 000000000..80f6cac37 --- /dev/null +++ b/lib/auth0/types/flow_action_flow_delay_flow_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionFlowDelayFlowAction + extend Auth0::Internal::Types::Enum + + DELAY_FLOW = "DELAY_FLOW" + end + end +end diff --git a/lib/auth0/types/flow_action_flow_delay_flow_params.rb b/lib/auth0/types/flow_action_flow_delay_flow_params.rb new file mode 100644 index 000000000..746d8e73e --- /dev/null +++ b/lib/auth0/types/flow_action_flow_delay_flow_params.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionFlowDelayFlowParams < Internal::Types::Model + field :number, -> { Auth0::Types::FlowActionFlowDelayFlowParamsNumber }, optional: false, nullable: false + + field :units, -> { Auth0::Types::FlowActionFlowDelayFlowParamsUnits }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_flow_delay_flow_params_number.rb b/lib/auth0/types/flow_action_flow_delay_flow_params_number.rb new file mode 100644 index 000000000..334a5d799 --- /dev/null +++ b/lib/auth0/types/flow_action_flow_delay_flow_params_number.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionFlowDelayFlowParamsNumber < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Integer } + + member -> { String } + end + end +end diff --git a/lib/auth0/types/flow_action_flow_delay_flow_params_units.rb b/lib/auth0/types/flow_action_flow_delay_flow_params_units.rb new file mode 100644 index 000000000..706747673 --- /dev/null +++ b/lib/auth0/types/flow_action_flow_delay_flow_params_units.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionFlowDelayFlowParamsUnits + extend Auth0::Internal::Types::Enum + + SECONDS = "SECONDS" + MINUTES = "MINUTES" + HOURS = "HOURS" + DAYS = "DAYS" + end + end +end diff --git a/lib/auth0/types/flow_action_flow_delay_flow_type.rb b/lib/auth0/types/flow_action_flow_delay_flow_type.rb new file mode 100644 index 000000000..1b219db75 --- /dev/null +++ b/lib/auth0/types/flow_action_flow_delay_flow_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionFlowDelayFlowType + extend Auth0::Internal::Types::Enum + + FLOW = "FLOW" + end + end +end diff --git a/lib/auth0/types/flow_action_flow_do_nothing.rb b/lib/auth0/types/flow_action_flow_do_nothing.rb new file mode 100644 index 000000000..30c5f85f3 --- /dev/null +++ b/lib/auth0/types/flow_action_flow_do_nothing.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionFlowDoNothing < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionFlowDoNothingType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionFlowDoNothingAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionFlowDoNothingParams }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_flow_do_nothing_action.rb b/lib/auth0/types/flow_action_flow_do_nothing_action.rb new file mode 100644 index 000000000..35392a154 --- /dev/null +++ b/lib/auth0/types/flow_action_flow_do_nothing_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionFlowDoNothingAction + extend Auth0::Internal::Types::Enum + + DO_NOTHING = "DO_NOTHING" + end + end +end diff --git a/lib/auth0/types/flow_action_flow_do_nothing_params.rb b/lib/auth0/types/flow_action_flow_do_nothing_params.rb new file mode 100644 index 000000000..1f13f8f50 --- /dev/null +++ b/lib/auth0/types/flow_action_flow_do_nothing_params.rb @@ -0,0 +1,7 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionFlowDoNothingParams < Internal::Types::Model; end + end +end diff --git a/lib/auth0/types/flow_action_flow_do_nothing_type.rb b/lib/auth0/types/flow_action_flow_do_nothing_type.rb new file mode 100644 index 000000000..d7184542e --- /dev/null +++ b/lib/auth0/types/flow_action_flow_do_nothing_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionFlowDoNothingType + extend Auth0::Internal::Types::Enum + + FLOW = "FLOW" + end + end +end diff --git a/lib/auth0/types/flow_action_flow_error_message.rb b/lib/auth0/types/flow_action_flow_error_message.rb new file mode 100644 index 000000000..0e65da3b0 --- /dev/null +++ b/lib/auth0/types/flow_action_flow_error_message.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionFlowErrorMessage < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionFlowErrorMessageType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionFlowErrorMessageAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionFlowErrorMessageParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_flow_error_message_action.rb b/lib/auth0/types/flow_action_flow_error_message_action.rb new file mode 100644 index 000000000..1a7da375c --- /dev/null +++ b/lib/auth0/types/flow_action_flow_error_message_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionFlowErrorMessageAction + extend Auth0::Internal::Types::Enum + + ERROR_MESSAGE = "ERROR_MESSAGE" + end + end +end diff --git a/lib/auth0/types/flow_action_flow_error_message_params.rb b/lib/auth0/types/flow_action_flow_error_message_params.rb new file mode 100644 index 000000000..3cd7c8ec7 --- /dev/null +++ b/lib/auth0/types/flow_action_flow_error_message_params.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionFlowErrorMessageParams < Internal::Types::Model + field :message, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_flow_error_message_type.rb b/lib/auth0/types/flow_action_flow_error_message_type.rb new file mode 100644 index 000000000..5e0bd3235 --- /dev/null +++ b/lib/auth0/types/flow_action_flow_error_message_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionFlowErrorMessageType + extend Auth0::Internal::Types::Enum + + FLOW = "FLOW" + end + end +end diff --git a/lib/auth0/types/flow_action_flow_map_value.rb b/lib/auth0/types/flow_action_flow_map_value.rb new file mode 100644 index 000000000..d0c2997c0 --- /dev/null +++ b/lib/auth0/types/flow_action_flow_map_value.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionFlowMapValue < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionFlowMapValueType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionFlowMapValueAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionFlowMapValueParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_flow_map_value_action.rb b/lib/auth0/types/flow_action_flow_map_value_action.rb new file mode 100644 index 000000000..884e1ec46 --- /dev/null +++ b/lib/auth0/types/flow_action_flow_map_value_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionFlowMapValueAction + extend Auth0::Internal::Types::Enum + + MAP_VALUE = "MAP_VALUE" + end + end +end diff --git a/lib/auth0/types/flow_action_flow_map_value_params.rb b/lib/auth0/types/flow_action_flow_map_value_params.rb new file mode 100644 index 000000000..f76cab3dd --- /dev/null +++ b/lib/auth0/types/flow_action_flow_map_value_params.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionFlowMapValueParams < Internal::Types::Model + field :input, -> { Auth0::Types::FlowActionFlowMapValueParamsInput }, optional: false, nullable: false + + field :cases, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :fallback, -> { Auth0::Types::FlowActionFlowMapValueParamsFallback }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_flow_map_value_params_cases.rb b/lib/auth0/types/flow_action_flow_map_value_params_cases.rb new file mode 100644 index 000000000..f49076e3d --- /dev/null +++ b/lib/auth0/types/flow_action_flow_map_value_params_cases.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionFlowMapValueParamsCases + # FlowActionFlowMapValueParamsCases is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/flow_action_flow_map_value_params_fallback.rb b/lib/auth0/types/flow_action_flow_map_value_params_fallback.rb new file mode 100644 index 000000000..ecd94497d --- /dev/null +++ b/lib/auth0/types/flow_action_flow_map_value_params_fallback.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionFlowMapValueParamsFallback < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { String } + + member -> { Integer } + + member -> { Internal::Types::Hash[String, Object] } + + member -> { Internal::Types::Array[Object] } + end + end +end diff --git a/lib/auth0/types/flow_action_flow_map_value_params_fallback_object.rb b/lib/auth0/types/flow_action_flow_map_value_params_fallback_object.rb new file mode 100644 index 000000000..e9d6b46cf --- /dev/null +++ b/lib/auth0/types/flow_action_flow_map_value_params_fallback_object.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionFlowMapValueParamsFallbackObject + # FlowActionFlowMapValueParamsFallbackObject is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/flow_action_flow_map_value_params_input.rb b/lib/auth0/types/flow_action_flow_map_value_params_input.rb new file mode 100644 index 000000000..9fe061d23 --- /dev/null +++ b/lib/auth0/types/flow_action_flow_map_value_params_input.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionFlowMapValueParamsInput < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { String } + + member -> { Integer } + end + end +end diff --git a/lib/auth0/types/flow_action_flow_map_value_type.rb b/lib/auth0/types/flow_action_flow_map_value_type.rb new file mode 100644 index 000000000..ae0e4a96f --- /dev/null +++ b/lib/auth0/types/flow_action_flow_map_value_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionFlowMapValueType + extend Auth0::Internal::Types::Enum + + FLOW = "FLOW" + end + end +end diff --git a/lib/auth0/types/flow_action_flow_return_json.rb b/lib/auth0/types/flow_action_flow_return_json.rb new file mode 100644 index 000000000..01f7dcbc1 --- /dev/null +++ b/lib/auth0/types/flow_action_flow_return_json.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionFlowReturnJSON < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionFlowReturnJSONType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionFlowReturnJSONAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionFlowReturnJSONParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_flow_return_json_action.rb b/lib/auth0/types/flow_action_flow_return_json_action.rb new file mode 100644 index 000000000..b3fd9bf03 --- /dev/null +++ b/lib/auth0/types/flow_action_flow_return_json_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionFlowReturnJSONAction + extend Auth0::Internal::Types::Enum + + RETURN_JSON = "RETURN_JSON" + end + end +end diff --git a/lib/auth0/types/flow_action_flow_return_json_params.rb b/lib/auth0/types/flow_action_flow_return_json_params.rb new file mode 100644 index 000000000..a4eef4ef9 --- /dev/null +++ b/lib/auth0/types/flow_action_flow_return_json_params.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionFlowReturnJSONParams < Internal::Types::Model + field :payload, -> { Auth0::Types::FlowActionFlowReturnJSONParamsPayload }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_flow_return_json_params_payload.rb b/lib/auth0/types/flow_action_flow_return_json_params_payload.rb new file mode 100644 index 000000000..5f9614d20 --- /dev/null +++ b/lib/auth0/types/flow_action_flow_return_json_params_payload.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionFlowReturnJSONParamsPayload < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Internal::Types::Hash[String, Object] } + + member -> { String } + end + end +end diff --git a/lib/auth0/types/flow_action_flow_return_json_params_payload_object.rb b/lib/auth0/types/flow_action_flow_return_json_params_payload_object.rb new file mode 100644 index 000000000..810075443 --- /dev/null +++ b/lib/auth0/types/flow_action_flow_return_json_params_payload_object.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionFlowReturnJSONParamsPayloadObject + # FlowActionFlowReturnJSONParamsPayloadObject is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/flow_action_flow_return_json_type.rb b/lib/auth0/types/flow_action_flow_return_json_type.rb new file mode 100644 index 000000000..c0b9a1694 --- /dev/null +++ b/lib/auth0/types/flow_action_flow_return_json_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionFlowReturnJSONType + extend Auth0::Internal::Types::Enum + + FLOW = "FLOW" + end + end +end diff --git a/lib/auth0/types/flow_action_flow_store_vars.rb b/lib/auth0/types/flow_action_flow_store_vars.rb new file mode 100644 index 000000000..8f4243aa7 --- /dev/null +++ b/lib/auth0/types/flow_action_flow_store_vars.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionFlowStoreVars < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionFlowStoreVarsType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionFlowStoreVarsAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionFlowStoreVarsParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_flow_store_vars_action.rb b/lib/auth0/types/flow_action_flow_store_vars_action.rb new file mode 100644 index 000000000..644c1a44e --- /dev/null +++ b/lib/auth0/types/flow_action_flow_store_vars_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionFlowStoreVarsAction + extend Auth0::Internal::Types::Enum + + STORE_VARS = "STORE_VARS" + end + end +end diff --git a/lib/auth0/types/flow_action_flow_store_vars_params.rb b/lib/auth0/types/flow_action_flow_store_vars_params.rb new file mode 100644 index 000000000..c18746f89 --- /dev/null +++ b/lib/auth0/types/flow_action_flow_store_vars_params.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionFlowStoreVarsParams < Internal::Types::Model + field :vars, -> { Internal::Types::Hash[String, Object] }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_flow_store_vars_params_vars.rb b/lib/auth0/types/flow_action_flow_store_vars_params_vars.rb new file mode 100644 index 000000000..ac2aed50b --- /dev/null +++ b/lib/auth0/types/flow_action_flow_store_vars_params_vars.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionFlowStoreVarsParamsVars + # FlowActionFlowStoreVarsParamsVars is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/flow_action_flow_store_vars_type.rb b/lib/auth0/types/flow_action_flow_store_vars_type.rb new file mode 100644 index 000000000..7b6c77e28 --- /dev/null +++ b/lib/auth0/types/flow_action_flow_store_vars_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionFlowStoreVarsType + extend Auth0::Internal::Types::Enum + + FLOW = "FLOW" + end + end +end diff --git a/lib/auth0/types/flow_action_google_sheets.rb b/lib/auth0/types/flow_action_google_sheets.rb new file mode 100644 index 000000000..e6616a9b2 --- /dev/null +++ b/lib/auth0/types/flow_action_google_sheets.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionGoogleSheets + # FlowActionGoogleSheets is an alias for FlowActionGoogleSheetsAddRow + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/flow_action_google_sheets_add_row.rb b/lib/auth0/types/flow_action_google_sheets_add_row.rb new file mode 100644 index 000000000..b84b3767b --- /dev/null +++ b/lib/auth0/types/flow_action_google_sheets_add_row.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionGoogleSheetsAddRow < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionGoogleSheetsAddRowType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionGoogleSheetsAddRowAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionGoogleSheetsAddRowParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_google_sheets_add_row_action.rb b/lib/auth0/types/flow_action_google_sheets_add_row_action.rb new file mode 100644 index 000000000..58fee55fe --- /dev/null +++ b/lib/auth0/types/flow_action_google_sheets_add_row_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionGoogleSheetsAddRowAction + extend Auth0::Internal::Types::Enum + + ADD_ROW = "ADD_ROW" + end + end +end diff --git a/lib/auth0/types/flow_action_google_sheets_add_row_params.rb b/lib/auth0/types/flow_action_google_sheets_add_row_params.rb new file mode 100644 index 000000000..e4c6f48c8 --- /dev/null +++ b/lib/auth0/types/flow_action_google_sheets_add_row_params.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionGoogleSheetsAddRowParams < Internal::Types::Model + field :connection_id, -> { String }, optional: false, nullable: false + + field :spreadsheet_id, -> { String }, optional: false, nullable: false + + field :sheet_id, -> { Auth0::Types::FlowActionGoogleSheetsAddRowParamsSheetID }, optional: true, nullable: false + + field :values, -> { Internal::Types::Array[String] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_google_sheets_add_row_params_sheet_id.rb b/lib/auth0/types/flow_action_google_sheets_add_row_params_sheet_id.rb new file mode 100644 index 000000000..f72ac0b13 --- /dev/null +++ b/lib/auth0/types/flow_action_google_sheets_add_row_params_sheet_id.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionGoogleSheetsAddRowParamsSheetID < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Integer } + + member -> { String } + end + end +end diff --git a/lib/auth0/types/flow_action_google_sheets_add_row_params_values.rb b/lib/auth0/types/flow_action_google_sheets_add_row_params_values.rb new file mode 100644 index 000000000..a56dcec51 --- /dev/null +++ b/lib/auth0/types/flow_action_google_sheets_add_row_params_values.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionGoogleSheetsAddRowParamsValues + # FlowActionGoogleSheetsAddRowParamsValues is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/flow_action_google_sheets_add_row_type.rb b/lib/auth0/types/flow_action_google_sheets_add_row_type.rb new file mode 100644 index 000000000..91e8f2edd --- /dev/null +++ b/lib/auth0/types/flow_action_google_sheets_add_row_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionGoogleSheetsAddRowType + extend Auth0::Internal::Types::Enum + + GOOGLE_SHEETS = "GOOGLE_SHEETS" + end + end +end diff --git a/lib/auth0/types/flow_action_http.rb b/lib/auth0/types/flow_action_http.rb new file mode 100644 index 000000000..bae70da2c --- /dev/null +++ b/lib/auth0/types/flow_action_http.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionHTTP + # FlowActionHTTP is an alias for FlowActionHTTPSendRequest + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/flow_action_http_send_request.rb b/lib/auth0/types/flow_action_http_send_request.rb new file mode 100644 index 000000000..84ecf0601 --- /dev/null +++ b/lib/auth0/types/flow_action_http_send_request.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionHTTPSendRequest < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionHTTPSendRequestType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionHTTPSendRequestAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionHTTPSendRequestParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_http_send_request_action.rb b/lib/auth0/types/flow_action_http_send_request_action.rb new file mode 100644 index 000000000..35597b4d9 --- /dev/null +++ b/lib/auth0/types/flow_action_http_send_request_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionHTTPSendRequestAction + extend Auth0::Internal::Types::Enum + + SEND_REQUEST = "SEND_REQUEST" + end + end +end diff --git a/lib/auth0/types/flow_action_http_send_request_params.rb b/lib/auth0/types/flow_action_http_send_request_params.rb new file mode 100644 index 000000000..ac48fb6d3 --- /dev/null +++ b/lib/auth0/types/flow_action_http_send_request_params.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionHTTPSendRequestParams < Internal::Types::Model + field :connection_id, -> { String }, optional: true, nullable: false + + field :url, -> { String }, optional: false, nullable: false + + field :method_, -> { Auth0::Types::FlowActionHTTPSendRequestParamsMethod }, optional: true, nullable: false, api_name: "method" + + field :headers, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :basic, -> { Auth0::Types::FlowActionHTTPSendRequestParamsBasicAuth }, optional: true, nullable: false + + field :params, -> { Internal::Types::Hash[String, Auth0::Types::FlowActionHTTPSendRequestParamsQueryParamsValue] }, optional: true, nullable: false + + field :payload, -> { Auth0::Types::FlowActionHTTPSendRequestParamsPayload }, optional: true, nullable: false + + field :content_type, -> { Auth0::Types::FlowActionHTTPSendRequestParamsContentType }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_http_send_request_params_basic_auth.rb b/lib/auth0/types/flow_action_http_send_request_params_basic_auth.rb new file mode 100644 index 000000000..e2be84cd0 --- /dev/null +++ b/lib/auth0/types/flow_action_http_send_request_params_basic_auth.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionHTTPSendRequestParamsBasicAuth < Internal::Types::Model + field :username, -> { String }, optional: true, nullable: false + + field :password, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_http_send_request_params_content_type.rb b/lib/auth0/types/flow_action_http_send_request_params_content_type.rb new file mode 100644 index 000000000..1548eeaf1 --- /dev/null +++ b/lib/auth0/types/flow_action_http_send_request_params_content_type.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionHTTPSendRequestParamsContentType + extend Auth0::Internal::Types::Enum + + JSON_ = "JSON" + FORM = "FORM" + XML = "XML" + end + end +end diff --git a/lib/auth0/types/flow_action_http_send_request_params_headers.rb b/lib/auth0/types/flow_action_http_send_request_params_headers.rb new file mode 100644 index 000000000..663b2df3f --- /dev/null +++ b/lib/auth0/types/flow_action_http_send_request_params_headers.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionHTTPSendRequestParamsHeaders + # FlowActionHTTPSendRequestParamsHeaders is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/flow_action_http_send_request_params_method.rb b/lib/auth0/types/flow_action_http_send_request_params_method.rb new file mode 100644 index 000000000..a31e6ae96 --- /dev/null +++ b/lib/auth0/types/flow_action_http_send_request_params_method.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionHTTPSendRequestParamsMethod + extend Auth0::Internal::Types::Enum + + GET = "GET" + POST = "POST" + PUT = "PUT" + PATCH = "PATCH" + DELETE = "DELETE" + end + end +end diff --git a/lib/auth0/types/flow_action_http_send_request_params_payload.rb b/lib/auth0/types/flow_action_http_send_request_params_payload.rb new file mode 100644 index 000000000..2f79403f2 --- /dev/null +++ b/lib/auth0/types/flow_action_http_send_request_params_payload.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionHTTPSendRequestParamsPayload < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { String } + + member -> { Internal::Types::Array[Object] } + + member -> { Internal::Types::Hash[String, Object] } + end + end +end diff --git a/lib/auth0/types/flow_action_http_send_request_params_payload_object.rb b/lib/auth0/types/flow_action_http_send_request_params_payload_object.rb new file mode 100644 index 000000000..0e82345e6 --- /dev/null +++ b/lib/auth0/types/flow_action_http_send_request_params_payload_object.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionHTTPSendRequestParamsPayloadObject + # FlowActionHTTPSendRequestParamsPayloadObject is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/flow_action_http_send_request_params_query_params.rb b/lib/auth0/types/flow_action_http_send_request_params_query_params.rb new file mode 100644 index 000000000..8d8a6c90d --- /dev/null +++ b/lib/auth0/types/flow_action_http_send_request_params_query_params.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionHTTPSendRequestParamsQueryParams + # FlowActionHTTPSendRequestParamsQueryParams is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/flow_action_http_send_request_params_query_params_value.rb b/lib/auth0/types/flow_action_http_send_request_params_query_params_value.rb new file mode 100644 index 000000000..5c3fecb55 --- /dev/null +++ b/lib/auth0/types/flow_action_http_send_request_params_query_params_value.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionHTTPSendRequestParamsQueryParamsValue < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Integer } + + member -> { String } + end + end +end diff --git a/lib/auth0/types/flow_action_http_send_request_type.rb b/lib/auth0/types/flow_action_http_send_request_type.rb new file mode 100644 index 000000000..2d0c84ffa --- /dev/null +++ b/lib/auth0/types/flow_action_http_send_request_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionHTTPSendRequestType + extend Auth0::Internal::Types::Enum + + HTTP = "HTTP" + end + end +end diff --git a/lib/auth0/types/flow_action_hubspot.rb b/lib/auth0/types/flow_action_hubspot.rb new file mode 100644 index 000000000..212d939b2 --- /dev/null +++ b/lib/auth0/types/flow_action_hubspot.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionHubspot < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::FlowActionHubspotEnrollContact } + + member -> { Auth0::Types::FlowActionHubspotGetContact } + + member -> { Auth0::Types::FlowActionHubspotUpsertContact } + end + end +end diff --git a/lib/auth0/types/flow_action_hubspot_enroll_contact.rb b/lib/auth0/types/flow_action_hubspot_enroll_contact.rb new file mode 100644 index 000000000..54acc7ef3 --- /dev/null +++ b/lib/auth0/types/flow_action_hubspot_enroll_contact.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionHubspotEnrollContact < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionHubspotEnrollContactType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionHubspotEnrollContactAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionHubspotEnrollContactParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_hubspot_enroll_contact_action.rb b/lib/auth0/types/flow_action_hubspot_enroll_contact_action.rb new file mode 100644 index 000000000..ad7fa1525 --- /dev/null +++ b/lib/auth0/types/flow_action_hubspot_enroll_contact_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionHubspotEnrollContactAction + extend Auth0::Internal::Types::Enum + + ENROLL_CONTACT = "ENROLL_CONTACT" + end + end +end diff --git a/lib/auth0/types/flow_action_hubspot_enroll_contact_params.rb b/lib/auth0/types/flow_action_hubspot_enroll_contact_params.rb new file mode 100644 index 000000000..8ebfdf957 --- /dev/null +++ b/lib/auth0/types/flow_action_hubspot_enroll_contact_params.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionHubspotEnrollContactParams < Internal::Types::Model + field :connection_id, -> { String }, optional: false, nullable: false + + field :email, -> { String }, optional: false, nullable: false + + field :workflow_id, -> { Auth0::Types::FlowActionHubspotEnrollContactParamsWorkflowID }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_hubspot_enroll_contact_params_workflow_id.rb b/lib/auth0/types/flow_action_hubspot_enroll_contact_params_workflow_id.rb new file mode 100644 index 000000000..6693c9eb1 --- /dev/null +++ b/lib/auth0/types/flow_action_hubspot_enroll_contact_params_workflow_id.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionHubspotEnrollContactParamsWorkflowID < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { String } + + member -> { Integer } + end + end +end diff --git a/lib/auth0/types/flow_action_hubspot_enroll_contact_type.rb b/lib/auth0/types/flow_action_hubspot_enroll_contact_type.rb new file mode 100644 index 000000000..cef6fe8bb --- /dev/null +++ b/lib/auth0/types/flow_action_hubspot_enroll_contact_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionHubspotEnrollContactType + extend Auth0::Internal::Types::Enum + + HUBSPOT = "HUBSPOT" + end + end +end diff --git a/lib/auth0/types/flow_action_hubspot_get_contact.rb b/lib/auth0/types/flow_action_hubspot_get_contact.rb new file mode 100644 index 000000000..2d29fc01c --- /dev/null +++ b/lib/auth0/types/flow_action_hubspot_get_contact.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionHubspotGetContact < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionHubspotGetContactType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionHubspotGetContactAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionHubspotGetContactParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_hubspot_get_contact_action.rb b/lib/auth0/types/flow_action_hubspot_get_contact_action.rb new file mode 100644 index 000000000..f8224427c --- /dev/null +++ b/lib/auth0/types/flow_action_hubspot_get_contact_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionHubspotGetContactAction + extend Auth0::Internal::Types::Enum + + GET_CONTACT = "GET_CONTACT" + end + end +end diff --git a/lib/auth0/types/flow_action_hubspot_get_contact_params.rb b/lib/auth0/types/flow_action_hubspot_get_contact_params.rb new file mode 100644 index 000000000..515f2497d --- /dev/null +++ b/lib/auth0/types/flow_action_hubspot_get_contact_params.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionHubspotGetContactParams < Internal::Types::Model + field :connection_id, -> { String }, optional: false, nullable: false + + field :email, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_hubspot_get_contact_type.rb b/lib/auth0/types/flow_action_hubspot_get_contact_type.rb new file mode 100644 index 000000000..fb74a580b --- /dev/null +++ b/lib/auth0/types/flow_action_hubspot_get_contact_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionHubspotGetContactType + extend Auth0::Internal::Types::Enum + + HUBSPOT = "HUBSPOT" + end + end +end diff --git a/lib/auth0/types/flow_action_hubspot_upsert_contact.rb b/lib/auth0/types/flow_action_hubspot_upsert_contact.rb new file mode 100644 index 000000000..f05004ab3 --- /dev/null +++ b/lib/auth0/types/flow_action_hubspot_upsert_contact.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionHubspotUpsertContact < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionHubspotUpsertContactType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionHubspotUpsertContactAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionHubspotUpsertContactParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_hubspot_upsert_contact_action.rb b/lib/auth0/types/flow_action_hubspot_upsert_contact_action.rb new file mode 100644 index 000000000..0679b2c83 --- /dev/null +++ b/lib/auth0/types/flow_action_hubspot_upsert_contact_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionHubspotUpsertContactAction + extend Auth0::Internal::Types::Enum + + UPSERT_CONTACT = "UPSERT_CONTACT" + end + end +end diff --git a/lib/auth0/types/flow_action_hubspot_upsert_contact_params.rb b/lib/auth0/types/flow_action_hubspot_upsert_contact_params.rb new file mode 100644 index 000000000..928a97e04 --- /dev/null +++ b/lib/auth0/types/flow_action_hubspot_upsert_contact_params.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionHubspotUpsertContactParams < Internal::Types::Model + field :connection_id, -> { String }, optional: false, nullable: false + + field :email, -> { String }, optional: false, nullable: false + + field :properties, -> { Internal::Types::Array[Auth0::Types::FlowActionHubspotUpsertContactParamsProperty] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_hubspot_upsert_contact_params_property.rb b/lib/auth0/types/flow_action_hubspot_upsert_contact_params_property.rb new file mode 100644 index 000000000..48858be79 --- /dev/null +++ b/lib/auth0/types/flow_action_hubspot_upsert_contact_params_property.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionHubspotUpsertContactParamsProperty < Internal::Types::Model + field :property, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_hubspot_upsert_contact_type.rb b/lib/auth0/types/flow_action_hubspot_upsert_contact_type.rb new file mode 100644 index 000000000..67e637943 --- /dev/null +++ b/lib/auth0/types/flow_action_hubspot_upsert_contact_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionHubspotUpsertContactType + extend Auth0::Internal::Types::Enum + + HUBSPOT = "HUBSPOT" + end + end +end diff --git a/lib/auth0/types/flow_action_json.rb b/lib/auth0/types/flow_action_json.rb new file mode 100644 index 000000000..c13e682ee --- /dev/null +++ b/lib/auth0/types/flow_action_json.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionJSON < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::FlowActionJSONCreateJSON } + + member -> { Auth0::Types::FlowActionJSONParseJSON } + + member -> { Auth0::Types::FlowActionJSONSerializeJSON } + end + end +end diff --git a/lib/auth0/types/flow_action_json_create_json.rb b/lib/auth0/types/flow_action_json_create_json.rb new file mode 100644 index 000000000..61f56602c --- /dev/null +++ b/lib/auth0/types/flow_action_json_create_json.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionJSONCreateJSON < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionJSONCreateJSONType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionJSONCreateJSONAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionJSONCreateJSONParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_json_create_json_action.rb b/lib/auth0/types/flow_action_json_create_json_action.rb new file mode 100644 index 000000000..b5c07f609 --- /dev/null +++ b/lib/auth0/types/flow_action_json_create_json_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionJSONCreateJSONAction + extend Auth0::Internal::Types::Enum + + CREATE_JSON = "CREATE_JSON" + end + end +end diff --git a/lib/auth0/types/flow_action_json_create_json_params.rb b/lib/auth0/types/flow_action_json_create_json_params.rb new file mode 100644 index 000000000..8822817da --- /dev/null +++ b/lib/auth0/types/flow_action_json_create_json_params.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionJSONCreateJSONParams < Internal::Types::Model + field :object, -> { Internal::Types::Hash[String, Object] }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_json_create_json_params_object.rb b/lib/auth0/types/flow_action_json_create_json_params_object.rb new file mode 100644 index 000000000..ebc8b071d --- /dev/null +++ b/lib/auth0/types/flow_action_json_create_json_params_object.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionJSONCreateJSONParamsObject + # FlowActionJSONCreateJSONParamsObject is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/flow_action_json_create_json_type.rb b/lib/auth0/types/flow_action_json_create_json_type.rb new file mode 100644 index 000000000..86212629c --- /dev/null +++ b/lib/auth0/types/flow_action_json_create_json_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionJSONCreateJSONType + extend Auth0::Internal::Types::Enum + + JSON_ = "JSON" + end + end +end diff --git a/lib/auth0/types/flow_action_json_parse_json.rb b/lib/auth0/types/flow_action_json_parse_json.rb new file mode 100644 index 000000000..4c1781cf6 --- /dev/null +++ b/lib/auth0/types/flow_action_json_parse_json.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionJSONParseJSON < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionJSONParseJSONType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionJSONParseJSONAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionJSONParseJSONParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_json_parse_json_action.rb b/lib/auth0/types/flow_action_json_parse_json_action.rb new file mode 100644 index 000000000..e4b5f19e8 --- /dev/null +++ b/lib/auth0/types/flow_action_json_parse_json_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionJSONParseJSONAction + extend Auth0::Internal::Types::Enum + + PARSE_JSON = "PARSE_JSON" + end + end +end diff --git a/lib/auth0/types/flow_action_json_parse_json_params.rb b/lib/auth0/types/flow_action_json_parse_json_params.rb new file mode 100644 index 000000000..c2f05abf5 --- /dev/null +++ b/lib/auth0/types/flow_action_json_parse_json_params.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionJSONParseJSONParams < Internal::Types::Model + field :json, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_json_parse_json_type.rb b/lib/auth0/types/flow_action_json_parse_json_type.rb new file mode 100644 index 000000000..f769adac1 --- /dev/null +++ b/lib/auth0/types/flow_action_json_parse_json_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionJSONParseJSONType + extend Auth0::Internal::Types::Enum + + JSON_ = "JSON" + end + end +end diff --git a/lib/auth0/types/flow_action_json_serialize_json.rb b/lib/auth0/types/flow_action_json_serialize_json.rb new file mode 100644 index 000000000..210ea3d27 --- /dev/null +++ b/lib/auth0/types/flow_action_json_serialize_json.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionJSONSerializeJSON < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionJSONSerializeJSONType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionJSONSerializeJSONAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionJSONSerializeJSONParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_json_serialize_json_action.rb b/lib/auth0/types/flow_action_json_serialize_json_action.rb new file mode 100644 index 000000000..e7b14fb33 --- /dev/null +++ b/lib/auth0/types/flow_action_json_serialize_json_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionJSONSerializeJSONAction + extend Auth0::Internal::Types::Enum + + SERIALIZE_JSON = "SERIALIZE_JSON" + end + end +end diff --git a/lib/auth0/types/flow_action_json_serialize_json_params.rb b/lib/auth0/types/flow_action_json_serialize_json_params.rb new file mode 100644 index 000000000..6e4b76b8b --- /dev/null +++ b/lib/auth0/types/flow_action_json_serialize_json_params.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionJSONSerializeJSONParams < Internal::Types::Model + field :object, -> { Auth0::Types::FlowActionJSONSerializeJSONParamsObject }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_json_serialize_json_params_object.rb b/lib/auth0/types/flow_action_json_serialize_json_params_object.rb new file mode 100644 index 000000000..d8e6a4160 --- /dev/null +++ b/lib/auth0/types/flow_action_json_serialize_json_params_object.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionJSONSerializeJSONParamsObject < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { String } + + member -> { Internal::Types::Hash[String, Object] } + end + end +end diff --git a/lib/auth0/types/flow_action_json_serialize_json_params_object_object.rb b/lib/auth0/types/flow_action_json_serialize_json_params_object_object.rb new file mode 100644 index 000000000..76cc3b5f4 --- /dev/null +++ b/lib/auth0/types/flow_action_json_serialize_json_params_object_object.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionJSONSerializeJSONParamsObjectObject + # FlowActionJSONSerializeJSONParamsObjectObject is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/flow_action_json_serialize_json_type.rb b/lib/auth0/types/flow_action_json_serialize_json_type.rb new file mode 100644 index 000000000..af2db9b82 --- /dev/null +++ b/lib/auth0/types/flow_action_json_serialize_json_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionJSONSerializeJSONType + extend Auth0::Internal::Types::Enum + + JSON_ = "JSON" + end + end +end diff --git a/lib/auth0/types/flow_action_jwt.rb b/lib/auth0/types/flow_action_jwt.rb new file mode 100644 index 000000000..8abfc9544 --- /dev/null +++ b/lib/auth0/types/flow_action_jwt.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionJwt < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::FlowActionJwtDecodeJwt } + + member -> { Auth0::Types::FlowActionJwtSignJwt } + + member -> { Auth0::Types::FlowActionJwtVerifyJwt } + end + end +end diff --git a/lib/auth0/types/flow_action_jwt_decode_jwt.rb b/lib/auth0/types/flow_action_jwt_decode_jwt.rb new file mode 100644 index 000000000..6c9b5f126 --- /dev/null +++ b/lib/auth0/types/flow_action_jwt_decode_jwt.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionJwtDecodeJwt < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionJwtDecodeJwtType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionJwtDecodeJwtAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionJwtDecodeJwtParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_jwt_decode_jwt_action.rb b/lib/auth0/types/flow_action_jwt_decode_jwt_action.rb new file mode 100644 index 000000000..5bbd21f01 --- /dev/null +++ b/lib/auth0/types/flow_action_jwt_decode_jwt_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionJwtDecodeJwtAction + extend Auth0::Internal::Types::Enum + + DECODE_JWT = "DECODE_JWT" + end + end +end diff --git a/lib/auth0/types/flow_action_jwt_decode_jwt_params.rb b/lib/auth0/types/flow_action_jwt_decode_jwt_params.rb new file mode 100644 index 000000000..be3699d23 --- /dev/null +++ b/lib/auth0/types/flow_action_jwt_decode_jwt_params.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionJwtDecodeJwtParams < Internal::Types::Model + field :token, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_jwt_decode_jwt_type.rb b/lib/auth0/types/flow_action_jwt_decode_jwt_type.rb new file mode 100644 index 000000000..c82e3f70a --- /dev/null +++ b/lib/auth0/types/flow_action_jwt_decode_jwt_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionJwtDecodeJwtType + extend Auth0::Internal::Types::Enum + + JWT = "JWT" + end + end +end diff --git a/lib/auth0/types/flow_action_jwt_sign_jwt.rb b/lib/auth0/types/flow_action_jwt_sign_jwt.rb new file mode 100644 index 000000000..f12103211 --- /dev/null +++ b/lib/auth0/types/flow_action_jwt_sign_jwt.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionJwtSignJwt < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionJwtSignJwtType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionJwtSignJwtAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionJwtSignJwtParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_jwt_sign_jwt_action.rb b/lib/auth0/types/flow_action_jwt_sign_jwt_action.rb new file mode 100644 index 000000000..05916df69 --- /dev/null +++ b/lib/auth0/types/flow_action_jwt_sign_jwt_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionJwtSignJwtAction + extend Auth0::Internal::Types::Enum + + SIGN_JWT = "SIGN_JWT" + end + end +end diff --git a/lib/auth0/types/flow_action_jwt_sign_jwt_params.rb b/lib/auth0/types/flow_action_jwt_sign_jwt_params.rb new file mode 100644 index 000000000..f0840d7dd --- /dev/null +++ b/lib/auth0/types/flow_action_jwt_sign_jwt_params.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionJwtSignJwtParams < Internal::Types::Model + field :connection_id, -> { String }, optional: false, nullable: false + + field :payload, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :subject, -> { String }, optional: true, nullable: false + + field :issuer, -> { String }, optional: true, nullable: false + + field :audience, -> { String }, optional: true, nullable: false + + field :expires_in, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_jwt_sign_jwt_params_payload.rb b/lib/auth0/types/flow_action_jwt_sign_jwt_params_payload.rb new file mode 100644 index 000000000..430bbaae2 --- /dev/null +++ b/lib/auth0/types/flow_action_jwt_sign_jwt_params_payload.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionJwtSignJwtParamsPayload + # FlowActionJwtSignJwtParamsPayload is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/flow_action_jwt_sign_jwt_type.rb b/lib/auth0/types/flow_action_jwt_sign_jwt_type.rb new file mode 100644 index 000000000..34e30434d --- /dev/null +++ b/lib/auth0/types/flow_action_jwt_sign_jwt_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionJwtSignJwtType + extend Auth0::Internal::Types::Enum + + JWT = "JWT" + end + end +end diff --git a/lib/auth0/types/flow_action_jwt_verify_jwt.rb b/lib/auth0/types/flow_action_jwt_verify_jwt.rb new file mode 100644 index 000000000..f226f0d6a --- /dev/null +++ b/lib/auth0/types/flow_action_jwt_verify_jwt.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionJwtVerifyJwt < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionJwtVerifyJwtType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionJwtVerifyJwtAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionJwtVerifyJwtParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_jwt_verify_jwt_action.rb b/lib/auth0/types/flow_action_jwt_verify_jwt_action.rb new file mode 100644 index 000000000..c18dc8edb --- /dev/null +++ b/lib/auth0/types/flow_action_jwt_verify_jwt_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionJwtVerifyJwtAction + extend Auth0::Internal::Types::Enum + + VERIFY_JWT = "VERIFY_JWT" + end + end +end diff --git a/lib/auth0/types/flow_action_jwt_verify_jwt_params.rb b/lib/auth0/types/flow_action_jwt_verify_jwt_params.rb new file mode 100644 index 000000000..abf86d2e3 --- /dev/null +++ b/lib/auth0/types/flow_action_jwt_verify_jwt_params.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionJwtVerifyJwtParams < Internal::Types::Model + field :connection_id, -> { String }, optional: false, nullable: false + + field :token, -> { String }, optional: false, nullable: false + + field :audience, -> { String }, optional: true, nullable: false + + field :issuer, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_jwt_verify_jwt_type.rb b/lib/auth0/types/flow_action_jwt_verify_jwt_type.rb new file mode 100644 index 000000000..b01c8b2ed --- /dev/null +++ b/lib/auth0/types/flow_action_jwt_verify_jwt_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionJwtVerifyJwtType + extend Auth0::Internal::Types::Enum + + JWT = "JWT" + end + end +end diff --git a/lib/auth0/types/flow_action_mailchimp.rb b/lib/auth0/types/flow_action_mailchimp.rb new file mode 100644 index 000000000..d9754ca1e --- /dev/null +++ b/lib/auth0/types/flow_action_mailchimp.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionMailchimp + # FlowActionMailchimp is an alias for FlowActionMailchimpUpsertMember + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/flow_action_mailchimp_upsert_member.rb b/lib/auth0/types/flow_action_mailchimp_upsert_member.rb new file mode 100644 index 000000000..102c91381 --- /dev/null +++ b/lib/auth0/types/flow_action_mailchimp_upsert_member.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionMailchimpUpsertMember < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionMailchimpUpsertMemberType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionMailchimpUpsertMemberAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionMailchimpUpsertMemberParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_mailchimp_upsert_member_action.rb b/lib/auth0/types/flow_action_mailchimp_upsert_member_action.rb new file mode 100644 index 000000000..8d24f90ab --- /dev/null +++ b/lib/auth0/types/flow_action_mailchimp_upsert_member_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionMailchimpUpsertMemberAction + extend Auth0::Internal::Types::Enum + + UPSERT_MEMBER = "UPSERT_MEMBER" + end + end +end diff --git a/lib/auth0/types/flow_action_mailchimp_upsert_member_params.rb b/lib/auth0/types/flow_action_mailchimp_upsert_member_params.rb new file mode 100644 index 000000000..960d1edd6 --- /dev/null +++ b/lib/auth0/types/flow_action_mailchimp_upsert_member_params.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionMailchimpUpsertMemberParams < Internal::Types::Model + field :connection_id, -> { String }, optional: false, nullable: false + + field :list_id, -> { String }, optional: false, nullable: false + + field :member, -> { Auth0::Types::FlowActionMailchimpUpsertMemberParamsMember }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_mailchimp_upsert_member_params_member.rb b/lib/auth0/types/flow_action_mailchimp_upsert_member_params_member.rb new file mode 100644 index 000000000..c57a333a8 --- /dev/null +++ b/lib/auth0/types/flow_action_mailchimp_upsert_member_params_member.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionMailchimpUpsertMemberParamsMember < Internal::Types::Model + field :email_address, -> { String }, optional: false, nullable: false + + field :status_if_new, -> { String }, optional: false, nullable: false + + field :merge_fields, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_mailchimp_upsert_member_params_member_merge_fields.rb b/lib/auth0/types/flow_action_mailchimp_upsert_member_params_member_merge_fields.rb new file mode 100644 index 000000000..842b9084d --- /dev/null +++ b/lib/auth0/types/flow_action_mailchimp_upsert_member_params_member_merge_fields.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionMailchimpUpsertMemberParamsMemberMergeFields + # FlowActionMailchimpUpsertMemberParamsMemberMergeFields is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/flow_action_mailchimp_upsert_member_type.rb b/lib/auth0/types/flow_action_mailchimp_upsert_member_type.rb new file mode 100644 index 000000000..507b38910 --- /dev/null +++ b/lib/auth0/types/flow_action_mailchimp_upsert_member_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionMailchimpUpsertMemberType + extend Auth0::Internal::Types::Enum + + MAILCHIMP = "MAILCHIMP" + end + end +end diff --git a/lib/auth0/types/flow_action_mailjet.rb b/lib/auth0/types/flow_action_mailjet.rb new file mode 100644 index 000000000..4d398a6d4 --- /dev/null +++ b/lib/auth0/types/flow_action_mailjet.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionMailjet + # FlowActionMailjet is an alias for FlowActionMailjetSendEmail + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/flow_action_mailjet_send_email.rb b/lib/auth0/types/flow_action_mailjet_send_email.rb new file mode 100644 index 000000000..35683fe50 --- /dev/null +++ b/lib/auth0/types/flow_action_mailjet_send_email.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionMailjetSendEmail < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionMailjetSendEmailType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionMailjetSendEmailAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionMailjetSendEmailParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_mailjet_send_email_action.rb b/lib/auth0/types/flow_action_mailjet_send_email_action.rb new file mode 100644 index 000000000..5cca7256a --- /dev/null +++ b/lib/auth0/types/flow_action_mailjet_send_email_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionMailjetSendEmailAction + extend Auth0::Internal::Types::Enum + + SEND_EMAIL = "SEND_EMAIL" + end + end +end diff --git a/lib/auth0/types/flow_action_mailjet_send_email_params.rb b/lib/auth0/types/flow_action_mailjet_send_email_params.rb new file mode 100644 index 000000000..66e0653f1 --- /dev/null +++ b/lib/auth0/types/flow_action_mailjet_send_email_params.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionMailjetSendEmailParams < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::FlowActionMailjetSendEmailParamsContent } + + member -> { Auth0::Types::FlowActionMailjetSendEmailParamsTemplateID } + end + end +end diff --git a/lib/auth0/types/flow_action_mailjet_send_email_params_content.rb b/lib/auth0/types/flow_action_mailjet_send_email_params_content.rb new file mode 100644 index 000000000..28785e8f8 --- /dev/null +++ b/lib/auth0/types/flow_action_mailjet_send_email_params_content.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionMailjetSendEmailParamsContent < Internal::Types::Model + field :content, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_mailjet_send_email_params_template_id.rb b/lib/auth0/types/flow_action_mailjet_send_email_params_template_id.rb new file mode 100644 index 000000000..186df016a --- /dev/null +++ b/lib/auth0/types/flow_action_mailjet_send_email_params_template_id.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionMailjetSendEmailParamsTemplateID < Internal::Types::Model + field :template_id, -> { Integer }, optional: false, nullable: false + + field :variables, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_mailjet_send_email_type.rb b/lib/auth0/types/flow_action_mailjet_send_email_type.rb new file mode 100644 index 000000000..658a6cbd6 --- /dev/null +++ b/lib/auth0/types/flow_action_mailjet_send_email_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionMailjetSendEmailType + extend Auth0::Internal::Types::Enum + + MAILJET = "MAILJET" + end + end +end diff --git a/lib/auth0/types/flow_action_otp.rb b/lib/auth0/types/flow_action_otp.rb new file mode 100644 index 000000000..71c51a6e0 --- /dev/null +++ b/lib/auth0/types/flow_action_otp.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionOtp < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::FlowActionOtpGenerateCode } + + member -> { Auth0::Types::FlowActionOtpVerifyCode } + end + end +end diff --git a/lib/auth0/types/flow_action_otp_generate_code.rb b/lib/auth0/types/flow_action_otp_generate_code.rb new file mode 100644 index 000000000..d9ba5e65d --- /dev/null +++ b/lib/auth0/types/flow_action_otp_generate_code.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionOtpGenerateCode < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionOtpGenerateCodeType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionOtpGenerateCodeAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionOtpGenerateCodeParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_otp_generate_code_action.rb b/lib/auth0/types/flow_action_otp_generate_code_action.rb new file mode 100644 index 000000000..17e3e453e --- /dev/null +++ b/lib/auth0/types/flow_action_otp_generate_code_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionOtpGenerateCodeAction + extend Auth0::Internal::Types::Enum + + GENERATE_CODE = "GENERATE_CODE" + end + end +end diff --git a/lib/auth0/types/flow_action_otp_generate_code_params.rb b/lib/auth0/types/flow_action_otp_generate_code_params.rb new file mode 100644 index 000000000..36e0a5ab1 --- /dev/null +++ b/lib/auth0/types/flow_action_otp_generate_code_params.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionOtpGenerateCodeParams < Internal::Types::Model + field :reference, -> { String }, optional: false, nullable: false + + field :length, -> { Integer }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_otp_generate_code_type.rb b/lib/auth0/types/flow_action_otp_generate_code_type.rb new file mode 100644 index 000000000..08aeaf422 --- /dev/null +++ b/lib/auth0/types/flow_action_otp_generate_code_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionOtpGenerateCodeType + extend Auth0::Internal::Types::Enum + + OTP = "OTP" + end + end +end diff --git a/lib/auth0/types/flow_action_otp_verify_code.rb b/lib/auth0/types/flow_action_otp_verify_code.rb new file mode 100644 index 000000000..09eb352d5 --- /dev/null +++ b/lib/auth0/types/flow_action_otp_verify_code.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionOtpVerifyCode < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionOtpVerifyCodeType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionOtpVerifyCodeAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionOtpVerifyCodeParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_otp_verify_code_action.rb b/lib/auth0/types/flow_action_otp_verify_code_action.rb new file mode 100644 index 000000000..ac9473aa7 --- /dev/null +++ b/lib/auth0/types/flow_action_otp_verify_code_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionOtpVerifyCodeAction + extend Auth0::Internal::Types::Enum + + VERIFY_CODE = "VERIFY_CODE" + end + end +end diff --git a/lib/auth0/types/flow_action_otp_verify_code_params.rb b/lib/auth0/types/flow_action_otp_verify_code_params.rb new file mode 100644 index 000000000..ca0442395 --- /dev/null +++ b/lib/auth0/types/flow_action_otp_verify_code_params.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionOtpVerifyCodeParams < Internal::Types::Model + field :reference, -> { String }, optional: false, nullable: false + + field :code, -> { Auth0::Types::FlowActionOtpVerifyCodeParamsCode }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_otp_verify_code_params_code.rb b/lib/auth0/types/flow_action_otp_verify_code_params_code.rb new file mode 100644 index 000000000..a50ac0a0f --- /dev/null +++ b/lib/auth0/types/flow_action_otp_verify_code_params_code.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionOtpVerifyCodeParamsCode < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Integer } + + member -> { String } + end + end +end diff --git a/lib/auth0/types/flow_action_otp_verify_code_type.rb b/lib/auth0/types/flow_action_otp_verify_code_type.rb new file mode 100644 index 000000000..5363590d9 --- /dev/null +++ b/lib/auth0/types/flow_action_otp_verify_code_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionOtpVerifyCodeType + extend Auth0::Internal::Types::Enum + + OTP = "OTP" + end + end +end diff --git a/lib/auth0/types/flow_action_pipedrive.rb b/lib/auth0/types/flow_action_pipedrive.rb new file mode 100644 index 000000000..b36ebea6b --- /dev/null +++ b/lib/auth0/types/flow_action_pipedrive.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionPipedrive < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::FlowActionPipedriveAddDeal } + + member -> { Auth0::Types::FlowActionPipedriveAddOrganization } + + member -> { Auth0::Types::FlowActionPipedriveAddPerson } + end + end +end diff --git a/lib/auth0/types/flow_action_pipedrive_add_deal.rb b/lib/auth0/types/flow_action_pipedrive_add_deal.rb new file mode 100644 index 000000000..8a2e285cc --- /dev/null +++ b/lib/auth0/types/flow_action_pipedrive_add_deal.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionPipedriveAddDeal < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionPipedriveAddDealType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionPipedriveAddDealAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionPipedriveAddDealParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_pipedrive_add_deal_action.rb b/lib/auth0/types/flow_action_pipedrive_add_deal_action.rb new file mode 100644 index 000000000..cbd984938 --- /dev/null +++ b/lib/auth0/types/flow_action_pipedrive_add_deal_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionPipedriveAddDealAction + extend Auth0::Internal::Types::Enum + + ADD_DEAL = "ADD_DEAL" + end + end +end diff --git a/lib/auth0/types/flow_action_pipedrive_add_deal_params.rb b/lib/auth0/types/flow_action_pipedrive_add_deal_params.rb new file mode 100644 index 000000000..a0d833543 --- /dev/null +++ b/lib/auth0/types/flow_action_pipedrive_add_deal_params.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionPipedriveAddDealParams < Internal::Types::Model + field :connection_id, -> { String }, optional: false, nullable: false + + field :title, -> { String }, optional: false, nullable: false + + field :value, -> { String }, optional: true, nullable: false + + field :user_id, -> { Auth0::Types::FlowActionPipedriveAddDealParamsUserID }, optional: true, nullable: false + + field :person_id, -> { Auth0::Types::FlowActionPipedriveAddDealParamsPersonID }, optional: true, nullable: false + + field :organization_id, -> { Auth0::Types::FlowActionPipedriveAddDealParamsOrganizationID }, optional: true, nullable: false + + field :stage_id, -> { Auth0::Types::FlowActionPipedriveAddDealParamsStageID }, optional: true, nullable: false + + field :fields, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_pipedrive_add_deal_params_fields.rb b/lib/auth0/types/flow_action_pipedrive_add_deal_params_fields.rb new file mode 100644 index 000000000..12cc0974b --- /dev/null +++ b/lib/auth0/types/flow_action_pipedrive_add_deal_params_fields.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionPipedriveAddDealParamsFields + # FlowActionPipedriveAddDealParamsFields is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/flow_action_pipedrive_add_deal_params_organization_id.rb b/lib/auth0/types/flow_action_pipedrive_add_deal_params_organization_id.rb new file mode 100644 index 000000000..31a51ef29 --- /dev/null +++ b/lib/auth0/types/flow_action_pipedrive_add_deal_params_organization_id.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionPipedriveAddDealParamsOrganizationID < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { String } + + member -> { Integer } + end + end +end diff --git a/lib/auth0/types/flow_action_pipedrive_add_deal_params_person_id.rb b/lib/auth0/types/flow_action_pipedrive_add_deal_params_person_id.rb new file mode 100644 index 000000000..b8388e2d6 --- /dev/null +++ b/lib/auth0/types/flow_action_pipedrive_add_deal_params_person_id.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionPipedriveAddDealParamsPersonID < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { String } + + member -> { Integer } + end + end +end diff --git a/lib/auth0/types/flow_action_pipedrive_add_deal_params_stage_id.rb b/lib/auth0/types/flow_action_pipedrive_add_deal_params_stage_id.rb new file mode 100644 index 000000000..b3f8b6f6f --- /dev/null +++ b/lib/auth0/types/flow_action_pipedrive_add_deal_params_stage_id.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionPipedriveAddDealParamsStageID < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { String } + + member -> { Integer } + end + end +end diff --git a/lib/auth0/types/flow_action_pipedrive_add_deal_params_user_id.rb b/lib/auth0/types/flow_action_pipedrive_add_deal_params_user_id.rb new file mode 100644 index 000000000..212021ee4 --- /dev/null +++ b/lib/auth0/types/flow_action_pipedrive_add_deal_params_user_id.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionPipedriveAddDealParamsUserID < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { String } + + member -> { Integer } + end + end +end diff --git a/lib/auth0/types/flow_action_pipedrive_add_deal_type.rb b/lib/auth0/types/flow_action_pipedrive_add_deal_type.rb new file mode 100644 index 000000000..5c5c6ad33 --- /dev/null +++ b/lib/auth0/types/flow_action_pipedrive_add_deal_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionPipedriveAddDealType + extend Auth0::Internal::Types::Enum + + PIPEDRIVE = "PIPEDRIVE" + end + end +end diff --git a/lib/auth0/types/flow_action_pipedrive_add_organization.rb b/lib/auth0/types/flow_action_pipedrive_add_organization.rb new file mode 100644 index 000000000..703ab3896 --- /dev/null +++ b/lib/auth0/types/flow_action_pipedrive_add_organization.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionPipedriveAddOrganization < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionPipedriveAddOrganizationType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionPipedriveAddOrganizationAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionPipedriveAddOrganizationParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_pipedrive_add_organization_action.rb b/lib/auth0/types/flow_action_pipedrive_add_organization_action.rb new file mode 100644 index 000000000..5eb4c6924 --- /dev/null +++ b/lib/auth0/types/flow_action_pipedrive_add_organization_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionPipedriveAddOrganizationAction + extend Auth0::Internal::Types::Enum + + ADD_ORGANIZATION = "ADD_ORGANIZATION" + end + end +end diff --git a/lib/auth0/types/flow_action_pipedrive_add_organization_params.rb b/lib/auth0/types/flow_action_pipedrive_add_organization_params.rb new file mode 100644 index 000000000..4d8f9ec90 --- /dev/null +++ b/lib/auth0/types/flow_action_pipedrive_add_organization_params.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionPipedriveAddOrganizationParams < Internal::Types::Model + field :connection_id, -> { String }, optional: false, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :owner_id, -> { Auth0::Types::FlowActionPipedriveAddOrganizationParamsOwnerID }, optional: true, nullable: false + + field :fields, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_pipedrive_add_organization_params_fields.rb b/lib/auth0/types/flow_action_pipedrive_add_organization_params_fields.rb new file mode 100644 index 000000000..0eace3cd7 --- /dev/null +++ b/lib/auth0/types/flow_action_pipedrive_add_organization_params_fields.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionPipedriveAddOrganizationParamsFields + # FlowActionPipedriveAddOrganizationParamsFields is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/flow_action_pipedrive_add_organization_params_owner_id.rb b/lib/auth0/types/flow_action_pipedrive_add_organization_params_owner_id.rb new file mode 100644 index 000000000..bf3c40ff5 --- /dev/null +++ b/lib/auth0/types/flow_action_pipedrive_add_organization_params_owner_id.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionPipedriveAddOrganizationParamsOwnerID < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { String } + + member -> { Integer } + end + end +end diff --git a/lib/auth0/types/flow_action_pipedrive_add_organization_type.rb b/lib/auth0/types/flow_action_pipedrive_add_organization_type.rb new file mode 100644 index 000000000..4a950ac4b --- /dev/null +++ b/lib/auth0/types/flow_action_pipedrive_add_organization_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionPipedriveAddOrganizationType + extend Auth0::Internal::Types::Enum + + PIPEDRIVE = "PIPEDRIVE" + end + end +end diff --git a/lib/auth0/types/flow_action_pipedrive_add_person.rb b/lib/auth0/types/flow_action_pipedrive_add_person.rb new file mode 100644 index 000000000..abbf28b95 --- /dev/null +++ b/lib/auth0/types/flow_action_pipedrive_add_person.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionPipedriveAddPerson < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionPipedriveAddPersonType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionPipedriveAddPersonAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionPipedriveAddPersonParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_pipedrive_add_person_action.rb b/lib/auth0/types/flow_action_pipedrive_add_person_action.rb new file mode 100644 index 000000000..b83fe061f --- /dev/null +++ b/lib/auth0/types/flow_action_pipedrive_add_person_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionPipedriveAddPersonAction + extend Auth0::Internal::Types::Enum + + ADD_PERSON = "ADD_PERSON" + end + end +end diff --git a/lib/auth0/types/flow_action_pipedrive_add_person_params.rb b/lib/auth0/types/flow_action_pipedrive_add_person_params.rb new file mode 100644 index 000000000..3a22b09a9 --- /dev/null +++ b/lib/auth0/types/flow_action_pipedrive_add_person_params.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionPipedriveAddPersonParams < Internal::Types::Model + field :connection_id, -> { String }, optional: false, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :email, -> { String }, optional: true, nullable: false + + field :phone, -> { String }, optional: true, nullable: false + + field :owner_id, -> { Auth0::Types::FlowActionPipedriveAddPersonParamsOwnerID }, optional: true, nullable: false + + field :organization_id, -> { Auth0::Types::FlowActionPipedriveAddPersonParamsOrganizationID }, optional: true, nullable: false + + field :fields, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_pipedrive_add_person_params_fields.rb b/lib/auth0/types/flow_action_pipedrive_add_person_params_fields.rb new file mode 100644 index 000000000..3281cd7d7 --- /dev/null +++ b/lib/auth0/types/flow_action_pipedrive_add_person_params_fields.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionPipedriveAddPersonParamsFields + # FlowActionPipedriveAddPersonParamsFields is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/flow_action_pipedrive_add_person_params_organization_id.rb b/lib/auth0/types/flow_action_pipedrive_add_person_params_organization_id.rb new file mode 100644 index 000000000..7f988ddf9 --- /dev/null +++ b/lib/auth0/types/flow_action_pipedrive_add_person_params_organization_id.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionPipedriveAddPersonParamsOrganizationID < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { String } + + member -> { Integer } + end + end +end diff --git a/lib/auth0/types/flow_action_pipedrive_add_person_params_owner_id.rb b/lib/auth0/types/flow_action_pipedrive_add_person_params_owner_id.rb new file mode 100644 index 000000000..17f561dff --- /dev/null +++ b/lib/auth0/types/flow_action_pipedrive_add_person_params_owner_id.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionPipedriveAddPersonParamsOwnerID < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { String } + + member -> { Integer } + end + end +end diff --git a/lib/auth0/types/flow_action_pipedrive_add_person_type.rb b/lib/auth0/types/flow_action_pipedrive_add_person_type.rb new file mode 100644 index 000000000..42a0976aa --- /dev/null +++ b/lib/auth0/types/flow_action_pipedrive_add_person_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionPipedriveAddPersonType + extend Auth0::Internal::Types::Enum + + PIPEDRIVE = "PIPEDRIVE" + end + end +end diff --git a/lib/auth0/types/flow_action_salesforce.rb b/lib/auth0/types/flow_action_salesforce.rb new file mode 100644 index 000000000..fec5544e0 --- /dev/null +++ b/lib/auth0/types/flow_action_salesforce.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionSalesforce < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::FlowActionSalesforceCreateLead } + + member -> { Auth0::Types::FlowActionSalesforceGetLead } + + member -> { Auth0::Types::FlowActionSalesforceSearchLeads } + + member -> { Auth0::Types::FlowActionSalesforceUpdateLead } + end + end +end diff --git a/lib/auth0/types/flow_action_salesforce_create_lead.rb b/lib/auth0/types/flow_action_salesforce_create_lead.rb new file mode 100644 index 000000000..a5e68b209 --- /dev/null +++ b/lib/auth0/types/flow_action_salesforce_create_lead.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionSalesforceCreateLead < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionSalesforceCreateLeadType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionSalesforceCreateLeadAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionSalesforceCreateLeadParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_salesforce_create_lead_action.rb b/lib/auth0/types/flow_action_salesforce_create_lead_action.rb new file mode 100644 index 000000000..cbe276946 --- /dev/null +++ b/lib/auth0/types/flow_action_salesforce_create_lead_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionSalesforceCreateLeadAction + extend Auth0::Internal::Types::Enum + + CREATE_LEAD = "CREATE_LEAD" + end + end +end diff --git a/lib/auth0/types/flow_action_salesforce_create_lead_params.rb b/lib/auth0/types/flow_action_salesforce_create_lead_params.rb new file mode 100644 index 000000000..9cdaae24c --- /dev/null +++ b/lib/auth0/types/flow_action_salesforce_create_lead_params.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionSalesforceCreateLeadParams < Internal::Types::Model + field :connection_id, -> { String }, optional: false, nullable: false + + field :first_name, -> { String }, optional: true, nullable: false + + field :last_name, -> { String }, optional: false, nullable: false + + field :company, -> { String }, optional: false, nullable: false + + field :email, -> { String }, optional: true, nullable: false + + field :phone, -> { String }, optional: true, nullable: false + + field :payload, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_salesforce_create_lead_params_payload.rb b/lib/auth0/types/flow_action_salesforce_create_lead_params_payload.rb new file mode 100644 index 000000000..95a4ca1cf --- /dev/null +++ b/lib/auth0/types/flow_action_salesforce_create_lead_params_payload.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionSalesforceCreateLeadParamsPayload + # FlowActionSalesforceCreateLeadParamsPayload is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/flow_action_salesforce_create_lead_type.rb b/lib/auth0/types/flow_action_salesforce_create_lead_type.rb new file mode 100644 index 000000000..b4146bf46 --- /dev/null +++ b/lib/auth0/types/flow_action_salesforce_create_lead_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionSalesforceCreateLeadType + extend Auth0::Internal::Types::Enum + + SALESFORCE = "SALESFORCE" + end + end +end diff --git a/lib/auth0/types/flow_action_salesforce_get_lead.rb b/lib/auth0/types/flow_action_salesforce_get_lead.rb new file mode 100644 index 000000000..b46015766 --- /dev/null +++ b/lib/auth0/types/flow_action_salesforce_get_lead.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionSalesforceGetLead < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionSalesforceGetLeadType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionSalesforceGetLeadAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionSalesforceGetLeadParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_salesforce_get_lead_action.rb b/lib/auth0/types/flow_action_salesforce_get_lead_action.rb new file mode 100644 index 000000000..8e22e5f44 --- /dev/null +++ b/lib/auth0/types/flow_action_salesforce_get_lead_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionSalesforceGetLeadAction + extend Auth0::Internal::Types::Enum + + GET_LEAD = "GET_LEAD" + end + end +end diff --git a/lib/auth0/types/flow_action_salesforce_get_lead_params.rb b/lib/auth0/types/flow_action_salesforce_get_lead_params.rb new file mode 100644 index 000000000..c2a760e13 --- /dev/null +++ b/lib/auth0/types/flow_action_salesforce_get_lead_params.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionSalesforceGetLeadParams < Internal::Types::Model + field :connection_id, -> { String }, optional: false, nullable: false + + field :lead_id, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_salesforce_get_lead_type.rb b/lib/auth0/types/flow_action_salesforce_get_lead_type.rb new file mode 100644 index 000000000..559a395c6 --- /dev/null +++ b/lib/auth0/types/flow_action_salesforce_get_lead_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionSalesforceGetLeadType + extend Auth0::Internal::Types::Enum + + SALESFORCE = "SALESFORCE" + end + end +end diff --git a/lib/auth0/types/flow_action_salesforce_search_leads.rb b/lib/auth0/types/flow_action_salesforce_search_leads.rb new file mode 100644 index 000000000..1d1d1ecc9 --- /dev/null +++ b/lib/auth0/types/flow_action_salesforce_search_leads.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionSalesforceSearchLeads < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionSalesforceSearchLeadsType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionSalesforceSearchLeadsAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionSalesforceSearchLeadsParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_salesforce_search_leads_action.rb b/lib/auth0/types/flow_action_salesforce_search_leads_action.rb new file mode 100644 index 000000000..47fc97e27 --- /dev/null +++ b/lib/auth0/types/flow_action_salesforce_search_leads_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionSalesforceSearchLeadsAction + extend Auth0::Internal::Types::Enum + + SEARCH_LEADS = "SEARCH_LEADS" + end + end +end diff --git a/lib/auth0/types/flow_action_salesforce_search_leads_params.rb b/lib/auth0/types/flow_action_salesforce_search_leads_params.rb new file mode 100644 index 000000000..5fd7c13e5 --- /dev/null +++ b/lib/auth0/types/flow_action_salesforce_search_leads_params.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionSalesforceSearchLeadsParams < Internal::Types::Model + field :connection_id, -> { String }, optional: false, nullable: false + + field :search_field, -> { Auth0::Types::FlowActionSalesforceSearchLeadsParamsSearchField }, optional: false, nullable: false + + field :search_value, -> { String }, optional: false, nullable: false + + field :lead_fields, -> { Internal::Types::Array[String] }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_salesforce_search_leads_params_search_field.rb b/lib/auth0/types/flow_action_salesforce_search_leads_params_search_field.rb new file mode 100644 index 000000000..76ca3ae7f --- /dev/null +++ b/lib/auth0/types/flow_action_salesforce_search_leads_params_search_field.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionSalesforceSearchLeadsParamsSearchField + extend Auth0::Internal::Types::Enum + + EMAIL = "email" + NAME = "name" + PHONE = "phone" + ALL = "all" + end + end +end diff --git a/lib/auth0/types/flow_action_salesforce_search_leads_type.rb b/lib/auth0/types/flow_action_salesforce_search_leads_type.rb new file mode 100644 index 000000000..75ecdf929 --- /dev/null +++ b/lib/auth0/types/flow_action_salesforce_search_leads_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionSalesforceSearchLeadsType + extend Auth0::Internal::Types::Enum + + SALESFORCE = "SALESFORCE" + end + end +end diff --git a/lib/auth0/types/flow_action_salesforce_update_lead.rb b/lib/auth0/types/flow_action_salesforce_update_lead.rb new file mode 100644 index 000000000..9f1311b97 --- /dev/null +++ b/lib/auth0/types/flow_action_salesforce_update_lead.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionSalesforceUpdateLead < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionSalesforceUpdateLeadType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionSalesforceUpdateLeadAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionSalesforceUpdateLeadParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_salesforce_update_lead_action.rb b/lib/auth0/types/flow_action_salesforce_update_lead_action.rb new file mode 100644 index 000000000..5c2162001 --- /dev/null +++ b/lib/auth0/types/flow_action_salesforce_update_lead_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionSalesforceUpdateLeadAction + extend Auth0::Internal::Types::Enum + + UPDATE_LEAD = "UPDATE_LEAD" + end + end +end diff --git a/lib/auth0/types/flow_action_salesforce_update_lead_params.rb b/lib/auth0/types/flow_action_salesforce_update_lead_params.rb new file mode 100644 index 000000000..09be1ec0b --- /dev/null +++ b/lib/auth0/types/flow_action_salesforce_update_lead_params.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionSalesforceUpdateLeadParams < Internal::Types::Model + field :connection_id, -> { String }, optional: false, nullable: false + + field :lead_id, -> { String }, optional: false, nullable: false + + field :payload, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_salesforce_update_lead_params_payload.rb b/lib/auth0/types/flow_action_salesforce_update_lead_params_payload.rb new file mode 100644 index 000000000..d28a98b7b --- /dev/null +++ b/lib/auth0/types/flow_action_salesforce_update_lead_params_payload.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionSalesforceUpdateLeadParamsPayload + # FlowActionSalesforceUpdateLeadParamsPayload is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/flow_action_salesforce_update_lead_type.rb b/lib/auth0/types/flow_action_salesforce_update_lead_type.rb new file mode 100644 index 000000000..b714f69a5 --- /dev/null +++ b/lib/auth0/types/flow_action_salesforce_update_lead_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionSalesforceUpdateLeadType + extend Auth0::Internal::Types::Enum + + SALESFORCE = "SALESFORCE" + end + end +end diff --git a/lib/auth0/types/flow_action_sendgrid.rb b/lib/auth0/types/flow_action_sendgrid.rb new file mode 100644 index 000000000..1e4bb5d19 --- /dev/null +++ b/lib/auth0/types/flow_action_sendgrid.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionSendgrid + # FlowActionSendgrid is an alias for FlowActionSendgridSendEmail + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/flow_action_sendgrid_send_email.rb b/lib/auth0/types/flow_action_sendgrid_send_email.rb new file mode 100644 index 000000000..9e5df12aa --- /dev/null +++ b/lib/auth0/types/flow_action_sendgrid_send_email.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionSendgridSendEmail < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionSendgridSendEmailType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionSendgridSendEmailAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionSendgridSendEmailParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_sendgrid_send_email_action.rb b/lib/auth0/types/flow_action_sendgrid_send_email_action.rb new file mode 100644 index 000000000..3e90546bc --- /dev/null +++ b/lib/auth0/types/flow_action_sendgrid_send_email_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionSendgridSendEmailAction + extend Auth0::Internal::Types::Enum + + SEND_EMAIL = "SEND_EMAIL" + end + end +end diff --git a/lib/auth0/types/flow_action_sendgrid_send_email_params.rb b/lib/auth0/types/flow_action_sendgrid_send_email_params.rb new file mode 100644 index 000000000..438d485b3 --- /dev/null +++ b/lib/auth0/types/flow_action_sendgrid_send_email_params.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionSendgridSendEmailParams < Internal::Types::Model + field :connection_id, -> { String }, optional: false, nullable: false + + field :from, -> { Auth0::Types::FlowActionSendgridSendEmailParamsPerson }, optional: false, nullable: false + + field :personalizations, -> { Internal::Types::Array[Object] }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_sendgrid_send_email_params_person.rb b/lib/auth0/types/flow_action_sendgrid_send_email_params_person.rb new file mode 100644 index 000000000..3692490ed --- /dev/null +++ b/lib/auth0/types/flow_action_sendgrid_send_email_params_person.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionSendgridSendEmailParamsPerson < Internal::Types::Model + field :name, -> { String }, optional: true, nullable: false + + field :email, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_sendgrid_send_email_type.rb b/lib/auth0/types/flow_action_sendgrid_send_email_type.rb new file mode 100644 index 000000000..dce34b6a8 --- /dev/null +++ b/lib/auth0/types/flow_action_sendgrid_send_email_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionSendgridSendEmailType + extend Auth0::Internal::Types::Enum + + SENDGRID = "SENDGRID" + end + end +end diff --git a/lib/auth0/types/flow_action_slack.rb b/lib/auth0/types/flow_action_slack.rb new file mode 100644 index 000000000..653906666 --- /dev/null +++ b/lib/auth0/types/flow_action_slack.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionSlack + # FlowActionSlack is an alias for FlowActionSlackPostMessage + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/flow_action_slack_post_message.rb b/lib/auth0/types/flow_action_slack_post_message.rb new file mode 100644 index 000000000..ac3efd731 --- /dev/null +++ b/lib/auth0/types/flow_action_slack_post_message.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionSlackPostMessage < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionSlackPostMessageType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionSlackPostMessageAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionSlackPostMessageParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_slack_post_message_action.rb b/lib/auth0/types/flow_action_slack_post_message_action.rb new file mode 100644 index 000000000..a55e5fd5d --- /dev/null +++ b/lib/auth0/types/flow_action_slack_post_message_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionSlackPostMessageAction + extend Auth0::Internal::Types::Enum + + POST_MESSAGE = "POST_MESSAGE" + end + end +end diff --git a/lib/auth0/types/flow_action_slack_post_message_params.rb b/lib/auth0/types/flow_action_slack_post_message_params.rb new file mode 100644 index 000000000..613ea059b --- /dev/null +++ b/lib/auth0/types/flow_action_slack_post_message_params.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionSlackPostMessageParams < Internal::Types::Model + field :connection_id, -> { String }, optional: false, nullable: false + + field :text, -> { String }, optional: true, nullable: false + + field :attachments, -> { Internal::Types::Array[Auth0::Types::FlowActionSlackPostMessageParamsAttachment] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_slack_post_message_params_attachment.rb b/lib/auth0/types/flow_action_slack_post_message_params_attachment.rb new file mode 100644 index 000000000..cbe2bd609 --- /dev/null +++ b/lib/auth0/types/flow_action_slack_post_message_params_attachment.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionSlackPostMessageParamsAttachment < Internal::Types::Model + field :color, -> { Auth0::Types::FlowActionSlackPostMessageParamsAttachmentColor }, optional: true, nullable: false + + field :pretext, -> { String }, optional: true, nullable: false + + field :text, -> { String }, optional: true, nullable: false + + field :fields, -> { Internal::Types::Array[Auth0::Types::FlowActionSlackPostMessageParamsAttachmentField] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_slack_post_message_params_attachment_color.rb b/lib/auth0/types/flow_action_slack_post_message_params_attachment_color.rb new file mode 100644 index 000000000..28409e36c --- /dev/null +++ b/lib/auth0/types/flow_action_slack_post_message_params_attachment_color.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionSlackPostMessageParamsAttachmentColor + extend Auth0::Internal::Types::Enum + + GOOD = "GOOD" + WARNING = "WARNING" + DANGER = "DANGER" + end + end +end diff --git a/lib/auth0/types/flow_action_slack_post_message_params_attachment_field.rb b/lib/auth0/types/flow_action_slack_post_message_params_attachment_field.rb new file mode 100644 index 000000000..81283abfd --- /dev/null +++ b/lib/auth0/types/flow_action_slack_post_message_params_attachment_field.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionSlackPostMessageParamsAttachmentField < Internal::Types::Model + field :title, -> { String }, optional: false, nullable: false + + field :value, -> { String }, optional: true, nullable: false + + field :short, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_slack_post_message_type.rb b/lib/auth0/types/flow_action_slack_post_message_type.rb new file mode 100644 index 000000000..f66816e62 --- /dev/null +++ b/lib/auth0/types/flow_action_slack_post_message_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionSlackPostMessageType + extend Auth0::Internal::Types::Enum + + SLACK = "SLACK" + end + end +end diff --git a/lib/auth0/types/flow_action_stripe.rb b/lib/auth0/types/flow_action_stripe.rb new file mode 100644 index 000000000..5b6e722f5 --- /dev/null +++ b/lib/auth0/types/flow_action_stripe.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionStripe < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::FlowActionStripeAddTaxID } + + member -> { Auth0::Types::FlowActionStripeCreateCustomer } + + member -> { Auth0::Types::FlowActionStripeCreatePortalSession } + + member -> { Auth0::Types::FlowActionStripeDeleteTaxID } + + member -> { Auth0::Types::FlowActionStripeFindCustomers } + + member -> { Auth0::Types::FlowActionStripeGetCustomer } + + member -> { Auth0::Types::FlowActionStripeUpdateCustomer } + end + end +end diff --git a/lib/auth0/types/flow_action_stripe_add_tax_id.rb b/lib/auth0/types/flow_action_stripe_add_tax_id.rb new file mode 100644 index 000000000..aef8f7b96 --- /dev/null +++ b/lib/auth0/types/flow_action_stripe_add_tax_id.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionStripeAddTaxID < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionStripeAddTaxIDType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionStripeAddTaxIDAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionStripeAddTaxIDParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_stripe_add_tax_id_action.rb b/lib/auth0/types/flow_action_stripe_add_tax_id_action.rb new file mode 100644 index 000000000..d1a103d47 --- /dev/null +++ b/lib/auth0/types/flow_action_stripe_add_tax_id_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionStripeAddTaxIDAction + extend Auth0::Internal::Types::Enum + + ADD_TAX_ID = "ADD_TAX_ID" + end + end +end diff --git a/lib/auth0/types/flow_action_stripe_add_tax_id_params.rb b/lib/auth0/types/flow_action_stripe_add_tax_id_params.rb new file mode 100644 index 000000000..2689c815e --- /dev/null +++ b/lib/auth0/types/flow_action_stripe_add_tax_id_params.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionStripeAddTaxIDParams < Internal::Types::Model + field :connection_id, -> { String }, optional: false, nullable: false + + field :customer_id, -> { String }, optional: false, nullable: false + + field :type, -> { String }, optional: false, nullable: false + + field :value, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_stripe_add_tax_id_type.rb b/lib/auth0/types/flow_action_stripe_add_tax_id_type.rb new file mode 100644 index 000000000..fe42cba79 --- /dev/null +++ b/lib/auth0/types/flow_action_stripe_add_tax_id_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionStripeAddTaxIDType + extend Auth0::Internal::Types::Enum + + STRIPE = "STRIPE" + end + end +end diff --git a/lib/auth0/types/flow_action_stripe_address.rb b/lib/auth0/types/flow_action_stripe_address.rb new file mode 100644 index 000000000..b9245da14 --- /dev/null +++ b/lib/auth0/types/flow_action_stripe_address.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionStripeAddress < Internal::Types::Model + field :line1, -> { String }, optional: true, nullable: false + + field :line2, -> { String }, optional: true, nullable: false + + field :postal_code, -> { String }, optional: true, nullable: false, api_name: "postalCode" + + field :city, -> { String }, optional: true, nullable: false + + field :state, -> { String }, optional: true, nullable: false + + field :country, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_stripe_create_customer.rb b/lib/auth0/types/flow_action_stripe_create_customer.rb new file mode 100644 index 000000000..69e3dd63e --- /dev/null +++ b/lib/auth0/types/flow_action_stripe_create_customer.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionStripeCreateCustomer < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionStripeCreateCustomerType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionStripeCreateCustomerAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionStripeCreateCustomerParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_stripe_create_customer_action.rb b/lib/auth0/types/flow_action_stripe_create_customer_action.rb new file mode 100644 index 000000000..d9163e357 --- /dev/null +++ b/lib/auth0/types/flow_action_stripe_create_customer_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionStripeCreateCustomerAction + extend Auth0::Internal::Types::Enum + + CREATE_CUSTOMER = "CREATE_CUSTOMER" + end + end +end diff --git a/lib/auth0/types/flow_action_stripe_create_customer_params.rb b/lib/auth0/types/flow_action_stripe_create_customer_params.rb new file mode 100644 index 000000000..474552e4b --- /dev/null +++ b/lib/auth0/types/flow_action_stripe_create_customer_params.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionStripeCreateCustomerParams < Internal::Types::Model + field :connection_id, -> { String }, optional: false, nullable: false + + field :tax_id, -> { Auth0::Types::FlowActionStripeTaxID }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :description, -> { String }, optional: true, nullable: false + + field :email, -> { String }, optional: true, nullable: false + + field :phone, -> { String }, optional: true, nullable: false + + field :tax_exempt, -> { String }, optional: true, nullable: false + + field :address, -> { Auth0::Types::FlowActionStripeAddress }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_stripe_create_customer_type.rb b/lib/auth0/types/flow_action_stripe_create_customer_type.rb new file mode 100644 index 000000000..96c2b59fa --- /dev/null +++ b/lib/auth0/types/flow_action_stripe_create_customer_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionStripeCreateCustomerType + extend Auth0::Internal::Types::Enum + + STRIPE = "STRIPE" + end + end +end diff --git a/lib/auth0/types/flow_action_stripe_create_portal_session.rb b/lib/auth0/types/flow_action_stripe_create_portal_session.rb new file mode 100644 index 000000000..b1db1ff69 --- /dev/null +++ b/lib/auth0/types/flow_action_stripe_create_portal_session.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionStripeCreatePortalSession < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionStripeCreatePortalSessionType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionStripeCreatePortalSessionAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionStripeCreatePortalSessionParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_stripe_create_portal_session_action.rb b/lib/auth0/types/flow_action_stripe_create_portal_session_action.rb new file mode 100644 index 000000000..124faed33 --- /dev/null +++ b/lib/auth0/types/flow_action_stripe_create_portal_session_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionStripeCreatePortalSessionAction + extend Auth0::Internal::Types::Enum + + CREATE_PORTAL_SESSION = "CREATE_PORTAL_SESSION" + end + end +end diff --git a/lib/auth0/types/flow_action_stripe_create_portal_session_params.rb b/lib/auth0/types/flow_action_stripe_create_portal_session_params.rb new file mode 100644 index 000000000..00c6c838b --- /dev/null +++ b/lib/auth0/types/flow_action_stripe_create_portal_session_params.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionStripeCreatePortalSessionParams < Internal::Types::Model + field :connection_id, -> { String }, optional: false, nullable: false + + field :customer_id, -> { String }, optional: false, nullable: false + + field :return_url, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_stripe_create_portal_session_type.rb b/lib/auth0/types/flow_action_stripe_create_portal_session_type.rb new file mode 100644 index 000000000..e3fe452ae --- /dev/null +++ b/lib/auth0/types/flow_action_stripe_create_portal_session_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionStripeCreatePortalSessionType + extend Auth0::Internal::Types::Enum + + STRIPE = "STRIPE" + end + end +end diff --git a/lib/auth0/types/flow_action_stripe_delete_tax_id.rb b/lib/auth0/types/flow_action_stripe_delete_tax_id.rb new file mode 100644 index 000000000..7a12ae80e --- /dev/null +++ b/lib/auth0/types/flow_action_stripe_delete_tax_id.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionStripeDeleteTaxID < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionStripeDeleteTaxIDType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionStripeDeleteTaxIDAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionStripeDeleteTaxIDParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_stripe_delete_tax_id_action.rb b/lib/auth0/types/flow_action_stripe_delete_tax_id_action.rb new file mode 100644 index 000000000..08ff577ee --- /dev/null +++ b/lib/auth0/types/flow_action_stripe_delete_tax_id_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionStripeDeleteTaxIDAction + extend Auth0::Internal::Types::Enum + + DELETE_TAX_ID = "DELETE_TAX_ID" + end + end +end diff --git a/lib/auth0/types/flow_action_stripe_delete_tax_id_params.rb b/lib/auth0/types/flow_action_stripe_delete_tax_id_params.rb new file mode 100644 index 000000000..5cbcd04e4 --- /dev/null +++ b/lib/auth0/types/flow_action_stripe_delete_tax_id_params.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionStripeDeleteTaxIDParams < Internal::Types::Model + field :connection_id, -> { String }, optional: false, nullable: false + + field :customer_id, -> { String }, optional: false, nullable: false + + field :id, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_stripe_delete_tax_id_type.rb b/lib/auth0/types/flow_action_stripe_delete_tax_id_type.rb new file mode 100644 index 000000000..f1438b7ea --- /dev/null +++ b/lib/auth0/types/flow_action_stripe_delete_tax_id_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionStripeDeleteTaxIDType + extend Auth0::Internal::Types::Enum + + STRIPE = "STRIPE" + end + end +end diff --git a/lib/auth0/types/flow_action_stripe_find_customers.rb b/lib/auth0/types/flow_action_stripe_find_customers.rb new file mode 100644 index 000000000..63c3d3b13 --- /dev/null +++ b/lib/auth0/types/flow_action_stripe_find_customers.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionStripeFindCustomers < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionStripeFindCustomersType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionStripeFindCustomersAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionStripeFindCustomersParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_stripe_find_customers_action.rb b/lib/auth0/types/flow_action_stripe_find_customers_action.rb new file mode 100644 index 000000000..af1a4ea00 --- /dev/null +++ b/lib/auth0/types/flow_action_stripe_find_customers_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionStripeFindCustomersAction + extend Auth0::Internal::Types::Enum + + FIND_CUSTOMERS = "FIND_CUSTOMERS" + end + end +end diff --git a/lib/auth0/types/flow_action_stripe_find_customers_params.rb b/lib/auth0/types/flow_action_stripe_find_customers_params.rb new file mode 100644 index 000000000..9ccc69e42 --- /dev/null +++ b/lib/auth0/types/flow_action_stripe_find_customers_params.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionStripeFindCustomersParams < Internal::Types::Model + field :connection_id, -> { String }, optional: false, nullable: false + + field :email, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_stripe_find_customers_type.rb b/lib/auth0/types/flow_action_stripe_find_customers_type.rb new file mode 100644 index 000000000..91fcd7cdd --- /dev/null +++ b/lib/auth0/types/flow_action_stripe_find_customers_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionStripeFindCustomersType + extend Auth0::Internal::Types::Enum + + STRIPE = "STRIPE" + end + end +end diff --git a/lib/auth0/types/flow_action_stripe_get_customer.rb b/lib/auth0/types/flow_action_stripe_get_customer.rb new file mode 100644 index 000000000..e3229879e --- /dev/null +++ b/lib/auth0/types/flow_action_stripe_get_customer.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionStripeGetCustomer < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionStripeGetCustomerType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionStripeGetCustomerAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionStripeGetCustomerParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_stripe_get_customer_action.rb b/lib/auth0/types/flow_action_stripe_get_customer_action.rb new file mode 100644 index 000000000..6e2dac6bb --- /dev/null +++ b/lib/auth0/types/flow_action_stripe_get_customer_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionStripeGetCustomerAction + extend Auth0::Internal::Types::Enum + + GET_CUSTOMER = "GET_CUSTOMER" + end + end +end diff --git a/lib/auth0/types/flow_action_stripe_get_customer_params.rb b/lib/auth0/types/flow_action_stripe_get_customer_params.rb new file mode 100644 index 000000000..2eefb49c6 --- /dev/null +++ b/lib/auth0/types/flow_action_stripe_get_customer_params.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionStripeGetCustomerParams < Internal::Types::Model + field :connection_id, -> { String }, optional: false, nullable: false + + field :id, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_stripe_get_customer_type.rb b/lib/auth0/types/flow_action_stripe_get_customer_type.rb new file mode 100644 index 000000000..a26acb3a7 --- /dev/null +++ b/lib/auth0/types/flow_action_stripe_get_customer_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionStripeGetCustomerType + extend Auth0::Internal::Types::Enum + + STRIPE = "STRIPE" + end + end +end diff --git a/lib/auth0/types/flow_action_stripe_metadata.rb b/lib/auth0/types/flow_action_stripe_metadata.rb new file mode 100644 index 000000000..985835426 --- /dev/null +++ b/lib/auth0/types/flow_action_stripe_metadata.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionStripeMetadata + # FlowActionStripeMetadata is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/flow_action_stripe_tax_id.rb b/lib/auth0/types/flow_action_stripe_tax_id.rb new file mode 100644 index 000000000..e1203d3e8 --- /dev/null +++ b/lib/auth0/types/flow_action_stripe_tax_id.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionStripeTaxID < Internal::Types::Model + field :type, -> { String }, optional: false, nullable: false + + field :value, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_stripe_update_customer.rb b/lib/auth0/types/flow_action_stripe_update_customer.rb new file mode 100644 index 000000000..bc9da28ad --- /dev/null +++ b/lib/auth0/types/flow_action_stripe_update_customer.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionStripeUpdateCustomer < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionStripeUpdateCustomerType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionStripeUpdateCustomerAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionStripeUpdateCustomerParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_stripe_update_customer_action.rb b/lib/auth0/types/flow_action_stripe_update_customer_action.rb new file mode 100644 index 000000000..c3a7e176f --- /dev/null +++ b/lib/auth0/types/flow_action_stripe_update_customer_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionStripeUpdateCustomerAction + extend Auth0::Internal::Types::Enum + + UPDATE_CUSTOMER = "UPDATE_CUSTOMER" + end + end +end diff --git a/lib/auth0/types/flow_action_stripe_update_customer_params.rb b/lib/auth0/types/flow_action_stripe_update_customer_params.rb new file mode 100644 index 000000000..30a249ead --- /dev/null +++ b/lib/auth0/types/flow_action_stripe_update_customer_params.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionStripeUpdateCustomerParams < Internal::Types::Model + field :connection_id, -> { String }, optional: false, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :description, -> { String }, optional: true, nullable: false + + field :email, -> { String }, optional: true, nullable: false + + field :phone, -> { String }, optional: true, nullable: false + + field :tax_exempt, -> { String }, optional: true, nullable: false + + field :address, -> { Auth0::Types::FlowActionStripeAddress }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_stripe_update_customer_type.rb b/lib/auth0/types/flow_action_stripe_update_customer_type.rb new file mode 100644 index 000000000..da88e3ae3 --- /dev/null +++ b/lib/auth0/types/flow_action_stripe_update_customer_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionStripeUpdateCustomerType + extend Auth0::Internal::Types::Enum + + STRIPE = "STRIPE" + end + end +end diff --git a/lib/auth0/types/flow_action_telegram.rb b/lib/auth0/types/flow_action_telegram.rb new file mode 100644 index 000000000..75c41f9a3 --- /dev/null +++ b/lib/auth0/types/flow_action_telegram.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionTelegram + # FlowActionTelegram is an alias for FlowActionTelegramSendMessage + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/flow_action_telegram_send_message.rb b/lib/auth0/types/flow_action_telegram_send_message.rb new file mode 100644 index 000000000..800c09da3 --- /dev/null +++ b/lib/auth0/types/flow_action_telegram_send_message.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionTelegramSendMessage < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionTelegramSendMessageType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionTelegramSendMessageAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionTelegramSendMessageParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_telegram_send_message_action.rb b/lib/auth0/types/flow_action_telegram_send_message_action.rb new file mode 100644 index 000000000..d200d401c --- /dev/null +++ b/lib/auth0/types/flow_action_telegram_send_message_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionTelegramSendMessageAction + extend Auth0::Internal::Types::Enum + + SEND_MESSAGE = "SEND_MESSAGE" + end + end +end diff --git a/lib/auth0/types/flow_action_telegram_send_message_params.rb b/lib/auth0/types/flow_action_telegram_send_message_params.rb new file mode 100644 index 000000000..57cc1998e --- /dev/null +++ b/lib/auth0/types/flow_action_telegram_send_message_params.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionTelegramSendMessageParams < Internal::Types::Model + field :connection_id, -> { String }, optional: false, nullable: false + + field :chat_id, -> { String }, optional: false, nullable: false + + field :text, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_telegram_send_message_type.rb b/lib/auth0/types/flow_action_telegram_send_message_type.rb new file mode 100644 index 000000000..65702a979 --- /dev/null +++ b/lib/auth0/types/flow_action_telegram_send_message_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionTelegramSendMessageType + extend Auth0::Internal::Types::Enum + + TELEGRAM = "TELEGRAM" + end + end +end diff --git a/lib/auth0/types/flow_action_twilio.rb b/lib/auth0/types/flow_action_twilio.rb new file mode 100644 index 000000000..68850b63b --- /dev/null +++ b/lib/auth0/types/flow_action_twilio.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionTwilio < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::FlowActionTwilioMakeCall } + + member -> { Auth0::Types::FlowActionTwilioSendSms } + end + end +end diff --git a/lib/auth0/types/flow_action_twilio_make_call.rb b/lib/auth0/types/flow_action_twilio_make_call.rb new file mode 100644 index 000000000..3bb789a81 --- /dev/null +++ b/lib/auth0/types/flow_action_twilio_make_call.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionTwilioMakeCall < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionTwilioMakeCallType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionTwilioMakeCallAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionTwilioMakeCallParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_twilio_make_call_action.rb b/lib/auth0/types/flow_action_twilio_make_call_action.rb new file mode 100644 index 000000000..ae1837fc4 --- /dev/null +++ b/lib/auth0/types/flow_action_twilio_make_call_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionTwilioMakeCallAction + extend Auth0::Internal::Types::Enum + + MAKE_CALL = "MAKE_CALL" + end + end +end diff --git a/lib/auth0/types/flow_action_twilio_make_call_params.rb b/lib/auth0/types/flow_action_twilio_make_call_params.rb new file mode 100644 index 000000000..6ece92871 --- /dev/null +++ b/lib/auth0/types/flow_action_twilio_make_call_params.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionTwilioMakeCallParams < Internal::Types::Model + field :connection_id, -> { String }, optional: false, nullable: false + + field :from, -> { String }, optional: false, nullable: false + + field :to, -> { String }, optional: false, nullable: false + + field :payload, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_twilio_make_call_type.rb b/lib/auth0/types/flow_action_twilio_make_call_type.rb new file mode 100644 index 000000000..5c87a3023 --- /dev/null +++ b/lib/auth0/types/flow_action_twilio_make_call_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionTwilioMakeCallType + extend Auth0::Internal::Types::Enum + + TWILIO = "TWILIO" + end + end +end diff --git a/lib/auth0/types/flow_action_twilio_send_sms.rb b/lib/auth0/types/flow_action_twilio_send_sms.rb new file mode 100644 index 000000000..c08174b35 --- /dev/null +++ b/lib/auth0/types/flow_action_twilio_send_sms.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionTwilioSendSms < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionTwilioSendSmsType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionTwilioSendSmsAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionTwilioSendSmsParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_twilio_send_sms_action.rb b/lib/auth0/types/flow_action_twilio_send_sms_action.rb new file mode 100644 index 000000000..0d78eb9dc --- /dev/null +++ b/lib/auth0/types/flow_action_twilio_send_sms_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionTwilioSendSmsAction + extend Auth0::Internal::Types::Enum + + SEND_SMS = "SEND_SMS" + end + end +end diff --git a/lib/auth0/types/flow_action_twilio_send_sms_params.rb b/lib/auth0/types/flow_action_twilio_send_sms_params.rb new file mode 100644 index 000000000..744ea4492 --- /dev/null +++ b/lib/auth0/types/flow_action_twilio_send_sms_params.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionTwilioSendSmsParams < Internal::Types::Model + field :connection_id, -> { String }, optional: false, nullable: false + + field :from, -> { String }, optional: false, nullable: false + + field :to, -> { String }, optional: false, nullable: false + + field :message, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_twilio_send_sms_type.rb b/lib/auth0/types/flow_action_twilio_send_sms_type.rb new file mode 100644 index 000000000..110eebefa --- /dev/null +++ b/lib/auth0/types/flow_action_twilio_send_sms_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionTwilioSendSmsType + extend Auth0::Internal::Types::Enum + + TWILIO = "TWILIO" + end + end +end diff --git a/lib/auth0/types/flow_action_whatsapp.rb b/lib/auth0/types/flow_action_whatsapp.rb new file mode 100644 index 000000000..866bc3732 --- /dev/null +++ b/lib/auth0/types/flow_action_whatsapp.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionWhatsapp + # FlowActionWhatsapp is an alias for FlowActionWhatsappSendMessage + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/flow_action_whatsapp_send_message.rb b/lib/auth0/types/flow_action_whatsapp_send_message.rb new file mode 100644 index 000000000..5c1fc2eca --- /dev/null +++ b/lib/auth0/types/flow_action_whatsapp_send_message.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionWhatsappSendMessage < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionWhatsappSendMessageType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionWhatsappSendMessageAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionWhatsappSendMessageParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_whatsapp_send_message_action.rb b/lib/auth0/types/flow_action_whatsapp_send_message_action.rb new file mode 100644 index 000000000..75c7f79aa --- /dev/null +++ b/lib/auth0/types/flow_action_whatsapp_send_message_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionWhatsappSendMessageAction + extend Auth0::Internal::Types::Enum + + SEND_MESSAGE = "SEND_MESSAGE" + end + end +end diff --git a/lib/auth0/types/flow_action_whatsapp_send_message_params.rb b/lib/auth0/types/flow_action_whatsapp_send_message_params.rb new file mode 100644 index 000000000..80afad41d --- /dev/null +++ b/lib/auth0/types/flow_action_whatsapp_send_message_params.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionWhatsappSendMessageParams < Internal::Types::Model + field :connection_id, -> { String }, optional: false, nullable: false + + field :sender_id, -> { String }, optional: false, nullable: false + + field :recipient_number, -> { String }, optional: false, nullable: false + + field :type, -> { Auth0::Types::FlowActionWhatsappSendMessageParamsType }, optional: false, nullable: false + + field :payload, -> { Auth0::Types::FlowActionWhatsappSendMessageParamsPayload }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_whatsapp_send_message_params_payload.rb b/lib/auth0/types/flow_action_whatsapp_send_message_params_payload.rb new file mode 100644 index 000000000..da24323da --- /dev/null +++ b/lib/auth0/types/flow_action_whatsapp_send_message_params_payload.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionWhatsappSendMessageParamsPayload < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Internal::Types::Hash[String, Object] } + + member -> { String } + end + end +end diff --git a/lib/auth0/types/flow_action_whatsapp_send_message_params_payload_object.rb b/lib/auth0/types/flow_action_whatsapp_send_message_params_payload_object.rb new file mode 100644 index 000000000..ba8f023f9 --- /dev/null +++ b/lib/auth0/types/flow_action_whatsapp_send_message_params_payload_object.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionWhatsappSendMessageParamsPayloadObject + # FlowActionWhatsappSendMessageParamsPayloadObject is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/flow_action_whatsapp_send_message_params_type.rb b/lib/auth0/types/flow_action_whatsapp_send_message_params_type.rb new file mode 100644 index 000000000..853c066f7 --- /dev/null +++ b/lib/auth0/types/flow_action_whatsapp_send_message_params_type.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionWhatsappSendMessageParamsType + extend Auth0::Internal::Types::Enum + + AUDIO = "AUDIO" + CONTACTS = "CONTACTS" + DOCUMENT = "DOCUMENT" + IMAGE = "IMAGE" + INTERACTIVE = "INTERACTIVE" + LOCATION = "LOCATION" + STICKER = "STICKER" + TEMPLATE = "TEMPLATE" + TEXT = "TEXT" + end + end +end diff --git a/lib/auth0/types/flow_action_whatsapp_send_message_type.rb b/lib/auth0/types/flow_action_whatsapp_send_message_type.rb new file mode 100644 index 000000000..131fafd6f --- /dev/null +++ b/lib/auth0/types/flow_action_whatsapp_send_message_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionWhatsappSendMessageType + extend Auth0::Internal::Types::Enum + + WHATSAPP = "WHATSAPP" + end + end +end diff --git a/lib/auth0/types/flow_action_xml.rb b/lib/auth0/types/flow_action_xml.rb new file mode 100644 index 000000000..b0e5198bd --- /dev/null +++ b/lib/auth0/types/flow_action_xml.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionXML < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::FlowActionXMLParseXML } + + member -> { Auth0::Types::FlowActionXMLSerializeXML } + end + end +end diff --git a/lib/auth0/types/flow_action_xml_parse_xml.rb b/lib/auth0/types/flow_action_xml_parse_xml.rb new file mode 100644 index 000000000..9f47369bc --- /dev/null +++ b/lib/auth0/types/flow_action_xml_parse_xml.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionXMLParseXML < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionXMLParseXMLType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionXMLParseXMLAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionXMLParseXMLParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_xml_parse_xml_action.rb b/lib/auth0/types/flow_action_xml_parse_xml_action.rb new file mode 100644 index 000000000..affec9339 --- /dev/null +++ b/lib/auth0/types/flow_action_xml_parse_xml_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionXMLParseXMLAction + extend Auth0::Internal::Types::Enum + + PARSE_XML = "PARSE_XML" + end + end +end diff --git a/lib/auth0/types/flow_action_xml_parse_xml_params.rb b/lib/auth0/types/flow_action_xml_parse_xml_params.rb new file mode 100644 index 000000000..d17c16cf3 --- /dev/null +++ b/lib/auth0/types/flow_action_xml_parse_xml_params.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionXMLParseXMLParams < Internal::Types::Model + field :xml, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_xml_parse_xml_type.rb b/lib/auth0/types/flow_action_xml_parse_xml_type.rb new file mode 100644 index 000000000..cc102e4e5 --- /dev/null +++ b/lib/auth0/types/flow_action_xml_parse_xml_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionXMLParseXMLType + extend Auth0::Internal::Types::Enum + + XML = "XML" + end + end +end diff --git a/lib/auth0/types/flow_action_xml_serialize_xml.rb b/lib/auth0/types/flow_action_xml_serialize_xml.rb new file mode 100644 index 000000000..26301db98 --- /dev/null +++ b/lib/auth0/types/flow_action_xml_serialize_xml.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionXMLSerializeXML < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionXMLSerializeXMLType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionXMLSerializeXMLAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionXMLSerializeXMLParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_xml_serialize_xml_action.rb b/lib/auth0/types/flow_action_xml_serialize_xml_action.rb new file mode 100644 index 000000000..42d6b716a --- /dev/null +++ b/lib/auth0/types/flow_action_xml_serialize_xml_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionXMLSerializeXMLAction + extend Auth0::Internal::Types::Enum + + SERIALIZE_XML = "SERIALIZE_XML" + end + end +end diff --git a/lib/auth0/types/flow_action_xml_serialize_xml_params.rb b/lib/auth0/types/flow_action_xml_serialize_xml_params.rb new file mode 100644 index 000000000..eba749d62 --- /dev/null +++ b/lib/auth0/types/flow_action_xml_serialize_xml_params.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionXMLSerializeXMLParams < Internal::Types::Model + field :object, -> { Auth0::Types::FlowActionXMLSerializeXMLParamsObject }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_xml_serialize_xml_params_object.rb b/lib/auth0/types/flow_action_xml_serialize_xml_params_object.rb new file mode 100644 index 000000000..f633a01c2 --- /dev/null +++ b/lib/auth0/types/flow_action_xml_serialize_xml_params_object.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionXMLSerializeXMLParamsObject < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { String } + + member -> { Internal::Types::Hash[String, Object] } + end + end +end diff --git a/lib/auth0/types/flow_action_xml_serialize_xml_params_object_object.rb b/lib/auth0/types/flow_action_xml_serialize_xml_params_object_object.rb new file mode 100644 index 000000000..910497fa9 --- /dev/null +++ b/lib/auth0/types/flow_action_xml_serialize_xml_params_object_object.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionXMLSerializeXMLParamsObjectObject + # FlowActionXMLSerializeXMLParamsObjectObject is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/flow_action_xml_serialize_xml_type.rb b/lib/auth0/types/flow_action_xml_serialize_xml_type.rb new file mode 100644 index 000000000..ba3561c68 --- /dev/null +++ b/lib/auth0/types/flow_action_xml_serialize_xml_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionXMLSerializeXMLType + extend Auth0::Internal::Types::Enum + + XML = "XML" + end + end +end diff --git a/lib/auth0/types/flow_action_zapier.rb b/lib/auth0/types/flow_action_zapier.rb new file mode 100644 index 000000000..96698541f --- /dev/null +++ b/lib/auth0/types/flow_action_zapier.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionZapier + # FlowActionZapier is an alias for FlowActionZapierTriggerWebhook + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/flow_action_zapier_trigger_webhook.rb b/lib/auth0/types/flow_action_zapier_trigger_webhook.rb new file mode 100644 index 000000000..13d648ade --- /dev/null +++ b/lib/auth0/types/flow_action_zapier_trigger_webhook.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionZapierTriggerWebhook < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :type, -> { Auth0::Types::FlowActionZapierTriggerWebhookType }, optional: false, nullable: false + + field :action, -> { Auth0::Types::FlowActionZapierTriggerWebhookAction }, optional: false, nullable: false + + field :allow_failure, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mask_output, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :params, -> { Auth0::Types::FlowActionZapierTriggerWebhookParams }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_action_zapier_trigger_webhook_action.rb b/lib/auth0/types/flow_action_zapier_trigger_webhook_action.rb new file mode 100644 index 000000000..b99d7e03a --- /dev/null +++ b/lib/auth0/types/flow_action_zapier_trigger_webhook_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionZapierTriggerWebhookAction + extend Auth0::Internal::Types::Enum + + TRIGGER_WEBHOOK = "TRIGGER_WEBHOOK" + end + end +end diff --git a/lib/auth0/types/flow_action_zapier_trigger_webhook_params.rb b/lib/auth0/types/flow_action_zapier_trigger_webhook_params.rb new file mode 100644 index 000000000..6bc6fce6d --- /dev/null +++ b/lib/auth0/types/flow_action_zapier_trigger_webhook_params.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowActionZapierTriggerWebhookParams < Internal::Types::Model + field :connection_id, -> { String }, optional: false, nullable: false + + field :method_, -> { Auth0::Types::FlowActionZapierTriggerWebhookParamsMethod }, optional: true, nullable: false, api_name: "method" + end + end +end diff --git a/lib/auth0/types/flow_action_zapier_trigger_webhook_params_method.rb b/lib/auth0/types/flow_action_zapier_trigger_webhook_params_method.rb new file mode 100644 index 000000000..7a65b1ba7 --- /dev/null +++ b/lib/auth0/types/flow_action_zapier_trigger_webhook_params_method.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionZapierTriggerWebhookParamsMethod + extend Auth0::Internal::Types::Enum + + GET = "GET" + POST = "POST" + PUT = "PUT" + end + end +end diff --git a/lib/auth0/types/flow_action_zapier_trigger_webhook_type.rb b/lib/auth0/types/flow_action_zapier_trigger_webhook_type.rb new file mode 100644 index 000000000..90f5b4b29 --- /dev/null +++ b/lib/auth0/types/flow_action_zapier_trigger_webhook_type.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowActionZapierTriggerWebhookType + extend Auth0::Internal::Types::Enum + + ZAPIER = "ZAPIER" + end + end +end diff --git a/lib/auth0/types/flow_execution_debug.rb b/lib/auth0/types/flow_execution_debug.rb new file mode 100644 index 000000000..e1051e0aa --- /dev/null +++ b/lib/auth0/types/flow_execution_debug.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowExecutionDebug + # FlowExecutionDebug is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/flow_execution_summary.rb b/lib/auth0/types/flow_execution_summary.rb new file mode 100644 index 000000000..009571f62 --- /dev/null +++ b/lib/auth0/types/flow_execution_summary.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowExecutionSummary < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :trace_id, -> { String }, optional: false, nullable: false + + field :journey_id, -> { String }, optional: true, nullable: false + + field :status, -> { String }, optional: false, nullable: false + + field :created_at, -> { String }, optional: false, nullable: false + + field :updated_at, -> { String }, optional: false, nullable: false + + field :started_at, -> { String }, optional: true, nullable: false + + field :ended_at, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/flow_summary.rb b/lib/auth0/types/flow_summary.rb new file mode 100644 index 000000000..21e51dcfe --- /dev/null +++ b/lib/auth0/types/flow_summary.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowSummary < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :created_at, -> { String }, optional: false, nullable: false + + field :updated_at, -> { String }, optional: false, nullable: false + + field :executed_at, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/flows_vault_connectio_setup_api_key.rb b/lib/auth0/types/flows_vault_connectio_setup_api_key.rb new file mode 100644 index 000000000..d98985d29 --- /dev/null +++ b/lib/auth0/types/flows_vault_connectio_setup_api_key.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowsVaultConnectioSetupAPIKey < Internal::Types::Model + field :type, -> { Auth0::Types::FlowsVaultConnectioSetupTypeAPIKeyEnum }, optional: false, nullable: false + + field :api_key, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flows_vault_connectio_setup_api_key_with_base_url.rb b/lib/auth0/types/flows_vault_connectio_setup_api_key_with_base_url.rb new file mode 100644 index 000000000..f77718898 --- /dev/null +++ b/lib/auth0/types/flows_vault_connectio_setup_api_key_with_base_url.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowsVaultConnectioSetupAPIKeyWithBaseURL < Internal::Types::Model + field :type, -> { Auth0::Types::FlowsVaultConnectioSetupTypeAPIKeyEnum }, optional: false, nullable: false + + field :api_key, -> { String }, optional: false, nullable: false + + field :base_url, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flows_vault_connectio_setup_bigquery_oauth_jwt.rb b/lib/auth0/types/flows_vault_connectio_setup_bigquery_oauth_jwt.rb new file mode 100644 index 000000000..f912d757a --- /dev/null +++ b/lib/auth0/types/flows_vault_connectio_setup_bigquery_oauth_jwt.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowsVaultConnectioSetupBigqueryOauthJwt < Internal::Types::Model + field :type, -> { Auth0::Types::FlowsVaultConnectioSetupTypeOauthJwtEnum }, optional: true, nullable: false + + field :project_id, -> { String }, optional: true, nullable: false + + field :private_key, -> { String }, optional: true, nullable: false + + field :client_email, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/flows_vault_connectio_setup_http_bearer.rb b/lib/auth0/types/flows_vault_connectio_setup_http_bearer.rb new file mode 100644 index 000000000..59275687c --- /dev/null +++ b/lib/auth0/types/flows_vault_connectio_setup_http_bearer.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowsVaultConnectioSetupHTTPBearer < Internal::Types::Model + field :type, -> { Auth0::Types::FlowsVaultConnectioSetupTypeBearerEnum }, optional: false, nullable: false + + field :token, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flows_vault_connectio_setup_jwt.rb b/lib/auth0/types/flows_vault_connectio_setup_jwt.rb new file mode 100644 index 000000000..df846ed92 --- /dev/null +++ b/lib/auth0/types/flows_vault_connectio_setup_jwt.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowsVaultConnectioSetupJwt < Internal::Types::Model + field :type, -> { Auth0::Types::FlowsVaultConnectioSetupTypeJwtEnum }, optional: false, nullable: false + + field :algorithm, -> { Auth0::Types::FlowsVaultConnectioSetupJwtAlgorithmEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flows_vault_connectio_setup_jwt_algorithm_enum.rb b/lib/auth0/types/flows_vault_connectio_setup_jwt_algorithm_enum.rb new file mode 100644 index 000000000..3a15fc0b4 --- /dev/null +++ b/lib/auth0/types/flows_vault_connectio_setup_jwt_algorithm_enum.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowsVaultConnectioSetupJwtAlgorithmEnum + extend Auth0::Internal::Types::Enum + + HS256 = "HS256" + HS384 = "HS384" + HS512 = "HS512" + RS256 = "RS256" + RS384 = "RS384" + RS512 = "RS512" + ES256 = "ES256" + ES384 = "ES384" + ES512 = "ES512" + PS256 = "PS256" + PS384 = "PS384" + PS512 = "PS512" + end + end +end diff --git a/lib/auth0/types/flows_vault_connectio_setup_mailjet_api_key.rb b/lib/auth0/types/flows_vault_connectio_setup_mailjet_api_key.rb new file mode 100644 index 000000000..2d4a35f60 --- /dev/null +++ b/lib/auth0/types/flows_vault_connectio_setup_mailjet_api_key.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowsVaultConnectioSetupMailjetAPIKey < Internal::Types::Model + field :type, -> { Auth0::Types::FlowsVaultConnectioSetupTypeAPIKeyEnum }, optional: false, nullable: false + + field :api_key, -> { String }, optional: false, nullable: false + + field :secret_key, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flows_vault_connectio_setup_oauth_app.rb b/lib/auth0/types/flows_vault_connectio_setup_oauth_app.rb new file mode 100644 index 000000000..575808914 --- /dev/null +++ b/lib/auth0/types/flows_vault_connectio_setup_oauth_app.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowsVaultConnectioSetupOauthApp < Internal::Types::Model + field :type, -> { Auth0::Types::FlowsVaultConnectioSetupTypeOauthAppEnum }, optional: false, nullable: false + + field :client_id, -> { String }, optional: false, nullable: false + + field :client_secret, -> { String }, optional: false, nullable: false + + field :domain, -> { String }, optional: false, nullable: false + + field :audience, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/flows_vault_connectio_setup_oauth_code.rb b/lib/auth0/types/flows_vault_connectio_setup_oauth_code.rb new file mode 100644 index 000000000..64d44a7a3 --- /dev/null +++ b/lib/auth0/types/flows_vault_connectio_setup_oauth_code.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowsVaultConnectioSetupOauthCode < Internal::Types::Model + field :type, -> { Auth0::Types::FlowsVaultConnectioSetupTypeOauthCodeEnum }, optional: true, nullable: false + + field :code, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/flows_vault_connectio_setup_secret_api_key.rb b/lib/auth0/types/flows_vault_connectio_setup_secret_api_key.rb new file mode 100644 index 000000000..709a38a9c --- /dev/null +++ b/lib/auth0/types/flows_vault_connectio_setup_secret_api_key.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowsVaultConnectioSetupSecretAPIKey < Internal::Types::Model + field :type, -> { Auth0::Types::FlowsVaultConnectioSetupTypeAPIKeyEnum }, optional: false, nullable: false + + field :secret_key, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flows_vault_connectio_setup_stripe_key_pair.rb b/lib/auth0/types/flows_vault_connectio_setup_stripe_key_pair.rb new file mode 100644 index 000000000..ec20b087b --- /dev/null +++ b/lib/auth0/types/flows_vault_connectio_setup_stripe_key_pair.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowsVaultConnectioSetupStripeKeyPair < Internal::Types::Model + field :type, -> { Auth0::Types::FlowsVaultConnectioSetupTypeKeyPairEnum }, optional: false, nullable: false + + field :private_key, -> { String }, optional: false, nullable: false + + field :public_key, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flows_vault_connectio_setup_token.rb b/lib/auth0/types/flows_vault_connectio_setup_token.rb new file mode 100644 index 000000000..a05779288 --- /dev/null +++ b/lib/auth0/types/flows_vault_connectio_setup_token.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowsVaultConnectioSetupToken < Internal::Types::Model + field :type, -> { Auth0::Types::FlowsVaultConnectioSetupTypeTokenEnum }, optional: false, nullable: false + + field :token, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flows_vault_connectio_setup_twilio_api_key.rb b/lib/auth0/types/flows_vault_connectio_setup_twilio_api_key.rb new file mode 100644 index 000000000..26ea5fc0c --- /dev/null +++ b/lib/auth0/types/flows_vault_connectio_setup_twilio_api_key.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowsVaultConnectioSetupTwilioAPIKey < Internal::Types::Model + field :type, -> { Auth0::Types::FlowsVaultConnectioSetupTypeAPIKeyEnum }, optional: false, nullable: false + + field :account_id, -> { String }, optional: false, nullable: false + + field :api_key, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flows_vault_connectio_setup_type_api_key_enum.rb b/lib/auth0/types/flows_vault_connectio_setup_type_api_key_enum.rb new file mode 100644 index 000000000..a636eb99e --- /dev/null +++ b/lib/auth0/types/flows_vault_connectio_setup_type_api_key_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowsVaultConnectioSetupTypeAPIKeyEnum + extend Auth0::Internal::Types::Enum + + API_KEY = "API_KEY" + end + end +end diff --git a/lib/auth0/types/flows_vault_connectio_setup_type_bearer_enum.rb b/lib/auth0/types/flows_vault_connectio_setup_type_bearer_enum.rb new file mode 100644 index 000000000..4ad64e610 --- /dev/null +++ b/lib/auth0/types/flows_vault_connectio_setup_type_bearer_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowsVaultConnectioSetupTypeBearerEnum + extend Auth0::Internal::Types::Enum + + BEARER = "BEARER" + end + end +end diff --git a/lib/auth0/types/flows_vault_connectio_setup_type_jwt_enum.rb b/lib/auth0/types/flows_vault_connectio_setup_type_jwt_enum.rb new file mode 100644 index 000000000..be7e4706f --- /dev/null +++ b/lib/auth0/types/flows_vault_connectio_setup_type_jwt_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowsVaultConnectioSetupTypeJwtEnum + extend Auth0::Internal::Types::Enum + + JWT = "JWT" + end + end +end diff --git a/lib/auth0/types/flows_vault_connectio_setup_type_key_pair_enum.rb b/lib/auth0/types/flows_vault_connectio_setup_type_key_pair_enum.rb new file mode 100644 index 000000000..5c53f5cc9 --- /dev/null +++ b/lib/auth0/types/flows_vault_connectio_setup_type_key_pair_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowsVaultConnectioSetupTypeKeyPairEnum + extend Auth0::Internal::Types::Enum + + KEY_PAIR = "KEY_PAIR" + end + end +end diff --git a/lib/auth0/types/flows_vault_connectio_setup_type_oauth_app_enum.rb b/lib/auth0/types/flows_vault_connectio_setup_type_oauth_app_enum.rb new file mode 100644 index 000000000..704b7242f --- /dev/null +++ b/lib/auth0/types/flows_vault_connectio_setup_type_oauth_app_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowsVaultConnectioSetupTypeOauthAppEnum + extend Auth0::Internal::Types::Enum + + OAUTH_APP = "OAUTH_APP" + end + end +end diff --git a/lib/auth0/types/flows_vault_connectio_setup_type_oauth_code_enum.rb b/lib/auth0/types/flows_vault_connectio_setup_type_oauth_code_enum.rb new file mode 100644 index 000000000..22626e590 --- /dev/null +++ b/lib/auth0/types/flows_vault_connectio_setup_type_oauth_code_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowsVaultConnectioSetupTypeOauthCodeEnum + extend Auth0::Internal::Types::Enum + + OAUTH_CODE = "OAUTH_CODE" + end + end +end diff --git a/lib/auth0/types/flows_vault_connectio_setup_type_oauth_jwt_enum.rb b/lib/auth0/types/flows_vault_connectio_setup_type_oauth_jwt_enum.rb new file mode 100644 index 000000000..4c43bfa85 --- /dev/null +++ b/lib/auth0/types/flows_vault_connectio_setup_type_oauth_jwt_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowsVaultConnectioSetupTypeOauthJwtEnum + extend Auth0::Internal::Types::Enum + + OAUTH_JWT = "OAUTH_JWT" + end + end +end diff --git a/lib/auth0/types/flows_vault_connectio_setup_type_token_enum.rb b/lib/auth0/types/flows_vault_connectio_setup_type_token_enum.rb new file mode 100644 index 000000000..82fe9e365 --- /dev/null +++ b/lib/auth0/types/flows_vault_connectio_setup_type_token_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowsVaultConnectioSetupTypeTokenEnum + extend Auth0::Internal::Types::Enum + + TOKEN = "TOKEN" + end + end +end diff --git a/lib/auth0/types/flows_vault_connectio_setup_type_webhook_enum.rb b/lib/auth0/types/flows_vault_connectio_setup_type_webhook_enum.rb new file mode 100644 index 000000000..37673d356 --- /dev/null +++ b/lib/auth0/types/flows_vault_connectio_setup_type_webhook_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowsVaultConnectioSetupTypeWebhookEnum + extend Auth0::Internal::Types::Enum + + WEBHOOK = "WEBHOOK" + end + end +end diff --git a/lib/auth0/types/flows_vault_connectio_setup_webhook.rb b/lib/auth0/types/flows_vault_connectio_setup_webhook.rb new file mode 100644 index 000000000..f44bac2e8 --- /dev/null +++ b/lib/auth0/types/flows_vault_connectio_setup_webhook.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowsVaultConnectioSetupWebhook < Internal::Types::Model + field :type, -> { Auth0::Types::FlowsVaultConnectioSetupTypeWebhookEnum }, optional: false, nullable: false + + field :url, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/flows_vault_connection_app_id_activecampaign_enum.rb b/lib/auth0/types/flows_vault_connection_app_id_activecampaign_enum.rb new file mode 100644 index 000000000..5fbf0343c --- /dev/null +++ b/lib/auth0/types/flows_vault_connection_app_id_activecampaign_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowsVaultConnectionAppIDActivecampaignEnum + extend Auth0::Internal::Types::Enum + + ACTIVECAMPAIGN = "ACTIVECAMPAIGN" + end + end +end diff --git a/lib/auth0/types/flows_vault_connection_app_id_airtable_enum.rb b/lib/auth0/types/flows_vault_connection_app_id_airtable_enum.rb new file mode 100644 index 000000000..542270e18 --- /dev/null +++ b/lib/auth0/types/flows_vault_connection_app_id_airtable_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowsVaultConnectionAppIDAirtableEnum + extend Auth0::Internal::Types::Enum + + AIRTABLE = "AIRTABLE" + end + end +end diff --git a/lib/auth0/types/flows_vault_connection_app_id_auth0enum.rb b/lib/auth0/types/flows_vault_connection_app_id_auth0enum.rb new file mode 100644 index 000000000..847a9cf20 --- /dev/null +++ b/lib/auth0/types/flows_vault_connection_app_id_auth0enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowsVaultConnectionAppIDAuth0Enum + extend Auth0::Internal::Types::Enum + + AUTH0 = "AUTH0" + end + end +end diff --git a/lib/auth0/types/flows_vault_connection_app_id_bigquery_enum.rb b/lib/auth0/types/flows_vault_connection_app_id_bigquery_enum.rb new file mode 100644 index 000000000..56af9520e --- /dev/null +++ b/lib/auth0/types/flows_vault_connection_app_id_bigquery_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowsVaultConnectionAppIDBigqueryEnum + extend Auth0::Internal::Types::Enum + + BIGQUERY = "BIGQUERY" + end + end +end diff --git a/lib/auth0/types/flows_vault_connection_app_id_clearbit_enum.rb b/lib/auth0/types/flows_vault_connection_app_id_clearbit_enum.rb new file mode 100644 index 000000000..b8547de59 --- /dev/null +++ b/lib/auth0/types/flows_vault_connection_app_id_clearbit_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowsVaultConnectionAppIDClearbitEnum + extend Auth0::Internal::Types::Enum + + CLEARBIT = "CLEARBIT" + end + end +end diff --git a/lib/auth0/types/flows_vault_connection_app_id_docusign_enum.rb b/lib/auth0/types/flows_vault_connection_app_id_docusign_enum.rb new file mode 100644 index 000000000..db9b6aa2d --- /dev/null +++ b/lib/auth0/types/flows_vault_connection_app_id_docusign_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowsVaultConnectionAppIDDocusignEnum + extend Auth0::Internal::Types::Enum + + DOCUSIGN = "DOCUSIGN" + end + end +end diff --git a/lib/auth0/types/flows_vault_connection_app_id_google_sheets_enum.rb b/lib/auth0/types/flows_vault_connection_app_id_google_sheets_enum.rb new file mode 100644 index 000000000..ff5cd1117 --- /dev/null +++ b/lib/auth0/types/flows_vault_connection_app_id_google_sheets_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowsVaultConnectionAppIDGoogleSheetsEnum + extend Auth0::Internal::Types::Enum + + GOOGLE_SHEETS = "GOOGLE_SHEETS" + end + end +end diff --git a/lib/auth0/types/flows_vault_connection_app_id_http_enum.rb b/lib/auth0/types/flows_vault_connection_app_id_http_enum.rb new file mode 100644 index 000000000..620064dac --- /dev/null +++ b/lib/auth0/types/flows_vault_connection_app_id_http_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowsVaultConnectionAppIdHttpEnum + extend Auth0::Internal::Types::Enum + + HTTP = "HTTP" + end + end +end diff --git a/lib/auth0/types/flows_vault_connection_app_id_hubspot_enum.rb b/lib/auth0/types/flows_vault_connection_app_id_hubspot_enum.rb new file mode 100644 index 000000000..284faad64 --- /dev/null +++ b/lib/auth0/types/flows_vault_connection_app_id_hubspot_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowsVaultConnectionAppIDHubspotEnum + extend Auth0::Internal::Types::Enum + + HUBSPOT = "HUBSPOT" + end + end +end diff --git a/lib/auth0/types/flows_vault_connection_app_id_jwt_enum.rb b/lib/auth0/types/flows_vault_connection_app_id_jwt_enum.rb new file mode 100644 index 000000000..84d0d2f1b --- /dev/null +++ b/lib/auth0/types/flows_vault_connection_app_id_jwt_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowsVaultConnectionAppIDJwtEnum + extend Auth0::Internal::Types::Enum + + JWT = "JWT" + end + end +end diff --git a/lib/auth0/types/flows_vault_connection_app_id_mailchimp_enum.rb b/lib/auth0/types/flows_vault_connection_app_id_mailchimp_enum.rb new file mode 100644 index 000000000..44a81ebfb --- /dev/null +++ b/lib/auth0/types/flows_vault_connection_app_id_mailchimp_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowsVaultConnectionAppIDMailchimpEnum + extend Auth0::Internal::Types::Enum + + MAILCHIMP = "MAILCHIMP" + end + end +end diff --git a/lib/auth0/types/flows_vault_connection_app_id_mailjet_enum.rb b/lib/auth0/types/flows_vault_connection_app_id_mailjet_enum.rb new file mode 100644 index 000000000..fda0aa658 --- /dev/null +++ b/lib/auth0/types/flows_vault_connection_app_id_mailjet_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowsVaultConnectionAppIDMailjetEnum + extend Auth0::Internal::Types::Enum + + MAILJET = "MAILJET" + end + end +end diff --git a/lib/auth0/types/flows_vault_connection_app_id_pipedrive_enum.rb b/lib/auth0/types/flows_vault_connection_app_id_pipedrive_enum.rb new file mode 100644 index 000000000..5d3f6d7c4 --- /dev/null +++ b/lib/auth0/types/flows_vault_connection_app_id_pipedrive_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowsVaultConnectionAppIDPipedriveEnum + extend Auth0::Internal::Types::Enum + + PIPEDRIVE = "PIPEDRIVE" + end + end +end diff --git a/lib/auth0/types/flows_vault_connection_app_id_salesforce_enum.rb b/lib/auth0/types/flows_vault_connection_app_id_salesforce_enum.rb new file mode 100644 index 000000000..01530a2f6 --- /dev/null +++ b/lib/auth0/types/flows_vault_connection_app_id_salesforce_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowsVaultConnectionAppIDSalesforceEnum + extend Auth0::Internal::Types::Enum + + SALESFORCE = "SALESFORCE" + end + end +end diff --git a/lib/auth0/types/flows_vault_connection_app_id_sendgrid_enum.rb b/lib/auth0/types/flows_vault_connection_app_id_sendgrid_enum.rb new file mode 100644 index 000000000..5c81b5f0e --- /dev/null +++ b/lib/auth0/types/flows_vault_connection_app_id_sendgrid_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowsVaultConnectionAppIDSendgridEnum + extend Auth0::Internal::Types::Enum + + SENDGRID = "SENDGRID" + end + end +end diff --git a/lib/auth0/types/flows_vault_connection_app_id_slack_enum.rb b/lib/auth0/types/flows_vault_connection_app_id_slack_enum.rb new file mode 100644 index 000000000..577c50438 --- /dev/null +++ b/lib/auth0/types/flows_vault_connection_app_id_slack_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowsVaultConnectionAppIDSlackEnum + extend Auth0::Internal::Types::Enum + + SLACK = "SLACK" + end + end +end diff --git a/lib/auth0/types/flows_vault_connection_app_id_stripe_enum.rb b/lib/auth0/types/flows_vault_connection_app_id_stripe_enum.rb new file mode 100644 index 000000000..a19a82b10 --- /dev/null +++ b/lib/auth0/types/flows_vault_connection_app_id_stripe_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowsVaultConnectionAppIDStripeEnum + extend Auth0::Internal::Types::Enum + + STRIPE = "STRIPE" + end + end +end diff --git a/lib/auth0/types/flows_vault_connection_app_id_telegram_enum.rb b/lib/auth0/types/flows_vault_connection_app_id_telegram_enum.rb new file mode 100644 index 000000000..360f9b3ec --- /dev/null +++ b/lib/auth0/types/flows_vault_connection_app_id_telegram_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowsVaultConnectionAppIDTelegramEnum + extend Auth0::Internal::Types::Enum + + TELEGRAM = "TELEGRAM" + end + end +end diff --git a/lib/auth0/types/flows_vault_connection_app_id_twilio_enum.rb b/lib/auth0/types/flows_vault_connection_app_id_twilio_enum.rb new file mode 100644 index 000000000..06ec71c3a --- /dev/null +++ b/lib/auth0/types/flows_vault_connection_app_id_twilio_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowsVaultConnectionAppIDTwilioEnum + extend Auth0::Internal::Types::Enum + + TWILIO = "TWILIO" + end + end +end diff --git a/lib/auth0/types/flows_vault_connection_app_id_whatsapp_enum.rb b/lib/auth0/types/flows_vault_connection_app_id_whatsapp_enum.rb new file mode 100644 index 000000000..dc5e409dd --- /dev/null +++ b/lib/auth0/types/flows_vault_connection_app_id_whatsapp_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowsVaultConnectionAppIDWhatsappEnum + extend Auth0::Internal::Types::Enum + + WHATSAPP = "WHATSAPP" + end + end +end diff --git a/lib/auth0/types/flows_vault_connection_app_id_zapier_enum.rb b/lib/auth0/types/flows_vault_connection_app_id_zapier_enum.rb new file mode 100644 index 000000000..748a2685d --- /dev/null +++ b/lib/auth0/types/flows_vault_connection_app_id_zapier_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowsVaultConnectionAppIDZapierEnum + extend Auth0::Internal::Types::Enum + + ZAPIER = "ZAPIER" + end + end +end diff --git a/lib/auth0/types/flows_vault_connection_http_api_key_setup.rb b/lib/auth0/types/flows_vault_connection_http_api_key_setup.rb new file mode 100644 index 000000000..ef91a4284 --- /dev/null +++ b/lib/auth0/types/flows_vault_connection_http_api_key_setup.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowsVaultConnectionHttpApiKeySetup < Internal::Types::Model + field :type, -> { Auth0::Types::FlowsVaultConnectionSetupTypeAPIKeyEnum }, optional: false, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :value, -> { String }, optional: false, nullable: false + + field :in_, -> { Auth0::Types::FlowsVaultConnectionHttpApiKeySetupInEnum }, optional: false, nullable: false, api_name: "in" + end + end +end diff --git a/lib/auth0/types/flows_vault_connection_http_api_key_setup_in_enum.rb b/lib/auth0/types/flows_vault_connection_http_api_key_setup_in_enum.rb new file mode 100644 index 000000000..44ae375a8 --- /dev/null +++ b/lib/auth0/types/flows_vault_connection_http_api_key_setup_in_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowsVaultConnectionHttpApiKeySetupInEnum + extend Auth0::Internal::Types::Enum + + HEADER = "HEADER" + QUERY = "QUERY" + end + end +end diff --git a/lib/auth0/types/flows_vault_connection_http_basic_auth_setup.rb b/lib/auth0/types/flows_vault_connection_http_basic_auth_setup.rb new file mode 100644 index 000000000..ba3c4d3c4 --- /dev/null +++ b/lib/auth0/types/flows_vault_connection_http_basic_auth_setup.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowsVaultConnectionHTTPBasicAuthSetup < Internal::Types::Model + field :type, -> { Auth0::Types::FlowsVaultConnectionSetupTypeBasicAuthEnum }, optional: false, nullable: false + + field :username, -> { String }, optional: false, nullable: false + + field :password, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/flows_vault_connection_http_oauth_client_credentials_setup.rb b/lib/auth0/types/flows_vault_connection_http_oauth_client_credentials_setup.rb new file mode 100644 index 000000000..eb999ac23 --- /dev/null +++ b/lib/auth0/types/flows_vault_connection_http_oauth_client_credentials_setup.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowsVaultConnectionHTTPOauthClientCredentialsSetup < Internal::Types::Model + field :type, -> { Auth0::Types::FlowsVaultConnectionSetupTypeOauthClientCredentialsEnum }, optional: false, nullable: false + + field :client_id, -> { String }, optional: false, nullable: false + + field :client_secret, -> { String }, optional: false, nullable: false + + field :token_endpoint, -> { String }, optional: false, nullable: false + + field :audience, -> { String }, optional: true, nullable: false + + field :resource, -> { String }, optional: true, nullable: false + + field :scope, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/flows_vault_connection_setup_type_api_key_enum.rb b/lib/auth0/types/flows_vault_connection_setup_type_api_key_enum.rb new file mode 100644 index 000000000..b4774816c --- /dev/null +++ b/lib/auth0/types/flows_vault_connection_setup_type_api_key_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowsVaultConnectionSetupTypeAPIKeyEnum + extend Auth0::Internal::Types::Enum + + API_KEY = "API_KEY" + end + end +end diff --git a/lib/auth0/types/flows_vault_connection_setup_type_basic_auth_enum.rb b/lib/auth0/types/flows_vault_connection_setup_type_basic_auth_enum.rb new file mode 100644 index 000000000..12113959e --- /dev/null +++ b/lib/auth0/types/flows_vault_connection_setup_type_basic_auth_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowsVaultConnectionSetupTypeBasicAuthEnum + extend Auth0::Internal::Types::Enum + + BASIC_AUTH = "BASIC_AUTH" + end + end +end diff --git a/lib/auth0/types/flows_vault_connection_setup_type_oauth_client_credentials_enum.rb b/lib/auth0/types/flows_vault_connection_setup_type_oauth_client_credentials_enum.rb new file mode 100644 index 000000000..adcf2d6b0 --- /dev/null +++ b/lib/auth0/types/flows_vault_connection_setup_type_oauth_client_credentials_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FlowsVaultConnectionSetupTypeOauthClientCredentialsEnum + extend Auth0::Internal::Types::Enum + + OAUTH_CLIENT_CREDENTIALS = "OAUTH_CLIENT_CREDENTIALS" + end + end +end diff --git a/lib/auth0/types/flows_vault_connection_summary.rb b/lib/auth0/types/flows_vault_connection_summary.rb new file mode 100644 index 000000000..d755cc5f9 --- /dev/null +++ b/lib/auth0/types/flows_vault_connection_summary.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FlowsVaultConnectionSummary < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :app_id, -> { String }, optional: false, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :account_name, -> { String }, optional: true, nullable: false + + field :ready, -> { Internal::Types::Boolean }, optional: false, nullable: false + + field :created_at, -> { String }, optional: false, nullable: false + + field :updated_at, -> { String }, optional: false, nullable: false + + field :refreshed_at, -> { String }, optional: true, nullable: false + + field :fingerprint, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/forbidden_schema.rb b/lib/auth0/types/forbidden_schema.rb new file mode 100644 index 000000000..ea8b0ed15 --- /dev/null +++ b/lib/auth0/types/forbidden_schema.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Forbidden + class ForbiddenSchema < Internal::Types::Model + field :message, -> { String }, optional: false, nullable: false + + field :status_code, -> { String }, optional: false, nullable: false, api_name: "statusCode" + + field :error, -> { Auth0::Types::ForbiddenSchemaError }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/forbidden_schema_error.rb b/lib/auth0/types/forbidden_schema_error.rb new file mode 100644 index 000000000..aae4d1b30 --- /dev/null +++ b/lib/auth0/types/forbidden_schema_error.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ForbiddenSchemaError + extend Auth0::Internal::Types::Enum + + FORBIDDEN = "Forbidden" + end + end +end diff --git a/lib/auth0/types/form_block.rb b/lib/auth0/types/form_block.rb new file mode 100644 index 000000000..ff368ffc8 --- /dev/null +++ b/lib/auth0/types/form_block.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormBlock < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::FormBlockDivider } + + member -> { Auth0::Types::FormBlockHTML } + + member -> { Auth0::Types::FormBlockImage } + + member -> { Auth0::Types::FormBlockJumpButton } + + member -> { Auth0::Types::FormBlockResendButton } + + member -> { Auth0::Types::FormBlockNextButton } + + member -> { Auth0::Types::FormBlockPreviousButton } + + member -> { Auth0::Types::FormBlockRichText } + end + end +end diff --git a/lib/auth0/types/form_block_divider.rb b/lib/auth0/types/form_block_divider.rb new file mode 100644 index 000000000..7df3fa8d8 --- /dev/null +++ b/lib/auth0/types/form_block_divider.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormBlockDivider < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :category, -> { Auth0::Types::FormComponentCategoryBlockConst }, optional: false, nullable: false + + field :type, -> { Auth0::Types::FormBlockTypeDividerConst }, optional: false, nullable: false + + field :config, -> { Auth0::Types::FormBlockDividerConfig }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_block_divider_config.rb b/lib/auth0/types/form_block_divider_config.rb new file mode 100644 index 000000000..0b29facfe --- /dev/null +++ b/lib/auth0/types/form_block_divider_config.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormBlockDividerConfig < Internal::Types::Model + field :text, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_block_html.rb b/lib/auth0/types/form_block_html.rb new file mode 100644 index 000000000..a064081f4 --- /dev/null +++ b/lib/auth0/types/form_block_html.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormBlockHTML < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :category, -> { Auth0::Types::FormComponentCategoryBlockConst }, optional: false, nullable: false + + field :type, -> { Auth0::Types::FormBlockTypeHTMLConst }, optional: false, nullable: false + + field :config, -> { Auth0::Types::FormBlockHTMLConfig }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_block_html_config.rb b/lib/auth0/types/form_block_html_config.rb new file mode 100644 index 000000000..de6d37f11 --- /dev/null +++ b/lib/auth0/types/form_block_html_config.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormBlockHTMLConfig < Internal::Types::Model + field :content, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_block_image.rb b/lib/auth0/types/form_block_image.rb new file mode 100644 index 000000000..425233c74 --- /dev/null +++ b/lib/auth0/types/form_block_image.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormBlockImage < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :category, -> { Auth0::Types::FormComponentCategoryBlockConst }, optional: false, nullable: false + + field :type, -> { Auth0::Types::FormBlockTypeImageConst }, optional: false, nullable: false + + field :config, -> { Auth0::Types::FormBlockImageConfig }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_block_image_config.rb b/lib/auth0/types/form_block_image_config.rb new file mode 100644 index 000000000..4d2524484 --- /dev/null +++ b/lib/auth0/types/form_block_image_config.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormBlockImageConfig < Internal::Types::Model + field :src, -> { String }, optional: false, nullable: false + + field :position, -> { Auth0::Types::FormBlockImageConfigPositionEnum }, optional: true, nullable: false + + field :height, -> { Integer }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_block_image_config_position_enum.rb b/lib/auth0/types/form_block_image_config_position_enum.rb new file mode 100644 index 000000000..3079f53c3 --- /dev/null +++ b/lib/auth0/types/form_block_image_config_position_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormBlockImageConfigPositionEnum + extend Auth0::Internal::Types::Enum + + LEFT = "LEFT" + CENTER = "CENTER" + RIGHT = "RIGHT" + end + end +end diff --git a/lib/auth0/types/form_block_jump_button.rb b/lib/auth0/types/form_block_jump_button.rb new file mode 100644 index 000000000..786938ca9 --- /dev/null +++ b/lib/auth0/types/form_block_jump_button.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormBlockJumpButton < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :category, -> { Auth0::Types::FormComponentCategoryBlockConst }, optional: false, nullable: false + + field :type, -> { Auth0::Types::FormBlockTypeJumpButtonConst }, optional: false, nullable: false + + field :config, -> { Auth0::Types::FormBlockJumpButtonConfig }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/form_block_jump_button_config.rb b/lib/auth0/types/form_block_jump_button_config.rb new file mode 100644 index 000000000..4035ee6fa --- /dev/null +++ b/lib/auth0/types/form_block_jump_button_config.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormBlockJumpButtonConfig < Internal::Types::Model + field :text, -> { String }, optional: false, nullable: false + + field :next_node, -> { Auth0::Types::FormNodePointer }, optional: false, nullable: false + + field :style, -> { Auth0::Types::FormBlockJumpButtonConfigStyle }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_block_jump_button_config_style.rb b/lib/auth0/types/form_block_jump_button_config_style.rb new file mode 100644 index 000000000..612bfa9f1 --- /dev/null +++ b/lib/auth0/types/form_block_jump_button_config_style.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormBlockJumpButtonConfigStyle < Internal::Types::Model + field :background_color, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_block_next_button.rb b/lib/auth0/types/form_block_next_button.rb new file mode 100644 index 000000000..8cad1cd1b --- /dev/null +++ b/lib/auth0/types/form_block_next_button.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormBlockNextButton < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :category, -> { Auth0::Types::FormComponentCategoryBlockConst }, optional: false, nullable: false + + field :type, -> { Auth0::Types::FormBlockTypeNextButtonConst }, optional: false, nullable: false + + field :config, -> { Auth0::Types::FormBlockNextButtonConfig }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/form_block_next_button_config.rb b/lib/auth0/types/form_block_next_button_config.rb new file mode 100644 index 000000000..d632ffc84 --- /dev/null +++ b/lib/auth0/types/form_block_next_button_config.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormBlockNextButtonConfig < Internal::Types::Model + field :text, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/form_block_previous_button.rb b/lib/auth0/types/form_block_previous_button.rb new file mode 100644 index 000000000..e167754d2 --- /dev/null +++ b/lib/auth0/types/form_block_previous_button.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormBlockPreviousButton < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :category, -> { Auth0::Types::FormComponentCategoryBlockConst }, optional: false, nullable: false + + field :type, -> { Auth0::Types::FormBlockTypePreviousButtonConst }, optional: false, nullable: false + + field :config, -> { Auth0::Types::FormBlockPreviousButtonConfig }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/form_block_previous_button_config.rb b/lib/auth0/types/form_block_previous_button_config.rb new file mode 100644 index 000000000..ac1d3f40a --- /dev/null +++ b/lib/auth0/types/form_block_previous_button_config.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormBlockPreviousButtonConfig < Internal::Types::Model + field :text, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/form_block_resend_button.rb b/lib/auth0/types/form_block_resend_button.rb new file mode 100644 index 000000000..2f5f168de --- /dev/null +++ b/lib/auth0/types/form_block_resend_button.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormBlockResendButton < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :category, -> { Auth0::Types::FormComponentCategoryBlockConst }, optional: false, nullable: false + + field :type, -> { Auth0::Types::FormBlockTypeResendButtonConst }, optional: false, nullable: false + + field :config, -> { Auth0::Types::FormBlockResendButtonConfig }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/form_block_resend_button_config.rb b/lib/auth0/types/form_block_resend_button_config.rb new file mode 100644 index 000000000..85c3cc6c3 --- /dev/null +++ b/lib/auth0/types/form_block_resend_button_config.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormBlockResendButtonConfig < Internal::Types::Model + field :active_text, -> { String }, optional: false, nullable: false + + field :button_text, -> { String }, optional: false, nullable: false + + field :waiting_text, -> { String }, optional: false, nullable: false + + field :text_alignment, -> { Auth0::Types::FormBlockResendButtonConfigTextAlignmentEnum }, optional: true, nullable: false + + field :flow_id, -> { String }, optional: false, nullable: false + + field :max_attempts, -> { Integer }, optional: true, nullable: false + + field :waiting_time, -> { Integer }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_block_resend_button_config_text_alignment_enum.rb b/lib/auth0/types/form_block_resend_button_config_text_alignment_enum.rb new file mode 100644 index 000000000..8193a07d3 --- /dev/null +++ b/lib/auth0/types/form_block_resend_button_config_text_alignment_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormBlockResendButtonConfigTextAlignmentEnum + extend Auth0::Internal::Types::Enum + + LEFT = "LEFT" + CENTER = "CENTER" + RIGHT = "RIGHT" + end + end +end diff --git a/lib/auth0/types/form_block_rich_text.rb b/lib/auth0/types/form_block_rich_text.rb new file mode 100644 index 000000000..184ead8cd --- /dev/null +++ b/lib/auth0/types/form_block_rich_text.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormBlockRichText < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :category, -> { Auth0::Types::FormComponentCategoryBlockConst }, optional: false, nullable: false + + field :type, -> { Auth0::Types::FormBlockTypeRichTextConst }, optional: false, nullable: false + + field :config, -> { Auth0::Types::FormBlockRichTextConfig }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_block_rich_text_config.rb b/lib/auth0/types/form_block_rich_text_config.rb new file mode 100644 index 000000000..683990788 --- /dev/null +++ b/lib/auth0/types/form_block_rich_text_config.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormBlockRichTextConfig < Internal::Types::Model + field :content, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_block_type_divider_const.rb b/lib/auth0/types/form_block_type_divider_const.rb new file mode 100644 index 000000000..c42a9f4f8 --- /dev/null +++ b/lib/auth0/types/form_block_type_divider_const.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormBlockTypeDividerConst + extend Auth0::Internal::Types::Enum + + DIVIDER = "DIVIDER" + end + end +end diff --git a/lib/auth0/types/form_block_type_html_const.rb b/lib/auth0/types/form_block_type_html_const.rb new file mode 100644 index 000000000..37f6abb74 --- /dev/null +++ b/lib/auth0/types/form_block_type_html_const.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormBlockTypeHTMLConst + extend Auth0::Internal::Types::Enum + + HTML = "HTML" + end + end +end diff --git a/lib/auth0/types/form_block_type_image_const.rb b/lib/auth0/types/form_block_type_image_const.rb new file mode 100644 index 000000000..a8d91d8a4 --- /dev/null +++ b/lib/auth0/types/form_block_type_image_const.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormBlockTypeImageConst + extend Auth0::Internal::Types::Enum + + IMAGE = "IMAGE" + end + end +end diff --git a/lib/auth0/types/form_block_type_jump_button_const.rb b/lib/auth0/types/form_block_type_jump_button_const.rb new file mode 100644 index 000000000..c584916f9 --- /dev/null +++ b/lib/auth0/types/form_block_type_jump_button_const.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormBlockTypeJumpButtonConst + extend Auth0::Internal::Types::Enum + + JUMP_BUTTON = "JUMP_BUTTON" + end + end +end diff --git a/lib/auth0/types/form_block_type_next_button_const.rb b/lib/auth0/types/form_block_type_next_button_const.rb new file mode 100644 index 000000000..2003c728c --- /dev/null +++ b/lib/auth0/types/form_block_type_next_button_const.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormBlockTypeNextButtonConst + extend Auth0::Internal::Types::Enum + + NEXT_BUTTON = "NEXT_BUTTON" + end + end +end diff --git a/lib/auth0/types/form_block_type_previous_button_const.rb b/lib/auth0/types/form_block_type_previous_button_const.rb new file mode 100644 index 000000000..63e588c4e --- /dev/null +++ b/lib/auth0/types/form_block_type_previous_button_const.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormBlockTypePreviousButtonConst + extend Auth0::Internal::Types::Enum + + PREVIOUS_BUTTON = "PREVIOUS_BUTTON" + end + end +end diff --git a/lib/auth0/types/form_block_type_resend_button_const.rb b/lib/auth0/types/form_block_type_resend_button_const.rb new file mode 100644 index 000000000..84866cb92 --- /dev/null +++ b/lib/auth0/types/form_block_type_resend_button_const.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormBlockTypeResendButtonConst + extend Auth0::Internal::Types::Enum + + RESEND_BUTTON = "RESEND_BUTTON" + end + end +end diff --git a/lib/auth0/types/form_block_type_rich_text_const.rb b/lib/auth0/types/form_block_type_rich_text_const.rb new file mode 100644 index 000000000..0830f0506 --- /dev/null +++ b/lib/auth0/types/form_block_type_rich_text_const.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormBlockTypeRichTextConst + extend Auth0::Internal::Types::Enum + + RICH_TEXT = "RICH_TEXT" + end + end +end diff --git a/lib/auth0/types/form_component.rb b/lib/auth0/types/form_component.rb new file mode 100644 index 000000000..985d21398 --- /dev/null +++ b/lib/auth0/types/form_component.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormComponent < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::FormBlock } + + member -> { Auth0::Types::FormWidget } + + member -> { Auth0::Types::FormField } + end + end +end diff --git a/lib/auth0/types/form_component_category_block_const.rb b/lib/auth0/types/form_component_category_block_const.rb new file mode 100644 index 000000000..daf83d93b --- /dev/null +++ b/lib/auth0/types/form_component_category_block_const.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormComponentCategoryBlockConst + extend Auth0::Internal::Types::Enum + + BLOCK = "BLOCK" + end + end +end diff --git a/lib/auth0/types/form_component_category_field_const.rb b/lib/auth0/types/form_component_category_field_const.rb new file mode 100644 index 000000000..b7fb53d09 --- /dev/null +++ b/lib/auth0/types/form_component_category_field_const.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormComponentCategoryFieldConst + extend Auth0::Internal::Types::Enum + + FIELD = "FIELD" + end + end +end diff --git a/lib/auth0/types/form_component_category_widget_const.rb b/lib/auth0/types/form_component_category_widget_const.rb new file mode 100644 index 000000000..8a5c39fb8 --- /dev/null +++ b/lib/auth0/types/form_component_category_widget_const.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormComponentCategoryWidgetConst + extend Auth0::Internal::Types::Enum + + WIDGET = "WIDGET" + end + end +end diff --git a/lib/auth0/types/form_ending_node.rb b/lib/auth0/types/form_ending_node.rb new file mode 100644 index 000000000..b4b7778b7 --- /dev/null +++ b/lib/auth0/types/form_ending_node.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormEndingNode < Internal::Types::Model + field :redirection, -> { Auth0::Types::FormEndingNodeRedirection }, optional: true, nullable: false + + field :after_submit, -> { Auth0::Types::FormEndingNodeAfterSubmit }, optional: true, nullable: false + + field :coordinates, -> { Auth0::Types::FormNodeCoordinates }, optional: true, nullable: false + + field :resume_flow, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_ending_node_after_submit.rb b/lib/auth0/types/form_ending_node_after_submit.rb new file mode 100644 index 000000000..474f77f1f --- /dev/null +++ b/lib/auth0/types/form_ending_node_after_submit.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormEndingNodeAfterSubmit < Internal::Types::Model + field :flow_id, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_ending_node_id.rb b/lib/auth0/types/form_ending_node_id.rb new file mode 100644 index 000000000..3e1bca6ad --- /dev/null +++ b/lib/auth0/types/form_ending_node_id.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormEndingNodeID + extend Auth0::Internal::Types::Enum + + ENDING = "$ending" + end + end +end diff --git a/lib/auth0/types/form_ending_node_nullable.rb b/lib/auth0/types/form_ending_node_nullable.rb new file mode 100644 index 000000000..33bfd3b48 --- /dev/null +++ b/lib/auth0/types/form_ending_node_nullable.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormEndingNodeNullable + # FormEndingNodeNullable is an alias for Object + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/form_ending_node_redirection.rb b/lib/auth0/types/form_ending_node_redirection.rb new file mode 100644 index 000000000..65756775a --- /dev/null +++ b/lib/auth0/types/form_ending_node_redirection.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormEndingNodeRedirection < Internal::Types::Model + field :delay, -> { Integer }, optional: true, nullable: false + + field :target, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/form_ending_node_resume_flow_true_const.rb b/lib/auth0/types/form_ending_node_resume_flow_true_const.rb new file mode 100644 index 000000000..f5014e65f --- /dev/null +++ b/lib/auth0/types/form_ending_node_resume_flow_true_const.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormEndingNodeResumeFlowTrueConst + # FormEndingNodeResumeFlowTrueConst is an alias for Boolean + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/form_field.rb b/lib/auth0/types/form_field.rb new file mode 100644 index 000000000..7aa3c31d9 --- /dev/null +++ b/lib/auth0/types/form_field.rb @@ -0,0 +1,41 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormField < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::FormFieldBoolean } + + member -> { Auth0::Types::FormFieldCards } + + member -> { Auth0::Types::FormFieldChoice } + + member -> { Auth0::Types::FormFieldCustom } + + member -> { Auth0::Types::FormFieldDate } + + member -> { Auth0::Types::FormFieldDropdown } + + member -> { Auth0::Types::FormFieldEmail } + + member -> { Auth0::Types::FormFieldFile } + + member -> { Auth0::Types::FormFieldLegal } + + member -> { Auth0::Types::FormFieldNumber } + + member -> { Auth0::Types::FormFieldPassword } + + member -> { Auth0::Types::FormFieldPayment } + + member -> { Auth0::Types::FormFieldSocial } + + member -> { Auth0::Types::FormFieldTel } + + member -> { Auth0::Types::FormFieldText } + + member -> { Auth0::Types::FormFieldURL } + end + end +end diff --git a/lib/auth0/types/form_field_boolean.rb b/lib/auth0/types/form_field_boolean.rb new file mode 100644 index 000000000..2bc047c1c --- /dev/null +++ b/lib/auth0/types/form_field_boolean.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormFieldBoolean < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :category, -> { Auth0::Types::FormComponentCategoryFieldConst }, optional: false, nullable: false + + field :type, -> { Auth0::Types::FormFieldTypeBooleanConst }, optional: false, nullable: false + + field :config, -> { Auth0::Types::FormFieldBooleanConfig }, optional: false, nullable: false + + field :label, -> { String }, optional: true, nullable: false + + field :hint, -> { String }, optional: true, nullable: false + + field :required, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :sensitive, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_field_boolean_config.rb b/lib/auth0/types/form_field_boolean_config.rb new file mode 100644 index 000000000..7947589f9 --- /dev/null +++ b/lib/auth0/types/form_field_boolean_config.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormFieldBooleanConfig < Internal::Types::Model + field :default_value, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :options, -> { Auth0::Types::FormFieldBooleanConfigOptions }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_field_boolean_config_options.rb b/lib/auth0/types/form_field_boolean_config_options.rb new file mode 100644 index 000000000..70072181d --- /dev/null +++ b/lib/auth0/types/form_field_boolean_config_options.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormFieldBooleanConfigOptions < Internal::Types::Model + field :true_, -> { String }, optional: true, nullable: false, api_name: "true" + + field :false_, -> { String }, optional: true, nullable: false, api_name: "false" + end + end +end diff --git a/lib/auth0/types/form_field_cards.rb b/lib/auth0/types/form_field_cards.rb new file mode 100644 index 000000000..542134adc --- /dev/null +++ b/lib/auth0/types/form_field_cards.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormFieldCards < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :category, -> { Auth0::Types::FormComponentCategoryFieldConst }, optional: false, nullable: false + + field :type, -> { Auth0::Types::FormFieldTypeCardsConst }, optional: false, nullable: false + + field :config, -> { Auth0::Types::FormFieldCardsConfig }, optional: true, nullable: false + + field :label, -> { String }, optional: true, nullable: false + + field :hint, -> { String }, optional: true, nullable: false + + field :required, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :sensitive, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_field_cards_config.rb b/lib/auth0/types/form_field_cards_config.rb new file mode 100644 index 000000000..9eccc6d46 --- /dev/null +++ b/lib/auth0/types/form_field_cards_config.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormFieldCardsConfig < Internal::Types::Model + field :hide_labels, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :multiple, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :options, -> { Internal::Types::Array[Auth0::Types::FormFieldCardsConfigOption] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_field_cards_config_option.rb b/lib/auth0/types/form_field_cards_config_option.rb new file mode 100644 index 000000000..131053029 --- /dev/null +++ b/lib/auth0/types/form_field_cards_config_option.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormFieldCardsConfigOption < Internal::Types::Model + field :value, -> { String }, optional: false, nullable: false + + field :label, -> { String }, optional: false, nullable: false + + field :image_url, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/form_field_choice.rb b/lib/auth0/types/form_field_choice.rb new file mode 100644 index 000000000..bba6a86f3 --- /dev/null +++ b/lib/auth0/types/form_field_choice.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormFieldChoice < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :category, -> { Auth0::Types::FormComponentCategoryFieldConst }, optional: false, nullable: false + + field :type, -> { Auth0::Types::FormFieldTypeChoiceConst }, optional: false, nullable: false + + field :config, -> { Auth0::Types::FormFieldChoiceConfig }, optional: true, nullable: false + + field :label, -> { String }, optional: true, nullable: false + + field :hint, -> { String }, optional: true, nullable: false + + field :required, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :sensitive, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_field_choice_config.rb b/lib/auth0/types/form_field_choice_config.rb new file mode 100644 index 000000000..c58b6d60e --- /dev/null +++ b/lib/auth0/types/form_field_choice_config.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormFieldChoiceConfig < Internal::Types::Model + field :multiple, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :options, -> { Internal::Types::Array[Auth0::Types::FormFieldChoiceConfigOption] }, optional: true, nullable: false + + field :allow_other, -> { Auth0::Types::FormFieldChoiceConfigAllowOther }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_field_choice_config_allow_other.rb b/lib/auth0/types/form_field_choice_config_allow_other.rb new file mode 100644 index 000000000..fcace7826 --- /dev/null +++ b/lib/auth0/types/form_field_choice_config_allow_other.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormFieldChoiceConfigAllowOther < Internal::Types::Model + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :label, -> { String }, optional: true, nullable: false + + field :placeholder, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_field_choice_config_allow_other_enabled_true_enum.rb b/lib/auth0/types/form_field_choice_config_allow_other_enabled_true_enum.rb new file mode 100644 index 000000000..25b569745 --- /dev/null +++ b/lib/auth0/types/form_field_choice_config_allow_other_enabled_true_enum.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormFieldChoiceConfigAllowOtherEnabledTrueEnum + # FormFieldChoiceConfigAllowOtherEnabledTrueEnum is an alias for Boolean + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/form_field_choice_config_option.rb b/lib/auth0/types/form_field_choice_config_option.rb new file mode 100644 index 000000000..76700a862 --- /dev/null +++ b/lib/auth0/types/form_field_choice_config_option.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormFieldChoiceConfigOption < Internal::Types::Model + field :value, -> { String }, optional: false, nullable: false + + field :label, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/form_field_custom.rb b/lib/auth0/types/form_field_custom.rb new file mode 100644 index 000000000..86ac72c3a --- /dev/null +++ b/lib/auth0/types/form_field_custom.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormFieldCustom < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :category, -> { Auth0::Types::FormComponentCategoryFieldConst }, optional: false, nullable: false + + field :type, -> { Auth0::Types::FormFieldTypeCustomConst }, optional: false, nullable: false + + field :config, -> { Auth0::Types::FormFieldCustomConfig }, optional: false, nullable: false + + field :label, -> { String }, optional: true, nullable: false + + field :hint, -> { String }, optional: true, nullable: false + + field :required, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :sensitive, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_field_custom_config.rb b/lib/auth0/types/form_field_custom_config.rb new file mode 100644 index 000000000..9fc49a169 --- /dev/null +++ b/lib/auth0/types/form_field_custom_config.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormFieldCustomConfig < Internal::Types::Model + field :schema, -> { Internal::Types::Hash[String, Object] }, optional: false, nullable: false + + field :code, -> { String }, optional: false, nullable: false + + field :css, -> { String }, optional: true, nullable: false + + field :params, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_field_custom_config_params.rb b/lib/auth0/types/form_field_custom_config_params.rb new file mode 100644 index 000000000..f9ba4ad07 --- /dev/null +++ b/lib/auth0/types/form_field_custom_config_params.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormFieldCustomConfigParams + # FormFieldCustomConfigParams is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/form_field_custom_config_schema.rb b/lib/auth0/types/form_field_custom_config_schema.rb new file mode 100644 index 000000000..e5170e68e --- /dev/null +++ b/lib/auth0/types/form_field_custom_config_schema.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormFieldCustomConfigSchema + # FormFieldCustomConfigSchema is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/form_field_date.rb b/lib/auth0/types/form_field_date.rb new file mode 100644 index 000000000..0991c07ba --- /dev/null +++ b/lib/auth0/types/form_field_date.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormFieldDate < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :category, -> { Auth0::Types::FormComponentCategoryFieldConst }, optional: false, nullable: false + + field :type, -> { Auth0::Types::FormFieldTypeDateConst }, optional: false, nullable: false + + field :config, -> { Auth0::Types::FormFieldDateConfig }, optional: false, nullable: false + + field :label, -> { String }, optional: true, nullable: false + + field :hint, -> { String }, optional: true, nullable: false + + field :required, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :sensitive, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_field_date_config.rb b/lib/auth0/types/form_field_date_config.rb new file mode 100644 index 000000000..6f48aa55a --- /dev/null +++ b/lib/auth0/types/form_field_date_config.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormFieldDateConfig < Internal::Types::Model + field :format, -> { Auth0::Types::FormFieldDateConfigFormatEnum }, optional: true, nullable: false + + field :default_value, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_field_date_config_format_enum.rb b/lib/auth0/types/form_field_date_config_format_enum.rb new file mode 100644 index 000000000..6ed2966fd --- /dev/null +++ b/lib/auth0/types/form_field_date_config_format_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormFieldDateConfigFormatEnum + extend Auth0::Internal::Types::Enum + + DATE = "DATE" + TIME = "TIME" + end + end +end diff --git a/lib/auth0/types/form_field_dropdown.rb b/lib/auth0/types/form_field_dropdown.rb new file mode 100644 index 000000000..ec600dd7b --- /dev/null +++ b/lib/auth0/types/form_field_dropdown.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormFieldDropdown < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :category, -> { Auth0::Types::FormComponentCategoryFieldConst }, optional: false, nullable: false + + field :type, -> { Auth0::Types::FormFieldTypeDropdownConst }, optional: false, nullable: false + + field :config, -> { Auth0::Types::FormFieldDropdownConfig }, optional: true, nullable: false + + field :label, -> { String }, optional: true, nullable: false + + field :hint, -> { String }, optional: true, nullable: false + + field :required, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :sensitive, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_field_dropdown_config.rb b/lib/auth0/types/form_field_dropdown_config.rb new file mode 100644 index 000000000..fba246f3c --- /dev/null +++ b/lib/auth0/types/form_field_dropdown_config.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormFieldDropdownConfig < Internal::Types::Model + field :multiple, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :options, -> { Internal::Types::Array[Auth0::Types::FormFieldDropdownConfigOption] }, optional: true, nullable: false + + field :placeholder, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_field_dropdown_config_option.rb b/lib/auth0/types/form_field_dropdown_config_option.rb new file mode 100644 index 000000000..3d582aab0 --- /dev/null +++ b/lib/auth0/types/form_field_dropdown_config_option.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormFieldDropdownConfigOption < Internal::Types::Model + field :value, -> { String }, optional: false, nullable: false + + field :label, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/form_field_email.rb b/lib/auth0/types/form_field_email.rb new file mode 100644 index 000000000..98cecbd66 --- /dev/null +++ b/lib/auth0/types/form_field_email.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormFieldEmail < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :category, -> { Auth0::Types::FormComponentCategoryFieldConst }, optional: false, nullable: false + + field :type, -> { Auth0::Types::FormFieldTypeEmailConst }, optional: false, nullable: false + + field :config, -> { Auth0::Types::FormFieldEmailConfig }, optional: true, nullable: false + + field :label, -> { String }, optional: true, nullable: false + + field :hint, -> { String }, optional: true, nullable: false + + field :required, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :sensitive, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_field_email_config.rb b/lib/auth0/types/form_field_email_config.rb new file mode 100644 index 000000000..9c11e16cf --- /dev/null +++ b/lib/auth0/types/form_field_email_config.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormFieldEmailConfig < Internal::Types::Model + field :default_value, -> { String }, optional: true, nullable: false + + field :placeholder, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_field_file.rb b/lib/auth0/types/form_field_file.rb new file mode 100644 index 000000000..8063e9179 --- /dev/null +++ b/lib/auth0/types/form_field_file.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormFieldFile < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :category, -> { Auth0::Types::FormComponentCategoryFieldConst }, optional: false, nullable: false + + field :type, -> { Auth0::Types::FormFieldTypeFileConst }, optional: false, nullable: false + + field :config, -> { Auth0::Types::FormFieldFileConfig }, optional: true, nullable: false + + field :label, -> { String }, optional: true, nullable: false + + field :hint, -> { String }, optional: true, nullable: false + + field :required, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :sensitive, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_field_file_config.rb b/lib/auth0/types/form_field_file_config.rb new file mode 100644 index 000000000..1e2508ac8 --- /dev/null +++ b/lib/auth0/types/form_field_file_config.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormFieldFileConfig < Internal::Types::Model + field :multiple, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :storage, -> { Auth0::Types::FormFieldFileConfigStorage }, optional: true, nullable: false + + field :categories, -> { Internal::Types::Array[Auth0::Types::FormFieldFileConfigCategoryEnum] }, optional: true, nullable: false + + field :extensions, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :max_size, -> { Integer }, optional: true, nullable: false, api_name: "maxSize" + + field :max_files, -> { Integer }, optional: true, nullable: false, api_name: "maxFiles" + end + end +end diff --git a/lib/auth0/types/form_field_file_config_category_enum.rb b/lib/auth0/types/form_field_file_config_category_enum.rb new file mode 100644 index 000000000..e829afa39 --- /dev/null +++ b/lib/auth0/types/form_field_file_config_category_enum.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormFieldFileConfigCategoryEnum + extend Auth0::Internal::Types::Enum + + AUDIO = "AUDIO" + VIDEO = "VIDEO" + IMAGE = "IMAGE" + DOCUMENT = "DOCUMENT" + ARCHIVE = "ARCHIVE" + end + end +end diff --git a/lib/auth0/types/form_field_file_config_storage.rb b/lib/auth0/types/form_field_file_config_storage.rb new file mode 100644 index 000000000..cce1bc315 --- /dev/null +++ b/lib/auth0/types/form_field_file_config_storage.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormFieldFileConfigStorage < Internal::Types::Model + field :type, -> { Auth0::Types::FormFieldFileConfigStorageTypeEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/form_field_file_config_storage_type_enum.rb b/lib/auth0/types/form_field_file_config_storage_type_enum.rb new file mode 100644 index 000000000..428990524 --- /dev/null +++ b/lib/auth0/types/form_field_file_config_storage_type_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormFieldFileConfigStorageTypeEnum + extend Auth0::Internal::Types::Enum + + MANAGED = "MANAGED" + CUSTOM = "CUSTOM" + end + end +end diff --git a/lib/auth0/types/form_field_legal.rb b/lib/auth0/types/form_field_legal.rb new file mode 100644 index 000000000..25c6f67ad --- /dev/null +++ b/lib/auth0/types/form_field_legal.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormFieldLegal < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :category, -> { Auth0::Types::FormComponentCategoryFieldConst }, optional: false, nullable: false + + field :type, -> { Auth0::Types::FormFieldTypeLegalConst }, optional: false, nullable: false + + field :config, -> { Auth0::Types::FormFieldLegalConfig }, optional: true, nullable: false + + field :label, -> { String }, optional: true, nullable: false + + field :hint, -> { String }, optional: true, nullable: false + + field :required, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :sensitive, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_field_legal_config.rb b/lib/auth0/types/form_field_legal_config.rb new file mode 100644 index 000000000..126d2e29c --- /dev/null +++ b/lib/auth0/types/form_field_legal_config.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormFieldLegalConfig < Internal::Types::Model + field :text, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_field_number.rb b/lib/auth0/types/form_field_number.rb new file mode 100644 index 000000000..7bab5c29b --- /dev/null +++ b/lib/auth0/types/form_field_number.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormFieldNumber < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :category, -> { Auth0::Types::FormComponentCategoryFieldConst }, optional: false, nullable: false + + field :type, -> { Auth0::Types::FormFieldTypeNumberConst }, optional: false, nullable: false + + field :config, -> { Auth0::Types::FormFieldNumberConfig }, optional: true, nullable: false + + field :label, -> { String }, optional: true, nullable: false + + field :hint, -> { String }, optional: true, nullable: false + + field :required, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :sensitive, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_field_number_config.rb b/lib/auth0/types/form_field_number_config.rb new file mode 100644 index 000000000..ebf1816c6 --- /dev/null +++ b/lib/auth0/types/form_field_number_config.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormFieldNumberConfig < Internal::Types::Model + field :default_value, -> { Integer }, optional: true, nullable: false + + field :placeholder, -> { String }, optional: true, nullable: false + + field :min_value, -> { Integer }, optional: true, nullable: false + + field :max_value, -> { Integer }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_field_password.rb b/lib/auth0/types/form_field_password.rb new file mode 100644 index 000000000..facbd4cbd --- /dev/null +++ b/lib/auth0/types/form_field_password.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormFieldPassword < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :category, -> { Auth0::Types::FormComponentCategoryFieldConst }, optional: false, nullable: false + + field :type, -> { Auth0::Types::FormFieldTypePasswordConst }, optional: false, nullable: false + + field :config, -> { Auth0::Types::FormFieldPasswordConfig }, optional: false, nullable: false + + field :label, -> { String }, optional: true, nullable: false + + field :hint, -> { String }, optional: true, nullable: false + + field :required, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :sensitive, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_field_password_config.rb b/lib/auth0/types/form_field_password_config.rb new file mode 100644 index 000000000..9c6941695 --- /dev/null +++ b/lib/auth0/types/form_field_password_config.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormFieldPasswordConfig < Internal::Types::Model + field :hash_, -> { Auth0::Types::FormFieldPasswordConfigHashEnum }, optional: true, nullable: false, api_name: "hash" + + field :placeholder, -> { String }, optional: true, nullable: false + + field :min_length, -> { Integer }, optional: true, nullable: false + + field :max_length, -> { Integer }, optional: true, nullable: false + + field :complexity, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :nist, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :strength_meter, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_field_password_config_hash_enum.rb b/lib/auth0/types/form_field_password_config_hash_enum.rb new file mode 100644 index 000000000..18cddb4ec --- /dev/null +++ b/lib/auth0/types/form_field_password_config_hash_enum.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormFieldPasswordConfigHashEnum + extend Auth0::Internal::Types::Enum + + NONE = "NONE" + MD5 = "MD5" + SHA1 = "SHA1" + SHA256 = "SHA256" + SHA512 = "SHA512" + end + end +end diff --git a/lib/auth0/types/form_field_payment.rb b/lib/auth0/types/form_field_payment.rb new file mode 100644 index 000000000..6e45a980d --- /dev/null +++ b/lib/auth0/types/form_field_payment.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormFieldPayment < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :category, -> { Auth0::Types::FormComponentCategoryFieldConst }, optional: false, nullable: false + + field :type, -> { Auth0::Types::FormFieldTypePaymentConst }, optional: false, nullable: false + + field :config, -> { Auth0::Types::FormFieldPaymentConfig }, optional: false, nullable: false + + field :label, -> { String }, optional: true, nullable: false + + field :hint, -> { String }, optional: true, nullable: false + + field :required, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :sensitive, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_field_payment_config.rb b/lib/auth0/types/form_field_payment_config.rb new file mode 100644 index 000000000..95e50b170 --- /dev/null +++ b/lib/auth0/types/form_field_payment_config.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormFieldPaymentConfig < Internal::Types::Model + field :provider, -> { Auth0::Types::FormFieldPaymentConfigProviderEnum }, optional: true, nullable: false + + field :charge, -> { Auth0::Types::FormFieldPaymentConfigCharge }, optional: false, nullable: false + + field :credentials, -> { Auth0::Types::FormFieldPaymentConfigCredentials }, optional: false, nullable: false + + field :customer, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :fields, -> { Auth0::Types::FormFieldPaymentConfigFields }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_field_payment_config_charge.rb b/lib/auth0/types/form_field_payment_config_charge.rb new file mode 100644 index 000000000..2f5247494 --- /dev/null +++ b/lib/auth0/types/form_field_payment_config_charge.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormFieldPaymentConfigCharge < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::FormFieldPaymentConfigChargeOneOff } + + member -> { Auth0::Types::FormFieldPaymentConfigChargeSubscription } + end + end +end diff --git a/lib/auth0/types/form_field_payment_config_charge_one_off.rb b/lib/auth0/types/form_field_payment_config_charge_one_off.rb new file mode 100644 index 000000000..a6df5c20c --- /dev/null +++ b/lib/auth0/types/form_field_payment_config_charge_one_off.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormFieldPaymentConfigChargeOneOff < Internal::Types::Model + field :type, -> { Auth0::Types::FormFieldPaymentConfigChargeTypeOneOffConst }, optional: false, nullable: false + + field :one_off, -> { Auth0::Types::FormFieldPaymentConfigChargeOneOffOneOff }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/form_field_payment_config_charge_one_off_currency_enum.rb b/lib/auth0/types/form_field_payment_config_charge_one_off_currency_enum.rb new file mode 100644 index 000000000..f71266cf6 --- /dev/null +++ b/lib/auth0/types/form_field_payment_config_charge_one_off_currency_enum.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormFieldPaymentConfigChargeOneOffCurrencyEnum + extend Auth0::Internal::Types::Enum + + AUD = "AUD" + CAD = "CAD" + CHF = "CHF" + EUR = "EUR" + GBP = "GBP" + INR = "INR" + MXN = "MXN" + SEK = "SEK" + USD = "USD" + end + end +end diff --git a/lib/auth0/types/form_field_payment_config_charge_one_off_one_off.rb b/lib/auth0/types/form_field_payment_config_charge_one_off_one_off.rb new file mode 100644 index 000000000..327385357 --- /dev/null +++ b/lib/auth0/types/form_field_payment_config_charge_one_off_one_off.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormFieldPaymentConfigChargeOneOffOneOff < Internal::Types::Model + field :amount, -> { Auth0::Types::FormFieldPaymentConfigChargeOneOffOneOffAmount }, optional: false, nullable: false + + field :currency, -> { Auth0::Types::FormFieldPaymentConfigChargeOneOffCurrencyEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/form_field_payment_config_charge_one_off_one_off_amount.rb b/lib/auth0/types/form_field_payment_config_charge_one_off_one_off_amount.rb new file mode 100644 index 000000000..2b4f3d6e3 --- /dev/null +++ b/lib/auth0/types/form_field_payment_config_charge_one_off_one_off_amount.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormFieldPaymentConfigChargeOneOffOneOffAmount < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { String } + + member -> { Integer } + end + end +end diff --git a/lib/auth0/types/form_field_payment_config_charge_subscription.rb b/lib/auth0/types/form_field_payment_config_charge_subscription.rb new file mode 100644 index 000000000..f6ff3cdd8 --- /dev/null +++ b/lib/auth0/types/form_field_payment_config_charge_subscription.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormFieldPaymentConfigChargeSubscription < Internal::Types::Model + field :type, -> { Auth0::Types::FormFieldPaymentConfigChargeTypeSubscriptionConst }, optional: false, nullable: false + + field :subscription, -> { Internal::Types::Hash[String, Object] }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/form_field_payment_config_charge_type_one_off_const.rb b/lib/auth0/types/form_field_payment_config_charge_type_one_off_const.rb new file mode 100644 index 000000000..f79f76a2a --- /dev/null +++ b/lib/auth0/types/form_field_payment_config_charge_type_one_off_const.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormFieldPaymentConfigChargeTypeOneOffConst + extend Auth0::Internal::Types::Enum + + ONE_OFF = "ONE_OFF" + end + end +end diff --git a/lib/auth0/types/form_field_payment_config_charge_type_subscription_const.rb b/lib/auth0/types/form_field_payment_config_charge_type_subscription_const.rb new file mode 100644 index 000000000..dfdbac15a --- /dev/null +++ b/lib/auth0/types/form_field_payment_config_charge_type_subscription_const.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormFieldPaymentConfigChargeTypeSubscriptionConst + extend Auth0::Internal::Types::Enum + + SUBSCRIPTION = "SUBSCRIPTION" + end + end +end diff --git a/lib/auth0/types/form_field_payment_config_credentials.rb b/lib/auth0/types/form_field_payment_config_credentials.rb new file mode 100644 index 000000000..2b1e53c0a --- /dev/null +++ b/lib/auth0/types/form_field_payment_config_credentials.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormFieldPaymentConfigCredentials < Internal::Types::Model + field :public_key, -> { String }, optional: false, nullable: false + + field :private_key, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/form_field_payment_config_customer.rb b/lib/auth0/types/form_field_payment_config_customer.rb new file mode 100644 index 000000000..5a7fe0246 --- /dev/null +++ b/lib/auth0/types/form_field_payment_config_customer.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormFieldPaymentConfigCustomer + # FormFieldPaymentConfigCustomer is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/form_field_payment_config_field_properties.rb b/lib/auth0/types/form_field_payment_config_field_properties.rb new file mode 100644 index 000000000..7afc045f5 --- /dev/null +++ b/lib/auth0/types/form_field_payment_config_field_properties.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormFieldPaymentConfigFieldProperties < Internal::Types::Model + field :label, -> { String }, optional: true, nullable: false + + field :placeholder, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_field_payment_config_fields.rb b/lib/auth0/types/form_field_payment_config_fields.rb new file mode 100644 index 000000000..96e4b18d2 --- /dev/null +++ b/lib/auth0/types/form_field_payment_config_fields.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormFieldPaymentConfigFields < Internal::Types::Model + field :card_number, -> { Auth0::Types::FormFieldPaymentConfigFieldProperties }, optional: true, nullable: false + + field :expiration_date, -> { Auth0::Types::FormFieldPaymentConfigFieldProperties }, optional: true, nullable: false + + field :security_code, -> { Auth0::Types::FormFieldPaymentConfigFieldProperties }, optional: true, nullable: false + + field :trustmarks, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_field_payment_config_provider_enum.rb b/lib/auth0/types/form_field_payment_config_provider_enum.rb new file mode 100644 index 000000000..defe2348c --- /dev/null +++ b/lib/auth0/types/form_field_payment_config_provider_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormFieldPaymentConfigProviderEnum + extend Auth0::Internal::Types::Enum + + STRIPE = "STRIPE" + end + end +end diff --git a/lib/auth0/types/form_field_payment_config_subscription.rb b/lib/auth0/types/form_field_payment_config_subscription.rb new file mode 100644 index 000000000..ccb55cebc --- /dev/null +++ b/lib/auth0/types/form_field_payment_config_subscription.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormFieldPaymentConfigSubscription + # FormFieldPaymentConfigSubscription is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/form_field_social.rb b/lib/auth0/types/form_field_social.rb new file mode 100644 index 000000000..c5dba49bb --- /dev/null +++ b/lib/auth0/types/form_field_social.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormFieldSocial < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :category, -> { Auth0::Types::FormComponentCategoryFieldConst }, optional: false, nullable: false + + field :type, -> { Auth0::Types::FormFieldTypeSocialConst }, optional: false, nullable: false + + field :config, -> { Auth0::Types::FormFieldSocialConfig }, optional: true, nullable: false + + field :label, -> { String }, optional: true, nullable: false + + field :hint, -> { String }, optional: true, nullable: false + + field :required, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :sensitive, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_field_social_config.rb b/lib/auth0/types/form_field_social_config.rb new file mode 100644 index 000000000..545b429ac --- /dev/null +++ b/lib/auth0/types/form_field_social_config.rb @@ -0,0 +1,7 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormFieldSocialConfig < Internal::Types::Model; end + end +end diff --git a/lib/auth0/types/form_field_tel.rb b/lib/auth0/types/form_field_tel.rb new file mode 100644 index 000000000..8d880bae2 --- /dev/null +++ b/lib/auth0/types/form_field_tel.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormFieldTel < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :category, -> { Auth0::Types::FormComponentCategoryFieldConst }, optional: false, nullable: false + + field :type, -> { Auth0::Types::FormFieldTypeTelConst }, optional: false, nullable: false + + field :config, -> { Auth0::Types::FormFieldTelConfig }, optional: true, nullable: false + + field :label, -> { String }, optional: true, nullable: false + + field :hint, -> { String }, optional: true, nullable: false + + field :required, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :sensitive, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_field_tel_config.rb b/lib/auth0/types/form_field_tel_config.rb new file mode 100644 index 000000000..3c1f973c5 --- /dev/null +++ b/lib/auth0/types/form_field_tel_config.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormFieldTelConfig < Internal::Types::Model + field :default_value, -> { String }, optional: true, nullable: false + + field :placeholder, -> { String }, optional: true, nullable: false + + field :min_length, -> { Integer }, optional: true, nullable: false + + field :max_length, -> { Integer }, optional: true, nullable: false + + field :country_picker, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :strings, -> { Auth0::Types::FormFieldTelConfigStrings }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_field_tel_config_strings.rb b/lib/auth0/types/form_field_tel_config_strings.rb new file mode 100644 index 000000000..a7350ac03 --- /dev/null +++ b/lib/auth0/types/form_field_tel_config_strings.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormFieldTelConfigStrings < Internal::Types::Model + field :filter_placeholder, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_field_text.rb b/lib/auth0/types/form_field_text.rb new file mode 100644 index 000000000..d1900d2d4 --- /dev/null +++ b/lib/auth0/types/form_field_text.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormFieldText < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :category, -> { Auth0::Types::FormComponentCategoryFieldConst }, optional: false, nullable: false + + field :type, -> { Auth0::Types::FormFieldTypeTextConst }, optional: false, nullable: false + + field :config, -> { Auth0::Types::FormFieldTextConfig }, optional: true, nullable: false + + field :label, -> { String }, optional: true, nullable: false + + field :hint, -> { String }, optional: true, nullable: false + + field :required, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :sensitive, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_field_text_config.rb b/lib/auth0/types/form_field_text_config.rb new file mode 100644 index 000000000..d0a23233c --- /dev/null +++ b/lib/auth0/types/form_field_text_config.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormFieldTextConfig < Internal::Types::Model + field :multiline, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :default_value, -> { String }, optional: true, nullable: false + + field :placeholder, -> { String }, optional: true, nullable: false + + field :min_length, -> { Integer }, optional: true, nullable: false + + field :max_length, -> { Integer }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_field_type_boolean_const.rb b/lib/auth0/types/form_field_type_boolean_const.rb new file mode 100644 index 000000000..858804199 --- /dev/null +++ b/lib/auth0/types/form_field_type_boolean_const.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormFieldTypeBooleanConst + extend Auth0::Internal::Types::Enum + + BOOLEAN = "BOOLEAN" + end + end +end diff --git a/lib/auth0/types/form_field_type_cards_const.rb b/lib/auth0/types/form_field_type_cards_const.rb new file mode 100644 index 000000000..87bf7932b --- /dev/null +++ b/lib/auth0/types/form_field_type_cards_const.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormFieldTypeCardsConst + extend Auth0::Internal::Types::Enum + + CARDS = "CARDS" + end + end +end diff --git a/lib/auth0/types/form_field_type_choice_const.rb b/lib/auth0/types/form_field_type_choice_const.rb new file mode 100644 index 000000000..8b09370d2 --- /dev/null +++ b/lib/auth0/types/form_field_type_choice_const.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormFieldTypeChoiceConst + extend Auth0::Internal::Types::Enum + + CHOICE = "CHOICE" + end + end +end diff --git a/lib/auth0/types/form_field_type_custom_const.rb b/lib/auth0/types/form_field_type_custom_const.rb new file mode 100644 index 000000000..3b4a8d91e --- /dev/null +++ b/lib/auth0/types/form_field_type_custom_const.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormFieldTypeCustomConst + extend Auth0::Internal::Types::Enum + + CUSTOM = "CUSTOM" + end + end +end diff --git a/lib/auth0/types/form_field_type_date_const.rb b/lib/auth0/types/form_field_type_date_const.rb new file mode 100644 index 000000000..fd6600c26 --- /dev/null +++ b/lib/auth0/types/form_field_type_date_const.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormFieldTypeDateConst + extend Auth0::Internal::Types::Enum + + DATE = "DATE" + end + end +end diff --git a/lib/auth0/types/form_field_type_dropdown_const.rb b/lib/auth0/types/form_field_type_dropdown_const.rb new file mode 100644 index 000000000..dbe8e4005 --- /dev/null +++ b/lib/auth0/types/form_field_type_dropdown_const.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormFieldTypeDropdownConst + extend Auth0::Internal::Types::Enum + + DROPDOWN = "DROPDOWN" + end + end +end diff --git a/lib/auth0/types/form_field_type_email_const.rb b/lib/auth0/types/form_field_type_email_const.rb new file mode 100644 index 000000000..f3a846303 --- /dev/null +++ b/lib/auth0/types/form_field_type_email_const.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormFieldTypeEmailConst + extend Auth0::Internal::Types::Enum + + EMAIL = "EMAIL" + end + end +end diff --git a/lib/auth0/types/form_field_type_file_const.rb b/lib/auth0/types/form_field_type_file_const.rb new file mode 100644 index 000000000..8faf448c0 --- /dev/null +++ b/lib/auth0/types/form_field_type_file_const.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormFieldTypeFileConst + extend Auth0::Internal::Types::Enum + + FILE = "FILE" + end + end +end diff --git a/lib/auth0/types/form_field_type_legal_const.rb b/lib/auth0/types/form_field_type_legal_const.rb new file mode 100644 index 000000000..e90a5eb68 --- /dev/null +++ b/lib/auth0/types/form_field_type_legal_const.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormFieldTypeLegalConst + extend Auth0::Internal::Types::Enum + + LEGAL = "LEGAL" + end + end +end diff --git a/lib/auth0/types/form_field_type_number_const.rb b/lib/auth0/types/form_field_type_number_const.rb new file mode 100644 index 000000000..5e687beb9 --- /dev/null +++ b/lib/auth0/types/form_field_type_number_const.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormFieldTypeNumberConst + extend Auth0::Internal::Types::Enum + + NUMBER = "NUMBER" + end + end +end diff --git a/lib/auth0/types/form_field_type_password_const.rb b/lib/auth0/types/form_field_type_password_const.rb new file mode 100644 index 000000000..0ece2d650 --- /dev/null +++ b/lib/auth0/types/form_field_type_password_const.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormFieldTypePasswordConst + extend Auth0::Internal::Types::Enum + + PASSWORD = "PASSWORD" + end + end +end diff --git a/lib/auth0/types/form_field_type_payment_const.rb b/lib/auth0/types/form_field_type_payment_const.rb new file mode 100644 index 000000000..00e5aa366 --- /dev/null +++ b/lib/auth0/types/form_field_type_payment_const.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormFieldTypePaymentConst + extend Auth0::Internal::Types::Enum + + PAYMENT = "PAYMENT" + end + end +end diff --git a/lib/auth0/types/form_field_type_social_const.rb b/lib/auth0/types/form_field_type_social_const.rb new file mode 100644 index 000000000..0519193d2 --- /dev/null +++ b/lib/auth0/types/form_field_type_social_const.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormFieldTypeSocialConst + extend Auth0::Internal::Types::Enum + + SOCIAL = "SOCIAL" + end + end +end diff --git a/lib/auth0/types/form_field_type_tel_const.rb b/lib/auth0/types/form_field_type_tel_const.rb new file mode 100644 index 000000000..f343ec887 --- /dev/null +++ b/lib/auth0/types/form_field_type_tel_const.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormFieldTypeTelConst + extend Auth0::Internal::Types::Enum + + TEL = "TEL" + end + end +end diff --git a/lib/auth0/types/form_field_type_text_const.rb b/lib/auth0/types/form_field_type_text_const.rb new file mode 100644 index 000000000..a8ce1b07d --- /dev/null +++ b/lib/auth0/types/form_field_type_text_const.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormFieldTypeTextConst + extend Auth0::Internal::Types::Enum + + TEXT = "TEXT" + end + end +end diff --git a/lib/auth0/types/form_field_type_url_const.rb b/lib/auth0/types/form_field_type_url_const.rb new file mode 100644 index 000000000..2839568c1 --- /dev/null +++ b/lib/auth0/types/form_field_type_url_const.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormFieldTypeURLConst + extend Auth0::Internal::Types::Enum + + URL = "URL" + end + end +end diff --git a/lib/auth0/types/form_field_url.rb b/lib/auth0/types/form_field_url.rb new file mode 100644 index 000000000..dbf3639fa --- /dev/null +++ b/lib/auth0/types/form_field_url.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormFieldURL < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :category, -> { Auth0::Types::FormComponentCategoryFieldConst }, optional: false, nullable: false + + field :type, -> { Auth0::Types::FormFieldTypeURLConst }, optional: false, nullable: false + + field :config, -> { Auth0::Types::FormFieldURLConfig }, optional: true, nullable: false + + field :label, -> { String }, optional: true, nullable: false + + field :hint, -> { String }, optional: true, nullable: false + + field :required, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :sensitive, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_field_url_config.rb b/lib/auth0/types/form_field_url_config.rb new file mode 100644 index 000000000..4a1db088f --- /dev/null +++ b/lib/auth0/types/form_field_url_config.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormFieldURLConfig < Internal::Types::Model + field :default_value, -> { String }, optional: true, nullable: false + + field :placeholder, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_flow.rb b/lib/auth0/types/form_flow.rb new file mode 100644 index 000000000..dd08fdfaa --- /dev/null +++ b/lib/auth0/types/form_flow.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormFlow < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :type, -> { Auth0::Types::FormNodeTypeFlowConst }, optional: false, nullable: false + + field :coordinates, -> { Auth0::Types::FormNodeCoordinates }, optional: true, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :config, -> { Auth0::Types::FormFlowConfig }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/form_flow_config.rb b/lib/auth0/types/form_flow_config.rb new file mode 100644 index 000000000..a4ca6d534 --- /dev/null +++ b/lib/auth0/types/form_flow_config.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormFlowConfig < Internal::Types::Model + field :flow_id, -> { String }, optional: false, nullable: false + + field :next_node, -> { Auth0::Types::FormNodePointer }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_hidden_field.rb b/lib/auth0/types/form_hidden_field.rb new file mode 100644 index 000000000..789ccafdd --- /dev/null +++ b/lib/auth0/types/form_hidden_field.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormHiddenField < Internal::Types::Model + field :key, -> { String }, optional: false, nullable: false + + field :value, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_languages.rb b/lib/auth0/types/form_languages.rb new file mode 100644 index 000000000..4418c87c0 --- /dev/null +++ b/lib/auth0/types/form_languages.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormLanguages < Internal::Types::Model + field :primary, -> { String }, optional: true, nullable: false + + field :default, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_languages_nullable.rb b/lib/auth0/types/form_languages_nullable.rb new file mode 100644 index 000000000..7602b15cf --- /dev/null +++ b/lib/auth0/types/form_languages_nullable.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormLanguagesNullable + # FormLanguagesNullable is an alias for Object + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/form_messages.rb b/lib/auth0/types/form_messages.rb new file mode 100644 index 000000000..5566db136 --- /dev/null +++ b/lib/auth0/types/form_messages.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormMessages < Internal::Types::Model + field :errors, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :custom, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_messages_custom.rb b/lib/auth0/types/form_messages_custom.rb new file mode 100644 index 000000000..dc7865c5a --- /dev/null +++ b/lib/auth0/types/form_messages_custom.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormMessagesCustom + # FormMessagesCustom is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/form_messages_error.rb b/lib/auth0/types/form_messages_error.rb new file mode 100644 index 000000000..f3ada33ea --- /dev/null +++ b/lib/auth0/types/form_messages_error.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormMessagesError + # FormMessagesError is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/form_messages_nullable.rb b/lib/auth0/types/form_messages_nullable.rb new file mode 100644 index 000000000..114dda5b8 --- /dev/null +++ b/lib/auth0/types/form_messages_nullable.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormMessagesNullable + # FormMessagesNullable is an alias for Object + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/form_node.rb b/lib/auth0/types/form_node.rb new file mode 100644 index 000000000..b07896f8f --- /dev/null +++ b/lib/auth0/types/form_node.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormNode < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::FormFlow } + + member -> { Auth0::Types::FormRouter } + + member -> { Auth0::Types::FormStep } + end + end +end diff --git a/lib/auth0/types/form_node_coordinates.rb b/lib/auth0/types/form_node_coordinates.rb new file mode 100644 index 000000000..bd146b45e --- /dev/null +++ b/lib/auth0/types/form_node_coordinates.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormNodeCoordinates < Internal::Types::Model + field :x, -> { Integer }, optional: false, nullable: false + + field :y, -> { Integer }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/form_node_list.rb b/lib/auth0/types/form_node_list.rb new file mode 100644 index 000000000..97ef860fa --- /dev/null +++ b/lib/auth0/types/form_node_list.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormNodeList + # FormNodeList is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/form_node_list_nullable.rb b/lib/auth0/types/form_node_list_nullable.rb new file mode 100644 index 000000000..ccb10c8ee --- /dev/null +++ b/lib/auth0/types/form_node_list_nullable.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormNodeListNullable + # FormNodeListNullable is an alias for Object + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/form_node_pointer.rb b/lib/auth0/types/form_node_pointer.rb new file mode 100644 index 000000000..8374c1ee5 --- /dev/null +++ b/lib/auth0/types/form_node_pointer.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormNodePointer < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { String } + + member -> { Auth0::Types::FormEndingNodeID } + end + end +end diff --git a/lib/auth0/types/form_node_type_flow_const.rb b/lib/auth0/types/form_node_type_flow_const.rb new file mode 100644 index 000000000..ac5ce8e48 --- /dev/null +++ b/lib/auth0/types/form_node_type_flow_const.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormNodeTypeFlowConst + extend Auth0::Internal::Types::Enum + + FLOW = "FLOW" + end + end +end diff --git a/lib/auth0/types/form_node_type_router_const.rb b/lib/auth0/types/form_node_type_router_const.rb new file mode 100644 index 000000000..b277ecde3 --- /dev/null +++ b/lib/auth0/types/form_node_type_router_const.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormNodeTypeRouterConst + extend Auth0::Internal::Types::Enum + + ROUTER = "ROUTER" + end + end +end diff --git a/lib/auth0/types/form_node_type_step_const.rb b/lib/auth0/types/form_node_type_step_const.rb new file mode 100644 index 000000000..6a8241bed --- /dev/null +++ b/lib/auth0/types/form_node_type_step_const.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormNodeTypeStepConst + extend Auth0::Internal::Types::Enum + + STEP = "STEP" + end + end +end diff --git a/lib/auth0/types/form_router.rb b/lib/auth0/types/form_router.rb new file mode 100644 index 000000000..c353f5b4c --- /dev/null +++ b/lib/auth0/types/form_router.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormRouter < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :type, -> { Auth0::Types::FormNodeTypeRouterConst }, optional: false, nullable: false + + field :coordinates, -> { Auth0::Types::FormNodeCoordinates }, optional: true, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :config, -> { Auth0::Types::FormRouterConfig }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_router_config.rb b/lib/auth0/types/form_router_config.rb new file mode 100644 index 000000000..bd9222e4c --- /dev/null +++ b/lib/auth0/types/form_router_config.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormRouterConfig < Internal::Types::Model + field :rules, -> { Internal::Types::Array[Auth0::Types::FormRouterRule] }, optional: true, nullable: false + + field :fallback, -> { Auth0::Types::FormNodePointer }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_router_rule.rb b/lib/auth0/types/form_router_rule.rb new file mode 100644 index 000000000..b86d317f5 --- /dev/null +++ b/lib/auth0/types/form_router_rule.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormRouterRule < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :next_node, -> { Auth0::Types::FormNodePointer }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_start_node.rb b/lib/auth0/types/form_start_node.rb new file mode 100644 index 000000000..755390a0c --- /dev/null +++ b/lib/auth0/types/form_start_node.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormStartNode < Internal::Types::Model + field :hidden_fields, -> { Internal::Types::Array[Auth0::Types::FormHiddenField] }, optional: true, nullable: false + + field :next_node, -> { Auth0::Types::FormNodePointer }, optional: true, nullable: false + + field :coordinates, -> { Auth0::Types::FormNodeCoordinates }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_start_node_nullable.rb b/lib/auth0/types/form_start_node_nullable.rb new file mode 100644 index 000000000..6a782b1c6 --- /dev/null +++ b/lib/auth0/types/form_start_node_nullable.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormStartNodeNullable + # FormStartNodeNullable is an alias for Object + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/form_step.rb b/lib/auth0/types/form_step.rb new file mode 100644 index 000000000..73e9c041e --- /dev/null +++ b/lib/auth0/types/form_step.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormStep < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :type, -> { Auth0::Types::FormNodeTypeStepConst }, optional: false, nullable: false + + field :coordinates, -> { Auth0::Types::FormNodeCoordinates }, optional: true, nullable: false + + field :alias_, -> { String }, optional: true, nullable: false, api_name: "alias" + + field :config, -> { Auth0::Types::FormStepConfig }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_step_component_list.rb b/lib/auth0/types/form_step_component_list.rb new file mode 100644 index 000000000..fd1076b20 --- /dev/null +++ b/lib/auth0/types/form_step_component_list.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormStepComponentList + # FormStepComponentList is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/form_step_config.rb b/lib/auth0/types/form_step_config.rb new file mode 100644 index 000000000..e013611b0 --- /dev/null +++ b/lib/auth0/types/form_step_config.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormStepConfig < Internal::Types::Model + field :components, -> { Internal::Types::Array[Auth0::Types::FormComponent] }, optional: true, nullable: false + + field :next_node, -> { Auth0::Types::FormNodePointer }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_style.rb b/lib/auth0/types/form_style.rb new file mode 100644 index 000000000..7053fb5f9 --- /dev/null +++ b/lib/auth0/types/form_style.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormStyle < Internal::Types::Model + field :css, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_style_nullable.rb b/lib/auth0/types/form_style_nullable.rb new file mode 100644 index 000000000..f600333f6 --- /dev/null +++ b/lib/auth0/types/form_style_nullable.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormStyleNullable + # FormStyleNullable is an alias for Object + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/form_summary.rb b/lib/auth0/types/form_summary.rb new file mode 100644 index 000000000..67d0a5bb3 --- /dev/null +++ b/lib/auth0/types/form_summary.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormSummary < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :created_at, -> { String }, optional: false, nullable: false + + field :updated_at, -> { String }, optional: false, nullable: false + + field :embedded_at, -> { String }, optional: true, nullable: false + + field :submitted_at, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_translations.rb b/lib/auth0/types/form_translations.rb new file mode 100644 index 000000000..897ff025e --- /dev/null +++ b/lib/auth0/types/form_translations.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormTranslations + # FormTranslations is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/form_translations_nullable.rb b/lib/auth0/types/form_translations_nullable.rb new file mode 100644 index 000000000..79c06d683 --- /dev/null +++ b/lib/auth0/types/form_translations_nullable.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormTranslationsNullable + # FormTranslationsNullable is an alias for Object + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/form_widget.rb b/lib/auth0/types/form_widget.rb new file mode 100644 index 000000000..b53cdadc3 --- /dev/null +++ b/lib/auth0/types/form_widget.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormWidget < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::FormWidgetAuth0VerifiableCredentials } + + member -> { Auth0::Types::FormWidgetGMapsAddress } + + member -> { Auth0::Types::FormWidgetRecaptcha } + end + end +end diff --git a/lib/auth0/types/form_widget_auth0verifiable_credentials.rb b/lib/auth0/types/form_widget_auth0verifiable_credentials.rb new file mode 100644 index 000000000..800992e35 --- /dev/null +++ b/lib/auth0/types/form_widget_auth0verifiable_credentials.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormWidgetAuth0VerifiableCredentials < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :category, -> { Auth0::Types::FormComponentCategoryWidgetConst }, optional: false, nullable: false + + field :type, -> { Auth0::Types::FormWidgetTypeAuth0VerifiableCredentialsConst }, optional: false, nullable: false + + field :config, -> { Auth0::Types::FormWidgetAuth0VerifiableCredentialsConfig }, optional: false, nullable: false + + field :label, -> { String }, optional: true, nullable: false + + field :hint, -> { String }, optional: true, nullable: false + + field :required, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :sensitive, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_widget_auth0verifiable_credentials_config.rb b/lib/auth0/types/form_widget_auth0verifiable_credentials_config.rb new file mode 100644 index 000000000..15794fb2f --- /dev/null +++ b/lib/auth0/types/form_widget_auth0verifiable_credentials_config.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormWidgetAuth0VerifiableCredentialsConfig < Internal::Types::Model + field :url, -> { String }, optional: false, nullable: false + + field :size, -> { Integer }, optional: true, nullable: false + + field :alternate_text, -> { String }, optional: false, nullable: false + + field :access_token, -> { String }, optional: false, nullable: false + + field :verification_id, -> { String }, optional: false, nullable: false + + field :max_wait, -> { Integer }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_widget_g_maps_address.rb b/lib/auth0/types/form_widget_g_maps_address.rb new file mode 100644 index 000000000..d4e161a8a --- /dev/null +++ b/lib/auth0/types/form_widget_g_maps_address.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormWidgetGMapsAddress < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :category, -> { Auth0::Types::FormComponentCategoryWidgetConst }, optional: false, nullable: false + + field :type, -> { Auth0::Types::FormWidgetTypeGMapsAddressConst }, optional: false, nullable: false + + field :config, -> { Auth0::Types::FormWidgetGMapsAddressConfig }, optional: false, nullable: false + + field :label, -> { String }, optional: true, nullable: false + + field :hint, -> { String }, optional: true, nullable: false + + field :required, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :sensitive, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_widget_g_maps_address_config.rb b/lib/auth0/types/form_widget_g_maps_address_config.rb new file mode 100644 index 000000000..cc8da2d7a --- /dev/null +++ b/lib/auth0/types/form_widget_g_maps_address_config.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormWidgetGMapsAddressConfig < Internal::Types::Model + field :api_key, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/form_widget_recaptcha.rb b/lib/auth0/types/form_widget_recaptcha.rb new file mode 100644 index 000000000..edba0ab4e --- /dev/null +++ b/lib/auth0/types/form_widget_recaptcha.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormWidgetRecaptcha < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :category, -> { Auth0::Types::FormComponentCategoryWidgetConst }, optional: false, nullable: false + + field :type, -> { Auth0::Types::FormWidgetTypeRecaptchaConst }, optional: false, nullable: false + + field :config, -> { Auth0::Types::FormWidgetRecaptchaConfig }, optional: false, nullable: false + + field :label, -> { String }, optional: true, nullable: false + + field :hint, -> { String }, optional: true, nullable: false + + field :required, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :sensitive, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/form_widget_recaptcha_config.rb b/lib/auth0/types/form_widget_recaptcha_config.rb new file mode 100644 index 000000000..5410fb212 --- /dev/null +++ b/lib/auth0/types/form_widget_recaptcha_config.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class FormWidgetRecaptchaConfig < Internal::Types::Model + field :site_key, -> { String }, optional: false, nullable: false + + field :secret_key, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/form_widget_type_auth0verifiable_credentials_const.rb b/lib/auth0/types/form_widget_type_auth0verifiable_credentials_const.rb new file mode 100644 index 000000000..10ff8ce4a --- /dev/null +++ b/lib/auth0/types/form_widget_type_auth0verifiable_credentials_const.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormWidgetTypeAuth0VerifiableCredentialsConst + extend Auth0::Internal::Types::Enum + + AUTH0VERIFIABLE_CREDENTIALS = "AUTH0_VERIFIABLE_CREDENTIALS" + end + end +end diff --git a/lib/auth0/types/form_widget_type_g_maps_address_const.rb b/lib/auth0/types/form_widget_type_g_maps_address_const.rb new file mode 100644 index 000000000..afc6563ce --- /dev/null +++ b/lib/auth0/types/form_widget_type_g_maps_address_const.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormWidgetTypeGMapsAddressConst + extend Auth0::Internal::Types::Enum + + GMAPS_ADDRESS = "GMAPS_ADDRESS" + end + end +end diff --git a/lib/auth0/types/form_widget_type_recaptcha_const.rb b/lib/auth0/types/form_widget_type_recaptcha_const.rb new file mode 100644 index 000000000..59944a8cb --- /dev/null +++ b/lib/auth0/types/form_widget_type_recaptcha_const.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormWidgetTypeRecaptchaConst + extend Auth0::Internal::Types::Enum + + RECAPTCHA = "RECAPTCHA" + end + end +end diff --git a/lib/auth0/types/forms_request_parameters_hydrate_enum.rb b/lib/auth0/types/forms_request_parameters_hydrate_enum.rb new file mode 100644 index 000000000..f83565402 --- /dev/null +++ b/lib/auth0/types/forms_request_parameters_hydrate_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module FormsRequestParametersHydrateEnum + extend Auth0::Internal::Types::Enum + + FLOW_COUNT = "flow_count" + LINKS = "links" + end + end +end diff --git a/lib/auth0/types/get_action_execution_response_content.rb b/lib/auth0/types/get_action_execution_response_content.rb new file mode 100644 index 000000000..bb12439b6 --- /dev/null +++ b/lib/auth0/types/get_action_execution_response_content.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The result of a specific execution of a trigger. + class GetActionExecutionResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :trigger_id, -> { Auth0::Types::ActionTriggerTypeEnum }, optional: true, nullable: false + + field :status, -> { Auth0::Types::ActionExecutionStatusEnum }, optional: true, nullable: false + + field :results, -> { Internal::Types::Array[Auth0::Types::ActionExecutionResult] }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :updated_at, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_action_module_actions_response_content.rb b/lib/auth0/types/get_action_module_actions_response_content.rb new file mode 100644 index 000000000..d4571c272 --- /dev/null +++ b/lib/auth0/types/get_action_module_actions_response_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetActionModuleActionsResponseContent < Internal::Types::Model + field :actions, -> { Internal::Types::Array[Auth0::Types::ActionModuleAction] }, optional: true, nullable: false + + field :total, -> { Integer }, optional: true, nullable: false + + field :page, -> { Integer }, optional: true, nullable: false + + field :per_page, -> { Integer }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_action_module_response_content.rb b/lib/auth0/types/get_action_module_response_content.rb new file mode 100644 index 000000000..01381f55b --- /dev/null +++ b/lib/auth0/types/get_action_module_response_content.rb @@ -0,0 +1,29 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetActionModuleResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :code, -> { String }, optional: true, nullable: false + + field :dependencies, -> { Internal::Types::Array[Auth0::Types::ActionModuleDependency] }, optional: true, nullable: false + + field :secrets, -> { Internal::Types::Array[Auth0::Types::ActionModuleSecret] }, optional: true, nullable: false + + field :actions_using_module_total, -> { Integer }, optional: true, nullable: false + + field :all_changes_published, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :latest_version_number, -> { Integer }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :updated_at, -> { String }, optional: true, nullable: false + + field :latest_version, -> { Auth0::Types::ActionModuleVersionReference }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_action_module_version_response_content.rb b/lib/auth0/types/get_action_module_version_response_content.rb new file mode 100644 index 000000000..065c076d9 --- /dev/null +++ b/lib/auth0/types/get_action_module_version_response_content.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetActionModuleVersionResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :module_id, -> { String }, optional: true, nullable: false + + field :version_number, -> { Integer }, optional: true, nullable: false + + field :code, -> { String }, optional: true, nullable: false + + field :secrets, -> { Internal::Types::Array[Auth0::Types::ActionModuleSecret] }, optional: true, nullable: false + + field :dependencies, -> { Internal::Types::Array[Auth0::Types::ActionModuleDependency] }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_action_module_versions_response_content.rb b/lib/auth0/types/get_action_module_versions_response_content.rb new file mode 100644 index 000000000..878f303ca --- /dev/null +++ b/lib/auth0/types/get_action_module_versions_response_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetActionModuleVersionsResponseContent < Internal::Types::Model + field :versions, -> { Internal::Types::Array[Auth0::Types::ActionModuleVersion] }, optional: true, nullable: false + + field :total, -> { Integer }, optional: true, nullable: false + + field :page, -> { Integer }, optional: true, nullable: false + + field :per_page, -> { Integer }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_action_modules_response_content.rb b/lib/auth0/types/get_action_modules_response_content.rb new file mode 100644 index 000000000..9f9ae68b1 --- /dev/null +++ b/lib/auth0/types/get_action_modules_response_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetActionModulesResponseContent < Internal::Types::Model + field :modules, -> { Internal::Types::Array[Auth0::Types::ActionModuleListItem] }, optional: true, nullable: false + + field :total, -> { Integer }, optional: true, nullable: false + + field :page, -> { Integer }, optional: true, nullable: false + + field :per_page, -> { Integer }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_action_response_content.rb b/lib/auth0/types/get_action_response_content.rb new file mode 100644 index 000000000..bbe6a70f3 --- /dev/null +++ b/lib/auth0/types/get_action_response_content.rb @@ -0,0 +1,41 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetActionResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :supported_triggers, -> { Internal::Types::Array[Auth0::Types::ActionTrigger] }, optional: true, nullable: false + + field :all_changes_deployed, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :updated_at, -> { String }, optional: true, nullable: false + + field :code, -> { String }, optional: true, nullable: false + + field :dependencies, -> { Internal::Types::Array[Auth0::Types::ActionVersionDependency] }, optional: true, nullable: false + + field :runtime, -> { String }, optional: true, nullable: false + + field :secrets, -> { Internal::Types::Array[Auth0::Types::ActionSecretResponse] }, optional: true, nullable: false + + field :deployed_version, -> { Auth0::Types::ActionDeployedVersion }, optional: true, nullable: false + + field :installed_integration_id, -> { String }, optional: true, nullable: false + + field :integration, -> { Auth0::Types::Integration }, optional: true, nullable: false + + field :status, -> { Auth0::Types::ActionBuildStatusEnum }, optional: true, nullable: false + + field :built_at, -> { String }, optional: true, nullable: false + + field :deploy, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :modules, -> { Internal::Types::Array[Auth0::Types::ActionModuleReference] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_action_version_response_content.rb b/lib/auth0/types/get_action_version_response_content.rb new file mode 100644 index 000000000..2141a0c07 --- /dev/null +++ b/lib/auth0/types/get_action_version_response_content.rb @@ -0,0 +1,39 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetActionVersionResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :action_id, -> { String }, optional: true, nullable: false + + field :code, -> { String }, optional: true, nullable: false + + field :dependencies, -> { Internal::Types::Array[Auth0::Types::ActionVersionDependency] }, optional: true, nullable: false + + field :deployed, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :runtime, -> { String }, optional: true, nullable: false + + field :secrets, -> { Internal::Types::Array[Auth0::Types::ActionSecretResponse] }, optional: true, nullable: false + + field :status, -> { Auth0::Types::ActionVersionBuildStatusEnum }, optional: true, nullable: false + + field :number, -> { Integer }, optional: true, nullable: false + + field :errors, -> { Internal::Types::Array[Auth0::Types::ActionError] }, optional: true, nullable: false + + field :action, -> { Auth0::Types::ActionBase }, optional: true, nullable: false + + field :built_at, -> { String }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :updated_at, -> { String }, optional: true, nullable: false + + field :supported_triggers, -> { Internal::Types::Array[Auth0::Types::ActionTrigger] }, optional: true, nullable: false + + field :modules, -> { Internal::Types::Array[Auth0::Types::ActionModuleReference] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_active_users_count_stats_response_content.rb b/lib/auth0/types/get_active_users_count_stats_response_content.rb new file mode 100644 index 000000000..6b67ef9ab --- /dev/null +++ b/lib/auth0/types/get_active_users_count_stats_response_content.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module GetActiveUsersCountStatsResponseContent + # GetActiveUsersCountStatsResponseContent is an alias for Float + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/get_acul_response_content.rb b/lib/auth0/types/get_acul_response_content.rb new file mode 100644 index 000000000..907955725 --- /dev/null +++ b/lib/auth0/types/get_acul_response_content.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetAculResponseContent < Internal::Types::Model + field :tenant, -> { String }, optional: true, nullable: false + + field :prompt, -> { String }, optional: true, nullable: false + + field :screen, -> { String }, optional: true, nullable: false + + field :rendering_mode, -> { Auth0::Types::AculRenderingModeEnum }, optional: true, nullable: false + + field :context_configuration, -> { Internal::Types::Array[Auth0::Types::AculContextConfigurationItem] }, optional: true, nullable: false + + field :default_head_tags_disabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :use_page_template, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :head_tags, -> { Internal::Types::Array[Auth0::Types::AculHeadTag] }, optional: true, nullable: false + + field :filters, -> { Auth0::Types::AculFilters }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_attack_protection_captcha_response_content.rb b/lib/auth0/types/get_attack_protection_captcha_response_content.rb new file mode 100644 index 000000000..e104b574d --- /dev/null +++ b/lib/auth0/types/get_attack_protection_captcha_response_content.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetAttackProtectionCaptchaResponseContent < Internal::Types::Model + field :active_provider_id, -> { String }, optional: true, nullable: false + + field :arkose, -> { Auth0::Types::AttackProtectionCaptchaArkoseResponseContent }, optional: true, nullable: false + + field :auth_challenge, -> { Auth0::Types::AttackProtectionCaptchaAuthChallengeResponseContent }, optional: true, nullable: false + + field :hcaptcha, -> { Auth0::Types::AttackProtectionCaptchaHcaptchaResponseContent }, optional: true, nullable: false + + field :friendly_captcha, -> { Auth0::Types::AttackProtectionCaptchaFriendlyCaptchaResponseContent }, optional: true, nullable: false + + field :recaptcha_enterprise, -> { Auth0::Types::AttackProtectionCaptchaRecaptchaEnterpriseResponseContent }, optional: true, nullable: false + + field :recaptcha_v2, -> { Auth0::Types::AttackProtectionCaptchaRecaptchaV2ResponseContent }, optional: true, nullable: false + + field :simple_captcha, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_bot_detection_settings_response_content.rb b/lib/auth0/types/get_bot_detection_settings_response_content.rb new file mode 100644 index 000000000..c7a5c0034 --- /dev/null +++ b/lib/auth0/types/get_bot_detection_settings_response_content.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetBotDetectionSettingsResponseContent < Internal::Types::Model + field :bot_detection_level, -> { Auth0::Types::BotDetectionLevelEnum }, optional: false, nullable: false + + field :challenge_password_policy, -> { Auth0::Types::BotDetectionChallengePolicyPasswordFlowEnum }, optional: false, nullable: false + + field :challenge_passwordless_policy, -> { Auth0::Types::BotDetectionChallengePolicyPasswordlessFlowEnum }, optional: false, nullable: false + + field :challenge_password_reset_policy, -> { Auth0::Types::BotDetectionChallengePolicyPasswordResetFlowEnum }, optional: false, nullable: false + + field :allowlist, -> { Internal::Types::Array[String] }, optional: false, nullable: false + + field :monitoring_mode_enabled, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/get_branding_default_theme_response_content.rb b/lib/auth0/types/get_branding_default_theme_response_content.rb new file mode 100644 index 000000000..913b38c22 --- /dev/null +++ b/lib/auth0/types/get_branding_default_theme_response_content.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetBrandingDefaultThemeResponseContent < Internal::Types::Model + field :borders, -> { Auth0::Types::BrandingThemeBorders }, optional: false, nullable: false + + field :colors, -> { Auth0::Types::BrandingThemeColors }, optional: false, nullable: false + + field :display_name, -> { String }, optional: false, nullable: false, api_name: "displayName" + + field :fonts, -> { Auth0::Types::BrandingThemeFonts }, optional: false, nullable: false + + field :identifiers, -> { Auth0::Types::BrandingThemeIdentifiers }, optional: true, nullable: false + + field :page_background, -> { Auth0::Types::BrandingThemePageBackground }, optional: false, nullable: false + + field :theme_id, -> { String }, optional: false, nullable: false, api_name: "themeId" + + field :widget, -> { Auth0::Types::BrandingThemeWidget }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/get_branding_phone_provider_response_content.rb b/lib/auth0/types/get_branding_phone_provider_response_content.rb new file mode 100644 index 000000000..7fcc78fc9 --- /dev/null +++ b/lib/auth0/types/get_branding_phone_provider_response_content.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Phone provider configuration schema + class GetBrandingPhoneProviderResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :tenant, -> { String }, optional: true, nullable: false + + field :name, -> { Auth0::Types::PhoneProviderNameEnum }, optional: false, nullable: false + + field :channel, -> { Auth0::Types::PhoneProviderChannelEnum }, optional: true, nullable: false + + field :disabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :configuration, -> { Auth0::Types::PhoneProviderConfiguration }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :updated_at, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_branding_response_content.rb b/lib/auth0/types/get_branding_response_content.rb new file mode 100644 index 000000000..dd8221d09 --- /dev/null +++ b/lib/auth0/types/get_branding_response_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetBrandingResponseContent < Internal::Types::Model + field :colors, -> { Auth0::Types::BrandingColors }, optional: true, nullable: false + + field :favicon_url, -> { String }, optional: true, nullable: false + + field :logo_url, -> { String }, optional: true, nullable: false + + field :font, -> { Auth0::Types::BrandingFont }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_branding_theme_response_content.rb b/lib/auth0/types/get_branding_theme_response_content.rb new file mode 100644 index 000000000..2f50793db --- /dev/null +++ b/lib/auth0/types/get_branding_theme_response_content.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetBrandingThemeResponseContent < Internal::Types::Model + field :borders, -> { Auth0::Types::BrandingThemeBorders }, optional: false, nullable: false + + field :colors, -> { Auth0::Types::BrandingThemeColors }, optional: false, nullable: false + + field :display_name, -> { String }, optional: false, nullable: false, api_name: "displayName" + + field :fonts, -> { Auth0::Types::BrandingThemeFonts }, optional: false, nullable: false + + field :identifiers, -> { Auth0::Types::BrandingThemeIdentifiers }, optional: true, nullable: false + + field :page_background, -> { Auth0::Types::BrandingThemePageBackground }, optional: false, nullable: false + + field :theme_id, -> { String }, optional: false, nullable: false, api_name: "themeId" + + field :widget, -> { Auth0::Types::BrandingThemeWidget }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/get_breached_password_detection_settings_response_content.rb b/lib/auth0/types/get_breached_password_detection_settings_response_content.rb new file mode 100644 index 000000000..2db26ab5a --- /dev/null +++ b/lib/auth0/types/get_breached_password_detection_settings_response_content.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetBreachedPasswordDetectionSettingsResponseContent < Internal::Types::Model + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :shields, -> { Internal::Types::Array[Auth0::Types::BreachedPasswordDetectionShieldsEnum] }, optional: true, nullable: false + + field :admin_notification_frequency, -> { Internal::Types::Array[Auth0::Types::BreachedPasswordDetectionAdminNotificationFrequencyEnum] }, optional: true, nullable: false + + field :method_, -> { Auth0::Types::BreachedPasswordDetectionMethodEnum }, optional: true, nullable: false, api_name: "method" + + field :stage, -> { Auth0::Types::BreachedPasswordDetectionStage }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_brute_force_settings_response_content.rb b/lib/auth0/types/get_brute_force_settings_response_content.rb new file mode 100644 index 000000000..4f6d0a04c --- /dev/null +++ b/lib/auth0/types/get_brute_force_settings_response_content.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetBruteForceSettingsResponseContent < Internal::Types::Model + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :shields, -> { Internal::Types::Array[Auth0::Types::BruteForceProtectionShieldsEnum] }, optional: true, nullable: false + + field :allowlist, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :mode, -> { Auth0::Types::BruteForceProtectionModeEnum }, optional: true, nullable: false + + field :max_attempts, -> { Integer }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_client_credential_response_content.rb b/lib/auth0/types/get_client_credential_response_content.rb new file mode 100644 index 000000000..1a7fa9e39 --- /dev/null +++ b/lib/auth0/types/get_client_credential_response_content.rb @@ -0,0 +1,27 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetClientCredentialResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :kid, -> { String }, optional: true, nullable: false + + field :alg, -> { Auth0::Types::ClientCredentialAlgorithmEnum }, optional: true, nullable: false + + field :credential_type, -> { Auth0::Types::ClientCredentialTypeEnum }, optional: true, nullable: false + + field :subject_dn, -> { String }, optional: true, nullable: false + + field :thumbprint_sha256, -> { String }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :updated_at, -> { String }, optional: true, nullable: false + + field :expires_at, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_client_grant_response_content.rb b/lib/auth0/types/get_client_grant_response_content.rb new file mode 100644 index 000000000..1204d2d7f --- /dev/null +++ b/lib/auth0/types/get_client_grant_response_content.rb @@ -0,0 +1,29 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetClientGrantResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :client_id, -> { String }, optional: true, nullable: false + + field :audience, -> { String }, optional: true, nullable: false + + field :scope, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :organization_usage, -> { Auth0::Types::ClientGrantOrganizationUsageEnum }, optional: true, nullable: false + + field :allow_any_organization, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :default_for, -> { Auth0::Types::ClientGrantDefaultForEnum }, optional: true, nullable: false + + field :is_system, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :subject_type, -> { Auth0::Types::ClientGrantSubjectTypeEnum }, optional: true, nullable: false + + field :authorization_details_types, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :allow_all_scopes, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_client_response_content.rb b/lib/auth0/types/get_client_response_content.rb new file mode 100644 index 000000000..b8928a484 --- /dev/null +++ b/lib/auth0/types/get_client_response_content.rb @@ -0,0 +1,135 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetClientResponseContent < Internal::Types::Model + field :client_id, -> { String }, optional: true, nullable: false + + field :tenant, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :description, -> { String }, optional: true, nullable: false + + field :global, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :client_secret, -> { String }, optional: true, nullable: false + + field :app_type, -> { Auth0::Types::ClientAppTypeEnum }, optional: true, nullable: false + + field :logo_uri, -> { String }, optional: true, nullable: false + + field :is_first_party, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :oidc_conformant, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :callbacks, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :allowed_origins, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :web_origins, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :client_aliases, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :allowed_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :allowed_logout_urls, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :session_transfer, -> { Auth0::Types::ClientSessionTransferConfiguration }, optional: true, nullable: false + + field :oidc_logout, -> { Auth0::Types::ClientOidcBackchannelLogoutSettings }, optional: true, nullable: false + + field :grant_types, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :jwt_configuration, -> { Auth0::Types::ClientJwtConfiguration }, optional: true, nullable: false + + field :signing_keys, -> { Internal::Types::Array[Auth0::Types::ClientSigningKey] }, optional: true, nullable: false + + field :encryption_key, -> { Auth0::Types::ClientEncryptionKey }, optional: true, nullable: false + + field :sso, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :sso_disabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :cross_origin_authentication, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :cross_origin_loc, -> { String }, optional: true, nullable: false + + field :custom_login_page_on, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :custom_login_page, -> { String }, optional: true, nullable: false + + field :custom_login_page_preview, -> { String }, optional: true, nullable: false + + field :form_template, -> { String }, optional: true, nullable: false + + field :addons, -> { Auth0::Types::ClientAddons }, optional: true, nullable: false + + field :token_endpoint_auth_method, -> { Auth0::Types::ClientTokenEndpointAuthMethodEnum }, optional: true, nullable: false + + field :is_token_endpoint_ip_header_trusted, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :client_metadata, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :mobile, -> { Auth0::Types::ClientMobile }, optional: true, nullable: false + + field :initiate_login_uri, -> { String }, optional: true, nullable: false + + field :native_social_login, -> { Auth0::Types::NativeSocialLogin }, optional: true, nullable: false + + field :fedcm_login, -> { Auth0::Types::FedCmLogin }, optional: true, nullable: false + + field :refresh_token, -> { Auth0::Types::ClientRefreshTokenConfiguration }, optional: true, nullable: false + + field :default_organization, -> { Auth0::Types::ClientDefaultOrganization }, optional: true, nullable: false + + field :organization_usage, -> { Auth0::Types::ClientOrganizationUsageEnum }, optional: true, nullable: false + + field :organization_require_behavior, -> { Auth0::Types::ClientOrganizationRequireBehaviorEnum }, optional: true, nullable: false + + field :organization_discovery_methods, -> { Internal::Types::Array[Auth0::Types::ClientOrganizationDiscoveryEnum] }, optional: true, nullable: false + + field :client_authentication_methods, -> { Auth0::Types::ClientAuthenticationMethod }, optional: true, nullable: false + + field :require_pushed_authorization_requests, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :require_proof_of_possession, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :signed_request_object, -> { Auth0::Types::ClientSignedRequestObjectWithCredentialID }, optional: true, nullable: false + + field :token_vault_privileged_access, -> { Auth0::Types::ClientTokenVaultPrivilegedAccessWithCredentialID }, optional: true, nullable: false + + field :compliance_level, -> { Auth0::Types::ClientComplianceLevelEnum }, optional: true, nullable: false + + field :skip_non_verifiable_callback_uri_confirmation_prompt, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :token_exchange, -> { Auth0::Types::ClientTokenExchangeConfiguration }, optional: true, nullable: false + + field :par_request_expiry, -> { Integer }, optional: true, nullable: false + + field :token_quota, -> { Auth0::Types::TokenQuota }, optional: true, nullable: false + + field :express_configuration, -> { Auth0::Types::ExpressConfiguration }, optional: true, nullable: false + + field :my_organization_configuration, -> { Auth0::Types::ClientMyOrganizationResponseConfiguration }, optional: true, nullable: false + + field :identity_assertion_authorization_grant, -> { Auth0::Types::IdentityAssertionAuthorizationGrant }, optional: true, nullable: false + + field :third_party_security_mode, -> { Auth0::Types::ClientThirdPartySecurityModeEnum }, optional: true, nullable: false + + field :redirection_policy, -> { Auth0::Types::ClientRedirectionPolicyEnum }, optional: true, nullable: false + + field :resource_server_identifier, -> { String }, optional: true, nullable: false + + field :async_approval_notification_channels, -> { Internal::Types::Array[Auth0::Types::AsyncApprovalNotificationsChannelsEnum] }, optional: true, nullable: false + + field :external_metadata_type, -> { Auth0::Types::ClientExternalMetadataTypeEnum }, optional: true, nullable: false + + field :external_metadata_created_by, -> { Auth0::Types::ClientExternalMetadataCreatedByEnum }, optional: true, nullable: false + + field :external_client_id, -> { String }, optional: true, nullable: false + + field :jwks_uri, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_connection_enabled_clients_response_content.rb b/lib/auth0/types/get_connection_enabled_clients_response_content.rb new file mode 100644 index 000000000..8bc22afdb --- /dev/null +++ b/lib/auth0/types/get_connection_enabled_clients_response_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetConnectionEnabledClientsResponseContent < Internal::Types::Model + field :clients, -> { Internal::Types::Array[Auth0::Types::ConnectionEnabledClient] }, optional: false, nullable: false + + field :next_, -> { String }, optional: true, nullable: false, api_name: "next" + end + end +end diff --git a/lib/auth0/types/get_connection_profile_response_content.rb b/lib/auth0/types/get_connection_profile_response_content.rb new file mode 100644 index 000000000..6f51f0e51 --- /dev/null +++ b/lib/auth0/types/get_connection_profile_response_content.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetConnectionProfileResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :organization, -> { Auth0::Types::ConnectionProfileOrganization }, optional: true, nullable: false + + field :connection_name_prefix_template, -> { String }, optional: true, nullable: false + + field :enabled_features, -> { Internal::Types::Array[Auth0::Types::EnabledFeaturesEnum] }, optional: true, nullable: false + + field :connection_config, -> { Auth0::Types::ConnectionProfileConfig }, optional: true, nullable: false + + field :strategy_overrides, -> { Auth0::Types::ConnectionProfileStrategyOverrides }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_connection_profile_template_response_content.rb b/lib/auth0/types/get_connection_profile_template_response_content.rb new file mode 100644 index 000000000..e41f400cc --- /dev/null +++ b/lib/auth0/types/get_connection_profile_template_response_content.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetConnectionProfileTemplateResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :template, -> { Auth0::Types::ConnectionProfileTemplate }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_connection_response_content.rb b/lib/auth0/types/get_connection_response_content.rb new file mode 100644 index 000000000..2b47c2106 --- /dev/null +++ b/lib/auth0/types/get_connection_response_content.rb @@ -0,0 +1,35 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetConnectionResponseContent < Internal::Types::Model + field :name, -> { String }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :options, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :id, -> { String }, optional: true, nullable: false + + field :strategy, -> { String }, optional: true, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :cross_app_access_requesting_app, -> { Auth0::Types::CrossAppAccessRequestingApp }, optional: true, nullable: false + + field :cross_app_access_resource_app, -> { Auth0::Types::CrossAppAccessResourceApp }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_custom_domain_response_content.rb b/lib/auth0/types/get_custom_domain_response_content.rb new file mode 100644 index 000000000..cc454a5f9 --- /dev/null +++ b/lib/auth0/types/get_custom_domain_response_content.rb @@ -0,0 +1,33 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetCustomDomainResponseContent < Internal::Types::Model + field :custom_domain_id, -> { String }, optional: false, nullable: false + + field :domain, -> { String }, optional: false, nullable: false + + field :primary, -> { Internal::Types::Boolean }, optional: false, nullable: false + + field :is_default, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :status, -> { Auth0::Types::CustomDomainStatusFilterEnum }, optional: false, nullable: false + + field :type, -> { Auth0::Types::CustomDomainTypeEnum }, optional: false, nullable: false + + field :origin_domain_name, -> { String }, optional: true, nullable: false + + field :verification, -> { Auth0::Types::DomainVerification }, optional: true, nullable: false + + field :custom_client_ip_header, -> { String }, optional: true, nullable: false + + field :tls_policy, -> { String }, optional: true, nullable: false + + field :domain_metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :certificate, -> { Auth0::Types::DomainCertificate }, optional: true, nullable: false + + field :relying_party_identifier, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_custom_signing_keys_response_content.rb b/lib/auth0/types/get_custom_signing_keys_response_content.rb new file mode 100644 index 000000000..8a0edf362 --- /dev/null +++ b/lib/auth0/types/get_custom_signing_keys_response_content.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # JWKS representing an array of custom public signing keys. + class GetCustomSigningKeysResponseContent < Internal::Types::Model + field :keys, -> { Internal::Types::Array[Auth0::Types::CustomSigningKeyJwk] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_custom_texts_by_language_response_content.rb b/lib/auth0/types/get_custom_texts_by_language_response_content.rb new file mode 100644 index 000000000..f06ca947c --- /dev/null +++ b/lib/auth0/types/get_custom_texts_by_language_response_content.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module GetCustomTextsByLanguageResponseContent + # GetCustomTextsByLanguageResponseContent is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/get_default_canonical_domain_response_content.rb b/lib/auth0/types/get_default_canonical_domain_response_content.rb new file mode 100644 index 000000000..dc84e4610 --- /dev/null +++ b/lib/auth0/types/get_default_canonical_domain_response_content.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetDefaultCanonicalDomainResponseContent < Internal::Types::Model + field :domain, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/get_default_custom_domain_response_content.rb b/lib/auth0/types/get_default_custom_domain_response_content.rb new file mode 100644 index 000000000..6c492a26b --- /dev/null +++ b/lib/auth0/types/get_default_custom_domain_response_content.rb @@ -0,0 +1,33 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetDefaultCustomDomainResponseContent < Internal::Types::Model + field :custom_domain_id, -> { String }, optional: false, nullable: false + + field :domain, -> { String }, optional: false, nullable: false + + field :primary, -> { Internal::Types::Boolean }, optional: false, nullable: false + + field :is_default, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :status, -> { Auth0::Types::CustomDomainStatusFilterEnum }, optional: false, nullable: false + + field :type, -> { Auth0::Types::CustomDomainTypeEnum }, optional: false, nullable: false + + field :origin_domain_name, -> { String }, optional: true, nullable: false + + field :verification, -> { Auth0::Types::DomainVerification }, optional: true, nullable: false + + field :custom_client_ip_header, -> { String }, optional: true, nullable: false + + field :tls_policy, -> { String }, optional: true, nullable: false + + field :domain_metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :certificate, -> { Auth0::Types::DomainCertificate }, optional: true, nullable: false + + field :relying_party_identifier, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_default_domain_response_content.rb b/lib/auth0/types/get_default_domain_response_content.rb new file mode 100644 index 000000000..bf0618505 --- /dev/null +++ b/lib/auth0/types/get_default_domain_response_content.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetDefaultDomainResponseContent < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::GetDefaultCustomDomainResponseContent } + + member -> { Auth0::Types::GetDefaultCanonicalDomainResponseContent } + end + end +end diff --git a/lib/auth0/types/get_directory_provisioning_default_mapping_response_content.rb b/lib/auth0/types/get_directory_provisioning_default_mapping_response_content.rb new file mode 100644 index 000000000..bc0226e3d --- /dev/null +++ b/lib/auth0/types/get_directory_provisioning_default_mapping_response_content.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetDirectoryProvisioningDefaultMappingResponseContent < Internal::Types::Model + field :mapping, -> { Internal::Types::Array[Auth0::Types::DirectoryProvisioningMappingItem] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_directory_provisioning_response_content.rb b/lib/auth0/types/get_directory_provisioning_response_content.rb new file mode 100644 index 000000000..7fc1a0765 --- /dev/null +++ b/lib/auth0/types/get_directory_provisioning_response_content.rb @@ -0,0 +1,29 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetDirectoryProvisioningResponseContent < Internal::Types::Model + field :connection_id, -> { String }, optional: false, nullable: false + + field :connection_name, -> { String }, optional: false, nullable: false + + field :strategy, -> { String }, optional: false, nullable: false + + field :mapping, -> { Internal::Types::Array[Auth0::Types::DirectoryProvisioningMappingItem] }, optional: false, nullable: false + + field :synchronize_automatically, -> { Internal::Types::Boolean }, optional: false, nullable: false + + field :synchronize_groups, -> { Auth0::Types::SynchronizeGroupsEnum }, optional: true, nullable: false + + field :created_at, -> { String }, optional: false, nullable: false + + field :updated_at, -> { String }, optional: false, nullable: false + + field :last_synchronization_at, -> { String }, optional: true, nullable: false + + field :last_synchronization_status, -> { String }, optional: true, nullable: false + + field :last_synchronization_error, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_email_provider_response_content.rb b/lib/auth0/types/get_email_provider_response_content.rb new file mode 100644 index 000000000..77f38e20e --- /dev/null +++ b/lib/auth0/types/get_email_provider_response_content.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetEmailProviderResponseContent < Internal::Types::Model + field :name, -> { String }, optional: true, nullable: false + + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :default_from_address, -> { String }, optional: true, nullable: false + + field :credentials, -> { Auth0::Types::EmailProviderCredentials }, optional: true, nullable: false + + field :settings, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_email_template_response_content.rb b/lib/auth0/types/get_email_template_response_content.rb new file mode 100644 index 000000000..5680a9ef8 --- /dev/null +++ b/lib/auth0/types/get_email_template_response_content.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetEmailTemplateResponseContent < Internal::Types::Model + field :template, -> { Auth0::Types::EmailTemplateNameEnum }, optional: true, nullable: false + + field :body, -> { String }, optional: true, nullable: false + + field :from, -> { String }, optional: true, nullable: false + + field :result_url, -> { String }, optional: true, nullable: false, api_name: "resultUrl" + + field :subject, -> { String }, optional: true, nullable: false + + field :syntax, -> { String }, optional: true, nullable: false + + field :url_lifetime_in_seconds, -> { Integer }, optional: true, nullable: false, api_name: "urlLifetimeInSeconds" + + field :include_email_in_redirect, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "includeEmailInRedirect" + + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_encryption_key_response_content.rb b/lib/auth0/types/get_encryption_key_response_content.rb new file mode 100644 index 000000000..94bf0e2f8 --- /dev/null +++ b/lib/auth0/types/get_encryption_key_response_content.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Encryption key + class GetEncryptionKeyResponseContent < Internal::Types::Model + field :kid, -> { String }, optional: false, nullable: false + + field :type, -> { Auth0::Types::EncryptionKeyType }, optional: false, nullable: false + + field :state, -> { Auth0::Types::EncryptionKeyState }, optional: false, nullable: false + + field :created_at, -> { String }, optional: false, nullable: false + + field :updated_at, -> { String }, optional: false, nullable: false + + field :parent_kid, -> { String }, optional: true, nullable: false + + field :public_key, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_event_stream_delivery_history_response_content.rb b/lib/auth0/types/get_event_stream_delivery_history_response_content.rb new file mode 100644 index 000000000..1ee1d6a76 --- /dev/null +++ b/lib/auth0/types/get_event_stream_delivery_history_response_content.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Metadata about a specific attempt to deliver an event + class GetEventStreamDeliveryHistoryResponseContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :event_stream_id, -> { String }, optional: false, nullable: false + + field :status, -> { Auth0::Types::EventStreamDeliveryStatusEnum }, optional: false, nullable: false + + field :event_type, -> { Auth0::Types::EventStreamDeliveryEventTypeEnum }, optional: false, nullable: false + + field :attempts, -> { Internal::Types::Array[Auth0::Types::EventStreamDeliveryAttempt] }, optional: false, nullable: false + + field :event, -> { Auth0::Types::EventStreamCloudEvent }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_event_stream_response_content.rb b/lib/auth0/types/get_event_stream_response_content.rb new file mode 100644 index 000000000..95185605a --- /dev/null +++ b/lib/auth0/types/get_event_stream_response_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetEventStreamResponseContent < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::EventStreamWebhookResponseContent } + + member -> { Auth0::Types::EventStreamEventBridgeResponseContent } + + member -> { Auth0::Types::EventStreamActionResponseContent } + end + end +end diff --git a/lib/auth0/types/get_flow_execution_request_parameters_hydrate_enum.rb b/lib/auth0/types/get_flow_execution_request_parameters_hydrate_enum.rb new file mode 100644 index 000000000..56a735e8a --- /dev/null +++ b/lib/auth0/types/get_flow_execution_request_parameters_hydrate_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module GetFlowExecutionRequestParametersHydrateEnum + extend Auth0::Internal::Types::Enum + + DEBUG = "debug" + end + end +end diff --git a/lib/auth0/types/get_flow_execution_response_content.rb b/lib/auth0/types/get_flow_execution_response_content.rb new file mode 100644 index 000000000..63de88736 --- /dev/null +++ b/lib/auth0/types/get_flow_execution_response_content.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetFlowExecutionResponseContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :trace_id, -> { String }, optional: false, nullable: false + + field :journey_id, -> { String }, optional: true, nullable: false + + field :status, -> { String }, optional: false, nullable: false + + field :debug, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :created_at, -> { String }, optional: false, nullable: false + + field :updated_at, -> { String }, optional: false, nullable: false + + field :started_at, -> { String }, optional: true, nullable: false + + field :ended_at, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_flow_request_parameters_hydrate_enum.rb b/lib/auth0/types/get_flow_request_parameters_hydrate_enum.rb new file mode 100644 index 000000000..1f835614e --- /dev/null +++ b/lib/auth0/types/get_flow_request_parameters_hydrate_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module GetFlowRequestParametersHydrateEnum + extend Auth0::Internal::Types::Enum + + FORM_COUNT = "form_count" + FORMS = "forms" + end + end +end diff --git a/lib/auth0/types/get_flow_response_content.rb b/lib/auth0/types/get_flow_response_content.rb new file mode 100644 index 000000000..8e1f98703 --- /dev/null +++ b/lib/auth0/types/get_flow_response_content.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetFlowResponseContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :actions, -> { Internal::Types::Array[Auth0::Types::FlowAction] }, optional: true, nullable: false + + field :created_at, -> { String }, optional: false, nullable: false + + field :updated_at, -> { String }, optional: false, nullable: false + + field :executed_at, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_flows_vault_connection_response_content.rb b/lib/auth0/types/get_flows_vault_connection_response_content.rb new file mode 100644 index 000000000..d21caa89f --- /dev/null +++ b/lib/auth0/types/get_flows_vault_connection_response_content.rb @@ -0,0 +1,27 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetFlowsVaultConnectionResponseContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :app_id, -> { String }, optional: false, nullable: false + + field :environment, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :account_name, -> { String }, optional: true, nullable: false + + field :ready, -> { Internal::Types::Boolean }, optional: false, nullable: false + + field :created_at, -> { String }, optional: false, nullable: false + + field :updated_at, -> { String }, optional: false, nullable: false + + field :refreshed_at, -> { String }, optional: true, nullable: false + + field :fingerprint, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/get_form_response_content.rb b/lib/auth0/types/get_form_response_content.rb new file mode 100644 index 000000000..fab69b5a5 --- /dev/null +++ b/lib/auth0/types/get_form_response_content.rb @@ -0,0 +1,33 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetFormResponseContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :messages, -> { Auth0::Types::FormMessages }, optional: true, nullable: false + + field :languages, -> { Auth0::Types::FormLanguages }, optional: true, nullable: false + + field :translations, -> { Internal::Types::Hash[String, Internal::Types::Hash[String, Object]] }, optional: true, nullable: false + + field :nodes, -> { Internal::Types::Array[Auth0::Types::FormNode] }, optional: true, nullable: false + + field :start, -> { Auth0::Types::FormStartNode }, optional: true, nullable: false + + field :ending, -> { Auth0::Types::FormEndingNode }, optional: true, nullable: false + + field :style, -> { Auth0::Types::FormStyle }, optional: true, nullable: false + + field :created_at, -> { String }, optional: false, nullable: false + + field :updated_at, -> { String }, optional: false, nullable: false + + field :embedded_at, -> { String }, optional: true, nullable: false + + field :submitted_at, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_group_members_response_content.rb b/lib/auth0/types/get_group_members_response_content.rb new file mode 100644 index 000000000..62f39427a --- /dev/null +++ b/lib/auth0/types/get_group_members_response_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetGroupMembersResponseContent < Internal::Types::Model + field :members, -> { Internal::Types::Array[Auth0::Types::GroupMember] }, optional: false, nullable: false + + field :next_, -> { String }, optional: true, nullable: false, api_name: "next" + end + end +end diff --git a/lib/auth0/types/get_group_response_content.rb b/lib/auth0/types/get_group_response_content.rb new file mode 100644 index 000000000..b0ff1f7a6 --- /dev/null +++ b/lib/auth0/types/get_group_response_content.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Represents the metadata of a group. Member lists are retrieved via a separate endpoint. + class GetGroupResponseContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :external_id, -> { String }, optional: true, nullable: false + + field :connection_id, -> { String }, optional: true, nullable: false + + field :tenant_name, -> { String }, optional: false, nullable: false + + field :created_at, -> { String }, optional: false, nullable: false + + field :updated_at, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/get_guardian_enrollment_response_content.rb b/lib/auth0/types/get_guardian_enrollment_response_content.rb new file mode 100644 index 000000000..cdc676269 --- /dev/null +++ b/lib/auth0/types/get_guardian_enrollment_response_content.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetGuardianEnrollmentResponseContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :status, -> { Auth0::Types::GuardianEnrollmentStatus }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :identifier, -> { String }, optional: true, nullable: false + + field :phone_number, -> { String }, optional: true, nullable: false + + field :enrolled_at, -> { String }, optional: true, nullable: false + + field :last_auth, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_guardian_factor_duo_settings_response_content.rb b/lib/auth0/types/get_guardian_factor_duo_settings_response_content.rb new file mode 100644 index 000000000..560bfaca4 --- /dev/null +++ b/lib/auth0/types/get_guardian_factor_duo_settings_response_content.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetGuardianFactorDuoSettingsResponseContent < Internal::Types::Model + field :ikey, -> { String }, optional: true, nullable: false + + field :skey, -> { String }, optional: true, nullable: false + + field :host, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_guardian_factor_phone_message_types_response_content.rb b/lib/auth0/types/get_guardian_factor_phone_message_types_response_content.rb new file mode 100644 index 000000000..5e0a94401 --- /dev/null +++ b/lib/auth0/types/get_guardian_factor_phone_message_types_response_content.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetGuardianFactorPhoneMessageTypesResponseContent < Internal::Types::Model + field :message_types, -> { Internal::Types::Array[Auth0::Types::GuardianFactorPhoneFactorMessageTypeEnum] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_guardian_factor_phone_templates_response_content.rb b/lib/auth0/types/get_guardian_factor_phone_templates_response_content.rb new file mode 100644 index 000000000..666639b87 --- /dev/null +++ b/lib/auth0/types/get_guardian_factor_phone_templates_response_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetGuardianFactorPhoneTemplatesResponseContent < Internal::Types::Model + field :enrollment_message, -> { String }, optional: false, nullable: false + + field :verification_message, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/get_guardian_factor_sms_templates_response_content.rb b/lib/auth0/types/get_guardian_factor_sms_templates_response_content.rb new file mode 100644 index 000000000..e1ae619b9 --- /dev/null +++ b/lib/auth0/types/get_guardian_factor_sms_templates_response_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetGuardianFactorSmsTemplatesResponseContent < Internal::Types::Model + field :enrollment_message, -> { String }, optional: false, nullable: false + + field :verification_message, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/get_guardian_factors_provider_apns_response_content.rb b/lib/auth0/types/get_guardian_factors_provider_apns_response_content.rb new file mode 100644 index 000000000..caa3673ea --- /dev/null +++ b/lib/auth0/types/get_guardian_factors_provider_apns_response_content.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetGuardianFactorsProviderApnsResponseContent < Internal::Types::Model + field :bundle_id, -> { String }, optional: true, nullable: false + + field :sandbox, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_guardian_factors_provider_phone_response_content.rb b/lib/auth0/types/get_guardian_factors_provider_phone_response_content.rb new file mode 100644 index 000000000..23f254473 --- /dev/null +++ b/lib/auth0/types/get_guardian_factors_provider_phone_response_content.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetGuardianFactorsProviderPhoneResponseContent < Internal::Types::Model + field :provider, -> { Auth0::Types::GuardianFactorsProviderSmsProviderEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_guardian_factors_provider_phone_twilio_response_content.rb b/lib/auth0/types/get_guardian_factors_provider_phone_twilio_response_content.rb new file mode 100644 index 000000000..85861b8fa --- /dev/null +++ b/lib/auth0/types/get_guardian_factors_provider_phone_twilio_response_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetGuardianFactorsProviderPhoneTwilioResponseContent < Internal::Types::Model + field :from, -> { String }, optional: true, nullable: false + + field :messaging_service_sid, -> { String }, optional: true, nullable: false + + field :auth_token, -> { String }, optional: true, nullable: false + + field :sid, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_guardian_factors_provider_push_notification_response_content.rb b/lib/auth0/types/get_guardian_factors_provider_push_notification_response_content.rb new file mode 100644 index 000000000..96a8a966f --- /dev/null +++ b/lib/auth0/types/get_guardian_factors_provider_push_notification_response_content.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetGuardianFactorsProviderPushNotificationResponseContent < Internal::Types::Model + field :provider, -> { Auth0::Types::GuardianFactorsProviderPushNotificationProviderDataEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_guardian_factors_provider_sms_response_content.rb b/lib/auth0/types/get_guardian_factors_provider_sms_response_content.rb new file mode 100644 index 000000000..0d1f70ba7 --- /dev/null +++ b/lib/auth0/types/get_guardian_factors_provider_sms_response_content.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetGuardianFactorsProviderSmsResponseContent < Internal::Types::Model + field :provider, -> { Auth0::Types::GuardianFactorsProviderSmsProviderEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_guardian_factors_provider_sms_twilio_response_content.rb b/lib/auth0/types/get_guardian_factors_provider_sms_twilio_response_content.rb new file mode 100644 index 000000000..063e93011 --- /dev/null +++ b/lib/auth0/types/get_guardian_factors_provider_sms_twilio_response_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetGuardianFactorsProviderSmsTwilioResponseContent < Internal::Types::Model + field :from, -> { String }, optional: true, nullable: false + + field :messaging_service_sid, -> { String }, optional: true, nullable: false + + field :auth_token, -> { String }, optional: true, nullable: false + + field :sid, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_guardian_factors_provider_sns_response_content.rb b/lib/auth0/types/get_guardian_factors_provider_sns_response_content.rb new file mode 100644 index 000000000..20469c37a --- /dev/null +++ b/lib/auth0/types/get_guardian_factors_provider_sns_response_content.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetGuardianFactorsProviderSnsResponseContent < Internal::Types::Model + field :aws_access_key_id, -> { String }, optional: true, nullable: false + + field :aws_secret_access_key, -> { String }, optional: true, nullable: false + + field :aws_region, -> { String }, optional: true, nullable: false + + field :sns_apns_platform_application_arn, -> { String }, optional: true, nullable: false + + field :sns_gcm_platform_application_arn, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_hook_response_content.rb b/lib/auth0/types/get_hook_response_content.rb new file mode 100644 index 000000000..5fe58d0d9 --- /dev/null +++ b/lib/auth0/types/get_hook_response_content.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetHookResponseContent < Internal::Types::Model + field :trigger_id, -> { String }, optional: true, nullable: false, api_name: "triggerId" + + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :script, -> { String }, optional: true, nullable: false + + field :dependencies, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_hook_secret_response_content.rb b/lib/auth0/types/get_hook_secret_response_content.rb new file mode 100644 index 000000000..30e6c547b --- /dev/null +++ b/lib/auth0/types/get_hook_secret_response_content.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module GetHookSecretResponseContent + # GetHookSecretResponseContent is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/get_job_error_response_content.rb b/lib/auth0/types/get_job_error_response_content.rb new file mode 100644 index 000000000..f16fd92c7 --- /dev/null +++ b/lib/auth0/types/get_job_error_response_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetJobErrorResponseContent < Internal::Types::Model + field :user, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :errors, -> { Internal::Types::Array[Auth0::Types::GetJobImportUserError] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_job_generic_error_response_content.rb b/lib/auth0/types/get_job_generic_error_response_content.rb new file mode 100644 index 000000000..c9d78f433 --- /dev/null +++ b/lib/auth0/types/get_job_generic_error_response_content.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetJobGenericErrorResponseContent < Internal::Types::Model + field :status, -> { String }, optional: false, nullable: false + + field :type, -> { String }, optional: false, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :connection_id, -> { String }, optional: true, nullable: false + + field :status_details, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_job_import_user_error.rb b/lib/auth0/types/get_job_import_user_error.rb new file mode 100644 index 000000000..ec7f9e104 --- /dev/null +++ b/lib/auth0/types/get_job_import_user_error.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetJobImportUserError < Internal::Types::Model + field :code, -> { String }, optional: true, nullable: false + + field :message, -> { String }, optional: true, nullable: false + + field :path, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_job_response_content.rb b/lib/auth0/types/get_job_response_content.rb new file mode 100644 index 000000000..c82dda19f --- /dev/null +++ b/lib/auth0/types/get_job_response_content.rb @@ -0,0 +1,29 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetJobResponseContent < Internal::Types::Model + field :status, -> { String }, optional: false, nullable: false + + field :type, -> { String }, optional: false, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :id, -> { String }, optional: false, nullable: false + + field :connection_id, -> { String }, optional: true, nullable: false + + field :location, -> { String }, optional: true, nullable: false + + field :percentage_done, -> { Integer }, optional: true, nullable: false + + field :time_left_seconds, -> { Integer }, optional: true, nullable: false + + field :format, -> { Auth0::Types::JobFileFormatEnum }, optional: true, nullable: false + + field :status_details, -> { String }, optional: true, nullable: false + + field :summary, -> { Auth0::Types::GetJobSummary }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_job_summary.rb b/lib/auth0/types/get_job_summary.rb new file mode 100644 index 000000000..8aff08a60 --- /dev/null +++ b/lib/auth0/types/get_job_summary.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Job execution summary. + class GetJobSummary < Internal::Types::Model + field :failed, -> { Integer }, optional: true, nullable: false + + field :updated, -> { Integer }, optional: true, nullable: false + + field :inserted, -> { Integer }, optional: true, nullable: false + + field :total, -> { Integer }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_job_user_error.rb b/lib/auth0/types/get_job_user_error.rb new file mode 100644 index 000000000..3e3063032 --- /dev/null +++ b/lib/auth0/types/get_job_user_error.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module GetJobUserError + # GetJobUserError is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/get_log_response_content.rb b/lib/auth0/types/get_log_response_content.rb new file mode 100644 index 000000000..7c86c3dc2 --- /dev/null +++ b/lib/auth0/types/get_log_response_content.rb @@ -0,0 +1,49 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetLogResponseContent < Internal::Types::Model + field :date, -> { Auth0::Types::LogDate }, optional: true, nullable: false + + field :type, -> { String }, optional: true, nullable: false + + field :description, -> { String }, optional: true, nullable: false + + field :connection, -> { String }, optional: true, nullable: false + + field :connection_id, -> { String }, optional: true, nullable: false + + field :client_id, -> { String }, optional: true, nullable: false + + field :client_name, -> { String }, optional: true, nullable: false + + field :ip, -> { String }, optional: true, nullable: false + + field :hostname, -> { String }, optional: true, nullable: false + + field :user_id, -> { String }, optional: true, nullable: false + + field :user_name, -> { String }, optional: true, nullable: false + + field :audience, -> { String }, optional: true, nullable: false + + field :scope, -> { String }, optional: true, nullable: false + + field :strategy, -> { String }, optional: true, nullable: false + + field :strategy_type, -> { String }, optional: true, nullable: false + + field :log_id, -> { String }, optional: true, nullable: false + + field :is_mobile, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "isMobile" + + field :details, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :user_agent, -> { String }, optional: true, nullable: false + + field :security_context, -> { Auth0::Types::LogSecurityContext }, optional: true, nullable: false + + field :location_info, -> { Auth0::Types::LogLocationInfo }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_log_stream_response_content.rb b/lib/auth0/types/get_log_stream_response_content.rb new file mode 100644 index 000000000..5a68d2b38 --- /dev/null +++ b/lib/auth0/types/get_log_stream_response_content.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetLogStreamResponseContent < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::LogStreamHTTPResponseSchema } + + member -> { Auth0::Types::LogStreamEventBridgeResponseSchema } + + member -> { Auth0::Types::LogStreamEventGridResponseSchema } + + member -> { Auth0::Types::LogStreamDatadogResponseSchema } + + member -> { Auth0::Types::LogStreamSplunkResponseSchema } + + member -> { Auth0::Types::LogStreamSumoResponseSchema } + + member -> { Auth0::Types::LogStreamSegmentResponseSchema } + + member -> { Auth0::Types::LogStreamMixpanelResponseSchema } + end + end +end diff --git a/lib/auth0/types/get_network_acls_response_content.rb b/lib/auth0/types/get_network_acls_response_content.rb new file mode 100644 index 000000000..b1f0c93cd --- /dev/null +++ b/lib/auth0/types/get_network_acls_response_content.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetNetworkACLsResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :description, -> { String }, optional: true, nullable: false + + field :active, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :priority, -> { Integer }, optional: true, nullable: false + + field :rule, -> { Auth0::Types::NetworkACLRule }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :updated_at, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_organization_all_connection_response_content.rb b/lib/auth0/types/get_organization_all_connection_response_content.rb new file mode 100644 index 000000000..48d90511d --- /dev/null +++ b/lib/auth0/types/get_organization_all_connection_response_content.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetOrganizationAllConnectionResponseContent < Internal::Types::Model + field :organization_connection_name, -> { String }, optional: true, nullable: false + + field :assign_membership_on_login, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :is_signup_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :organization_access_level, -> { Auth0::Types::OrganizationAccessLevelEnum }, optional: true, nullable: false + + field :is_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :connection_id, -> { String }, optional: false, nullable: false + + field :connection, -> { Auth0::Types::OrganizationConnectionInformation }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_organization_by_name_response_content.rb b/lib/auth0/types/get_organization_by_name_response_content.rb new file mode 100644 index 000000000..1c0a86159 --- /dev/null +++ b/lib/auth0/types/get_organization_by_name_response_content.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetOrganizationByNameResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :branding, -> { Auth0::Types::OrganizationBranding }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :token_quota, -> { Auth0::Types::TokenQuota }, optional: true, nullable: false + + field :third_party_client_access, -> { Auth0::Types::OrganizationThirdPartyClientAccessEnum }, optional: true, nullable: false + + field :is_app_entitlement_active, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :client, -> { Auth0::Types::OrganizationClientAssociation }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_organization_client_response_content.rb b/lib/auth0/types/get_organization_client_response_content.rb new file mode 100644 index 000000000..6387f7021 --- /dev/null +++ b/lib/auth0/types/get_organization_client_response_content.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetOrganizationClientResponseContent < Internal::Types::Model + field :client_id, -> { String }, optional: false, nullable: false + + field :use_for_member_access, -> { Internal::Types::Boolean }, optional: false, nullable: false + + field :client, -> { Auth0::Types::OrganizationClientMetadata }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/get_organization_connection_response_content.rb b/lib/auth0/types/get_organization_connection_response_content.rb new file mode 100644 index 000000000..d90da77e5 --- /dev/null +++ b/lib/auth0/types/get_organization_connection_response_content.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetOrganizationConnectionResponseContent < Internal::Types::Model + field :connection_id, -> { String }, optional: true, nullable: false + + field :assign_membership_on_login, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :is_signup_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :connection, -> { Auth0::Types::OrganizationConnectionInformation }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_organization_discovery_domain_by_name_response_content.rb b/lib/auth0/types/get_organization_discovery_domain_by_name_response_content.rb new file mode 100644 index 000000000..a69dd9c8c --- /dev/null +++ b/lib/auth0/types/get_organization_discovery_domain_by_name_response_content.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetOrganizationDiscoveryDomainByNameResponseContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :domain, -> { String }, optional: false, nullable: false + + field :status, -> { Auth0::Types::OrganizationDiscoveryDomainStatus }, optional: false, nullable: false + + field :use_for_organization_discovery, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :verification_txt, -> { String }, optional: false, nullable: false + + field :verification_host, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/get_organization_discovery_domain_response_content.rb b/lib/auth0/types/get_organization_discovery_domain_response_content.rb new file mode 100644 index 000000000..a1ef8baf9 --- /dev/null +++ b/lib/auth0/types/get_organization_discovery_domain_response_content.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetOrganizationDiscoveryDomainResponseContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :domain, -> { String }, optional: false, nullable: false + + field :status, -> { Auth0::Types::OrganizationDiscoveryDomainStatus }, optional: false, nullable: false + + field :use_for_organization_discovery, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :verification_txt, -> { String }, optional: false, nullable: false + + field :verification_host, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/get_organization_invitation_response_content.rb b/lib/auth0/types/get_organization_invitation_response_content.rb new file mode 100644 index 000000000..76bbc647a --- /dev/null +++ b/lib/auth0/types/get_organization_invitation_response_content.rb @@ -0,0 +1,33 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetOrganizationInvitationResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :organization_id, -> { String }, optional: true, nullable: false + + field :inviter, -> { Auth0::Types::OrganizationInvitationInviter }, optional: true, nullable: false + + field :invitee, -> { Auth0::Types::OrganizationInvitationInvitee }, optional: true, nullable: false + + field :invitation_url, -> { String }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :expires_at, -> { String }, optional: true, nullable: false + + field :client_id, -> { String }, optional: true, nullable: false + + field :connection_id, -> { String }, optional: true, nullable: false + + field :app_metadata, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :user_metadata, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :roles, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :ticket_id, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_organization_response_content.rb b/lib/auth0/types/get_organization_response_content.rb new file mode 100644 index 000000000..13355bdd3 --- /dev/null +++ b/lib/auth0/types/get_organization_response_content.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetOrganizationResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :branding, -> { Auth0::Types::OrganizationBranding }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :token_quota, -> { Auth0::Types::TokenQuota }, optional: true, nullable: false + + field :third_party_client_access, -> { Auth0::Types::OrganizationThirdPartyClientAccessEnum }, optional: true, nullable: false + + field :is_app_entitlement_active, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :client, -> { Auth0::Types::OrganizationClientAssociation }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_partials_response_content.rb b/lib/auth0/types/get_partials_response_content.rb new file mode 100644 index 000000000..01ee93251 --- /dev/null +++ b/lib/auth0/types/get_partials_response_content.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module GetPartialsResponseContent + # GetPartialsResponseContent is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/get_phone_provider_protection_response_content.rb b/lib/auth0/types/get_phone_provider_protection_response_content.rb new file mode 100644 index 000000000..ca3f8ab03 --- /dev/null +++ b/lib/auth0/types/get_phone_provider_protection_response_content.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetPhoneProviderProtectionResponseContent < Internal::Types::Model + field :type, -> { Auth0::Types::PhoneProviderProtectionBackoffStrategyEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/get_phone_template_response_content.rb b/lib/auth0/types/get_phone_template_response_content.rb new file mode 100644 index 000000000..f185ecebd --- /dev/null +++ b/lib/auth0/types/get_phone_template_response_content.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetPhoneTemplateResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :channel, -> { String }, optional: true, nullable: false + + field :customizable, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :tenant, -> { String }, optional: true, nullable: false + + field :content, -> { Auth0::Types::PhoneTemplateContent }, optional: false, nullable: false + + field :type, -> { Auth0::Types::PhoneTemplateNotificationTypeEnum }, optional: false, nullable: false + + field :disabled, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/get_rate_limit_policy_response_content.rb b/lib/auth0/types/get_rate_limit_policy_response_content.rb new file mode 100644 index 000000000..560e42d86 --- /dev/null +++ b/lib/auth0/types/get_rate_limit_policy_response_content.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetRateLimitPolicyResponseContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :resource, -> { Auth0::Types::RateLimitPolicyResourceEnum }, optional: false, nullable: false + + field :consumer, -> { Auth0::Types::RateLimitPolicyConsumerEnum }, optional: false, nullable: false + + field :consumer_selector, -> { String }, optional: false, nullable: false + + field :configuration, -> { Auth0::Types::RateLimitPolicyConfiguration }, optional: false, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :updated_at, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_refresh_token_response_content.rb b/lib/auth0/types/get_refresh_token_response_content.rb new file mode 100644 index 000000000..03d8f288b --- /dev/null +++ b/lib/auth0/types/get_refresh_token_response_content.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetRefreshTokenResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :user_id, -> { String }, optional: true, nullable: false + + field :created_at, -> { Auth0::Types::RefreshTokenDate }, optional: true, nullable: false + + field :idle_expires_at, -> { Auth0::Types::RefreshTokenDate }, optional: true, nullable: false + + field :expires_at, -> { Auth0::Types::RefreshTokenDate }, optional: true, nullable: false + + field :device, -> { Auth0::Types::RefreshTokenDevice }, optional: true, nullable: false + + field :client_id, -> { String }, optional: true, nullable: false + + field :session_id, -> { String }, optional: true, nullable: false + + field :rotating, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :resource_servers, -> { Internal::Types::Array[Auth0::Types::RefreshTokenResourceServer] }, optional: true, nullable: false + + field :refresh_token_metadata, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :last_exchanged_at, -> { Auth0::Types::RefreshTokenDate }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_refresh_tokens_paginated_response_content.rb b/lib/auth0/types/get_refresh_tokens_paginated_response_content.rb new file mode 100644 index 000000000..649a6244c --- /dev/null +++ b/lib/auth0/types/get_refresh_tokens_paginated_response_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetRefreshTokensPaginatedResponseContent < Internal::Types::Model + field :refresh_tokens, -> { Internal::Types::Array[Auth0::Types::RefreshTokenResponseContent] }, optional: true, nullable: false + + field :next_, -> { String }, optional: true, nullable: false, api_name: "next" + end + end +end diff --git a/lib/auth0/types/get_resource_server_response_content.rb b/lib/auth0/types/get_resource_server_response_content.rb new file mode 100644 index 000000000..019e2c134 --- /dev/null +++ b/lib/auth0/types/get_resource_server_response_content.rb @@ -0,0 +1,51 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetResourceServerResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :is_system, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :identifier, -> { String }, optional: true, nullable: false + + field :scopes, -> { Internal::Types::Array[Auth0::Types::ResourceServerScope] }, optional: true, nullable: false + + field :signing_alg, -> { Auth0::Types::SigningAlgorithmEnum }, optional: true, nullable: false + + field :signing_secret, -> { String }, optional: true, nullable: false + + field :allow_offline_access, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :allow_online_access, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :allow_online_access_with_ephemeral_sessions, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :skip_consent_for_verifiable_first_party_clients, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :token_lifetime, -> { Integer }, optional: true, nullable: false + + field :token_lifetime_for_web, -> { Integer }, optional: true, nullable: false + + field :enforce_policies, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :token_dialect, -> { Auth0::Types::ResourceServerTokenDialectResponseEnum }, optional: true, nullable: false + + field :token_encryption, -> { Auth0::Types::ResourceServerTokenEncryption }, optional: true, nullable: false + + field :consent_policy, -> { Auth0::Types::ResourceServerConsentPolicyEnum }, optional: true, nullable: false + + field :authorization_details, -> { Internal::Types::Array[Object] }, optional: true, nullable: false + + field :proof_of_possession, -> { Auth0::Types::ResourceServerProofOfPossession }, optional: true, nullable: false + + field :subject_type_authorization, -> { Auth0::Types::ResourceServerSubjectTypeAuthorization }, optional: true, nullable: false + + field :authorization_policy, -> { Auth0::Types::ResourceServerAuthorizationPolicy }, optional: true, nullable: false + + field :client_id, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_risk_assessments_settings_new_device_response_content.rb b/lib/auth0/types/get_risk_assessments_settings_new_device_response_content.rb new file mode 100644 index 000000000..d1b3d967a --- /dev/null +++ b/lib/auth0/types/get_risk_assessments_settings_new_device_response_content.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetRiskAssessmentsSettingsNewDeviceResponseContent < Internal::Types::Model + field :remember_for, -> { Integer }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/get_risk_assessments_settings_response_content.rb b/lib/auth0/types/get_risk_assessments_settings_response_content.rb new file mode 100644 index 000000000..b667b0369 --- /dev/null +++ b/lib/auth0/types/get_risk_assessments_settings_response_content.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetRiskAssessmentsSettingsResponseContent < Internal::Types::Model + field :enabled, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/get_role_response_content.rb b/lib/auth0/types/get_role_response_content.rb new file mode 100644 index 000000000..2c0d59ac8 --- /dev/null +++ b/lib/auth0/types/get_role_response_content.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetRoleResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :description, -> { String }, optional: true, nullable: false + + field :type, -> { Auth0::Types::RoleTypeEnum }, optional: true, nullable: false + + field :owner_id, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_rule_response_content.rb b/lib/auth0/types/get_rule_response_content.rb new file mode 100644 index 000000000..0c3d83e2b --- /dev/null +++ b/lib/auth0/types/get_rule_response_content.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetRuleResponseContent < Internal::Types::Model + field :name, -> { String }, optional: true, nullable: false + + field :id, -> { String }, optional: true, nullable: false + + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :script, -> { String }, optional: true, nullable: false + + field :order, -> { Integer }, optional: true, nullable: false + + field :stage, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_scim_configuration_default_mapping_response_content.rb b/lib/auth0/types/get_scim_configuration_default_mapping_response_content.rb new file mode 100644 index 000000000..d1e07e5d2 --- /dev/null +++ b/lib/auth0/types/get_scim_configuration_default_mapping_response_content.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetSCIMConfigurationDefaultMappingResponseContent < Internal::Types::Model + field :mapping, -> { Internal::Types::Array[Auth0::Types::SCIMMappingItem] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_scim_configuration_response_content.rb b/lib/auth0/types/get_scim_configuration_response_content.rb new file mode 100644 index 000000000..981a73bbc --- /dev/null +++ b/lib/auth0/types/get_scim_configuration_response_content.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetSCIMConfigurationResponseContent < Internal::Types::Model + field :connection_id, -> { String }, optional: false, nullable: false + + field :connection_name, -> { String }, optional: false, nullable: false + + field :strategy, -> { String }, optional: false, nullable: false + + field :tenant_name, -> { String }, optional: false, nullable: false + + field :user_id_attribute, -> { String }, optional: false, nullable: false + + field :mapping, -> { Internal::Types::Array[Auth0::Types::SCIMMappingItem] }, optional: false, nullable: false + + field :created_at, -> { String }, optional: false, nullable: false + + field :updated_on, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/get_scim_tokens_response_content.rb b/lib/auth0/types/get_scim_tokens_response_content.rb new file mode 100644 index 000000000..897b5305a --- /dev/null +++ b/lib/auth0/types/get_scim_tokens_response_content.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module GetSCIMTokensResponseContent + # GetSCIMTokensResponseContent is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/get_self_service_profile_response_content.rb b/lib/auth0/types/get_self_service_profile_response_content.rb new file mode 100644 index 000000000..52efe0a65 --- /dev/null +++ b/lib/auth0/types/get_self_service_profile_response_content.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetSelfServiceProfileResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :description, -> { String }, optional: true, nullable: false + + field :user_attributes, -> { Internal::Types::Array[Auth0::Types::SelfServiceProfileUserAttribute] }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :updated_at, -> { String }, optional: true, nullable: false + + field :branding, -> { Auth0::Types::SelfServiceProfileBrandingProperties }, optional: true, nullable: false + + field :allowed_strategies, -> { Internal::Types::Array[Auth0::Types::SelfServiceProfileAllowedStrategyEnum] }, optional: true, nullable: false + + field :user_attribute_profile_id, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_session_response_content.rb b/lib/auth0/types/get_session_response_content.rb new file mode 100644 index 000000000..546653d0d --- /dev/null +++ b/lib/auth0/types/get_session_response_content.rb @@ -0,0 +1,35 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetSessionResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :user_id, -> { String }, optional: true, nullable: false + + field :created_at, -> { Auth0::Types::SessionDate }, optional: true, nullable: false + + field :updated_at, -> { Auth0::Types::SessionDate }, optional: true, nullable: false + + field :authenticated_at, -> { Auth0::Types::SessionDate }, optional: true, nullable: false + + field :idle_expires_at, -> { Auth0::Types::SessionDate }, optional: true, nullable: false + + field :expires_at, -> { Auth0::Types::SessionDate }, optional: true, nullable: false + + field :last_interacted_at, -> { Auth0::Types::SessionDate }, optional: true, nullable: false + + field :device, -> { Auth0::Types::SessionDeviceMetadata }, optional: true, nullable: false + + field :clients, -> { Internal::Types::Array[Auth0::Types::SessionClientMetadata] }, optional: true, nullable: false + + field :authentication, -> { Auth0::Types::SessionAuthenticationSignals }, optional: true, nullable: false + + field :cookie, -> { Auth0::Types::SessionCookieMetadata }, optional: true, nullable: false + + field :session_metadata, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :actor, -> { Auth0::Types::SessionActorMetadata }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_settings_response_content.rb b/lib/auth0/types/get_settings_response_content.rb new file mode 100644 index 000000000..5ac29c22c --- /dev/null +++ b/lib/auth0/types/get_settings_response_content.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetSettingsResponseContent < Internal::Types::Model + field :universal_login_experience, -> { Auth0::Types::UniversalLoginExperienceEnum }, optional: true, nullable: false + + field :identifier_first, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :webauthn_platform_first_factor, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_signing_keys_response_content.rb b/lib/auth0/types/get_signing_keys_response_content.rb new file mode 100644 index 000000000..857ab1cee --- /dev/null +++ b/lib/auth0/types/get_signing_keys_response_content.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetSigningKeysResponseContent < Internal::Types::Model + field :kid, -> { String }, optional: false, nullable: false + + field :cert, -> { String }, optional: false, nullable: false + + field :pkcs7, -> { String }, optional: true, nullable: false + + field :current, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :next_, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "next" + + field :previous, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :current_since, -> { Auth0::Types::SigningKeysDate }, optional: true, nullable: false + + field :current_until, -> { Auth0::Types::SigningKeysDate }, optional: true, nullable: false + + field :fingerprint, -> { String }, optional: false, nullable: false + + field :thumbprint, -> { String }, optional: false, nullable: false + + field :revoked, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :revoked_at, -> { Auth0::Types::SigningKeysDate }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_supplemental_signals_response_content.rb b/lib/auth0/types/get_supplemental_signals_response_content.rb new file mode 100644 index 000000000..4e4d3384a --- /dev/null +++ b/lib/auth0/types/get_supplemental_signals_response_content.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetSupplementalSignalsResponseContent < Internal::Types::Model + field :akamai_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_suspicious_ip_throttling_settings_response_content.rb b/lib/auth0/types/get_suspicious_ip_throttling_settings_response_content.rb new file mode 100644 index 000000000..70d9f6cb9 --- /dev/null +++ b/lib/auth0/types/get_suspicious_ip_throttling_settings_response_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetSuspiciousIPThrottlingSettingsResponseContent < Internal::Types::Model + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :shields, -> { Internal::Types::Array[Auth0::Types::SuspiciousIPThrottlingShieldsEnum] }, optional: true, nullable: false + + field :allowlist, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :stage, -> { Auth0::Types::SuspiciousIPThrottlingStage }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_tenant_settings_response_content.rb b/lib/auth0/types/get_tenant_settings_response_content.rb new file mode 100644 index 000000000..5da17333a --- /dev/null +++ b/lib/auth0/types/get_tenant_settings_response_content.rb @@ -0,0 +1,87 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetTenantSettingsResponseContent < Internal::Types::Model + field :change_password, -> { Auth0::Types::TenantSettingsPasswordPage }, optional: true, nullable: false + + field :guardian_mfa_page, -> { Auth0::Types::TenantSettingsGuardianPage }, optional: true, nullable: false + + field :default_audience, -> { String }, optional: true, nullable: false + + field :default_directory, -> { String }, optional: true, nullable: false + + field :error_page, -> { Auth0::Types::TenantSettingsErrorPage }, optional: true, nullable: false + + field :device_flow, -> { Auth0::Types::TenantSettingsDeviceFlow }, optional: true, nullable: false + + field :default_token_quota, -> { Auth0::Types::DefaultTokenQuota }, optional: true, nullable: false + + field :flags, -> { Auth0::Types::TenantSettingsFlags }, optional: true, nullable: false + + field :friendly_name, -> { String }, optional: true, nullable: false + + field :picture_url, -> { String }, optional: true, nullable: false + + field :support_email, -> { String }, optional: true, nullable: false + + field :support_url, -> { String }, optional: true, nullable: false + + field :allowed_logout_urls, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :session_lifetime, -> { Integer }, optional: true, nullable: false + + field :idle_session_lifetime, -> { Integer }, optional: true, nullable: false + + field :ephemeral_session_lifetime, -> { Integer }, optional: true, nullable: false + + field :idle_ephemeral_session_lifetime, -> { Integer }, optional: true, nullable: false + + field :sandbox_version, -> { String }, optional: true, nullable: false + + field :legacy_sandbox_version, -> { String }, optional: true, nullable: false + + field :sandbox_versions_available, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :default_redirection_uri, -> { String }, optional: true, nullable: false + + field :enabled_locales, -> { Internal::Types::Array[Auth0::Types::SupportedLocales] }, optional: true, nullable: false + + field :security_headers, -> { Auth0::Types::TenantSettingsNullableSecurityHeaders }, optional: true, nullable: false + + field :session_cookie, -> { Auth0::Types::SessionCookieSchema }, optional: true, nullable: false + + field :sessions, -> { Auth0::Types::TenantSettingsSessions }, optional: true, nullable: false + + field :oidc_logout, -> { Auth0::Types::TenantOidcLogoutSettings }, optional: true, nullable: false + + field :allow_organization_name_in_authentication_api, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :customize_mfa_in_postlogin_action, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :acr_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :mtls, -> { Auth0::Types::TenantSettingsMtls }, optional: true, nullable: false + + field :pushed_authorization_requests_supported, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :authorization_response_iss_parameter_supported, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :skip_non_verifiable_callback_uri_confirmation_prompt, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :resource_parameter_profile, -> { Auth0::Types::TenantSettingsResourceParameterProfile }, optional: true, nullable: false + + field :client_id_metadata_document_supported, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :phone_consolidated_experience, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :enable_ai_guide, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :include_session_metadata_in_tenant_logs, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :dynamic_client_registration_security_mode, -> { Auth0::Types::TenantSettingsDynamicClientRegistrationSecurityMode }, optional: true, nullable: false + + field :country_codes, -> { Auth0::Types::TenantSettingsCountryCodesResponse }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_token_exchange_profile_response_content.rb b/lib/auth0/types/get_token_exchange_profile_response_content.rb new file mode 100644 index 000000000..242d732cb --- /dev/null +++ b/lib/auth0/types/get_token_exchange_profile_response_content.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetTokenExchangeProfileResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :subject_token_type, -> { String }, optional: true, nullable: false + + field :action_id, -> { String }, optional: true, nullable: false + + field :type, -> { Auth0::Types::TokenExchangeProfileTypeEnum }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :updated_at, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_universal_login_template.rb b/lib/auth0/types/get_universal_login_template.rb new file mode 100644 index 000000000..bc45a0cbd --- /dev/null +++ b/lib/auth0/types/get_universal_login_template.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetUniversalLoginTemplate < Internal::Types::Model + field :body, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_universal_login_template_response_content.rb b/lib/auth0/types/get_universal_login_template_response_content.rb new file mode 100644 index 000000000..913ec825a --- /dev/null +++ b/lib/auth0/types/get_universal_login_template_response_content.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetUniversalLoginTemplateResponseContent < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::GetUniversalLoginTemplate } + + member -> { String } + end + end +end diff --git a/lib/auth0/types/get_user_attribute_profile_response_content.rb b/lib/auth0/types/get_user_attribute_profile_response_content.rb new file mode 100644 index 000000000..dd78043a4 --- /dev/null +++ b/lib/auth0/types/get_user_attribute_profile_response_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetUserAttributeProfileResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :user_id, -> { Auth0::Types::UserAttributeProfileUserID }, optional: true, nullable: false + + field :user_attributes, -> { Internal::Types::Hash[String, Auth0::Types::UserAttributeProfileUserAttributeAdditionalProperties] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_user_attribute_profile_template_response_content.rb b/lib/auth0/types/get_user_attribute_profile_template_response_content.rb new file mode 100644 index 000000000..160dbe610 --- /dev/null +++ b/lib/auth0/types/get_user_attribute_profile_template_response_content.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetUserAttributeProfileTemplateResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :template, -> { Auth0::Types::UserAttributeProfileTemplate }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_user_authentication_method_response_content.rb b/lib/auth0/types/get_user_authentication_method_response_content.rb new file mode 100644 index 000000000..097928e0b --- /dev/null +++ b/lib/auth0/types/get_user_authentication_method_response_content.rb @@ -0,0 +1,51 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetUserAuthenticationMethodResponseContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :type, -> { Auth0::Types::AuthenticationMethodTypeEnum }, optional: false, nullable: false + + field :confirmed, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :authentication_methods, -> { Internal::Types::Array[Auth0::Types::UserAuthenticationMethodProperties] }, optional: true, nullable: false + + field :preferred_authentication_method, -> { Auth0::Types::PreferredAuthenticationMethodEnum }, optional: true, nullable: false + + field :link_id, -> { String }, optional: true, nullable: false + + field :phone_number, -> { String }, optional: true, nullable: false + + field :email, -> { String }, optional: true, nullable: false + + field :key_id, -> { String }, optional: true, nullable: false + + field :public_key, -> { String }, optional: true, nullable: false + + field :created_at, -> { String }, optional: false, nullable: false + + field :enrolled_at, -> { String }, optional: true, nullable: false + + field :last_auth_at, -> { String }, optional: true, nullable: false + + field :credential_device_type, -> { String }, optional: true, nullable: false + + field :credential_backed_up, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :identity_user_id, -> { String }, optional: true, nullable: false + + field :user_agent, -> { String }, optional: true, nullable: false + + field :user_handle, -> { String }, optional: true, nullable: false + + field :transports, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :aaguid, -> { String }, optional: true, nullable: false + + field :relying_party_identifier, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_user_groups_paginated_response_content.rb b/lib/auth0/types/get_user_groups_paginated_response_content.rb new file mode 100644 index 000000000..2582512ca --- /dev/null +++ b/lib/auth0/types/get_user_groups_paginated_response_content.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetUserGroupsPaginatedResponseContent < Internal::Types::Model + field :groups, -> { Internal::Types::Array[Auth0::Types::UserGroupsResponseSchema] }, optional: false, nullable: false + + field :next_, -> { String }, optional: true, nullable: false, api_name: "next" + + field :start, -> { Integer }, optional: true, nullable: false + + field :limit, -> { Integer }, optional: true, nullable: false + + field :total, -> { Integer }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_user_response_content.rb b/lib/auth0/types/get_user_response_content.rb new file mode 100644 index 000000000..1253c45d7 --- /dev/null +++ b/lib/auth0/types/get_user_response_content.rb @@ -0,0 +1,53 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetUserResponseContent < Internal::Types::Model + field :user_id, -> { String }, optional: true, nullable: false + + field :email, -> { String }, optional: true, nullable: false + + field :email_verified, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :username, -> { String }, optional: true, nullable: false + + field :phone_number, -> { String }, optional: true, nullable: false + + field :phone_verified, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :updated_at, -> { String }, optional: true, nullable: false + + field :identities, -> { Internal::Types::Array[Auth0::Types::UserIdentitySchema] }, optional: true, nullable: false + + field :app_metadata, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :user_metadata, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :picture, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :nickname, -> { String }, optional: true, nullable: false + + field :multifactor, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :multifactor_last_modified, -> { String }, optional: true, nullable: false + + field :last_ip, -> { String }, optional: true, nullable: false + + field :last_login, -> { String }, optional: true, nullable: false + + field :last_password_reset, -> { String }, optional: true, nullable: false + + field :logins_count, -> { Integer }, optional: true, nullable: false + + field :blocked, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :given_name, -> { String }, optional: true, nullable: false + + field :family_name, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/get_verifiable_credential_template_response_content.rb b/lib/auth0/types/get_verifiable_credential_template_response_content.rb new file mode 100644 index 000000000..13ecdad9f --- /dev/null +++ b/lib/auth0/types/get_verifiable_credential_template_response_content.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GetVerifiableCredentialTemplateResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :type, -> { String }, optional: true, nullable: false + + field :dialect, -> { String }, optional: true, nullable: false + + field :presentation, -> { Auth0::Types::MdlPresentationRequest }, optional: true, nullable: false + + field :custom_certificate_authority, -> { String }, optional: true, nullable: false + + field :well_known_trusted_issuers, -> { String }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :updated_at, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/group.rb b/lib/auth0/types/group.rb new file mode 100644 index 000000000..832337ce1 --- /dev/null +++ b/lib/auth0/types/group.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Represents the metadata of a group. Member lists are retrieved via a separate endpoint. + class Group < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :external_id, -> { String }, optional: true, nullable: false + + field :connection_id, -> { String }, optional: true, nullable: false + + field :tenant_name, -> { String }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :updated_at, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/group_member.rb b/lib/auth0/types/group_member.rb new file mode 100644 index 000000000..1b47a6c2a --- /dev/null +++ b/lib/auth0/types/group_member.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Represents the metadata of a group membership. + class GroupMember < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :member_type, -> { Auth0::Types::GroupMemberTypeEnum }, optional: true, nullable: false + + field :type, -> { Auth0::Types::GroupTypeEnum }, optional: true, nullable: false + + field :connection_id, -> { String }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/group_member_type_enum.rb b/lib/auth0/types/group_member_type_enum.rb new file mode 100644 index 000000000..4f8902291 --- /dev/null +++ b/lib/auth0/types/group_member_type_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module GroupMemberTypeEnum + extend Auth0::Internal::Types::Enum + + USER = "user" + GROUP = "group" + end + end +end diff --git a/lib/auth0/types/group_type_enum.rb b/lib/auth0/types/group_type_enum.rb new file mode 100644 index 000000000..ba6d18241 --- /dev/null +++ b/lib/auth0/types/group_type_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module GroupTypeEnum + extend Auth0::Internal::Types::Enum + + CONNECTION = "connection" + ORGANIZATION = "organization" + TENANT = "tenant" + end + end +end diff --git a/lib/auth0/types/guardian_enrollment_date.rb b/lib/auth0/types/guardian_enrollment_date.rb new file mode 100644 index 000000000..f2501476a --- /dev/null +++ b/lib/auth0/types/guardian_enrollment_date.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module GuardianEnrollmentDate + # GuardianEnrollmentDate is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/guardian_enrollment_factor_enum.rb b/lib/auth0/types/guardian_enrollment_factor_enum.rb new file mode 100644 index 000000000..471700c37 --- /dev/null +++ b/lib/auth0/types/guardian_enrollment_factor_enum.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module GuardianEnrollmentFactorEnum + extend Auth0::Internal::Types::Enum + + PUSH_NOTIFICATION = "push-notification" + PHONE = "phone" + EMAIL = "email" + OTP = "otp" + WEBAUTHN_ROAMING = "webauthn-roaming" + WEBAUTHN_PLATFORM = "webauthn-platform" + end + end +end diff --git a/lib/auth0/types/guardian_enrollment_status.rb b/lib/auth0/types/guardian_enrollment_status.rb new file mode 100644 index 000000000..2e9f458b3 --- /dev/null +++ b/lib/auth0/types/guardian_enrollment_status.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module GuardianEnrollmentStatus + extend Auth0::Internal::Types::Enum + + PENDING = "pending" + CONFIRMED = "confirmed" + end + end +end diff --git a/lib/auth0/types/guardian_factor.rb b/lib/auth0/types/guardian_factor.rb new file mode 100644 index 000000000..d1917ebfb --- /dev/null +++ b/lib/auth0/types/guardian_factor.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class GuardianFactor < Internal::Types::Model + field :enabled, -> { Internal::Types::Boolean }, optional: false, nullable: false + + field :trial_expired, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :name, -> { Auth0::Types::GuardianFactorNameEnum }, optional: true, nullable: false + + field :settings, -> { Auth0::Types::GuardianFactorSettings }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/guardian_factor_name_enum.rb b/lib/auth0/types/guardian_factor_name_enum.rb new file mode 100644 index 000000000..5cd9f8878 --- /dev/null +++ b/lib/auth0/types/guardian_factor_name_enum.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module GuardianFactorNameEnum + extend Auth0::Internal::Types::Enum + + PUSH_NOTIFICATION = "push-notification" + SMS = "sms" + EMAIL = "email" + DUO = "duo" + OTP = "otp" + WEBAUTHN_ROAMING = "webauthn-roaming" + WEBAUTHN_PLATFORM = "webauthn-platform" + RECOVERY_CODE = "recovery-code" + end + end +end diff --git a/lib/auth0/types/guardian_factor_phone_factor_message_type_enum.rb b/lib/auth0/types/guardian_factor_phone_factor_message_type_enum.rb new file mode 100644 index 000000000..a94defe82 --- /dev/null +++ b/lib/auth0/types/guardian_factor_phone_factor_message_type_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module GuardianFactorPhoneFactorMessageTypeEnum + extend Auth0::Internal::Types::Enum + + SMS = "sms" + VOICE = "voice" + end + end +end diff --git a/lib/auth0/types/guardian_factor_settings.rb b/lib/auth0/types/guardian_factor_settings.rb new file mode 100644 index 000000000..80048b69d --- /dev/null +++ b/lib/auth0/types/guardian_factor_settings.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Factor-specific settings. Only returned when include_settings=true. + class GuardianFactorSettings < Internal::Types::Model + field :otp_length, -> { Integer }, optional: true, nullable: false + + field :otp_expiration_time, -> { Integer }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/guardian_factors_provider_push_notification_provider_data_enum.rb b/lib/auth0/types/guardian_factors_provider_push_notification_provider_data_enum.rb new file mode 100644 index 000000000..d3ab6730e --- /dev/null +++ b/lib/auth0/types/guardian_factors_provider_push_notification_provider_data_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module GuardianFactorsProviderPushNotificationProviderDataEnum + extend Auth0::Internal::Types::Enum + + GUARDIAN = "guardian" + SNS = "sns" + DIRECT = "direct" + end + end +end diff --git a/lib/auth0/types/guardian_factors_provider_sms_provider_enum.rb b/lib/auth0/types/guardian_factors_provider_sms_provider_enum.rb new file mode 100644 index 000000000..c4c8f22ad --- /dev/null +++ b/lib/auth0/types/guardian_factors_provider_sms_provider_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module GuardianFactorsProviderSmsProviderEnum + extend Auth0::Internal::Types::Enum + + AUTH0 = "auth0" + TWILIO = "twilio" + PHONE_MESSAGE_HOOK = "phone-message-hook" + end + end +end diff --git a/lib/auth0/types/hook.rb b/lib/auth0/types/hook.rb new file mode 100644 index 000000000..e2186dd62 --- /dev/null +++ b/lib/auth0/types/hook.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class Hook < Internal::Types::Model + field :trigger_id, -> { String }, optional: true, nullable: false, api_name: "triggerId" + + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :script, -> { String }, optional: true, nullable: false + + field :dependencies, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/hook_dependencies.rb b/lib/auth0/types/hook_dependencies.rb new file mode 100644 index 000000000..313c4999e --- /dev/null +++ b/lib/auth0/types/hook_dependencies.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module HookDependencies + # HookDependencies is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/hook_trigger_id_enum.rb b/lib/auth0/types/hook_trigger_id_enum.rb new file mode 100644 index 000000000..6c816efe1 --- /dev/null +++ b/lib/auth0/types/hook_trigger_id_enum.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module HookTriggerIDEnum + extend Auth0::Internal::Types::Enum + + CREDENTIALS_EXCHANGE = "credentials-exchange" + PRE_USER_REGISTRATION = "pre-user-registration" + POST_USER_REGISTRATION = "post-user-registration" + POST_CHANGE_PASSWORD = "post-change-password" + SEND_PHONE_MESSAGE = "send-phone-message" + end + end +end diff --git a/lib/auth0/types/http_custom_header.rb b/lib/auth0/types/http_custom_header.rb new file mode 100644 index 000000000..f71e06a20 --- /dev/null +++ b/lib/auth0/types/http_custom_header.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class HTTPCustomHeader < Internal::Types::Model + field :header, -> { String }, optional: true, nullable: false + + field :value, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/identity.rb b/lib/auth0/types/identity.rb new file mode 100644 index 000000000..3302f8236 --- /dev/null +++ b/lib/auth0/types/identity.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # This must be provided to verify primary social, enterprise and passwordless email identities. Also, is needed to + # verify secondary identities. + class Identity < Internal::Types::Model + field :user_id, -> { String }, optional: false, nullable: false + + field :provider, -> { Auth0::Types::IdentityProviderEnum }, optional: false, nullable: false + + field :connection_id, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/identity_assertion_authorization_grant.rb b/lib/auth0/types/identity_assertion_authorization_grant.rb new file mode 100644 index 000000000..963ee03b7 --- /dev/null +++ b/lib/auth0/types/identity_assertion_authorization_grant.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configuration on the use of ID-JAGs for Cross App Access. + class IdentityAssertionAuthorizationGrant < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/identity_provider_enum.rb b/lib/auth0/types/identity_provider_enum.rb new file mode 100644 index 000000000..6c9055498 --- /dev/null +++ b/lib/auth0/types/identity_provider_enum.rb @@ -0,0 +1,65 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module IdentityProviderEnum + extend Auth0::Internal::Types::Enum + + AD = "ad" + ADFS = "adfs" + AMAZON = "amazon" + APPLE = "apple" + DROPBOX = "dropbox" + BITBUCKET = "bitbucket" + AUTH0OIDC = "auth0-oidc" + AUTH0 = "auth0" + BAIDU = "baidu" + BITLY = "bitly" + BOX = "box" + CUSTOM = "custom" + DACCOUNT = "daccount" + DWOLLA = "dwolla" + EMAIL = "email" + EVERNOTE_SANDBOX = "evernote-sandbox" + EVERNOTE = "evernote" + EXACT = "exact" + FACEBOOK = "facebook" + FITBIT = "fitbit" + GITHUB = "github" + GOOGLE_APPS = "google-apps" + GOOGLE_OAUTH2 = "google-oauth2" + INSTAGRAM = "instagram" + IP = "ip" + LINE = "line" + LINKEDIN = "linkedin" + OAUTH1 = "oauth1" + OAUTH2 = "oauth2" + OFFICE365 = "office365" + OIDC = "oidc" + OKTA = "okta" + PAYPAL = "paypal" + PAYPAL_SANDBOX = "paypal-sandbox" + PINGFEDERATE = "pingfederate" + PLANNINGCENTER = "planningcenter" + SALESFORCE_COMMUNITY = "salesforce-community" + SALESFORCE_SANDBOX = "salesforce-sandbox" + SALESFORCE = "salesforce" + SAMLP = "samlp" + SHAREPOINT = "sharepoint" + SHOPIFY = "shopify" + SHOP = "shop" + SMS = "sms" + SOUNDCLOUD = "soundcloud" + THIRTYSEVENSIGNALS = "thirtysevensignals" + TWITTER = "twitter" + UNTAPPD = "untappd" + VKONTAKTE = "vkontakte" + WAAD = "waad" + WEIBO = "weibo" + WINDOWSLIVE = "windowslive" + WORDPRESS = "wordpress" + YAHOO = "yahoo" + YANDEX = "yandex" + end + end +end diff --git a/lib/auth0/types/identity_provider_only_auth0enum.rb b/lib/auth0/types/identity_provider_only_auth0enum.rb new file mode 100644 index 000000000..617e9c22d --- /dev/null +++ b/lib/auth0/types/identity_provider_only_auth0enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module IdentityProviderOnlyAuth0Enum + extend Auth0::Internal::Types::Enum + + AUTH0 = "auth0" + end + end +end diff --git a/lib/auth0/types/import_encryption_key_response_content.rb b/lib/auth0/types/import_encryption_key_response_content.rb new file mode 100644 index 000000000..9e6695aa4 --- /dev/null +++ b/lib/auth0/types/import_encryption_key_response_content.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Encryption key + class ImportEncryptionKeyResponseContent < Internal::Types::Model + field :kid, -> { String }, optional: false, nullable: false + + field :type, -> { Auth0::Types::EncryptionKeyType }, optional: false, nullable: false + + field :state, -> { Auth0::Types::EncryptionKeyState }, optional: false, nullable: false + + field :created_at, -> { String }, optional: false, nullable: false + + field :updated_at, -> { String }, optional: false, nullable: false + + field :parent_kid, -> { String }, optional: true, nullable: false + + field :public_key, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/integration.rb b/lib/auth0/types/integration.rb new file mode 100644 index 000000000..c72c2e783 --- /dev/null +++ b/lib/auth0/types/integration.rb @@ -0,0 +1,39 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Integration defines a self contained functioning unit which partners + # publish. A partner may create one or many of these integrations. + class Integration < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :catalog_id, -> { String }, optional: true, nullable: false + + field :url_slug, -> { String }, optional: true, nullable: false + + field :partner_id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :description, -> { String }, optional: true, nullable: false + + field :short_description, -> { String }, optional: true, nullable: false + + field :logo, -> { String }, optional: true, nullable: false + + field :feature_type, -> { Auth0::Types::IntegrationFeatureTypeEnum }, optional: true, nullable: false + + field :terms_of_use_url, -> { String }, optional: true, nullable: false + + field :privacy_policy_url, -> { String }, optional: true, nullable: false + + field :public_support_link, -> { String }, optional: true, nullable: false + + field :current_release, -> { Auth0::Types::IntegrationRelease }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :updated_at, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/integration_feature_type_enum.rb b/lib/auth0/types/integration_feature_type_enum.rb new file mode 100644 index 000000000..cbebdfd06 --- /dev/null +++ b/lib/auth0/types/integration_feature_type_enum.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module IntegrationFeatureTypeEnum + extend Auth0::Internal::Types::Enum + + UNSPECIFIED = "unspecified" + ACTION = "action" + SOCIAL_CONNECTION = "social_connection" + LOG_STREAM = "log_stream" + SSO_INTEGRATION = "sso_integration" + SMS_PROVIDER = "sms_provider" + end + end +end diff --git a/lib/auth0/types/integration_release.rb b/lib/auth0/types/integration_release.rb new file mode 100644 index 000000000..1f6a05756 --- /dev/null +++ b/lib/auth0/types/integration_release.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class IntegrationRelease < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :trigger, -> { Auth0::Types::ActionTrigger }, optional: true, nullable: false + + field :semver, -> { Auth0::Types::IntegrationSemVer }, optional: true, nullable: false + + field :required_secrets, -> { Internal::Types::Array[Auth0::Types::IntegrationRequiredParam] }, optional: true, nullable: false + + field :required_configuration, -> { Internal::Types::Array[Auth0::Types::IntegrationRequiredParam] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/integration_required_param.rb b/lib/auth0/types/integration_required_param.rb new file mode 100644 index 000000000..ccc4c9cf4 --- /dev/null +++ b/lib/auth0/types/integration_required_param.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Param are form input values, primarily utilized when specifying secrets and + # configuration values for actions. + # + # These are especially important for partner integrations -- but can be + # exposed to tenant admins as well if they want to parameterize their custom + # actions. + class IntegrationRequiredParam < Internal::Types::Model + field :type, -> { Auth0::Types::IntegrationRequiredParamTypeEnum }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :required, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :optional, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :label, -> { String }, optional: true, nullable: false + + field :description, -> { String }, optional: true, nullable: false + + field :default_value, -> { String }, optional: true, nullable: false + + field :placeholder, -> { String }, optional: true, nullable: false + + field :options, -> { Internal::Types::Array[Auth0::Types::IntegrationRequiredParamOption] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/integration_required_param_option.rb b/lib/auth0/types/integration_required_param_option.rb new file mode 100644 index 000000000..27bfe7f93 --- /dev/null +++ b/lib/auth0/types/integration_required_param_option.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class IntegrationRequiredParamOption < Internal::Types::Model + field :value, -> { String }, optional: true, nullable: false + + field :label, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/integration_required_param_type_enum.rb b/lib/auth0/types/integration_required_param_type_enum.rb new file mode 100644 index 000000000..a0047dbf0 --- /dev/null +++ b/lib/auth0/types/integration_required_param_type_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module IntegrationRequiredParamTypeEnum + extend Auth0::Internal::Types::Enum + + UNSPECIFIED = "UNSPECIFIED" + STRING = "STRING" + end + end +end diff --git a/lib/auth0/types/integration_sem_ver.rb b/lib/auth0/types/integration_sem_ver.rb new file mode 100644 index 000000000..045bbd44f --- /dev/null +++ b/lib/auth0/types/integration_sem_ver.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Semver denotes the major.minor version of an integration release + class IntegrationSemVer < Internal::Types::Model + field :major, -> { Integer }, optional: true, nullable: false + + field :minor, -> { Integer }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/job_file_format_enum.rb b/lib/auth0/types/job_file_format_enum.rb new file mode 100644 index 000000000..04864db9d --- /dev/null +++ b/lib/auth0/types/job_file_format_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module JobFileFormatEnum + extend Auth0::Internal::Types::Enum + + JSON_ = "json" + CSV = "csv" + end + end +end diff --git a/lib/auth0/types/linked_client_configuration.rb b/lib/auth0/types/linked_client_configuration.rb new file mode 100644 index 000000000..67a817c39 --- /dev/null +++ b/lib/auth0/types/linked_client_configuration.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configuration for linked clients in the OIN Express Configuration feature. + class LinkedClientConfiguration < Internal::Types::Model + field :client_id, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/list_action_bindings_paginated_response_content.rb b/lib/auth0/types/list_action_bindings_paginated_response_content.rb new file mode 100644 index 000000000..fd2c1b207 --- /dev/null +++ b/lib/auth0/types/list_action_bindings_paginated_response_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListActionBindingsPaginatedResponseContent < Internal::Types::Model + field :total, -> { Integer }, optional: true, nullable: false + + field :page, -> { Integer }, optional: true, nullable: false + + field :per_page, -> { Integer }, optional: true, nullable: false + + field :bindings, -> { Internal::Types::Array[Auth0::Types::ActionBinding] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/list_action_triggers_response_content.rb b/lib/auth0/types/list_action_triggers_response_content.rb new file mode 100644 index 000000000..39c6b0e1f --- /dev/null +++ b/lib/auth0/types/list_action_triggers_response_content.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListActionTriggersResponseContent < Internal::Types::Model + field :triggers, -> { Internal::Types::Array[Auth0::Types::ActionTrigger] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/list_action_versions_paginated_response_content.rb b/lib/auth0/types/list_action_versions_paginated_response_content.rb new file mode 100644 index 000000000..49630f8f0 --- /dev/null +++ b/lib/auth0/types/list_action_versions_paginated_response_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListActionVersionsPaginatedResponseContent < Internal::Types::Model + field :total, -> { Integer }, optional: true, nullable: false + + field :page, -> { Integer }, optional: true, nullable: false + + field :per_page, -> { Integer }, optional: true, nullable: false + + field :versions, -> { Internal::Types::Array[Auth0::Types::ActionVersion] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/list_actions_paginated_response_content.rb b/lib/auth0/types/list_actions_paginated_response_content.rb new file mode 100644 index 000000000..b60db5dcc --- /dev/null +++ b/lib/auth0/types/list_actions_paginated_response_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListActionsPaginatedResponseContent < Internal::Types::Model + field :total, -> { Integer }, optional: true, nullable: false + + field :page, -> { Integer }, optional: true, nullable: false + + field :per_page, -> { Integer }, optional: true, nullable: false + + field :actions, -> { Internal::Types::Array[Auth0::Types::Action] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/list_aculs_offset_paginated_response_content.rb b/lib/auth0/types/list_aculs_offset_paginated_response_content.rb new file mode 100644 index 000000000..6c7a93e9a --- /dev/null +++ b/lib/auth0/types/list_aculs_offset_paginated_response_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListAculsOffsetPaginatedResponseContent < Internal::Types::Model + field :configs, -> { Internal::Types::Array[Auth0::Types::ListAculsResponseContentItem] }, optional: true, nullable: false + + field :start, -> { Integer }, optional: true, nullable: false + + field :limit, -> { Integer }, optional: true, nullable: false + + field :total, -> { Integer }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/list_aculs_response_content_item.rb b/lib/auth0/types/list_aculs_response_content_item.rb new file mode 100644 index 000000000..af8ad6ebc --- /dev/null +++ b/lib/auth0/types/list_aculs_response_content_item.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListAculsResponseContentItem < Internal::Types::Model + field :tenant, -> { String }, optional: true, nullable: false + + field :prompt, -> { String }, optional: true, nullable: false + + field :screen, -> { String }, optional: true, nullable: false + + field :rendering_mode, -> { Auth0::Types::AculRenderingModeEnum }, optional: true, nullable: false + + field :context_configuration, -> { Internal::Types::Array[Auth0::Types::AculContextConfigurationItem] }, optional: true, nullable: false + + field :default_head_tags_disabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :use_page_template, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :head_tags, -> { Internal::Types::Array[Auth0::Types::AculHeadTag] }, optional: true, nullable: false + + field :filters, -> { Auth0::Types::AculFilters }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/list_agents_response_content.rb b/lib/auth0/types/list_agents_response_content.rb new file mode 100644 index 000000000..92434e087 --- /dev/null +++ b/lib/auth0/types/list_agents_response_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListAgentsResponseContent < Internal::Types::Model + field :agents, -> { Internal::Types::Array[Auth0::Types::AgentResponseContent] }, optional: false, nullable: false + + field :next_, -> { String }, optional: true, nullable: false, api_name: "next" + end + end +end diff --git a/lib/auth0/types/list_branding_phone_providers_response_content.rb b/lib/auth0/types/list_branding_phone_providers_response_content.rb new file mode 100644 index 000000000..597f6fe8f --- /dev/null +++ b/lib/auth0/types/list_branding_phone_providers_response_content.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListBrandingPhoneProvidersResponseContent < Internal::Types::Model + field :providers, -> { Internal::Types::Array[Auth0::Types::PhoneProviderSchemaMasked] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/list_client_connections_response_content.rb b/lib/auth0/types/list_client_connections_response_content.rb new file mode 100644 index 000000000..38f739d1f --- /dev/null +++ b/lib/auth0/types/list_client_connections_response_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListClientConnectionsResponseContent < Internal::Types::Model + field :connections, -> { Internal::Types::Array[Auth0::Types::ConnectionForList] }, optional: false, nullable: false + + field :next_, -> { String }, optional: true, nullable: false, api_name: "next" + end + end +end diff --git a/lib/auth0/types/list_client_grant_organizations_paginated_response_content.rb b/lib/auth0/types/list_client_grant_organizations_paginated_response_content.rb new file mode 100644 index 000000000..6fc6d4d4d --- /dev/null +++ b/lib/auth0/types/list_client_grant_organizations_paginated_response_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListClientGrantOrganizationsPaginatedResponseContent < Internal::Types::Model + field :next_, -> { String }, optional: true, nullable: false, api_name: "next" + + field :organizations, -> { Internal::Types::Array[Auth0::Types::Organization] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/list_client_grant_paginated_response_content.rb b/lib/auth0/types/list_client_grant_paginated_response_content.rb new file mode 100644 index 000000000..74521558f --- /dev/null +++ b/lib/auth0/types/list_client_grant_paginated_response_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListClientGrantPaginatedResponseContent < Internal::Types::Model + field :next_, -> { String }, optional: true, nullable: false, api_name: "next" + + field :client_grants, -> { Internal::Types::Array[Auth0::Types::ClientGrantResponseContent] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/list_clients_offset_paginated_response_content.rb b/lib/auth0/types/list_clients_offset_paginated_response_content.rb new file mode 100644 index 000000000..1cbb55843 --- /dev/null +++ b/lib/auth0/types/list_clients_offset_paginated_response_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListClientsOffsetPaginatedResponseContent < Internal::Types::Model + field :start, -> { Integer }, optional: true, nullable: false + + field :limit, -> { Integer }, optional: true, nullable: false + + field :total, -> { Integer }, optional: true, nullable: false + + field :clients, -> { Internal::Types::Array[Auth0::Types::Client] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/list_connection_profile_template_response_content.rb b/lib/auth0/types/list_connection_profile_template_response_content.rb new file mode 100644 index 000000000..ec1c2dc07 --- /dev/null +++ b/lib/auth0/types/list_connection_profile_template_response_content.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListConnectionProfileTemplateResponseContent < Internal::Types::Model + field :connection_profile_templates, -> { Internal::Types::Array[Auth0::Types::ConnectionProfileTemplateItem] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/list_connection_profiles_paginated_response_content.rb b/lib/auth0/types/list_connection_profiles_paginated_response_content.rb new file mode 100644 index 000000000..ccd8197db --- /dev/null +++ b/lib/auth0/types/list_connection_profiles_paginated_response_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListConnectionProfilesPaginatedResponseContent < Internal::Types::Model + field :next_, -> { String }, optional: true, nullable: false, api_name: "next" + + field :connection_profiles, -> { Internal::Types::Array[Auth0::Types::ConnectionProfile] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/list_connections_checkpoint_paginated_response_content.rb b/lib/auth0/types/list_connections_checkpoint_paginated_response_content.rb new file mode 100644 index 000000000..c5089f054 --- /dev/null +++ b/lib/auth0/types/list_connections_checkpoint_paginated_response_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListConnectionsCheckpointPaginatedResponseContent < Internal::Types::Model + field :next_, -> { String }, optional: true, nullable: false, api_name: "next" + + field :connections, -> { Internal::Types::Array[Auth0::Types::ConnectionForList] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/list_custom_domains_response_content.rb b/lib/auth0/types/list_custom_domains_response_content.rb new file mode 100644 index 000000000..1abad4266 --- /dev/null +++ b/lib/auth0/types/list_custom_domains_response_content.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ListCustomDomainsResponseContent + # ListCustomDomainsResponseContent is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/list_device_credentials_offset_paginated_response_content.rb b/lib/auth0/types/list_device_credentials_offset_paginated_response_content.rb new file mode 100644 index 000000000..0b652e4f5 --- /dev/null +++ b/lib/auth0/types/list_device_credentials_offset_paginated_response_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListDeviceCredentialsOffsetPaginatedResponseContent < Internal::Types::Model + field :start, -> { Integer }, optional: true, nullable: false + + field :limit, -> { Integer }, optional: true, nullable: false + + field :total, -> { Integer }, optional: true, nullable: false + + field :device_credentials, -> { Internal::Types::Array[Auth0::Types::DeviceCredential] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/list_directory_provisionings_response_content.rb b/lib/auth0/types/list_directory_provisionings_response_content.rb new file mode 100644 index 000000000..7b0c2cd78 --- /dev/null +++ b/lib/auth0/types/list_directory_provisionings_response_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListDirectoryProvisioningsResponseContent < Internal::Types::Model + field :directory_provisionings, -> { Internal::Types::Array[Auth0::Types::DirectoryProvisioning] }, optional: false, nullable: false + + field :next_, -> { String }, optional: true, nullable: false, api_name: "next" + end + end +end diff --git a/lib/auth0/types/list_encryption_key_offset_paginated_response_content.rb b/lib/auth0/types/list_encryption_key_offset_paginated_response_content.rb new file mode 100644 index 000000000..85c5f5e17 --- /dev/null +++ b/lib/auth0/types/list_encryption_key_offset_paginated_response_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListEncryptionKeyOffsetPaginatedResponseContent < Internal::Types::Model + field :start, -> { Integer }, optional: true, nullable: false + + field :limit, -> { Integer }, optional: true, nullable: false + + field :total, -> { Integer }, optional: true, nullable: false + + field :keys, -> { Internal::Types::Array[Auth0::Types::EncryptionKey] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/list_event_stream_deliveries_response_content.rb b/lib/auth0/types/list_event_stream_deliveries_response_content.rb new file mode 100644 index 000000000..86f321376 --- /dev/null +++ b/lib/auth0/types/list_event_stream_deliveries_response_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListEventStreamDeliveriesResponseContent < Internal::Types::Model + field :deliveries, -> { Internal::Types::Array[Auth0::Types::EventStreamDelivery] }, optional: false, nullable: false + + field :next_, -> { String }, optional: true, nullable: false, api_name: "next" + end + end +end diff --git a/lib/auth0/types/list_event_streams_response_content.rb b/lib/auth0/types/list_event_streams_response_content.rb new file mode 100644 index 000000000..d2b161d6d --- /dev/null +++ b/lib/auth0/types/list_event_streams_response_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListEventStreamsResponseContent < Internal::Types::Model + field :event_streams, -> { Internal::Types::Array[Auth0::Types::EventStreamResponseContent] }, optional: true, nullable: false, api_name: "eventStreams" + + field :next_, -> { String }, optional: true, nullable: false, api_name: "next" + end + end +end diff --git a/lib/auth0/types/list_flow_executions_paginated_response_content.rb b/lib/auth0/types/list_flow_executions_paginated_response_content.rb new file mode 100644 index 000000000..bc54c91f1 --- /dev/null +++ b/lib/auth0/types/list_flow_executions_paginated_response_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListFlowExecutionsPaginatedResponseContent < Internal::Types::Model + field :next_, -> { String }, optional: true, nullable: false, api_name: "next" + + field :executions, -> { Internal::Types::Array[Auth0::Types::FlowExecutionSummary] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/list_flows_offset_paginated_response_content.rb b/lib/auth0/types/list_flows_offset_paginated_response_content.rb new file mode 100644 index 000000000..2f35f9e75 --- /dev/null +++ b/lib/auth0/types/list_flows_offset_paginated_response_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListFlowsOffsetPaginatedResponseContent < Internal::Types::Model + field :start, -> { Integer }, optional: true, nullable: false + + field :limit, -> { Integer }, optional: true, nullable: false + + field :total, -> { Integer }, optional: true, nullable: false + + field :flows, -> { Internal::Types::Array[Auth0::Types::FlowSummary] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/list_flows_request_parameters_hydrate_enum.rb b/lib/auth0/types/list_flows_request_parameters_hydrate_enum.rb new file mode 100644 index 000000000..bde47c454 --- /dev/null +++ b/lib/auth0/types/list_flows_request_parameters_hydrate_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ListFlowsRequestParametersHydrateEnum + extend Auth0::Internal::Types::Enum + + FORM_COUNT = "form_count" + end + end +end diff --git a/lib/auth0/types/list_flows_vault_connections_offset_paginated_response_content.rb b/lib/auth0/types/list_flows_vault_connections_offset_paginated_response_content.rb new file mode 100644 index 000000000..1e7a5f80d --- /dev/null +++ b/lib/auth0/types/list_flows_vault_connections_offset_paginated_response_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListFlowsVaultConnectionsOffsetPaginatedResponseContent < Internal::Types::Model + field :start, -> { Integer }, optional: true, nullable: false + + field :limit, -> { Integer }, optional: true, nullable: false + + field :total, -> { Integer }, optional: true, nullable: false + + field :connections, -> { Internal::Types::Array[Auth0::Types::FlowsVaultConnectionSummary] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/list_forms_offset_paginated_response_content.rb b/lib/auth0/types/list_forms_offset_paginated_response_content.rb new file mode 100644 index 000000000..e1678cce9 --- /dev/null +++ b/lib/auth0/types/list_forms_offset_paginated_response_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListFormsOffsetPaginatedResponseContent < Internal::Types::Model + field :start, -> { Integer }, optional: true, nullable: false + + field :limit, -> { Integer }, optional: true, nullable: false + + field :total, -> { Integer }, optional: true, nullable: false + + field :forms, -> { Internal::Types::Array[Auth0::Types::FormSummary] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/list_group_roles_response_content.rb b/lib/auth0/types/list_group_roles_response_content.rb new file mode 100644 index 000000000..6496f9760 --- /dev/null +++ b/lib/auth0/types/list_group_roles_response_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListGroupRolesResponseContent < Internal::Types::Model + field :roles, -> { Internal::Types::Array[Auth0::Types::Role] }, optional: false, nullable: false + + field :next_, -> { String }, optional: true, nullable: false, api_name: "next" + end + end +end diff --git a/lib/auth0/types/list_groups_paginated_response_content.rb b/lib/auth0/types/list_groups_paginated_response_content.rb new file mode 100644 index 000000000..bc4f481d6 --- /dev/null +++ b/lib/auth0/types/list_groups_paginated_response_content.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListGroupsPaginatedResponseContent < Internal::Types::Model + field :groups, -> { Internal::Types::Array[Auth0::Types::Group] }, optional: false, nullable: false + + field :next_, -> { String }, optional: true, nullable: false, api_name: "next" + + field :start, -> { Integer }, optional: true, nullable: false + + field :limit, -> { Integer }, optional: true, nullable: false + + field :total, -> { Integer }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/list_guardian_policies_response_content.rb b/lib/auth0/types/list_guardian_policies_response_content.rb new file mode 100644 index 000000000..47e0dfcff --- /dev/null +++ b/lib/auth0/types/list_guardian_policies_response_content.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ListGuardianPoliciesResponseContent + # ListGuardianPoliciesResponseContent is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/list_hooks_offset_paginated_response_content.rb b/lib/auth0/types/list_hooks_offset_paginated_response_content.rb new file mode 100644 index 000000000..1fe233bb5 --- /dev/null +++ b/lib/auth0/types/list_hooks_offset_paginated_response_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListHooksOffsetPaginatedResponseContent < Internal::Types::Model + field :start, -> { Integer }, optional: true, nullable: false + + field :limit, -> { Integer }, optional: true, nullable: false + + field :total, -> { Integer }, optional: true, nullable: false + + field :hooks, -> { Internal::Types::Array[Auth0::Types::Hook] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/list_log_offset_paginated_response_content.rb b/lib/auth0/types/list_log_offset_paginated_response_content.rb new file mode 100644 index 000000000..02f6a2441 --- /dev/null +++ b/lib/auth0/types/list_log_offset_paginated_response_content.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListLogOffsetPaginatedResponseContent < Internal::Types::Model + field :start, -> { Integer }, optional: true, nullable: false + + field :limit, -> { Integer }, optional: true, nullable: false + + field :length, -> { Integer }, optional: true, nullable: false + + field :total, -> { Integer }, optional: true, nullable: false + + field :logs, -> { Internal::Types::Array[Auth0::Types::Log] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/list_network_acls_offset_paginated_response_content.rb b/lib/auth0/types/list_network_acls_offset_paginated_response_content.rb new file mode 100644 index 000000000..1fa82ff0c --- /dev/null +++ b/lib/auth0/types/list_network_acls_offset_paginated_response_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListNetworkACLsOffsetPaginatedResponseContent < Internal::Types::Model + field :network_acls, -> { Internal::Types::Array[Auth0::Types::NetworkACLsResponseContent] }, optional: true, nullable: false + + field :start, -> { Integer }, optional: true, nullable: false + + field :limit, -> { Integer }, optional: true, nullable: false + + field :total, -> { Integer }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/list_organization_all_connections_offset_paginated_response_content.rb b/lib/auth0/types/list_organization_all_connections_offset_paginated_response_content.rb new file mode 100644 index 000000000..4ca557d59 --- /dev/null +++ b/lib/auth0/types/list_organization_all_connections_offset_paginated_response_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListOrganizationAllConnectionsOffsetPaginatedResponseContent < Internal::Types::Model + field :start, -> { Integer }, optional: true, nullable: false + + field :limit, -> { Integer }, optional: true, nullable: false + + field :total, -> { Integer }, optional: true, nullable: false + + field :connections, -> { Internal::Types::Array[Auth0::Types::OrganizationAllConnectionPost] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/list_organization_client_grants_offset_paginated_response_content.rb b/lib/auth0/types/list_organization_client_grants_offset_paginated_response_content.rb new file mode 100644 index 000000000..ba35ebe6b --- /dev/null +++ b/lib/auth0/types/list_organization_client_grants_offset_paginated_response_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListOrganizationClientGrantsOffsetPaginatedResponseContent < Internal::Types::Model + field :start, -> { Integer }, optional: true, nullable: false + + field :limit, -> { Integer }, optional: true, nullable: false + + field :total, -> { Integer }, optional: true, nullable: false + + field :client_grants, -> { Internal::Types::Array[Auth0::Types::OrganizationClientGrant] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/list_organization_clients_response_content.rb b/lib/auth0/types/list_organization_clients_response_content.rb new file mode 100644 index 000000000..ca9ffa3fd --- /dev/null +++ b/lib/auth0/types/list_organization_clients_response_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListOrganizationClientsResponseContent < Internal::Types::Model + field :clients, -> { Internal::Types::Array[Auth0::Types::OrganizationClient] }, optional: false, nullable: false + + field :next_, -> { String }, optional: true, nullable: false, api_name: "next" + end + end +end diff --git a/lib/auth0/types/list_organization_connections_offset_paginated_response_content.rb b/lib/auth0/types/list_organization_connections_offset_paginated_response_content.rb new file mode 100644 index 000000000..2915fa807 --- /dev/null +++ b/lib/auth0/types/list_organization_connections_offset_paginated_response_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListOrganizationConnectionsOffsetPaginatedResponseContent < Internal::Types::Model + field :start, -> { Integer }, optional: true, nullable: false + + field :limit, -> { Integer }, optional: true, nullable: false + + field :total, -> { Integer }, optional: true, nullable: false + + field :enabled_connections, -> { Internal::Types::Array[Auth0::Types::OrganizationConnection] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/list_organization_discovery_domains_response_content.rb b/lib/auth0/types/list_organization_discovery_domains_response_content.rb new file mode 100644 index 000000000..df284ac8f --- /dev/null +++ b/lib/auth0/types/list_organization_discovery_domains_response_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListOrganizationDiscoveryDomainsResponseContent < Internal::Types::Model + field :next_, -> { String }, optional: true, nullable: false, api_name: "next" + + field :domains, -> { Internal::Types::Array[Auth0::Types::OrganizationDiscoveryDomain] }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/list_organization_group_roles_response_content.rb b/lib/auth0/types/list_organization_group_roles_response_content.rb new file mode 100644 index 000000000..81d0a884b --- /dev/null +++ b/lib/auth0/types/list_organization_group_roles_response_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListOrganizationGroupRolesResponseContent < Internal::Types::Model + field :roles, -> { Internal::Types::Array[Auth0::Types::Role] }, optional: false, nullable: false + + field :next_, -> { String }, optional: true, nullable: false, api_name: "next" + end + end +end diff --git a/lib/auth0/types/list_organization_groups_response_content.rb b/lib/auth0/types/list_organization_groups_response_content.rb new file mode 100644 index 000000000..ac197504b --- /dev/null +++ b/lib/auth0/types/list_organization_groups_response_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListOrganizationGroupsResponseContent < Internal::Types::Model + field :groups, -> { Internal::Types::Array[Auth0::Types::Group] }, optional: false, nullable: false + + field :next_, -> { String }, optional: true, nullable: false, api_name: "next" + end + end +end diff --git a/lib/auth0/types/list_organization_invitations_offset_paginated_response_content.rb b/lib/auth0/types/list_organization_invitations_offset_paginated_response_content.rb new file mode 100644 index 000000000..9cde750b1 --- /dev/null +++ b/lib/auth0/types/list_organization_invitations_offset_paginated_response_content.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListOrganizationInvitationsOffsetPaginatedResponseContent < Internal::Types::Model + field :start, -> { Integer }, optional: true, nullable: false + + field :limit, -> { Integer }, optional: true, nullable: false + + field :invitations, -> { Internal::Types::Array[Auth0::Types::OrganizationInvitation] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/list_organization_member_effective_roles_response_content.rb b/lib/auth0/types/list_organization_member_effective_roles_response_content.rb new file mode 100644 index 000000000..c8d4b1db2 --- /dev/null +++ b/lib/auth0/types/list_organization_member_effective_roles_response_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListOrganizationMemberEffectiveRolesResponseContent < Internal::Types::Model + field :roles, -> { Internal::Types::Array[Auth0::Types::OrganizationMemberEffectiveRole] }, optional: false, nullable: false + + field :next_, -> { String }, optional: true, nullable: false, api_name: "next" + end + end +end diff --git a/lib/auth0/types/list_organization_member_role_source_groups_response_content.rb b/lib/auth0/types/list_organization_member_role_source_groups_response_content.rb new file mode 100644 index 000000000..bf1a2e7aa --- /dev/null +++ b/lib/auth0/types/list_organization_member_role_source_groups_response_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListOrganizationMemberRoleSourceGroupsResponseContent < Internal::Types::Model + field :groups, -> { Internal::Types::Array[Auth0::Types::Group] }, optional: false, nullable: false + + field :next_, -> { String }, optional: true, nullable: false, api_name: "next" + end + end +end diff --git a/lib/auth0/types/list_organization_member_roles_offset_paginated_response_content.rb b/lib/auth0/types/list_organization_member_roles_offset_paginated_response_content.rb new file mode 100644 index 000000000..7c51df167 --- /dev/null +++ b/lib/auth0/types/list_organization_member_roles_offset_paginated_response_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListOrganizationMemberRolesOffsetPaginatedResponseContent < Internal::Types::Model + field :start, -> { Integer }, optional: true, nullable: false + + field :limit, -> { Integer }, optional: true, nullable: false + + field :total, -> { Integer }, optional: true, nullable: false + + field :roles, -> { Internal::Types::Array[Auth0::Types::Role] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/list_organization_members_paginated_response_content.rb b/lib/auth0/types/list_organization_members_paginated_response_content.rb new file mode 100644 index 000000000..313f70f03 --- /dev/null +++ b/lib/auth0/types/list_organization_members_paginated_response_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListOrganizationMembersPaginatedResponseContent < Internal::Types::Model + field :next_, -> { String }, optional: true, nullable: false, api_name: "next" + + field :members, -> { Internal::Types::Array[Auth0::Types::OrganizationMember] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/list_organization_role_groups_response_content.rb b/lib/auth0/types/list_organization_role_groups_response_content.rb new file mode 100644 index 000000000..8b67ee02f --- /dev/null +++ b/lib/auth0/types/list_organization_role_groups_response_content.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Checkpoint paginated list of groups assigned to a role within an organization. + class ListOrganizationRoleGroupsResponseContent < Internal::Types::Model + field :groups, -> { Internal::Types::Array[Auth0::Types::RoleGroup] }, optional: false, nullable: false + + field :next_, -> { String }, optional: true, nullable: false, api_name: "next" + end + end +end diff --git a/lib/auth0/types/list_organization_role_members_response_content.rb b/lib/auth0/types/list_organization_role_members_response_content.rb new file mode 100644 index 000000000..d1da70831 --- /dev/null +++ b/lib/auth0/types/list_organization_role_members_response_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListOrganizationRoleMembersResponseContent < Internal::Types::Model + field :members, -> { Internal::Types::Array[Auth0::Types::RoleMember] }, optional: false, nullable: false + + field :next_, -> { String }, optional: true, nullable: false, api_name: "next" + end + end +end diff --git a/lib/auth0/types/list_organizations_paginated_response_content.rb b/lib/auth0/types/list_organizations_paginated_response_content.rb new file mode 100644 index 000000000..d2055b0df --- /dev/null +++ b/lib/auth0/types/list_organizations_paginated_response_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListOrganizationsPaginatedResponseContent < Internal::Types::Model + field :next_, -> { String }, optional: true, nullable: false, api_name: "next" + + field :organizations, -> { Internal::Types::Array[Auth0::Types::Organization] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/list_phone_templates_response_content.rb b/lib/auth0/types/list_phone_templates_response_content.rb new file mode 100644 index 000000000..4ea5a61f1 --- /dev/null +++ b/lib/auth0/types/list_phone_templates_response_content.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListPhoneTemplatesResponseContent < Internal::Types::Model + field :templates, -> { Internal::Types::Array[Auth0::Types::PhoneTemplate] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/list_rate_limit_policies_paginated_response_content.rb b/lib/auth0/types/list_rate_limit_policies_paginated_response_content.rb new file mode 100644 index 000000000..db5eb08b0 --- /dev/null +++ b/lib/auth0/types/list_rate_limit_policies_paginated_response_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListRateLimitPoliciesPaginatedResponseContent < Internal::Types::Model + field :rate_limit_policies, -> { Internal::Types::Array[Auth0::Types::RateLimitPolicy] }, optional: true, nullable: false + + field :next_, -> { String }, optional: true, nullable: false, api_name: "next" + end + end +end diff --git a/lib/auth0/types/list_refresh_tokens_paginated_response_content.rb b/lib/auth0/types/list_refresh_tokens_paginated_response_content.rb new file mode 100644 index 000000000..a1074bf92 --- /dev/null +++ b/lib/auth0/types/list_refresh_tokens_paginated_response_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListRefreshTokensPaginatedResponseContent < Internal::Types::Model + field :tokens, -> { Internal::Types::Array[Auth0::Types::RefreshTokenResponseContent] }, optional: true, nullable: false + + field :next_, -> { String }, optional: true, nullable: false, api_name: "next" + end + end +end diff --git a/lib/auth0/types/list_resource_server_offset_paginated_response_content.rb b/lib/auth0/types/list_resource_server_offset_paginated_response_content.rb new file mode 100644 index 000000000..5bdd6252f --- /dev/null +++ b/lib/auth0/types/list_resource_server_offset_paginated_response_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListResourceServerOffsetPaginatedResponseContent < Internal::Types::Model + field :start, -> { Integer }, optional: true, nullable: false + + field :limit, -> { Integer }, optional: true, nullable: false + + field :total, -> { Integer }, optional: true, nullable: false + + field :resource_servers, -> { Internal::Types::Array[Auth0::Types::ResourceServer] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/list_role_groups_response_content.rb b/lib/auth0/types/list_role_groups_response_content.rb new file mode 100644 index 000000000..20613539c --- /dev/null +++ b/lib/auth0/types/list_role_groups_response_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListRoleGroupsResponseContent < Internal::Types::Model + field :groups, -> { Internal::Types::Array[Auth0::Types::Group] }, optional: false, nullable: false + + field :next_, -> { String }, optional: true, nullable: false, api_name: "next" + end + end +end diff --git a/lib/auth0/types/list_role_permissions_offset_paginated_response_content.rb b/lib/auth0/types/list_role_permissions_offset_paginated_response_content.rb new file mode 100644 index 000000000..e1eecd15c --- /dev/null +++ b/lib/auth0/types/list_role_permissions_offset_paginated_response_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListRolePermissionsOffsetPaginatedResponseContent < Internal::Types::Model + field :start, -> { Integer }, optional: true, nullable: false + + field :limit, -> { Integer }, optional: true, nullable: false + + field :total, -> { Integer }, optional: true, nullable: false + + field :permissions, -> { Internal::Types::Array[Auth0::Types::PermissionsResponsePayload] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/list_role_users_paginated_response_content.rb b/lib/auth0/types/list_role_users_paginated_response_content.rb new file mode 100644 index 000000000..2575ac872 --- /dev/null +++ b/lib/auth0/types/list_role_users_paginated_response_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListRoleUsersPaginatedResponseContent < Internal::Types::Model + field :next_, -> { String }, optional: true, nullable: false, api_name: "next" + + field :users, -> { Internal::Types::Array[Auth0::Types::RoleUser] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/list_roles_offset_paginated_response_content.rb b/lib/auth0/types/list_roles_offset_paginated_response_content.rb new file mode 100644 index 000000000..197ef275f --- /dev/null +++ b/lib/auth0/types/list_roles_offset_paginated_response_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListRolesOffsetPaginatedResponseContent < Internal::Types::Model + field :start, -> { Integer }, optional: false, nullable: false + + field :limit, -> { Integer }, optional: false, nullable: false + + field :total, -> { Integer }, optional: false, nullable: false + + field :roles, -> { Internal::Types::Array[Auth0::Types::Role] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/list_rules_offset_paginated_response_content.rb b/lib/auth0/types/list_rules_offset_paginated_response_content.rb new file mode 100644 index 000000000..4be693cb7 --- /dev/null +++ b/lib/auth0/types/list_rules_offset_paginated_response_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListRulesOffsetPaginatedResponseContent < Internal::Types::Model + field :start, -> { Integer }, optional: true, nullable: false + + field :limit, -> { Integer }, optional: true, nullable: false + + field :total, -> { Integer }, optional: true, nullable: false + + field :rules, -> { Internal::Types::Array[Auth0::Types::Rule] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/list_scim_configurations_response_content.rb b/lib/auth0/types/list_scim_configurations_response_content.rb new file mode 100644 index 000000000..2d3828ec7 --- /dev/null +++ b/lib/auth0/types/list_scim_configurations_response_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListSCIMConfigurationsResponseContent < Internal::Types::Model + field :scim_configurations, -> { Internal::Types::Array[Auth0::Types::SCIMConfiguration] }, optional: false, nullable: false + + field :next_, -> { String }, optional: true, nullable: false, api_name: "next" + end + end +end diff --git a/lib/auth0/types/list_self_service_profile_custom_text_response_content.rb b/lib/auth0/types/list_self_service_profile_custom_text_response_content.rb new file mode 100644 index 000000000..94e732801 --- /dev/null +++ b/lib/auth0/types/list_self_service_profile_custom_text_response_content.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ListSelfServiceProfileCustomTextResponseContent + # ListSelfServiceProfileCustomTextResponseContent is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/list_self_service_profiles_paginated_response_content.rb b/lib/auth0/types/list_self_service_profiles_paginated_response_content.rb new file mode 100644 index 000000000..9f04fcb89 --- /dev/null +++ b/lib/auth0/types/list_self_service_profiles_paginated_response_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListSelfServiceProfilesPaginatedResponseContent < Internal::Types::Model + field :start, -> { Integer }, optional: true, nullable: false + + field :limit, -> { Integer }, optional: true, nullable: false + + field :total, -> { Integer }, optional: true, nullable: false + + field :self_service_profiles, -> { Internal::Types::Array[Auth0::Types::SelfServiceProfile] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/list_synchronized_groups_response_content.rb b/lib/auth0/types/list_synchronized_groups_response_content.rb new file mode 100644 index 000000000..89ff9eca7 --- /dev/null +++ b/lib/auth0/types/list_synchronized_groups_response_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListSynchronizedGroupsResponseContent < Internal::Types::Model + field :groups, -> { Internal::Types::Array[Auth0::Types::SynchronizedGroupPayload] }, optional: false, nullable: false + + field :next_, -> { String }, optional: true, nullable: false, api_name: "next" + end + end +end diff --git a/lib/auth0/types/list_token_exchange_profile_response_content.rb b/lib/auth0/types/list_token_exchange_profile_response_content.rb new file mode 100644 index 000000000..4690dacb2 --- /dev/null +++ b/lib/auth0/types/list_token_exchange_profile_response_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListTokenExchangeProfileResponseContent < Internal::Types::Model + field :next_, -> { String }, optional: true, nullable: false, api_name: "next" + + field :token_exchange_profiles, -> { Internal::Types::Array[Auth0::Types::TokenExchangeProfileResponseContent] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/list_user_attribute_profile_template_response_content.rb b/lib/auth0/types/list_user_attribute_profile_template_response_content.rb new file mode 100644 index 000000000..9833570a2 --- /dev/null +++ b/lib/auth0/types/list_user_attribute_profile_template_response_content.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListUserAttributeProfileTemplateResponseContent < Internal::Types::Model + field :user_attribute_profile_templates, -> { Internal::Types::Array[Auth0::Types::UserAttributeProfileTemplateItem] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/list_user_attribute_profiles_paginated_response_content.rb b/lib/auth0/types/list_user_attribute_profiles_paginated_response_content.rb new file mode 100644 index 000000000..c8e63533b --- /dev/null +++ b/lib/auth0/types/list_user_attribute_profiles_paginated_response_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListUserAttributeProfilesPaginatedResponseContent < Internal::Types::Model + field :next_, -> { String }, optional: true, nullable: false, api_name: "next" + + field :user_attribute_profiles, -> { Internal::Types::Array[Auth0::Types::UserAttributeProfile] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/list_user_authentication_methods_offset_paginated_response_content.rb b/lib/auth0/types/list_user_authentication_methods_offset_paginated_response_content.rb new file mode 100644 index 000000000..7cc7bafea --- /dev/null +++ b/lib/auth0/types/list_user_authentication_methods_offset_paginated_response_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListUserAuthenticationMethodsOffsetPaginatedResponseContent < Internal::Types::Model + field :start, -> { Integer }, optional: true, nullable: false + + field :limit, -> { Integer }, optional: true, nullable: false + + field :total, -> { Integer }, optional: true, nullable: false + + field :authenticators, -> { Internal::Types::Array[Auth0::Types::UserAuthenticationMethod] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/list_user_blocks_by_identifier_response_content.rb b/lib/auth0/types/list_user_blocks_by_identifier_response_content.rb new file mode 100644 index 000000000..7efe0bac2 --- /dev/null +++ b/lib/auth0/types/list_user_blocks_by_identifier_response_content.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListUserBlocksByIdentifierResponseContent < Internal::Types::Model + field :blocked_for, -> { Internal::Types::Array[Auth0::Types::UserBlockIdentifier] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/list_user_blocks_response_content.rb b/lib/auth0/types/list_user_blocks_response_content.rb new file mode 100644 index 000000000..7fde9811e --- /dev/null +++ b/lib/auth0/types/list_user_blocks_response_content.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListUserBlocksResponseContent < Internal::Types::Model + field :blocked_for, -> { Internal::Types::Array[Auth0::Types::UserBlockIdentifier] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/list_user_connected_accounts_response_content.rb b/lib/auth0/types/list_user_connected_accounts_response_content.rb new file mode 100644 index 000000000..9a7a6abc4 --- /dev/null +++ b/lib/auth0/types/list_user_connected_accounts_response_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListUserConnectedAccountsResponseContent < Internal::Types::Model + field :connected_accounts, -> { Internal::Types::Array[Auth0::Types::ConnectedAccount] }, optional: false, nullable: false + + field :next_, -> { String }, optional: true, nullable: false, api_name: "next" + end + end +end diff --git a/lib/auth0/types/list_user_effective_permission_role_sources_response_content.rb b/lib/auth0/types/list_user_effective_permission_role_sources_response_content.rb new file mode 100644 index 000000000..0dc5ad3d3 --- /dev/null +++ b/lib/auth0/types/list_user_effective_permission_role_sources_response_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListUserEffectivePermissionRoleSourcesResponseContent < Internal::Types::Model + field :roles, -> { Internal::Types::Array[Auth0::Types::UserEffectivePermissionRoleSourceResponseContent] }, optional: false, nullable: false + + field :next_, -> { String }, optional: true, nullable: false, api_name: "next" + end + end +end diff --git a/lib/auth0/types/list_user_effective_permissions_response_content.rb b/lib/auth0/types/list_user_effective_permissions_response_content.rb new file mode 100644 index 000000000..d8e512482 --- /dev/null +++ b/lib/auth0/types/list_user_effective_permissions_response_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListUserEffectivePermissionsResponseContent < Internal::Types::Model + field :permissions, -> { Internal::Types::Array[Auth0::Types::UserEffectivePermissionResponseContent] }, optional: false, nullable: false + + field :next_, -> { String }, optional: true, nullable: false, api_name: "next" + end + end +end diff --git a/lib/auth0/types/list_user_effective_roles_response_content.rb b/lib/auth0/types/list_user_effective_roles_response_content.rb new file mode 100644 index 000000000..b198bbc58 --- /dev/null +++ b/lib/auth0/types/list_user_effective_roles_response_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListUserEffectiveRolesResponseContent < Internal::Types::Model + field :roles, -> { Internal::Types::Array[Auth0::Types::UserEffectiveRole] }, optional: false, nullable: false + + field :next_, -> { String }, optional: true, nullable: false, api_name: "next" + end + end +end diff --git a/lib/auth0/types/list_user_grants_offset_paginated_response_content.rb b/lib/auth0/types/list_user_grants_offset_paginated_response_content.rb new file mode 100644 index 000000000..ccd2aab32 --- /dev/null +++ b/lib/auth0/types/list_user_grants_offset_paginated_response_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListUserGrantsOffsetPaginatedResponseContent < Internal::Types::Model + field :start, -> { Integer }, optional: true, nullable: false + + field :limit, -> { Integer }, optional: true, nullable: false + + field :total, -> { Integer }, optional: true, nullable: false + + field :grants, -> { Internal::Types::Array[Auth0::Types::UserGrant] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/list_user_organizations_offset_paginated_response_content.rb b/lib/auth0/types/list_user_organizations_offset_paginated_response_content.rb new file mode 100644 index 000000000..f0a09ef38 --- /dev/null +++ b/lib/auth0/types/list_user_organizations_offset_paginated_response_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListUserOrganizationsOffsetPaginatedResponseContent < Internal::Types::Model + field :start, -> { Integer }, optional: true, nullable: false + + field :limit, -> { Integer }, optional: true, nullable: false + + field :total, -> { Integer }, optional: true, nullable: false + + field :organizations, -> { Internal::Types::Array[Auth0::Types::Organization] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/list_user_permissions_offset_paginated_response_content.rb b/lib/auth0/types/list_user_permissions_offset_paginated_response_content.rb new file mode 100644 index 000000000..7e9a0042b --- /dev/null +++ b/lib/auth0/types/list_user_permissions_offset_paginated_response_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListUserPermissionsOffsetPaginatedResponseContent < Internal::Types::Model + field :start, -> { Integer }, optional: true, nullable: false + + field :limit, -> { Integer }, optional: true, nullable: false + + field :total, -> { Integer }, optional: true, nullable: false + + field :permissions, -> { Internal::Types::Array[Auth0::Types::UserPermissionSchema] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/list_user_role_source_groups_response_content.rb b/lib/auth0/types/list_user_role_source_groups_response_content.rb new file mode 100644 index 000000000..c1a206286 --- /dev/null +++ b/lib/auth0/types/list_user_role_source_groups_response_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListUserRoleSourceGroupsResponseContent < Internal::Types::Model + field :groups, -> { Internal::Types::Array[Auth0::Types::Group] }, optional: false, nullable: false + + field :next_, -> { String }, optional: true, nullable: false, api_name: "next" + end + end +end diff --git a/lib/auth0/types/list_user_roles_offset_paginated_response_content.rb b/lib/auth0/types/list_user_roles_offset_paginated_response_content.rb new file mode 100644 index 000000000..6dac5cc39 --- /dev/null +++ b/lib/auth0/types/list_user_roles_offset_paginated_response_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListUserRolesOffsetPaginatedResponseContent < Internal::Types::Model + field :start, -> { Integer }, optional: true, nullable: false + + field :limit, -> { Integer }, optional: true, nullable: false + + field :total, -> { Integer }, optional: true, nullable: false + + field :roles, -> { Internal::Types::Array[Auth0::Types::Role] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/list_user_sessions_paginated_response_content.rb b/lib/auth0/types/list_user_sessions_paginated_response_content.rb new file mode 100644 index 000000000..606531c68 --- /dev/null +++ b/lib/auth0/types/list_user_sessions_paginated_response_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListUserSessionsPaginatedResponseContent < Internal::Types::Model + field :sessions, -> { Internal::Types::Array[Auth0::Types::SessionResponseContent] }, optional: true, nullable: false + + field :next_, -> { String }, optional: true, nullable: false, api_name: "next" + end + end +end diff --git a/lib/auth0/types/list_users_offset_paginated_response_content.rb b/lib/auth0/types/list_users_offset_paginated_response_content.rb new file mode 100644 index 000000000..3214d9a4a --- /dev/null +++ b/lib/auth0/types/list_users_offset_paginated_response_content.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListUsersOffsetPaginatedResponseContent < Internal::Types::Model + field :start, -> { Integer }, optional: true, nullable: false + + field :limit, -> { Integer }, optional: true, nullable: false + + field :length, -> { Integer }, optional: true, nullable: false + + field :total, -> { Integer }, optional: true, nullable: false + + field :users, -> { Internal::Types::Array[Auth0::Types::UserResponseSchema] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/list_verifiable_credential_templates_paginated_response_content.rb b/lib/auth0/types/list_verifiable_credential_templates_paginated_response_content.rb new file mode 100644 index 000000000..3ac5fd662 --- /dev/null +++ b/lib/auth0/types/list_verifiable_credential_templates_paginated_response_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ListVerifiableCredentialTemplatesPaginatedResponseContent < Internal::Types::Model + field :next_, -> { String }, optional: true, nullable: false, api_name: "next" + + field :templates, -> { Internal::Types::Array[Auth0::Types::VerifiableCredentialTemplateResponse] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/log.rb b/lib/auth0/types/log.rb new file mode 100644 index 000000000..a70f882e3 --- /dev/null +++ b/lib/auth0/types/log.rb @@ -0,0 +1,49 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class Log < Internal::Types::Model + field :date, -> { Auth0::Types::LogDate }, optional: true, nullable: false + + field :type, -> { String }, optional: true, nullable: false + + field :description, -> { String }, optional: true, nullable: false + + field :connection, -> { String }, optional: true, nullable: false + + field :connection_id, -> { String }, optional: true, nullable: false + + field :client_id, -> { String }, optional: true, nullable: false + + field :client_name, -> { String }, optional: true, nullable: false + + field :ip, -> { String }, optional: true, nullable: false + + field :hostname, -> { String }, optional: true, nullable: false + + field :user_id, -> { String }, optional: true, nullable: false + + field :user_name, -> { String }, optional: true, nullable: false + + field :audience, -> { String }, optional: true, nullable: false + + field :scope, -> { String }, optional: true, nullable: false + + field :strategy, -> { String }, optional: true, nullable: false + + field :strategy_type, -> { String }, optional: true, nullable: false + + field :log_id, -> { String }, optional: true, nullable: false + + field :is_mobile, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "isMobile" + + field :details, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :user_agent, -> { String }, optional: true, nullable: false + + field :security_context, -> { Auth0::Types::LogSecurityContext }, optional: true, nullable: false + + field :location_info, -> { Auth0::Types::LogLocationInfo }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/log_date.rb b/lib/auth0/types/log_date.rb new file mode 100644 index 000000000..6ca7c8b97 --- /dev/null +++ b/lib/auth0/types/log_date.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class LogDate < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { String } + + member -> { Internal::Types::Hash[String, Object] } + end + end +end diff --git a/lib/auth0/types/log_date_object.rb b/lib/auth0/types/log_date_object.rb new file mode 100644 index 000000000..cf10343d6 --- /dev/null +++ b/lib/auth0/types/log_date_object.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module LogDateObject + # LogDateObject is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/log_details.rb b/lib/auth0/types/log_details.rb new file mode 100644 index 000000000..88844ee79 --- /dev/null +++ b/lib/auth0/types/log_details.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module LogDetails + # LogDetails is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/log_location_info.rb b/lib/auth0/types/log_location_info.rb new file mode 100644 index 000000000..c9efae627 --- /dev/null +++ b/lib/auth0/types/log_location_info.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Information about the location that triggered this event based on the `ip`. + class LogLocationInfo < Internal::Types::Model + field :country_code, -> { String }, optional: true, nullable: false + + field :country_code3, -> { String }, optional: true, nullable: false + + field :country_name, -> { String }, optional: true, nullable: false + + field :city_name, -> { String }, optional: true, nullable: false + + field :latitude, -> { Integer }, optional: true, nullable: false + + field :longitude, -> { Integer }, optional: true, nullable: false + + field :time_zone, -> { String }, optional: true, nullable: false + + field :continent_code, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/log_security_context.rb b/lib/auth0/types/log_security_context.rb new file mode 100644 index 000000000..b6651abf4 --- /dev/null +++ b/lib/auth0/types/log_security_context.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Information about security-related signals. + class LogSecurityContext < Internal::Types::Model + field :ja3, -> { String }, optional: true, nullable: false + + field :ja4, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/log_stream_datadog_enum.rb b/lib/auth0/types/log_stream_datadog_enum.rb new file mode 100644 index 000000000..36efb6173 --- /dev/null +++ b/lib/auth0/types/log_stream_datadog_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module LogStreamDatadogEnum + extend Auth0::Internal::Types::Enum + + DATADOG = "datadog" + end + end +end diff --git a/lib/auth0/types/log_stream_datadog_region_enum.rb b/lib/auth0/types/log_stream_datadog_region_enum.rb new file mode 100644 index 000000000..9e4100337 --- /dev/null +++ b/lib/auth0/types/log_stream_datadog_region_enum.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module LogStreamDatadogRegionEnum + extend Auth0::Internal::Types::Enum + + US = "us" + EU = "eu" + US3 = "us3" + US5 = "us5" + end + end +end diff --git a/lib/auth0/types/log_stream_datadog_response_schema.rb b/lib/auth0/types/log_stream_datadog_response_schema.rb new file mode 100644 index 000000000..8022a5e9d --- /dev/null +++ b/lib/auth0/types/log_stream_datadog_response_schema.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class LogStreamDatadogResponseSchema < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :status, -> { Auth0::Types::LogStreamStatusEnum }, optional: true, nullable: false + + field :type, -> { Auth0::Types::LogStreamDatadogEnum }, optional: true, nullable: false + + field :is_priority, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "isPriority" + + field :filters, -> { Internal::Types::Array[Auth0::Types::LogStreamFilter] }, optional: true, nullable: false + + field :pii_config, -> { Auth0::Types::LogStreamPiiConfig }, optional: true, nullable: false + + field :sink, -> { Auth0::Types::LogStreamDatadogSink }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/log_stream_datadog_sink.rb b/lib/auth0/types/log_stream_datadog_sink.rb new file mode 100644 index 000000000..7765f24d0 --- /dev/null +++ b/lib/auth0/types/log_stream_datadog_sink.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class LogStreamDatadogSink < Internal::Types::Model + field :datadog_api_key, -> { String }, optional: false, nullable: false, api_name: "datadogApiKey" + + field :datadog_region, -> { Auth0::Types::LogStreamDatadogRegionEnum }, optional: false, nullable: false, api_name: "datadogRegion" + end + end +end diff --git a/lib/auth0/types/log_stream_event_bridge_enum.rb b/lib/auth0/types/log_stream_event_bridge_enum.rb new file mode 100644 index 000000000..c7970ec57 --- /dev/null +++ b/lib/auth0/types/log_stream_event_bridge_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module LogStreamEventBridgeEnum + extend Auth0::Internal::Types::Enum + + EVENTBRIDGE = "eventbridge" + end + end +end diff --git a/lib/auth0/types/log_stream_event_bridge_response_schema.rb b/lib/auth0/types/log_stream_event_bridge_response_schema.rb new file mode 100644 index 000000000..e77da079c --- /dev/null +++ b/lib/auth0/types/log_stream_event_bridge_response_schema.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class LogStreamEventBridgeResponseSchema < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :status, -> { Auth0::Types::LogStreamStatusEnum }, optional: true, nullable: false + + field :type, -> { Auth0::Types::LogStreamEventBridgeEnum }, optional: true, nullable: false + + field :is_priority, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "isPriority" + + field :filters, -> { Internal::Types::Array[Auth0::Types::LogStreamFilter] }, optional: true, nullable: false + + field :pii_config, -> { Auth0::Types::LogStreamPiiConfig }, optional: true, nullable: false + + field :sink, -> { Auth0::Types::LogStreamEventBridgeSink }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/log_stream_event_bridge_sink.rb b/lib/auth0/types/log_stream_event_bridge_sink.rb new file mode 100644 index 000000000..568b771f4 --- /dev/null +++ b/lib/auth0/types/log_stream_event_bridge_sink.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class LogStreamEventBridgeSink < Internal::Types::Model + field :aws_account_id, -> { String }, optional: false, nullable: false, api_name: "awsAccountId" + + field :aws_region, -> { Auth0::Types::LogStreamEventBridgeSinkRegionEnum }, optional: false, nullable: false, api_name: "awsRegion" + + field :aws_partner_event_source, -> { String }, optional: true, nullable: false, api_name: "awsPartnerEventSource" + end + end +end diff --git a/lib/auth0/types/log_stream_event_bridge_sink_region_enum.rb b/lib/auth0/types/log_stream_event_bridge_sink_region_enum.rb new file mode 100644 index 000000000..eef7134c4 --- /dev/null +++ b/lib/auth0/types/log_stream_event_bridge_sink_region_enum.rb @@ -0,0 +1,46 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module LogStreamEventBridgeSinkRegionEnum + extend Auth0::Internal::Types::Enum + + AF_SOUTH1 = "af-south-1" + AP_EAST1 = "ap-east-1" + AP_EAST2 = "ap-east-2" + AP_NORTHEAST1 = "ap-northeast-1" + AP_NORTHEAST2 = "ap-northeast-2" + AP_NORTHEAST3 = "ap-northeast-3" + AP_SOUTH1 = "ap-south-1" + AP_SOUTH2 = "ap-south-2" + AP_SOUTHEAST1 = "ap-southeast-1" + AP_SOUTHEAST2 = "ap-southeast-2" + AP_SOUTHEAST3 = "ap-southeast-3" + AP_SOUTHEAST4 = "ap-southeast-4" + AP_SOUTHEAST5 = "ap-southeast-5" + AP_SOUTHEAST6 = "ap-southeast-6" + AP_SOUTHEAST7 = "ap-southeast-7" + CA_CENTRAL1 = "ca-central-1" + CA_WEST1 = "ca-west-1" + EU_CENTRAL1 = "eu-central-1" + EU_CENTRAL2 = "eu-central-2" + EU_NORTH1 = "eu-north-1" + EU_SOUTH1 = "eu-south-1" + EU_SOUTH2 = "eu-south-2" + EU_WEST1 = "eu-west-1" + EU_WEST2 = "eu-west-2" + EU_WEST3 = "eu-west-3" + IL_CENTRAL1 = "il-central-1" + ME_CENTRAL1 = "me-central-1" + ME_SOUTH1 = "me-south-1" + MX_CENTRAL1 = "mx-central-1" + SA_EAST1 = "sa-east-1" + US_GOV_EAST1 = "us-gov-east-1" + US_GOV_WEST1 = "us-gov-west-1" + US_EAST1 = "us-east-1" + US_EAST2 = "us-east-2" + US_WEST1 = "us-west-1" + US_WEST2 = "us-west-2" + end + end +end diff --git a/lib/auth0/types/log_stream_event_grid_enum.rb b/lib/auth0/types/log_stream_event_grid_enum.rb new file mode 100644 index 000000000..9cc1b882f --- /dev/null +++ b/lib/auth0/types/log_stream_event_grid_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module LogStreamEventGridEnum + extend Auth0::Internal::Types::Enum + + EVENTGRID = "eventgrid" + end + end +end diff --git a/lib/auth0/types/log_stream_event_grid_region_enum.rb b/lib/auth0/types/log_stream_event_grid_region_enum.rb new file mode 100644 index 000000000..66b23813b --- /dev/null +++ b/lib/auth0/types/log_stream_event_grid_region_enum.rb @@ -0,0 +1,44 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module LogStreamEventGridRegionEnum + extend Auth0::Internal::Types::Enum + + AUSTRALIACENTRAL = "australiacentral" + AUSTRALIAEAST = "australiaeast" + AUSTRALIASOUTHEAST = "australiasoutheast" + BRAZILSOUTH = "brazilsouth" + CANADACENTRAL = "canadacentral" + CANADAEAST = "canadaeast" + CENTRALINDIA = "centralindia" + CENTRALUS = "centralus" + EASTASIA = "eastasia" + EASTUS = "eastus" + EASTUS2 = "eastus2" + FRANCECENTRAL = "francecentral" + GERMANYWESTCENTRAL = "germanywestcentral" + JAPANEAST = "japaneast" + JAPANWEST = "japanwest" + KOREACENTRAL = "koreacentral" + KOREASOUTH = "koreasouth" + NORTHCENTRALUS = "northcentralus" + NORTHEUROPE = "northeurope" + NORWAYEAST = "norwayeast" + SOUTHAFRICANORTH = "southafricanorth" + SOUTHCENTRALUS = "southcentralus" + SOUTHEASTASIA = "southeastasia" + SOUTHINDIA = "southindia" + SWEDENCENTRAL = "swedencentral" + SWITZERLANDNORTH = "switzerlandnorth" + UAENORTH = "uaenorth" + UKSOUTH = "uksouth" + UKWEST = "ukwest" + WESTCENTRALUS = "westcentralus" + WESTEUROPE = "westeurope" + WESTINDIA = "westindia" + WESTUS = "westus" + WESTUS2 = "westus2" + end + end +end diff --git a/lib/auth0/types/log_stream_event_grid_response_schema.rb b/lib/auth0/types/log_stream_event_grid_response_schema.rb new file mode 100644 index 000000000..a63515934 --- /dev/null +++ b/lib/auth0/types/log_stream_event_grid_response_schema.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class LogStreamEventGridResponseSchema < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :status, -> { Auth0::Types::LogStreamStatusEnum }, optional: true, nullable: false + + field :type, -> { Auth0::Types::LogStreamEventGridEnum }, optional: true, nullable: false + + field :is_priority, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "isPriority" + + field :filters, -> { Internal::Types::Array[Auth0::Types::LogStreamFilter] }, optional: true, nullable: false + + field :pii_config, -> { Auth0::Types::LogStreamPiiConfig }, optional: true, nullable: false + + field :sink, -> { Auth0::Types::LogStreamEventGridSink }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/log_stream_event_grid_sink.rb b/lib/auth0/types/log_stream_event_grid_sink.rb new file mode 100644 index 000000000..cf3e58b47 --- /dev/null +++ b/lib/auth0/types/log_stream_event_grid_sink.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class LogStreamEventGridSink < Internal::Types::Model + field :azure_subscription_id, -> { String }, optional: false, nullable: false, api_name: "azureSubscriptionId" + + field :azure_region, -> { Auth0::Types::LogStreamEventGridRegionEnum }, optional: false, nullable: false, api_name: "azureRegion" + + field :azure_resource_group, -> { String }, optional: false, nullable: false, api_name: "azureResourceGroup" + + field :azure_partner_topic, -> { String }, optional: true, nullable: false, api_name: "azurePartnerTopic" + end + end +end diff --git a/lib/auth0/types/log_stream_filter.rb b/lib/auth0/types/log_stream_filter.rb new file mode 100644 index 000000000..648a9ea40 --- /dev/null +++ b/lib/auth0/types/log_stream_filter.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class LogStreamFilter < Internal::Types::Model + field :type, -> { Auth0::Types::LogStreamFilterTypeEnum }, optional: true, nullable: false + + field :name, -> { Auth0::Types::LogStreamFilterGroupNameEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/log_stream_filter_group_name_enum.rb b/lib/auth0/types/log_stream_filter_group_name_enum.rb new file mode 100644 index 000000000..8f4e3c542 --- /dev/null +++ b/lib/auth0/types/log_stream_filter_group_name_enum.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module LogStreamFilterGroupNameEnum + extend Auth0::Internal::Types::Enum + + AUTH_LOGIN_FAIL = "auth.login.fail" + AUTH_LOGIN_NOTIFICATION = "auth.login.notification" + AUTH_LOGIN_SUCCESS = "auth.login.success" + AUTH_LOGOUT_FAIL = "auth.logout.fail" + AUTH_LOGOUT_SUCCESS = "auth.logout.success" + AUTH_SIGNUP_FAIL = "auth.signup.fail" + AUTH_SIGNUP_SUCCESS = "auth.signup.success" + AUTH_SILENT_AUTH_FAIL = "auth.silent_auth.fail" + AUTH_SILENT_AUTH_SUCCESS = "auth.silent_auth.success" + AUTH_TOKEN_EXCHANGE_FAIL = "auth.token_exchange.fail" + AUTH_TOKEN_EXCHANGE_SUCCESS = "auth.token_exchange.success" + MANAGEMENT_FAIL = "management.fail" + MANAGEMENT_SUCCESS = "management.success" + SCIM_EVENT = "scim.event" + SYSTEM_NOTIFICATION = "system.notification" + USER_FAIL = "user.fail" + USER_NOTIFICATION = "user.notification" + USER_SUCCESS = "user.success" + ACTIONS = "actions" + OTHER = "other" + end + end +end diff --git a/lib/auth0/types/log_stream_filter_type_enum.rb b/lib/auth0/types/log_stream_filter_type_enum.rb new file mode 100644 index 000000000..c56da3624 --- /dev/null +++ b/lib/auth0/types/log_stream_filter_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module LogStreamFilterTypeEnum + extend Auth0::Internal::Types::Enum + + CATEGORY = "category" + end + end +end diff --git a/lib/auth0/types/log_stream_http_content_format_enum.rb b/lib/auth0/types/log_stream_http_content_format_enum.rb new file mode 100644 index 000000000..bce666185 --- /dev/null +++ b/lib/auth0/types/log_stream_http_content_format_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module LogStreamHTTPContentFormatEnum + extend Auth0::Internal::Types::Enum + + JSONARRAY = "JSONARRAY" + JSONLINES = "JSONLINES" + JSONOBJECT = "JSONOBJECT" + end + end +end diff --git a/lib/auth0/types/log_stream_http_enum.rb b/lib/auth0/types/log_stream_http_enum.rb new file mode 100644 index 000000000..fe93800a3 --- /dev/null +++ b/lib/auth0/types/log_stream_http_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module LogStreamHTTPEnum + extend Auth0::Internal::Types::Enum + + HTTP = "http" + end + end +end diff --git a/lib/auth0/types/log_stream_http_response_schema.rb b/lib/auth0/types/log_stream_http_response_schema.rb new file mode 100644 index 000000000..0b96733f4 --- /dev/null +++ b/lib/auth0/types/log_stream_http_response_schema.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class LogStreamHTTPResponseSchema < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :status, -> { Auth0::Types::LogStreamStatusEnum }, optional: true, nullable: false + + field :type, -> { Auth0::Types::LogStreamHTTPEnum }, optional: true, nullable: false + + field :is_priority, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "isPriority" + + field :filters, -> { Internal::Types::Array[Auth0::Types::LogStreamFilter] }, optional: true, nullable: false + + field :pii_config, -> { Auth0::Types::LogStreamPiiConfig }, optional: true, nullable: false + + field :sink, -> { Auth0::Types::LogStreamHTTPSink }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/log_stream_http_sink.rb b/lib/auth0/types/log_stream_http_sink.rb new file mode 100644 index 000000000..018b5cd68 --- /dev/null +++ b/lib/auth0/types/log_stream_http_sink.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class LogStreamHTTPSink < Internal::Types::Model + field :http_authorization, -> { String }, optional: true, nullable: false, api_name: "httpAuthorization" + + field :http_content_format, -> { Auth0::Types::LogStreamHTTPContentFormatEnum }, optional: true, nullable: false, api_name: "httpContentFormat" + + field :http_content_type, -> { String }, optional: true, nullable: false, api_name: "httpContentType" + + field :http_endpoint, -> { String }, optional: false, nullable: false, api_name: "httpEndpoint" + + field :http_custom_headers, -> { Internal::Types::Array[Auth0::Types::HTTPCustomHeader] }, optional: true, nullable: false, api_name: "httpCustomHeaders" + end + end +end diff --git a/lib/auth0/types/log_stream_mixpanel_enum.rb b/lib/auth0/types/log_stream_mixpanel_enum.rb new file mode 100644 index 000000000..b32cfe17e --- /dev/null +++ b/lib/auth0/types/log_stream_mixpanel_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module LogStreamMixpanelEnum + extend Auth0::Internal::Types::Enum + + MIXPANEL = "mixpanel" + end + end +end diff --git a/lib/auth0/types/log_stream_mixpanel_region_enum.rb b/lib/auth0/types/log_stream_mixpanel_region_enum.rb new file mode 100644 index 000000000..a3f5118b4 --- /dev/null +++ b/lib/auth0/types/log_stream_mixpanel_region_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module LogStreamMixpanelRegionEnum + extend Auth0::Internal::Types::Enum + + US = "us" + EU = "eu" + end + end +end diff --git a/lib/auth0/types/log_stream_mixpanel_response_schema.rb b/lib/auth0/types/log_stream_mixpanel_response_schema.rb new file mode 100644 index 000000000..b538e6c83 --- /dev/null +++ b/lib/auth0/types/log_stream_mixpanel_response_schema.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class LogStreamMixpanelResponseSchema < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :status, -> { Auth0::Types::LogStreamStatusEnum }, optional: true, nullable: false + + field :type, -> { Auth0::Types::LogStreamMixpanelEnum }, optional: true, nullable: false + + field :is_priority, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "isPriority" + + field :filters, -> { Internal::Types::Array[Auth0::Types::LogStreamFilter] }, optional: true, nullable: false + + field :pii_config, -> { Auth0::Types::LogStreamPiiConfig }, optional: true, nullable: false + + field :sink, -> { Auth0::Types::LogStreamMixpanelSink }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/log_stream_mixpanel_sink.rb b/lib/auth0/types/log_stream_mixpanel_sink.rb new file mode 100644 index 000000000..d408c1370 --- /dev/null +++ b/lib/auth0/types/log_stream_mixpanel_sink.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class LogStreamMixpanelSink < Internal::Types::Model + field :mixpanel_region, -> { Auth0::Types::LogStreamMixpanelRegionEnum }, optional: false, nullable: false, api_name: "mixpanelRegion" + + field :mixpanel_project_id, -> { String }, optional: false, nullable: false, api_name: "mixpanelProjectId" + + field :mixpanel_service_account_username, -> { String }, optional: false, nullable: false, api_name: "mixpanelServiceAccountUsername" + + field :mixpanel_service_account_password, -> { String }, optional: false, nullable: false, api_name: "mixpanelServiceAccountPassword" + end + end +end diff --git a/lib/auth0/types/log_stream_mixpanel_sink_patch.rb b/lib/auth0/types/log_stream_mixpanel_sink_patch.rb new file mode 100644 index 000000000..b41252c22 --- /dev/null +++ b/lib/auth0/types/log_stream_mixpanel_sink_patch.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class LogStreamMixpanelSinkPatch < Internal::Types::Model + field :mixpanel_region, -> { Auth0::Types::LogStreamMixpanelRegionEnum }, optional: false, nullable: false, api_name: "mixpanelRegion" + + field :mixpanel_project_id, -> { String }, optional: false, nullable: false, api_name: "mixpanelProjectId" + + field :mixpanel_service_account_username, -> { String }, optional: false, nullable: false, api_name: "mixpanelServiceAccountUsername" + + field :mixpanel_service_account_password, -> { String }, optional: true, nullable: false, api_name: "mixpanelServiceAccountPassword" + end + end +end diff --git a/lib/auth0/types/log_stream_pii_algorithm_enum.rb b/lib/auth0/types/log_stream_pii_algorithm_enum.rb new file mode 100644 index 000000000..2547e2b86 --- /dev/null +++ b/lib/auth0/types/log_stream_pii_algorithm_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module LogStreamPiiAlgorithmEnum + extend Auth0::Internal::Types::Enum + + XXHASH = "xxhash" + end + end +end diff --git a/lib/auth0/types/log_stream_pii_config.rb b/lib/auth0/types/log_stream_pii_config.rb new file mode 100644 index 000000000..673e469a8 --- /dev/null +++ b/lib/auth0/types/log_stream_pii_config.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class LogStreamPiiConfig < Internal::Types::Model + field :log_fields, -> { Internal::Types::Array[Auth0::Types::LogStreamPiiLogFieldsEnum] }, optional: false, nullable: false + + field :method_, -> { Auth0::Types::LogStreamPiiMethodEnum }, optional: true, nullable: false, api_name: "method" + + field :algorithm, -> { Auth0::Types::LogStreamPiiAlgorithmEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/log_stream_pii_log_fields_enum.rb b/lib/auth0/types/log_stream_pii_log_fields_enum.rb new file mode 100644 index 000000000..11bc9937b --- /dev/null +++ b/lib/auth0/types/log_stream_pii_log_fields_enum.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module LogStreamPiiLogFieldsEnum + extend Auth0::Internal::Types::Enum + + FIRST_NAME = "first_name" + LAST_NAME = "last_name" + USERNAME = "username" + EMAIL = "email" + PHONE = "phone" + ADDRESS = "address" + end + end +end diff --git a/lib/auth0/types/log_stream_pii_method_enum.rb b/lib/auth0/types/log_stream_pii_method_enum.rb new file mode 100644 index 000000000..9756335df --- /dev/null +++ b/lib/auth0/types/log_stream_pii_method_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module LogStreamPiiMethodEnum + extend Auth0::Internal::Types::Enum + + MASK = "mask" + HASH = "hash" + end + end +end diff --git a/lib/auth0/types/log_stream_response_schema.rb b/lib/auth0/types/log_stream_response_schema.rb new file mode 100644 index 000000000..a35686e59 --- /dev/null +++ b/lib/auth0/types/log_stream_response_schema.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class LogStreamResponseSchema < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::LogStreamHTTPResponseSchema } + + member -> { Auth0::Types::LogStreamEventBridgeResponseSchema } + + member -> { Auth0::Types::LogStreamEventGridResponseSchema } + + member -> { Auth0::Types::LogStreamDatadogResponseSchema } + + member -> { Auth0::Types::LogStreamSplunkResponseSchema } + + member -> { Auth0::Types::LogStreamSumoResponseSchema } + + member -> { Auth0::Types::LogStreamSegmentResponseSchema } + + member -> { Auth0::Types::LogStreamMixpanelResponseSchema } + end + end +end diff --git a/lib/auth0/types/log_stream_segment_enum.rb b/lib/auth0/types/log_stream_segment_enum.rb new file mode 100644 index 000000000..c511e8488 --- /dev/null +++ b/lib/auth0/types/log_stream_segment_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module LogStreamSegmentEnum + extend Auth0::Internal::Types::Enum + + SEGMENT = "segment" + end + end +end diff --git a/lib/auth0/types/log_stream_segment_response_schema.rb b/lib/auth0/types/log_stream_segment_response_schema.rb new file mode 100644 index 000000000..89fbf9f99 --- /dev/null +++ b/lib/auth0/types/log_stream_segment_response_schema.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class LogStreamSegmentResponseSchema < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :status, -> { Auth0::Types::LogStreamStatusEnum }, optional: true, nullable: false + + field :type, -> { Auth0::Types::LogStreamSegmentEnum }, optional: true, nullable: false + + field :is_priority, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "isPriority" + + field :filters, -> { Internal::Types::Array[Auth0::Types::LogStreamFilter] }, optional: true, nullable: false + + field :pii_config, -> { Auth0::Types::LogStreamPiiConfig }, optional: true, nullable: false + + field :sink, -> { Auth0::Types::LogStreamSegmentSinkWriteKey }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/log_stream_segment_sink.rb b/lib/auth0/types/log_stream_segment_sink.rb new file mode 100644 index 000000000..a9fdadd16 --- /dev/null +++ b/lib/auth0/types/log_stream_segment_sink.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class LogStreamSegmentSink < Internal::Types::Model + field :segment_write_key, -> { String }, optional: true, nullable: false, api_name: "segmentWriteKey" + end + end +end diff --git a/lib/auth0/types/log_stream_segment_sink_write_key.rb b/lib/auth0/types/log_stream_segment_sink_write_key.rb new file mode 100644 index 000000000..723ed2e3e --- /dev/null +++ b/lib/auth0/types/log_stream_segment_sink_write_key.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class LogStreamSegmentSinkWriteKey < Internal::Types::Model + field :segment_write_key, -> { String }, optional: false, nullable: false, api_name: "segmentWriteKey" + end + end +end diff --git a/lib/auth0/types/log_stream_sink_patch.rb b/lib/auth0/types/log_stream_sink_patch.rb new file mode 100644 index 000000000..bf84c938d --- /dev/null +++ b/lib/auth0/types/log_stream_sink_patch.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class LogStreamSinkPatch < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::LogStreamHTTPSink } + + member -> { Auth0::Types::LogStreamDatadogSink } + + member -> { Auth0::Types::LogStreamSplunkSink } + + member -> { Auth0::Types::LogStreamSumoSink } + + member -> { Auth0::Types::LogStreamSegmentSink } + + member -> { Auth0::Types::LogStreamMixpanelSinkPatch } + end + end +end diff --git a/lib/auth0/types/log_stream_splunk_enum.rb b/lib/auth0/types/log_stream_splunk_enum.rb new file mode 100644 index 000000000..0e45ea600 --- /dev/null +++ b/lib/auth0/types/log_stream_splunk_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module LogStreamSplunkEnum + extend Auth0::Internal::Types::Enum + + SPLUNK = "splunk" + end + end +end diff --git a/lib/auth0/types/log_stream_splunk_response_schema.rb b/lib/auth0/types/log_stream_splunk_response_schema.rb new file mode 100644 index 000000000..5266708c4 --- /dev/null +++ b/lib/auth0/types/log_stream_splunk_response_schema.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class LogStreamSplunkResponseSchema < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :status, -> { Auth0::Types::LogStreamStatusEnum }, optional: true, nullable: false + + field :type, -> { Auth0::Types::LogStreamSplunkEnum }, optional: true, nullable: false + + field :is_priority, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "isPriority" + + field :filters, -> { Internal::Types::Array[Auth0::Types::LogStreamFilter] }, optional: true, nullable: false + + field :pii_config, -> { Auth0::Types::LogStreamPiiConfig }, optional: true, nullable: false + + field :sink, -> { Auth0::Types::LogStreamSplunkSink }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/log_stream_splunk_sink.rb b/lib/auth0/types/log_stream_splunk_sink.rb new file mode 100644 index 000000000..035d52c82 --- /dev/null +++ b/lib/auth0/types/log_stream_splunk_sink.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class LogStreamSplunkSink < Internal::Types::Model + field :splunk_domain, -> { String }, optional: false, nullable: false, api_name: "splunkDomain" + + field :splunk_port, -> { String }, optional: false, nullable: false, api_name: "splunkPort" + + field :splunk_token, -> { String }, optional: false, nullable: false, api_name: "splunkToken" + + field :splunk_secure, -> { Internal::Types::Boolean }, optional: false, nullable: false, api_name: "splunkSecure" + end + end +end diff --git a/lib/auth0/types/log_stream_status_enum.rb b/lib/auth0/types/log_stream_status_enum.rb new file mode 100644 index 000000000..1997c800b --- /dev/null +++ b/lib/auth0/types/log_stream_status_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module LogStreamStatusEnum + extend Auth0::Internal::Types::Enum + + ACTIVE = "active" + PAUSED = "paused" + SUSPENDED = "suspended" + end + end +end diff --git a/lib/auth0/types/log_stream_sumo_enum.rb b/lib/auth0/types/log_stream_sumo_enum.rb new file mode 100644 index 000000000..82cbc342d --- /dev/null +++ b/lib/auth0/types/log_stream_sumo_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module LogStreamSumoEnum + extend Auth0::Internal::Types::Enum + + SUMO = "sumo" + end + end +end diff --git a/lib/auth0/types/log_stream_sumo_response_schema.rb b/lib/auth0/types/log_stream_sumo_response_schema.rb new file mode 100644 index 000000000..1f801dc3c --- /dev/null +++ b/lib/auth0/types/log_stream_sumo_response_schema.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class LogStreamSumoResponseSchema < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :status, -> { Auth0::Types::LogStreamStatusEnum }, optional: true, nullable: false + + field :type, -> { Auth0::Types::LogStreamSumoEnum }, optional: true, nullable: false + + field :is_priority, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "isPriority" + + field :filters, -> { Internal::Types::Array[Auth0::Types::LogStreamFilter] }, optional: true, nullable: false + + field :pii_config, -> { Auth0::Types::LogStreamPiiConfig }, optional: true, nullable: false + + field :sink, -> { Auth0::Types::LogStreamSumoSink }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/log_stream_sumo_sink.rb b/lib/auth0/types/log_stream_sumo_sink.rb new file mode 100644 index 000000000..9d70f06dc --- /dev/null +++ b/lib/auth0/types/log_stream_sumo_sink.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class LogStreamSumoSink < Internal::Types::Model + field :sumo_source_address, -> { String }, optional: false, nullable: false, api_name: "sumoSourceAddress" + end + end +end diff --git a/lib/auth0/types/mdl_presentation_properties.rb b/lib/auth0/types/mdl_presentation_properties.rb new file mode 100644 index 000000000..7ed540f20 --- /dev/null +++ b/lib/auth0/types/mdl_presentation_properties.rb @@ -0,0 +1,49 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class MdlPresentationProperties < Internal::Types::Model + field :family_name, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :given_name, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :birth_date, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :issue_date, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :expiry_date, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :issuing_country, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :issuing_authority, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :portrait, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :driving_privileges, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :resident_address, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :portrait_capture_date, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :age_in_years, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :age_birth_year, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :issuing_jurisdiction, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :nationality, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :resident_city, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :resident_state, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :resident_postal_code, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :resident_country, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :family_name_national_character, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :given_name_national_character, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/mdl_presentation_request.rb b/lib/auth0/types/mdl_presentation_request.rb new file mode 100644 index 000000000..fc3555481 --- /dev/null +++ b/lib/auth0/types/mdl_presentation_request.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # A simplified presentation request + class MdlPresentationRequest < Internal::Types::Model + field :org_iso1801351m_dl, -> { Auth0::Types::MdlPresentationRequestProperties }, optional: false, nullable: false, api_name: "org.iso.18013.5.1.mDL" + end + end +end diff --git a/lib/auth0/types/mdl_presentation_request_properties.rb b/lib/auth0/types/mdl_presentation_request_properties.rb new file mode 100644 index 000000000..d96af2d7d --- /dev/null +++ b/lib/auth0/types/mdl_presentation_request_properties.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class MdlPresentationRequestProperties < Internal::Types::Model + field :org_iso1801351, -> { Auth0::Types::MdlPresentationProperties }, optional: false, nullable: false, api_name: "org.iso.18013.5.1" + end + end +end diff --git a/lib/auth0/types/mfa_policy_enum.rb b/lib/auth0/types/mfa_policy_enum.rb new file mode 100644 index 000000000..4828e228f --- /dev/null +++ b/lib/auth0/types/mfa_policy_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module MfaPolicyEnum + extend Auth0::Internal::Types::Enum + + ALL_APPLICATIONS = "all-applications" + CONFIDENCE_SCORE = "confidence-score" + end + end +end diff --git a/lib/auth0/types/native_social_login.rb b/lib/auth0/types/native_social_login.rb new file mode 100644 index 000000000..664262984 --- /dev/null +++ b/lib/auth0/types/native_social_login.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configure native social settings + class NativeSocialLogin < Internal::Types::Model + field :apple, -> { Auth0::Types::NativeSocialLoginApple }, optional: true, nullable: false + + field :facebook, -> { Auth0::Types::NativeSocialLoginFacebook }, optional: true, nullable: false + + field :google, -> { Auth0::Types::NativeSocialLoginGoogle }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/native_social_login_apple.rb b/lib/auth0/types/native_social_login_apple.rb new file mode 100644 index 000000000..b96b8d099 --- /dev/null +++ b/lib/auth0/types/native_social_login_apple.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Native Social Login support for the Apple connection + class NativeSocialLoginApple < Internal::Types::Model + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/native_social_login_apple_patch.rb b/lib/auth0/types/native_social_login_apple_patch.rb new file mode 100644 index 000000000..c5cb62d00 --- /dev/null +++ b/lib/auth0/types/native_social_login_apple_patch.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Native Social Login support for the Apple connection + class NativeSocialLoginApplePatch < Internal::Types::Model + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/native_social_login_facebook.rb b/lib/auth0/types/native_social_login_facebook.rb new file mode 100644 index 000000000..b1dd5642c --- /dev/null +++ b/lib/auth0/types/native_social_login_facebook.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Native Social Login support for the Facebook connection + class NativeSocialLoginFacebook < Internal::Types::Model + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/native_social_login_facebook_patch.rb b/lib/auth0/types/native_social_login_facebook_patch.rb new file mode 100644 index 000000000..9b20e13e5 --- /dev/null +++ b/lib/auth0/types/native_social_login_facebook_patch.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Native Social Login support for the Facebook connection + class NativeSocialLoginFacebookPatch < Internal::Types::Model + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/native_social_login_google.rb b/lib/auth0/types/native_social_login_google.rb new file mode 100644 index 000000000..d0b108832 --- /dev/null +++ b/lib/auth0/types/native_social_login_google.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Native Social Login support for the google-oauth2 connection + class NativeSocialLoginGoogle < Internal::Types::Model + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/native_social_login_google_patch.rb b/lib/auth0/types/native_social_login_google_patch.rb new file mode 100644 index 000000000..690a9ec1e --- /dev/null +++ b/lib/auth0/types/native_social_login_google_patch.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Native Social Login support for the google-oauth2 connection + class NativeSocialLoginGooglePatch < Internal::Types::Model + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/native_social_login_patch.rb b/lib/auth0/types/native_social_login_patch.rb new file mode 100644 index 000000000..6ff3d0bf8 --- /dev/null +++ b/lib/auth0/types/native_social_login_patch.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configure native social settings + class NativeSocialLoginPatch < Internal::Types::Model + field :apple, -> { Auth0::Types::NativeSocialLoginApplePatch }, optional: true, nullable: false + + field :facebook, -> { Auth0::Types::NativeSocialLoginFacebookPatch }, optional: true, nullable: false + + field :google, -> { Auth0::Types::NativeSocialLoginGooglePatch }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/network_acl_action.rb b/lib/auth0/types/network_acl_action.rb new file mode 100644 index 000000000..298dd0a4b --- /dev/null +++ b/lib/auth0/types/network_acl_action.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class NetworkACLAction < Internal::Types::Model + field :block, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :allow, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :log, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :redirect, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :redirect_uri, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/network_acl_action_allow_enum.rb b/lib/auth0/types/network_acl_action_allow_enum.rb new file mode 100644 index 000000000..39f7acfcd --- /dev/null +++ b/lib/auth0/types/network_acl_action_allow_enum.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module NetworkACLActionAllowEnum + # NetworkACLActionAllowEnum is an alias for Boolean + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/network_acl_action_block_enum.rb b/lib/auth0/types/network_acl_action_block_enum.rb new file mode 100644 index 000000000..f40f237d0 --- /dev/null +++ b/lib/auth0/types/network_acl_action_block_enum.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module NetworkACLActionBlockEnum + # NetworkACLActionBlockEnum is an alias for Boolean + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/network_acl_action_log_enum.rb b/lib/auth0/types/network_acl_action_log_enum.rb new file mode 100644 index 000000000..702df9cee --- /dev/null +++ b/lib/auth0/types/network_acl_action_log_enum.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module NetworkACLActionLogEnum + # NetworkACLActionLogEnum is an alias for Boolean + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/network_acl_action_redirect_enum.rb b/lib/auth0/types/network_acl_action_redirect_enum.rb new file mode 100644 index 000000000..2a68a0b62 --- /dev/null +++ b/lib/auth0/types/network_acl_action_redirect_enum.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module NetworkACLActionRedirectEnum + # NetworkACLActionRedirectEnum is an alias for Boolean + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/network_acl_match.rb b/lib/auth0/types/network_acl_match.rb new file mode 100644 index 000000000..b1d6a0713 --- /dev/null +++ b/lib/auth0/types/network_acl_match.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class NetworkACLMatch < Internal::Types::Model + field :asns, -> { Internal::Types::Array[Integer] }, optional: true, nullable: false + + field :auth0managed, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "auth0_managed" + + field :geo_country_codes, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :geo_subdivision_codes, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :ipv4cidrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "ipv4_cidrs" + + field :ipv6cidrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "ipv6_cidrs" + + field :ja3fingerprints, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "ja3_fingerprints" + + field :ja4fingerprints, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "ja4_fingerprints" + + field :user_agents, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :hostnames, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :connecting_ipv4cidrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "connecting_ipv4_cidrs" + + field :connecting_ipv6cidrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "connecting_ipv6_cidrs" + end + end +end diff --git a/lib/auth0/types/network_acl_match_connecting_ipv4cidr.rb b/lib/auth0/types/network_acl_match_connecting_ipv4cidr.rb new file mode 100644 index 000000000..8b44e3d6d --- /dev/null +++ b/lib/auth0/types/network_acl_match_connecting_ipv4cidr.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module NetworkACLMatchConnectingIpv4Cidr + # NetworkACLMatchConnectingIpv4Cidr is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/network_acl_match_connecting_ipv6cidr.rb b/lib/auth0/types/network_acl_match_connecting_ipv6cidr.rb new file mode 100644 index 000000000..a59516a5f --- /dev/null +++ b/lib/auth0/types/network_acl_match_connecting_ipv6cidr.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module NetworkACLMatchConnectingIpv6Cidr + # NetworkACLMatchConnectingIpv6Cidr is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/network_acl_match_ipv4cidr.rb b/lib/auth0/types/network_acl_match_ipv4cidr.rb new file mode 100644 index 000000000..2b080c680 --- /dev/null +++ b/lib/auth0/types/network_acl_match_ipv4cidr.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module NetworkACLMatchIpv4Cidr + # NetworkACLMatchIpv4Cidr is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/network_acl_match_ipv6cidr.rb b/lib/auth0/types/network_acl_match_ipv6cidr.rb new file mode 100644 index 000000000..e58797d71 --- /dev/null +++ b/lib/auth0/types/network_acl_match_ipv6cidr.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module NetworkACLMatchIpv6Cidr + # NetworkACLMatchIpv6Cidr is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/network_acl_rule.rb b/lib/auth0/types/network_acl_rule.rb new file mode 100644 index 000000000..c521d6f7e --- /dev/null +++ b/lib/auth0/types/network_acl_rule.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class NetworkACLRule < Internal::Types::Model + field :action, -> { Auth0::Types::NetworkACLAction }, optional: false, nullable: false + + field :match, -> { Auth0::Types::NetworkACLMatch }, optional: true, nullable: false + + field :not_match, -> { Auth0::Types::NetworkACLMatch }, optional: true, nullable: false + + field :scope, -> { Auth0::Types::NetworkACLRuleScopeEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/network_acl_rule_scope_enum.rb b/lib/auth0/types/network_acl_rule_scope_enum.rb new file mode 100644 index 000000000..0d9ba2445 --- /dev/null +++ b/lib/auth0/types/network_acl_rule_scope_enum.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module NetworkACLRuleScopeEnum + extend Auth0::Internal::Types::Enum + + MANAGEMENT = "management" + AUTHENTICATION = "authentication" + TENANT = "tenant" + DYNAMIC_CLIENT_REGISTRATION = "dynamic_client_registration" + end + end +end diff --git a/lib/auth0/types/network_acls_response_content.rb b/lib/auth0/types/network_acls_response_content.rb new file mode 100644 index 000000000..9e8edeb9c --- /dev/null +++ b/lib/auth0/types/network_acls_response_content.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class NetworkACLsResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :description, -> { String }, optional: true, nullable: false + + field :active, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :priority, -> { Integer }, optional: true, nullable: false + + field :rule, -> { Auth0::Types::NetworkACLRule }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :updated_at, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/not_found_error_body.rb b/lib/auth0/types/not_found_error_body.rb new file mode 100644 index 000000000..6a69a8937 --- /dev/null +++ b/lib/auth0/types/not_found_error_body.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class NotFoundErrorBody < Internal::Types::Model + field :message, -> { String }, optional: false, nullable: false + + field :status_code, -> { String }, optional: false, nullable: false, api_name: "statusCode" + + field :error, -> { Auth0::Types::NotFoundErrorBodyError }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/not_found_error_body_error.rb b/lib/auth0/types/not_found_error_body_error.rb new file mode 100644 index 000000000..c046caf5e --- /dev/null +++ b/lib/auth0/types/not_found_error_body_error.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module NotFoundErrorBodyError + extend Auth0::Internal::Types::Enum + + NOT_FOUND = "Not Found" + end + end +end diff --git a/lib/auth0/types/not_found_schema.rb b/lib/auth0/types/not_found_schema.rb new file mode 100644 index 000000000..9f7a320cd --- /dev/null +++ b/lib/auth0/types/not_found_schema.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Not Found + class NotFoundSchema < Internal::Types::Model + field :message, -> { String }, optional: false, nullable: false + + field :status_code, -> { String }, optional: false, nullable: false, api_name: "statusCode" + + field :error, -> { Auth0::Types::NotFoundSchemaError }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/not_found_schema_error.rb b/lib/auth0/types/not_found_schema_error.rb new file mode 100644 index 000000000..f84fecbc8 --- /dev/null +++ b/lib/auth0/types/not_found_schema_error.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module NotFoundSchemaError + extend Auth0::Internal::Types::Enum + + NOT_FOUND = "Not Found" + end + end +end diff --git a/lib/auth0/types/oauth_scope.rb b/lib/auth0/types/oauth_scope.rb new file mode 100644 index 000000000..24c0490c1 --- /dev/null +++ b/lib/auth0/types/oauth_scope.rb @@ -0,0 +1,254 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module OauthScope + extend Auth0::Internal::Types::Enum + + CREATE_ACTIONS = "create:actions" + READ_ACTIONS = "read:actions" + UPDATE_ACTIONS = "update:actions" + DELETE_ACTIONS = "delete:actions" + CREATE_AGENTS = "create:agents" + READ_AGENTS = "read:agents" + UPDATE_AGENTS = "update:agents" + DELETE_AGENTS = "delete:agents" + READ_ANOMALY_BLOCKS = "read:anomaly_blocks" + DELETE_ANOMALY_BLOCKS = "delete:anomaly_blocks" + READ_ATTACK_PROTECTION = "read:attack_protection" + UPDATE_ATTACK_PROTECTION = "update:attack_protection" + CREATE_AUTHENTICATION_METHODS = "create:authentication_methods" + READ_AUTHENTICATION_METHODS = "read:authentication_methods" + UPDATE_AUTHENTICATION_METHODS = "update:authentication_methods" + DELETE_AUTHENTICATION_METHODS = "delete:authentication_methods" + READ_BRANDING = "read:branding" + UPDATE_BRANDING = "update:branding" + DELETE_BRANDING = "delete:branding" + CREATE_CLIENT_CREDENTIALS = "create:client_credentials" + READ_CLIENT_CREDENTIALS = "read:client_credentials" + UPDATE_CLIENT_CREDENTIALS = "update:client_credentials" + DELETE_CLIENT_CREDENTIALS = "delete:client_credentials" + CREATE_CLIENT_GRANTS = "create:client_grants" + READ_CLIENT_GRANTS = "read:client_grants" + UPDATE_CLIENT_GRANTS = "update:client_grants" + DELETE_CLIENT_GRANTS = "delete:client_grants" + READ_CLIENT_KEYS = "read:client_keys" + UPDATE_CLIENT_KEYS = "update:client_keys" + READ_CLIENT_SUMMARY = "read:client_summary" + UPDATE_CLIENT_TOKEN_VAULT_PRIVILEGED_ACCESS = "update:client_token_vault_privileged_access" + CREATE_CLIENTS = "create:clients" + READ_CLIENTS = "read:clients" + UPDATE_CLIENTS = "update:clients" + DELETE_CLIENTS = "delete:clients" + CREATE_CONNECTION_PROFILES = "create:connection_profiles" + READ_CONNECTION_PROFILES = "read:connection_profiles" + UPDATE_CONNECTION_PROFILES = "update:connection_profiles" + DELETE_CONNECTION_PROFILES = "delete:connection_profiles" + CREATE_CONNECTIONS = "create:connections" + READ_CONNECTIONS = "read:connections" + UPDATE_CONNECTIONS = "update:connections" + DELETE_CONNECTIONS = "delete:connections" + CREATE_CONNECTIONS_KEYS = "create:connections_keys" + READ_CONNECTIONS_KEYS = "read:connections_keys" + UPDATE_CONNECTIONS_KEYS = "update:connections_keys" + READ_CURRENT_USER = "read:current_user" + DELETE_CURRENT_USER = "delete:current_user" + CREATE_CURRENT_USER_DEVICE_CREDENTIALS = "create:current_user_device_credentials" + DELETE_CURRENT_USER_DEVICE_CREDENTIALS = "delete:current_user_device_credentials" + UPDATE_CURRENT_USER_IDENTITIES = "update:current_user_identities" + UPDATE_CURRENT_USER_METADATA = "update:current_user_metadata" + CREATE_CUSTOM_DOMAINS = "create:custom_domains" + READ_CUSTOM_DOMAINS = "read:custom_domains" + UPDATE_CUSTOM_DOMAINS = "update:custom_domains" + DELETE_CUSTOM_DOMAINS = "delete:custom_domains" + CREATE_CUSTOM_SIGNING_KEYS = "create:custom_signing_keys" + READ_CUSTOM_SIGNING_KEYS = "read:custom_signing_keys" + UPDATE_CUSTOM_SIGNING_KEYS = "update:custom_signing_keys" + DELETE_CUSTOM_SIGNING_KEYS = "delete:custom_signing_keys" + READ_DEVICE_CREDENTIALS = "read:device_credentials" + DELETE_DEVICE_CREDENTIALS = "delete:device_credentials" + CREATE_DIRECTORY_PROVISIONINGS = "create:directory_provisionings" + READ_DIRECTORY_PROVISIONINGS = "read:directory_provisionings" + UPDATE_DIRECTORY_PROVISIONINGS = "update:directory_provisionings" + DELETE_DIRECTORY_PROVISIONINGS = "delete:directory_provisionings" + CREATE_EMAIL_PROVIDER = "create:email_provider" + READ_EMAIL_PROVIDER = "read:email_provider" + UPDATE_EMAIL_PROVIDER = "update:email_provider" + DELETE_EMAIL_PROVIDER = "delete:email_provider" + CREATE_EMAIL_TEMPLATES = "create:email_templates" + READ_EMAIL_TEMPLATES = "read:email_templates" + UPDATE_EMAIL_TEMPLATES = "update:email_templates" + CREATE_ENCRYPTION_KEYS = "create:encryption_keys" + READ_ENCRYPTION_KEYS = "read:encryption_keys" + UPDATE_ENCRYPTION_KEYS = "update:encryption_keys" + DELETE_ENCRYPTION_KEYS = "delete:encryption_keys" + READ_EVENT_DELIVERIES = "read:event_deliveries" + UPDATE_EVENT_DELIVERIES = "update:event_deliveries" + CREATE_EVENT_STREAMS = "create:event_streams" + READ_EVENT_STREAMS = "read:event_streams" + UPDATE_EVENT_STREAMS = "update:event_streams" + DELETE_EVENT_STREAMS = "delete:event_streams" + READ_EVENTS = "read:events" + CREATE_FLOWS = "create:flows" + READ_FLOWS = "read:flows" + UPDATE_FLOWS = "update:flows" + DELETE_FLOWS = "delete:flows" + READ_FLOWS_EXECUTIONS = "read:flows_executions" + DELETE_FLOWS_EXECUTIONS = "delete:flows_executions" + CREATE_FLOWS_VAULT_CONNECTIONS = "create:flows_vault_connections" + READ_FLOWS_VAULT_CONNECTIONS = "read:flows_vault_connections" + UPDATE_FLOWS_VAULT_CONNECTIONS = "update:flows_vault_connections" + DELETE_FLOWS_VAULT_CONNECTIONS = "delete:flows_vault_connections" + CREATE_FORMS = "create:forms" + READ_FORMS = "read:forms" + UPDATE_FORMS = "update:forms" + DELETE_FORMS = "delete:forms" + READ_GRANTS = "read:grants" + DELETE_GRANTS = "delete:grants" + READ_GROUP_MEMBERS = "read:group_members" + CREATE_GROUP_ROLES = "create:group_roles" + READ_GROUP_ROLES = "read:group_roles" + DELETE_GROUP_ROLES = "delete:group_roles" + READ_GROUPS = "read:groups" + DELETE_GROUPS = "delete:groups" + CREATE_GUARDIAN_ENROLLMENT_TICKETS = "create:guardian_enrollment_tickets" + READ_GUARDIAN_ENROLLMENTS = "read:guardian_enrollments" + DELETE_GUARDIAN_ENROLLMENTS = "delete:guardian_enrollments" + READ_GUARDIAN_FACTORS = "read:guardian_factors" + UPDATE_GUARDIAN_FACTORS = "update:guardian_factors" + CREATE_HOOKS = "create:hooks" + READ_HOOKS = "read:hooks" + UPDATE_HOOKS = "update:hooks" + DELETE_HOOKS = "delete:hooks" + CREATE_LOG_STREAMS = "create:log_streams" + READ_LOG_STREAMS = "read:log_streams" + UPDATE_LOG_STREAMS = "update:log_streams" + DELETE_LOG_STREAMS = "delete:log_streams" + READ_LOGS = "read:logs" + READ_LOGS_USERS = "read:logs_users" + READ_MFA_POLICIES = "read:mfa_policies" + UPDATE_MFA_POLICIES = "update:mfa_policies" + CREATE_NETWORK_ACLS = "create:network_acls" + READ_NETWORK_ACLS = "read:network_acls" + UPDATE_NETWORK_ACLS = "update:network_acls" + DELETE_NETWORK_ACLS = "delete:network_acls" + CREATE_ORGANIZATION_CLIENT_GRANTS = "create:organization_client_grants" + READ_ORGANIZATION_CLIENT_GRANTS = "read:organization_client_grants" + DELETE_ORGANIZATION_CLIENT_GRANTS = "delete:organization_client_grants" + CREATE_ORGANIZATION_CONNECTIONS = "create:organization_connections" + READ_ORGANIZATION_CONNECTIONS = "read:organization_connections" + UPDATE_ORGANIZATION_CONNECTIONS = "update:organization_connections" + DELETE_ORGANIZATION_CONNECTIONS = "delete:organization_connections" + CREATE_ORGANIZATION_DISCOVERY_DOMAINS = "create:organization_discovery_domains" + READ_ORGANIZATION_DISCOVERY_DOMAINS = "read:organization_discovery_domains" + UPDATE_ORGANIZATION_DISCOVERY_DOMAINS = "update:organization_discovery_domains" + DELETE_ORGANIZATION_DISCOVERY_DOMAINS = "delete:organization_discovery_domains" + CREATE_ORGANIZATION_GROUP_ROLES = "create:organization_group_roles" + READ_ORGANIZATION_GROUP_ROLES = "read:organization_group_roles" + DELETE_ORGANIZATION_GROUP_ROLES = "delete:organization_group_roles" + READ_ORGANIZATION_GROUPS = "read:organization_groups" + CREATE_ORGANIZATION_INVITATIONS = "create:organization_invitations" + READ_ORGANIZATION_INVITATIONS = "read:organization_invitations" + DELETE_ORGANIZATION_INVITATIONS = "delete:organization_invitations" + READ_ORGANIZATION_MEMBER_EFFECTIVE_ROLES = "read:organization_member_effective_roles" + READ_ORGANIZATION_MEMBER_ROLE_SOURCE_GROUPS = "read:organization_member_role_source_groups" + CREATE_ORGANIZATION_MEMBER_ROLES = "create:organization_member_roles" + READ_ORGANIZATION_MEMBER_ROLES = "read:organization_member_roles" + DELETE_ORGANIZATION_MEMBER_ROLES = "delete:organization_member_roles" + CREATE_ORGANIZATION_MEMBERS = "create:organization_members" + READ_ORGANIZATION_MEMBERS = "read:organization_members" + DELETE_ORGANIZATION_MEMBERS = "delete:organization_members" + CREATE_ORGANIZATIONS = "create:organizations" + READ_ORGANIZATIONS = "read:organizations" + UPDATE_ORGANIZATIONS = "update:organizations" + DELETE_ORGANIZATIONS = "delete:organizations" + READ_ORGANIZATIONS_SUMMARY = "read:organizations_summary" + CREATE_PHONE_PROVIDERS = "create:phone_providers" + READ_PHONE_PROVIDERS = "read:phone_providers" + UPDATE_PHONE_PROVIDERS = "update:phone_providers" + DELETE_PHONE_PROVIDERS = "delete:phone_providers" + CREATE_PHONE_TEMPLATES = "create:phone_templates" + READ_PHONE_TEMPLATES = "read:phone_templates" + UPDATE_PHONE_TEMPLATES = "update:phone_templates" + DELETE_PHONE_TEMPLATES = "delete:phone_templates" + READ_PROMPTS = "read:prompts" + UPDATE_PROMPTS = "update:prompts" + CREATE_RATE_LIMIT_POLICIES = "create:rate_limit_policies" + READ_RATE_LIMIT_POLICIES = "read:rate_limit_policies" + UPDATE_RATE_LIMIT_POLICIES = "update:rate_limit_policies" + DELETE_RATE_LIMIT_POLICIES = "delete:rate_limit_policies" + READ_REFRESH_TOKENS = "read:refresh_tokens" + UPDATE_REFRESH_TOKENS = "update:refresh_tokens" + DELETE_REFRESH_TOKENS = "delete:refresh_tokens" + CREATE_RESOURCE_SERVERS = "create:resource_servers" + READ_RESOURCE_SERVERS = "read:resource_servers" + UPDATE_RESOURCE_SERVERS = "update:resource_servers" + DELETE_RESOURCE_SERVERS = "delete:resource_servers" + CREATE_ROLE_MEMBERS = "create:role_members" + READ_ROLE_MEMBERS = "read:role_members" + DELETE_ROLE_MEMBERS = "delete:role_members" + CREATE_ROLES = "create:roles" + READ_ROLES = "read:roles" + UPDATE_ROLES = "update:roles" + DELETE_ROLES = "delete:roles" + CREATE_RULES = "create:rules" + READ_RULES = "read:rules" + UPDATE_RULES = "update:rules" + DELETE_RULES = "delete:rules" + READ_RULES_CONFIGS = "read:rules_configs" + UPDATE_RULES_CONFIGS = "update:rules_configs" + DELETE_RULES_CONFIGS = "delete:rules_configs" + CREATE_SCIM_CONFIG = "create:scim_config" + READ_SCIM_CONFIG = "read:scim_config" + UPDATE_SCIM_CONFIG = "update:scim_config" + DELETE_SCIM_CONFIG = "delete:scim_config" + CREATE_SCIM_TOKEN = "create:scim_token" + READ_SCIM_TOKEN = "read:scim_token" + DELETE_SCIM_TOKEN = "delete:scim_token" + READ_SELF_SERVICE_PROFILE_CUSTOM_TEXTS = "read:self_service_profile_custom_texts" + UPDATE_SELF_SERVICE_PROFILE_CUSTOM_TEXTS = "update:self_service_profile_custom_texts" + CREATE_SELF_SERVICE_PROFILES = "create:self_service_profiles" + READ_SELF_SERVICE_PROFILES = "read:self_service_profiles" + UPDATE_SELF_SERVICE_PROFILES = "update:self_service_profiles" + DELETE_SELF_SERVICE_PROFILES = "delete:self_service_profiles" + READ_SESSIONS = "read:sessions" + UPDATE_SESSIONS = "update:sessions" + DELETE_SESSIONS = "delete:sessions" + CREATE_SIGNING_KEYS = "create:signing_keys" + READ_SIGNING_KEYS = "read:signing_keys" + UPDATE_SIGNING_KEYS = "update:signing_keys" + CREATE_SSO_ACCESS_TICKETS = "create:sso_access_tickets" + DELETE_SSO_ACCESS_TICKETS = "delete:sso_access_tickets" + READ_STATS = "read:stats" + READ_TENANT_SETTINGS = "read:tenant_settings" + UPDATE_TENANT_SETTINGS = "update:tenant_settings" + CREATE_TOKEN_EXCHANGE_PROFILES = "create:token_exchange_profiles" + READ_TOKEN_EXCHANGE_PROFILES = "read:token_exchange_profiles" + UPDATE_TOKEN_EXCHANGE_PROFILES = "update:token_exchange_profiles" + DELETE_TOKEN_EXCHANGE_PROFILES = "delete:token_exchange_profiles" + CREATE_USER_ATTRIBUTE_PROFILES = "create:user_attribute_profiles" + READ_USER_ATTRIBUTE_PROFILES = "read:user_attribute_profiles" + UPDATE_USER_ATTRIBUTE_PROFILES = "update:user_attribute_profiles" + DELETE_USER_ATTRIBUTE_PROFILES = "delete:user_attribute_profiles" + READ_USER_EFFECTIVE_PERMISSIONS = "read:user_effective_permissions" + READ_USER_EFFECTIVE_ROLES = "read:user_effective_roles" + READ_USER_IDP_TOKENS = "read:user_idp_tokens" + READ_USER_PERMISSION_SOURCE_ROLES = "read:user_permission_source_roles" + READ_USER_ROLE_SOURCE_GROUPS = "read:user_role_source_groups" + CREATE_USER_TICKETS = "create:user_tickets" + CREATE_USERS = "create:users" + READ_USERS = "read:users" + UPDATE_USERS = "update:users" + DELETE_USERS = "delete:users" + UPDATE_USERS_APP_METADATA = "update:users_app_metadata" + CREATE_VDCS_TEMPLATES = "create:vdcs_templates" + READ_VDCS_TEMPLATES = "read:vdcs_templates" + UPDATE_VDCS_TEMPLATES = "update:vdcs_templates" + DELETE_VDCS_TEMPLATES = "delete:vdcs_templates" + CREATE_ORGANIZATION_CLIENTS = "create:organization_clients" + READ_ORGANIZATION_CLIENTS = "read:organization_clients" + UPDATE_ORGANIZATION_CLIENTS = "update:organization_clients" + DELETE_ORGANIZATION_CLIENTS = "delete:organization_clients" + end + end +end diff --git a/lib/auth0/types/organization.rb b/lib/auth0/types/organization.rb new file mode 100644 index 000000000..5f6f6d669 --- /dev/null +++ b/lib/auth0/types/organization.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class Organization < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :branding, -> { Auth0::Types::OrganizationBranding }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :token_quota, -> { Auth0::Types::TokenQuota }, optional: true, nullable: false + + field :third_party_client_access, -> { Auth0::Types::OrganizationThirdPartyClientAccessEnum }, optional: true, nullable: false + + field :is_app_entitlement_active, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :client, -> { Auth0::Types::OrganizationClientAssociation }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/organization_access_level_enum.rb b/lib/auth0/types/organization_access_level_enum.rb new file mode 100644 index 000000000..d1df3b40d --- /dev/null +++ b/lib/auth0/types/organization_access_level_enum.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module OrganizationAccessLevelEnum + extend Auth0::Internal::Types::Enum + + NONE = "none" + READONLY = "readonly" + LIMITED = "limited" + FULL = "full" + end + end +end diff --git a/lib/auth0/types/organization_access_level_enum_with_null.rb b/lib/auth0/types/organization_access_level_enum_with_null.rb new file mode 100644 index 000000000..301edf3cc --- /dev/null +++ b/lib/auth0/types/organization_access_level_enum_with_null.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module OrganizationAccessLevelEnumWithNull + extend Auth0::Internal::Types::Enum + + NONE = "none" + READONLY = "readonly" + LIMITED = "limited" + FULL = "full" + end + end +end diff --git a/lib/auth0/types/organization_all_connection_post.rb b/lib/auth0/types/organization_all_connection_post.rb new file mode 100644 index 000000000..f5aad5895 --- /dev/null +++ b/lib/auth0/types/organization_all_connection_post.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class OrganizationAllConnectionPost < Internal::Types::Model + field :organization_connection_name, -> { String }, optional: true, nullable: false + + field :assign_membership_on_login, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :is_signup_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :organization_access_level, -> { Auth0::Types::OrganizationAccessLevelEnum }, optional: true, nullable: false + + field :is_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :connection_id, -> { String }, optional: false, nullable: false + + field :connection, -> { Auth0::Types::OrganizationConnectionInformation }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/organization_branding.rb b/lib/auth0/types/organization_branding.rb new file mode 100644 index 000000000..40484ba00 --- /dev/null +++ b/lib/auth0/types/organization_branding.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Theme defines how to style the login pages. + class OrganizationBranding < Internal::Types::Model + field :logo_url, -> { String }, optional: true, nullable: false + + field :colors, -> { Auth0::Types::OrganizationBrandingColors }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/organization_branding_colors.rb b/lib/auth0/types/organization_branding_colors.rb new file mode 100644 index 000000000..75f97d53c --- /dev/null +++ b/lib/auth0/types/organization_branding_colors.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Color scheme used to customize the login pages. + class OrganizationBrandingColors < Internal::Types::Model + field :primary, -> { String }, optional: false, nullable: false + + field :page_background, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/organization_client.rb b/lib/auth0/types/organization_client.rb new file mode 100644 index 000000000..3e25c1ce6 --- /dev/null +++ b/lib/auth0/types/organization_client.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class OrganizationClient < Internal::Types::Model + field :client_id, -> { String }, optional: false, nullable: false + + field :use_for_member_access, -> { Internal::Types::Boolean }, optional: false, nullable: false + + field :client, -> { Auth0::Types::OrganizationClientMetadata }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/organization_client_association.rb b/lib/auth0/types/organization_client_association.rb new file mode 100644 index 000000000..19ea00d49 --- /dev/null +++ b/lib/auth0/types/organization_client_association.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The organization's association with the client passed in the include_client_association_for query + # parameter. + class OrganizationClientAssociation < Internal::Types::Model + field :use_for_member_access, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/organization_client_grant.rb b/lib/auth0/types/organization_client_grant.rb new file mode 100644 index 000000000..2d49e9567 --- /dev/null +++ b/lib/auth0/types/organization_client_grant.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class OrganizationClientGrant < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :client_id, -> { String }, optional: true, nullable: false + + field :audience, -> { String }, optional: true, nullable: false + + field :scope, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :organization_usage, -> { Auth0::Types::OrganizationUsageEnum }, optional: true, nullable: false + + field :allow_any_organization, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/organization_client_metadata.rb b/lib/auth0/types/organization_client_metadata.rb new file mode 100644 index 000000000..0533fbe28 --- /dev/null +++ b/lib/auth0/types/organization_client_metadata.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Metadata about the associated client. + class OrganizationClientMetadata < Internal::Types::Model + field :name, -> { String }, optional: true, nullable: false + + field :app_type, -> { String }, optional: true, nullable: false + + field :logo_uri, -> { String }, optional: true, nullable: false + + field :is_first_party, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :grant_types, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :organization_usage, -> { Auth0::Types::OrganizationClientMetadataOrganizationUsageEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/organization_client_metadata_organization_usage_enum.rb b/lib/auth0/types/organization_client_metadata_organization_usage_enum.rb new file mode 100644 index 000000000..0f860b46c --- /dev/null +++ b/lib/auth0/types/organization_client_metadata_organization_usage_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module OrganizationClientMetadataOrganizationUsageEnum + extend Auth0::Internal::Types::Enum + + DENY = "deny" + ALLOW = "allow" + REQUIRE = "require" + end + end +end diff --git a/lib/auth0/types/organization_connection.rb b/lib/auth0/types/organization_connection.rb new file mode 100644 index 000000000..1091034f5 --- /dev/null +++ b/lib/auth0/types/organization_connection.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class OrganizationConnection < Internal::Types::Model + field :connection_id, -> { String }, optional: true, nullable: false + + field :assign_membership_on_login, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :is_signup_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :connection, -> { Auth0::Types::OrganizationConnectionInformation }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/organization_connection_information.rb b/lib/auth0/types/organization_connection_information.rb new file mode 100644 index 000000000..29d3173dd --- /dev/null +++ b/lib/auth0/types/organization_connection_information.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class OrganizationConnectionInformation < Internal::Types::Model + field :name, -> { String }, optional: true, nullable: false + + field :strategy, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/organization_discovery_domain.rb b/lib/auth0/types/organization_discovery_domain.rb new file mode 100644 index 000000000..ffe1b7406 --- /dev/null +++ b/lib/auth0/types/organization_discovery_domain.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class OrganizationDiscoveryDomain < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :domain, -> { String }, optional: false, nullable: false + + field :status, -> { Auth0::Types::OrganizationDiscoveryDomainStatus }, optional: false, nullable: false + + field :use_for_organization_discovery, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :verification_txt, -> { String }, optional: false, nullable: false + + field :verification_host, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/organization_discovery_domain_status.rb b/lib/auth0/types/organization_discovery_domain_status.rb new file mode 100644 index 000000000..1dcd5333a --- /dev/null +++ b/lib/auth0/types/organization_discovery_domain_status.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module OrganizationDiscoveryDomainStatus + extend Auth0::Internal::Types::Enum + + PENDING = "pending" + VERIFIED = "verified" + end + end +end diff --git a/lib/auth0/types/organization_enabled_connection.rb b/lib/auth0/types/organization_enabled_connection.rb new file mode 100644 index 000000000..3079344f2 --- /dev/null +++ b/lib/auth0/types/organization_enabled_connection.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class OrganizationEnabledConnection < Internal::Types::Model + field :connection_id, -> { String }, optional: true, nullable: false + + field :assign_membership_on_login, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :is_signup_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :connection, -> { Auth0::Types::OrganizationConnectionInformation }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/organization_invitation.rb b/lib/auth0/types/organization_invitation.rb new file mode 100644 index 000000000..6efb3e01d --- /dev/null +++ b/lib/auth0/types/organization_invitation.rb @@ -0,0 +1,33 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class OrganizationInvitation < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :organization_id, -> { String }, optional: true, nullable: false + + field :inviter, -> { Auth0::Types::OrganizationInvitationInviter }, optional: true, nullable: false + + field :invitee, -> { Auth0::Types::OrganizationInvitationInvitee }, optional: true, nullable: false + + field :invitation_url, -> { String }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :expires_at, -> { String }, optional: true, nullable: false + + field :client_id, -> { String }, optional: true, nullable: false + + field :connection_id, -> { String }, optional: true, nullable: false + + field :app_metadata, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :user_metadata, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :roles, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :ticket_id, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/organization_invitation_invitee.rb b/lib/auth0/types/organization_invitation_invitee.rb new file mode 100644 index 000000000..e535b55eb --- /dev/null +++ b/lib/auth0/types/organization_invitation_invitee.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class OrganizationInvitationInvitee < Internal::Types::Model + field :email, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/organization_invitation_inviter.rb b/lib/auth0/types/organization_invitation_inviter.rb new file mode 100644 index 000000000..fc5abeccd --- /dev/null +++ b/lib/auth0/types/organization_invitation_inviter.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class OrganizationInvitationInviter < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/organization_member.rb b/lib/auth0/types/organization_member.rb new file mode 100644 index 000000000..31859c909 --- /dev/null +++ b/lib/auth0/types/organization_member.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class OrganizationMember < Internal::Types::Model + field :user_id, -> { String }, optional: true, nullable: false + + field :picture, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :email, -> { String }, optional: true, nullable: false + + field :roles, -> { Internal::Types::Array[Auth0::Types::OrganizationMemberRole] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/organization_member_effective_role.rb b/lib/auth0/types/organization_member_effective_role.rb new file mode 100644 index 000000000..6cb8579aa --- /dev/null +++ b/lib/auth0/types/organization_member_effective_role.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class OrganizationMemberEffectiveRole < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :description, -> { String }, optional: false, nullable: false + + field :sources, -> { Internal::Types::Array[Auth0::Types::OrganizationMemberEffectiveRoleSource] }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/organization_member_effective_role_source.rb b/lib/auth0/types/organization_member_effective_role_source.rb new file mode 100644 index 000000000..a369248f8 --- /dev/null +++ b/lib/auth0/types/organization_member_effective_role_source.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module OrganizationMemberEffectiveRoleSource + extend Auth0::Internal::Types::Enum + + DIRECT = "direct" + GROUPS = "groups" + end + end +end diff --git a/lib/auth0/types/organization_member_role.rb b/lib/auth0/types/organization_member_role.rb new file mode 100644 index 000000000..3822ea68c --- /dev/null +++ b/lib/auth0/types/organization_member_role.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class OrganizationMemberRole < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/organization_metadata.rb b/lib/auth0/types/organization_metadata.rb new file mode 100644 index 000000000..cd5252cde --- /dev/null +++ b/lib/auth0/types/organization_metadata.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module OrganizationMetadata + # OrganizationMetadata is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/organization_third_party_client_access_enum.rb b/lib/auth0/types/organization_third_party_client_access_enum.rb new file mode 100644 index 000000000..ba7dc17e8 --- /dev/null +++ b/lib/auth0/types/organization_third_party_client_access_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module OrganizationThirdPartyClientAccessEnum + extend Auth0::Internal::Types::Enum + + BLOCK = "block" + ALLOW = "allow" + end + end +end diff --git a/lib/auth0/types/organization_usage_enum.rb b/lib/auth0/types/organization_usage_enum.rb new file mode 100644 index 000000000..978ad016f --- /dev/null +++ b/lib/auth0/types/organization_usage_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module OrganizationUsageEnum + extend Auth0::Internal::Types::Enum + + DENY = "deny" + ALLOW = "allow" + REQUIRE = "require" + end + end +end diff --git a/lib/auth0/types/partial_groups_enum.rb b/lib/auth0/types/partial_groups_enum.rb new file mode 100644 index 000000000..309336761 --- /dev/null +++ b/lib/auth0/types/partial_groups_enum.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module PartialGroupsEnum + extend Auth0::Internal::Types::Enum + + LOGIN = "login" + LOGIN_ID = "login-id" + LOGIN_PASSWORD = "login-password" + LOGIN_PASSWORDLESS = "login-passwordless" + SIGNUP = "signup" + SIGNUP_ID = "signup-id" + SIGNUP_PASSWORD = "signup-password" + CUSTOMIZED_CONSENT = "customized-consent" + PASSKEYS = "passkeys" + CONFIRMATION = "confirmation" + end + end +end diff --git a/lib/auth0/types/partial_phone_template_content.rb b/lib/auth0/types/partial_phone_template_content.rb new file mode 100644 index 000000000..550d98ae6 --- /dev/null +++ b/lib/auth0/types/partial_phone_template_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class PartialPhoneTemplateContent < Internal::Types::Model + field :from, -> { String }, optional: true, nullable: false + + field :body, -> { Auth0::Types::PhoneTemplateBody }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/password_character_type_enum.rb b/lib/auth0/types/password_character_type_enum.rb new file mode 100644 index 000000000..5bb825a70 --- /dev/null +++ b/lib/auth0/types/password_character_type_enum.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module PasswordCharacterTypeEnum + extend Auth0::Internal::Types::Enum + + UPPERCASE = "uppercase" + LOWERCASE = "lowercase" + NUMBER = "number" + SPECIAL = "special" + end + end +end diff --git a/lib/auth0/types/password_character_type_rule_policy_enum.rb b/lib/auth0/types/password_character_type_rule_policy_enum.rb new file mode 100644 index 000000000..931f7ab65 --- /dev/null +++ b/lib/auth0/types/password_character_type_rule_policy_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module PasswordCharacterTypeRulePolicyEnum + extend Auth0::Internal::Types::Enum + + ALL = "all" + THREE_OF_FOUR = "three_of_four" + end + end +end diff --git a/lib/auth0/types/password_default_dictionaries_enum.rb b/lib/auth0/types/password_default_dictionaries_enum.rb new file mode 100644 index 000000000..3881d8c78 --- /dev/null +++ b/lib/auth0/types/password_default_dictionaries_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module PasswordDefaultDictionariesEnum + extend Auth0::Internal::Types::Enum + + EN10K = "en_10k" + EN100K = "en_100k" + end + end +end diff --git a/lib/auth0/types/password_identical_characters_policy_enum.rb b/lib/auth0/types/password_identical_characters_policy_enum.rb new file mode 100644 index 000000000..01b128bae --- /dev/null +++ b/lib/auth0/types/password_identical_characters_policy_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module PasswordIdenticalCharactersPolicyEnum + extend Auth0::Internal::Types::Enum + + ALLOW = "allow" + BLOCK = "block" + end + end +end diff --git a/lib/auth0/types/password_max_length_exceeded_policy_enum.rb b/lib/auth0/types/password_max_length_exceeded_policy_enum.rb new file mode 100644 index 000000000..3ec85c6ef --- /dev/null +++ b/lib/auth0/types/password_max_length_exceeded_policy_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module PasswordMaxLengthExceededPolicyEnum + extend Auth0::Internal::Types::Enum + + TRUNCATE = "truncate" + ERROR = "error" + end + end +end diff --git a/lib/auth0/types/password_sequential_characters_policy_enum.rb b/lib/auth0/types/password_sequential_characters_policy_enum.rb new file mode 100644 index 000000000..4d66e8ae2 --- /dev/null +++ b/lib/auth0/types/password_sequential_characters_policy_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module PasswordSequentialCharactersPolicyEnum + extend Auth0::Internal::Types::Enum + + ALLOW = "allow" + BLOCK = "block" + end + end +end diff --git a/lib/auth0/types/patch_client_credential_response_content.rb b/lib/auth0/types/patch_client_credential_response_content.rb new file mode 100644 index 000000000..cf1b48e97 --- /dev/null +++ b/lib/auth0/types/patch_client_credential_response_content.rb @@ -0,0 +1,27 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class PatchClientCredentialResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :kid, -> { String }, optional: true, nullable: false + + field :alg, -> { Auth0::Types::ClientCredentialAlgorithmEnum }, optional: true, nullable: false + + field :credential_type, -> { Auth0::Types::ClientCredentialTypeEnum }, optional: true, nullable: false + + field :subject_dn, -> { String }, optional: true, nullable: false + + field :thumbprint_sha256, -> { String }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :updated_at, -> { String }, optional: true, nullable: false + + field :expires_at, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/patch_phone_provider_protection_response_content.rb b/lib/auth0/types/patch_phone_provider_protection_response_content.rb new file mode 100644 index 000000000..259539e34 --- /dev/null +++ b/lib/auth0/types/patch_phone_provider_protection_response_content.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class PatchPhoneProviderProtectionResponseContent < Internal::Types::Model + field :type, -> { Auth0::Types::PhoneProviderProtectionBackoffStrategyEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/patch_rate_limit_policy_configuration_request_content.rb b/lib/auth0/types/patch_rate_limit_policy_configuration_request_content.rb new file mode 100644 index 000000000..ef10552cd --- /dev/null +++ b/lib/auth0/types/patch_rate_limit_policy_configuration_request_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class PatchRateLimitPolicyConfigurationRequestContent < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::PatchRateLimitPolicyConfigurationRequestContentZero } + + member -> { Auth0::Types::PatchRateLimitPolicyConfigurationRequestContentOne } + + member -> { Auth0::Types::PatchRateLimitPolicyConfigurationRequestContentAction } + end + end +end diff --git a/lib/auth0/types/patch_rate_limit_policy_configuration_request_content_action.rb b/lib/auth0/types/patch_rate_limit_policy_configuration_request_content_action.rb new file mode 100644 index 000000000..057af86e3 --- /dev/null +++ b/lib/auth0/types/patch_rate_limit_policy_configuration_request_content_action.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class PatchRateLimitPolicyConfigurationRequestContentAction < Internal::Types::Model + field :action, -> { Auth0::Types::PatchRateLimitPolicyConfigurationRequestContentActionAction }, optional: false, nullable: false + + field :limit, -> { Integer }, optional: false, nullable: false + + field :redirect_uri, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/patch_rate_limit_policy_configuration_request_content_action_action.rb b/lib/auth0/types/patch_rate_limit_policy_configuration_request_content_action_action.rb new file mode 100644 index 000000000..f14a4be21 --- /dev/null +++ b/lib/auth0/types/patch_rate_limit_policy_configuration_request_content_action_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module PatchRateLimitPolicyConfigurationRequestContentActionAction + extend Auth0::Internal::Types::Enum + + REDIRECT = "redirect" + end + end +end diff --git a/lib/auth0/types/patch_rate_limit_policy_configuration_request_content_one.rb b/lib/auth0/types/patch_rate_limit_policy_configuration_request_content_one.rb new file mode 100644 index 000000000..df2c09e65 --- /dev/null +++ b/lib/auth0/types/patch_rate_limit_policy_configuration_request_content_one.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class PatchRateLimitPolicyConfigurationRequestContentOne < Internal::Types::Model + field :action, -> { Auth0::Types::PatchRateLimitPolicyConfigurationRequestContentOneAction }, optional: false, nullable: false + + field :limit, -> { Integer }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/patch_rate_limit_policy_configuration_request_content_one_action.rb b/lib/auth0/types/patch_rate_limit_policy_configuration_request_content_one_action.rb new file mode 100644 index 000000000..26c953c7d --- /dev/null +++ b/lib/auth0/types/patch_rate_limit_policy_configuration_request_content_one_action.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module PatchRateLimitPolicyConfigurationRequestContentOneAction + extend Auth0::Internal::Types::Enum + + BLOCK = "block" + LOG = "log" + end + end +end diff --git a/lib/auth0/types/patch_rate_limit_policy_configuration_request_content_zero.rb b/lib/auth0/types/patch_rate_limit_policy_configuration_request_content_zero.rb new file mode 100644 index 000000000..6831bc69b --- /dev/null +++ b/lib/auth0/types/patch_rate_limit_policy_configuration_request_content_zero.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class PatchRateLimitPolicyConfigurationRequestContentZero < Internal::Types::Model + field :action, -> { Auth0::Types::PatchRateLimitPolicyConfigurationRequestContentZeroAction }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/patch_rate_limit_policy_configuration_request_content_zero_action.rb b/lib/auth0/types/patch_rate_limit_policy_configuration_request_content_zero_action.rb new file mode 100644 index 000000000..6a533276b --- /dev/null +++ b/lib/auth0/types/patch_rate_limit_policy_configuration_request_content_zero_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module PatchRateLimitPolicyConfigurationRequestContentZeroAction + extend Auth0::Internal::Types::Enum + + ALLOW = "allow" + end + end +end diff --git a/lib/auth0/types/patch_supplemental_signals_response_content.rb b/lib/auth0/types/patch_supplemental_signals_response_content.rb new file mode 100644 index 000000000..d25cea5b4 --- /dev/null +++ b/lib/auth0/types/patch_supplemental_signals_response_content.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class PatchSupplementalSignalsResponseContent < Internal::Types::Model + field :akamai_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/permission_request_payload.rb b/lib/auth0/types/permission_request_payload.rb new file mode 100644 index 000000000..f67624bb8 --- /dev/null +++ b/lib/auth0/types/permission_request_payload.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class PermissionRequestPayload < Internal::Types::Model + field :resource_server_identifier, -> { String }, optional: false, nullable: false + + field :permission_name, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/permissions_response_payload.rb b/lib/auth0/types/permissions_response_payload.rb new file mode 100644 index 000000000..5dd476ed5 --- /dev/null +++ b/lib/auth0/types/permissions_response_payload.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class PermissionsResponsePayload < Internal::Types::Model + field :resource_server_identifier, -> { String }, optional: true, nullable: false + + field :permission_name, -> { String }, optional: true, nullable: false + + field :resource_server_name, -> { String }, optional: true, nullable: false + + field :description, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/phone_attribute.rb b/lib/auth0/types/phone_attribute.rb new file mode 100644 index 000000000..e37aa362b --- /dev/null +++ b/lib/auth0/types/phone_attribute.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configuration for the phone number attribute for users. + class PhoneAttribute < Internal::Types::Model + field :identifier, -> { Auth0::Types::PhoneAttributeIdentifier }, optional: true, nullable: false + + field :profile_required, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :signup, -> { Auth0::Types::SignupVerified }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/phone_attribute_identifier.rb b/lib/auth0/types/phone_attribute_identifier.rb new file mode 100644 index 000000000..6244eadca --- /dev/null +++ b/lib/auth0/types/phone_attribute_identifier.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class PhoneAttributeIdentifier < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :default_method, -> { Auth0::Types::DefaultMethodPhoneNumberIdentifierEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/phone_provider_channel_enum.rb b/lib/auth0/types/phone_provider_channel_enum.rb new file mode 100644 index 000000000..67a5303cc --- /dev/null +++ b/lib/auth0/types/phone_provider_channel_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module PhoneProviderChannelEnum + extend Auth0::Internal::Types::Enum + + PHONE = "phone" + end + end +end diff --git a/lib/auth0/types/phone_provider_configuration.rb b/lib/auth0/types/phone_provider_configuration.rb new file mode 100644 index 000000000..1cdea3312 --- /dev/null +++ b/lib/auth0/types/phone_provider_configuration.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class PhoneProviderConfiguration < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::TwilioProviderConfiguration } + + member -> { Auth0::Types::CustomProviderConfiguration } + end + end +end diff --git a/lib/auth0/types/phone_provider_credentials.rb b/lib/auth0/types/phone_provider_credentials.rb new file mode 100644 index 000000000..430550c23 --- /dev/null +++ b/lib/auth0/types/phone_provider_credentials.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Provider credentials required to use authenticate to the provider. + class PhoneProviderCredentials < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::TwilioProviderCredentials } + + member -> { Auth0::Types::CustomProviderCredentials } + end + end +end diff --git a/lib/auth0/types/phone_provider_delivery_method_enum.rb b/lib/auth0/types/phone_provider_delivery_method_enum.rb new file mode 100644 index 000000000..6cd47b365 --- /dev/null +++ b/lib/auth0/types/phone_provider_delivery_method_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module PhoneProviderDeliveryMethodEnum + extend Auth0::Internal::Types::Enum + + TEXT = "text" + VOICE = "voice" + end + end +end diff --git a/lib/auth0/types/phone_provider_name_enum.rb b/lib/auth0/types/phone_provider_name_enum.rb new file mode 100644 index 000000000..c9aaba662 --- /dev/null +++ b/lib/auth0/types/phone_provider_name_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module PhoneProviderNameEnum + extend Auth0::Internal::Types::Enum + + TWILIO = "twilio" + CUSTOM = "custom" + end + end +end diff --git a/lib/auth0/types/phone_provider_protection_backoff_strategy_enum.rb b/lib/auth0/types/phone_provider_protection_backoff_strategy_enum.rb new file mode 100644 index 000000000..5028c50ba --- /dev/null +++ b/lib/auth0/types/phone_provider_protection_backoff_strategy_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module PhoneProviderProtectionBackoffStrategyEnum + extend Auth0::Internal::Types::Enum + + EXPONENTIAL = "exponential" + DEFAULT = "default" + end + end +end diff --git a/lib/auth0/types/phone_provider_schema_masked.rb b/lib/auth0/types/phone_provider_schema_masked.rb new file mode 100644 index 000000000..c330b8017 --- /dev/null +++ b/lib/auth0/types/phone_provider_schema_masked.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Phone provider configuration schema + class PhoneProviderSchemaMasked < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :tenant, -> { String }, optional: true, nullable: false + + field :name, -> { Auth0::Types::PhoneProviderNameEnum }, optional: false, nullable: false + + field :channel, -> { Auth0::Types::PhoneProviderChannelEnum }, optional: true, nullable: false + + field :disabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :configuration, -> { Auth0::Types::PhoneProviderConfiguration }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :updated_at, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/phone_template.rb b/lib/auth0/types/phone_template.rb new file mode 100644 index 000000000..a93bc9860 --- /dev/null +++ b/lib/auth0/types/phone_template.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class PhoneTemplate < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :channel, -> { String }, optional: true, nullable: false + + field :customizable, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :tenant, -> { String }, optional: true, nullable: false + + field :content, -> { Auth0::Types::PhoneTemplateContent }, optional: false, nullable: false + + field :type, -> { Auth0::Types::PhoneTemplateNotificationTypeEnum }, optional: false, nullable: false + + field :disabled, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/phone_template_body.rb b/lib/auth0/types/phone_template_body.rb new file mode 100644 index 000000000..82cbfd38b --- /dev/null +++ b/lib/auth0/types/phone_template_body.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class PhoneTemplateBody < Internal::Types::Model + field :text, -> { String }, optional: true, nullable: false + + field :voice, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/phone_template_content.rb b/lib/auth0/types/phone_template_content.rb new file mode 100644 index 000000000..4fbaeaa3f --- /dev/null +++ b/lib/auth0/types/phone_template_content.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class PhoneTemplateContent < Internal::Types::Model + field :syntax, -> { String }, optional: true, nullable: false + + field :from, -> { String }, optional: true, nullable: false + + field :body, -> { Auth0::Types::PhoneTemplateBody }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/phone_template_notification_type_enum.rb b/lib/auth0/types/phone_template_notification_type_enum.rb new file mode 100644 index 000000000..5cb75876f --- /dev/null +++ b/lib/auth0/types/phone_template_notification_type_enum.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module PhoneTemplateNotificationTypeEnum + extend Auth0::Internal::Types::Enum + + OTP_VERIFY = "otp_verify" + OTP_ENROLL = "otp_enroll" + CHANGE_PASSWORD = "change_password" + BLOCKED_ACCOUNT = "blocked_account" + PASSWORD_BREACH = "password_breach" + end + end +end diff --git a/lib/auth0/types/post_client_credential_response_content.rb b/lib/auth0/types/post_client_credential_response_content.rb new file mode 100644 index 000000000..6ca6ae203 --- /dev/null +++ b/lib/auth0/types/post_client_credential_response_content.rb @@ -0,0 +1,27 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class PostClientCredentialResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :kid, -> { String }, optional: true, nullable: false + + field :alg, -> { Auth0::Types::ClientCredentialAlgorithmEnum }, optional: true, nullable: false + + field :credential_type, -> { Auth0::Types::ClientCredentialTypeEnum }, optional: true, nullable: false + + field :subject_dn, -> { String }, optional: true, nullable: false + + field :thumbprint_sha256, -> { String }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :updated_at, -> { String }, optional: true, nullable: false + + field :expires_at, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/post_connection_keys_alg_enum.rb b/lib/auth0/types/post_connection_keys_alg_enum.rb new file mode 100644 index 000000000..50dea181e --- /dev/null +++ b/lib/auth0/types/post_connection_keys_alg_enum.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module PostConnectionKeysAlgEnum + extend Auth0::Internal::Types::Enum + + RS256 = "RS256" + RS384 = "RS384" + RS512 = "RS512" + PS256 = "PS256" + PS384 = "PS384" + ES256 = "ES256" + ES384 = "ES384" + end + end +end diff --git a/lib/auth0/types/post_connection_keys_request_content.rb b/lib/auth0/types/post_connection_keys_request_content.rb new file mode 100644 index 000000000..7e5247e86 --- /dev/null +++ b/lib/auth0/types/post_connection_keys_request_content.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class PostConnectionKeysRequestContent < Internal::Types::Model + field :signing_alg, -> { Auth0::Types::PostConnectionKeysAlgEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/post_connections_keys_response_content.rb b/lib/auth0/types/post_connections_keys_response_content.rb new file mode 100644 index 000000000..3e8736ae4 --- /dev/null +++ b/lib/auth0/types/post_connections_keys_response_content.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module PostConnectionsKeysResponseContent + # PostConnectionsKeysResponseContent is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/post_connections_keys_response_content_item.rb b/lib/auth0/types/post_connections_keys_response_content_item.rb new file mode 100644 index 000000000..fa39590be --- /dev/null +++ b/lib/auth0/types/post_connections_keys_response_content_item.rb @@ -0,0 +1,29 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class PostConnectionsKeysResponseContentItem < Internal::Types::Model + field :kid, -> { String }, optional: false, nullable: false + + field :cert, -> { String }, optional: false, nullable: false + + field :pkcs, -> { String }, optional: true, nullable: false + + field :current, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :next_, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "next" + + field :current_since, -> { String }, optional: true, nullable: false + + field :fingerprint, -> { String }, optional: false, nullable: false + + field :thumbprint, -> { String }, optional: false, nullable: false + + field :algorithm, -> { String }, optional: true, nullable: false + + field :key_use, -> { Auth0::Types::ConnectionKeyUseEnum }, optional: true, nullable: false + + field :subject_dn, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/preferred_authentication_method_enum.rb b/lib/auth0/types/preferred_authentication_method_enum.rb new file mode 100644 index 000000000..8f48d5e13 --- /dev/null +++ b/lib/auth0/types/preferred_authentication_method_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module PreferredAuthenticationMethodEnum + extend Auth0::Internal::Types::Enum + + VOICE = "voice" + SMS = "sms" + end + end +end diff --git a/lib/auth0/types/preview_cimd_metadata_response_content.rb b/lib/auth0/types/preview_cimd_metadata_response_content.rb new file mode 100644 index 000000000..c13b424c8 --- /dev/null +++ b/lib/auth0/types/preview_cimd_metadata_response_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class PreviewCimdMetadataResponseContent < Internal::Types::Model + field :client_id, -> { String }, optional: true, nullable: false + + field :errors, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :validation, -> { Auth0::Types::CimdValidationResult }, optional: true, nullable: false + + field :mapped_fields, -> { Auth0::Types::CimdMappedClientFields }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/prompt_group_name_enum.rb b/lib/auth0/types/prompt_group_name_enum.rb new file mode 100644 index 000000000..6609a40e9 --- /dev/null +++ b/lib/auth0/types/prompt_group_name_enum.rb @@ -0,0 +1,47 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module PromptGroupNameEnum + extend Auth0::Internal::Types::Enum + + LOGIN = "login" + LOGIN_ID = "login-id" + LOGIN_PASSWORD = "login-password" + LOGIN_PASSWORDLESS = "login-passwordless" + LOGIN_EMAIL_VERIFICATION = "login-email-verification" + SIGNUP = "signup" + SIGNUP_ID = "signup-id" + SIGNUP_PASSWORD = "signup-password" + PHONE_IDENTIFIER_ENROLLMENT = "phone-identifier-enrollment" + PHONE_IDENTIFIER_CHALLENGE = "phone-identifier-challenge" + EMAIL_IDENTIFIER_CHALLENGE = "email-identifier-challenge" + RESET_PASSWORD = "reset-password" + CUSTOM_FORM = "custom-form" + CONSENT = "consent" + CUSTOMIZED_CONSENT = "customized-consent" + LOGOUT = "logout" + MFA_PUSH = "mfa-push" + MFA_OTP = "mfa-otp" + MFA_VOICE = "mfa-voice" + MFA_PHONE = "mfa-phone" + MFA_WEBAUTHN = "mfa-webauthn" + MFA_SMS = "mfa-sms" + MFA_EMAIL = "mfa-email" + MFA_RECOVERY_CODE = "mfa-recovery-code" + MFA = "mfa" + STATUS = "status" + DEVICE_FLOW = "device-flow" + EMAIL_VERIFICATION = "email-verification" + EMAIL_OTP_CHALLENGE = "email-otp-challenge" + ORGANIZATIONS = "organizations" + INVITATION = "invitation" + COMMON = "common" + PASSKEYS = "passkeys" + CAPTCHA = "captcha" + BRUTE_FORCE_PROTECTION = "brute-force-protection" + ASYNC_APPROVAL_FLOW = "async-approval-flow" + CONFIRMATION = "confirmation" + end + end +end diff --git a/lib/auth0/types/prompt_language_enum.rb b/lib/auth0/types/prompt_language_enum.rb new file mode 100644 index 000000000..1514769b5 --- /dev/null +++ b/lib/auth0/types/prompt_language_enum.rb @@ -0,0 +1,92 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module PromptLanguageEnum + extend Auth0::Internal::Types::Enum + + AM = "am" + AR = "ar" + AR_EG = "ar-EG" + AR_SA = "ar-SA" + AZ = "az" + BG = "bg" + BN = "bn" + BS = "bs" + CA_ES = "ca-ES" + CNR = "cnr" + CS = "cs" + CY = "cy" + DA = "da" + DE = "de" + EL = "el" + EN = "en" + EN_CA = "en-CA" + ES = "es" + ES419 = "es-419" + ES_AR = "es-AR" + ES_MX = "es-MX" + ET = "et" + EU_ES = "eu-ES" + FA = "fa" + FI = "fi" + FR = "fr" + FR_CA = "fr-CA" + FR_FR = "fr-FR" + GL_ES = "gl-ES" + GU = "gu" + HE = "he" + HI = "hi" + HR = "hr" + HU = "hu" + HY = "hy" + ID = "id" + IS = "is" + IT = "it" + JA = "ja" + KA = "ka" + KK = "kk" + KN = "kn" + KO = "ko" + LT = "lt" + LV = "lv" + MK = "mk" + ML = "ml" + MN = "mn" + MR = "mr" + MS = "ms" + MY = "my" + NB = "nb" + NL = "nl" + NN = "nn" + NO = "no" + PA = "pa" + PL = "pl" + PT = "pt" + PT_BR = "pt-BR" + PT_PT = "pt-PT" + RO = "ro" + RU = "ru" + SK = "sk" + SL = "sl" + SO = "so" + SQ = "sq" + SR = "sr" + SV = "sv" + SW = "sw" + TA = "ta" + TE = "te" + TH = "th" + TL = "tl" + TR = "tr" + UK = "uk" + UR = "ur" + VI = "vi" + ZGH = "zgh" + ZH_CN = "zh-CN" + ZH_HK = "zh-HK" + ZH_MO = "zh-MO" + ZH_TW = "zh-TW" + end + end +end diff --git a/lib/auth0/types/public_key_credential.rb b/lib/auth0/types/public_key_credential.rb new file mode 100644 index 000000000..947e754f3 --- /dev/null +++ b/lib/auth0/types/public_key_credential.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class PublicKeyCredential < Internal::Types::Model + field :credential_type, -> { Auth0::Types::PublicKeyCredentialTypeEnum }, optional: false, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :pem, -> { String }, optional: false, nullable: false + + field :alg, -> { Auth0::Types::PublicKeyCredentialAlgorithmEnum }, optional: true, nullable: false + + field :parse_expiry_from_cert, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :expires_at, -> { String }, optional: true, nullable: false + + field :kid, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/public_key_credential_algorithm_enum.rb b/lib/auth0/types/public_key_credential_algorithm_enum.rb new file mode 100644 index 000000000..3c1974e0f --- /dev/null +++ b/lib/auth0/types/public_key_credential_algorithm_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module PublicKeyCredentialAlgorithmEnum + extend Auth0::Internal::Types::Enum + + RS256 = "RS256" + RS384 = "RS384" + PS256 = "PS256" + end + end +end diff --git a/lib/auth0/types/public_key_credential_type_enum.rb b/lib/auth0/types/public_key_credential_type_enum.rb new file mode 100644 index 000000000..0f626899e --- /dev/null +++ b/lib/auth0/types/public_key_credential_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module PublicKeyCredentialTypeEnum + extend Auth0::Internal::Types::Enum + + PUBLIC_KEY = "public_key" + end + end +end diff --git a/lib/auth0/types/rate_limit_policy.rb b/lib/auth0/types/rate_limit_policy.rb new file mode 100644 index 000000000..1ef3ff461 --- /dev/null +++ b/lib/auth0/types/rate_limit_policy.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class RateLimitPolicy < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :resource, -> { Auth0::Types::RateLimitPolicyResourceEnum }, optional: false, nullable: false + + field :consumer, -> { Auth0::Types::RateLimitPolicyConsumerEnum }, optional: false, nullable: false + + field :consumer_selector, -> { String }, optional: false, nullable: false + + field :configuration, -> { Auth0::Types::RateLimitPolicyConfiguration }, optional: false, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :updated_at, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/rate_limit_policy_configuration.rb b/lib/auth0/types/rate_limit_policy_configuration.rb new file mode 100644 index 000000000..b6d7eb928 --- /dev/null +++ b/lib/auth0/types/rate_limit_policy_configuration.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The configuration of the rate limit policy. + class RateLimitPolicyConfiguration < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::RateLimitPolicyConfigurationZero } + + member -> { Auth0::Types::RateLimitPolicyConfigurationOne } + + member -> { Auth0::Types::RateLimitPolicyConfigurationAction } + end + end +end diff --git a/lib/auth0/types/rate_limit_policy_configuration_action.rb b/lib/auth0/types/rate_limit_policy_configuration_action.rb new file mode 100644 index 000000000..4e19fa367 --- /dev/null +++ b/lib/auth0/types/rate_limit_policy_configuration_action.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class RateLimitPolicyConfigurationAction < Internal::Types::Model + field :action, -> { Auth0::Types::RateLimitPolicyConfigurationActionAction }, optional: false, nullable: false + + field :limit, -> { Integer }, optional: false, nullable: false + + field :redirect_uri, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/rate_limit_policy_configuration_action_action.rb b/lib/auth0/types/rate_limit_policy_configuration_action_action.rb new file mode 100644 index 000000000..6eb8ebd8d --- /dev/null +++ b/lib/auth0/types/rate_limit_policy_configuration_action_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module RateLimitPolicyConfigurationActionAction + extend Auth0::Internal::Types::Enum + + REDIRECT = "redirect" + end + end +end diff --git a/lib/auth0/types/rate_limit_policy_configuration_one.rb b/lib/auth0/types/rate_limit_policy_configuration_one.rb new file mode 100644 index 000000000..450b0ce7e --- /dev/null +++ b/lib/auth0/types/rate_limit_policy_configuration_one.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class RateLimitPolicyConfigurationOne < Internal::Types::Model + field :action, -> { Auth0::Types::RateLimitPolicyConfigurationOneAction }, optional: false, nullable: false + + field :limit, -> { Integer }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/rate_limit_policy_configuration_one_action.rb b/lib/auth0/types/rate_limit_policy_configuration_one_action.rb new file mode 100644 index 000000000..e04a4f53e --- /dev/null +++ b/lib/auth0/types/rate_limit_policy_configuration_one_action.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module RateLimitPolicyConfigurationOneAction + extend Auth0::Internal::Types::Enum + + BLOCK = "block" + LOG = "log" + end + end +end diff --git a/lib/auth0/types/rate_limit_policy_configuration_zero.rb b/lib/auth0/types/rate_limit_policy_configuration_zero.rb new file mode 100644 index 000000000..d7cde0df9 --- /dev/null +++ b/lib/auth0/types/rate_limit_policy_configuration_zero.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class RateLimitPolicyConfigurationZero < Internal::Types::Model + field :action, -> { Auth0::Types::RateLimitPolicyConfigurationZeroAction }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/rate_limit_policy_configuration_zero_action.rb b/lib/auth0/types/rate_limit_policy_configuration_zero_action.rb new file mode 100644 index 000000000..2bb906b2b --- /dev/null +++ b/lib/auth0/types/rate_limit_policy_configuration_zero_action.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module RateLimitPolicyConfigurationZeroAction + extend Auth0::Internal::Types::Enum + + ALLOW = "allow" + end + end +end diff --git a/lib/auth0/types/rate_limit_policy_consumer_enum.rb b/lib/auth0/types/rate_limit_policy_consumer_enum.rb new file mode 100644 index 000000000..d5965d8f5 --- /dev/null +++ b/lib/auth0/types/rate_limit_policy_consumer_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module RateLimitPolicyConsumerEnum + extend Auth0::Internal::Types::Enum + + CLIENT = "client" + end + end +end diff --git a/lib/auth0/types/rate_limit_policy_resource_enum.rb b/lib/auth0/types/rate_limit_policy_resource_enum.rb new file mode 100644 index 000000000..3d9a53468 --- /dev/null +++ b/lib/auth0/types/rate_limit_policy_resource_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module RateLimitPolicyResourceEnum + extend Auth0::Internal::Types::Enum + + OAUTH_AUTHENTICATION_API = "oauth_authentication_api" + end + end +end diff --git a/lib/auth0/types/refresh_token_date.rb b/lib/auth0/types/refresh_token_date.rb new file mode 100644 index 000000000..20f7e06db --- /dev/null +++ b/lib/auth0/types/refresh_token_date.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class RefreshTokenDate < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { String } + + member -> { Internal::Types::Hash[String, Object] } + end + end +end diff --git a/lib/auth0/types/refresh_token_date_object.rb b/lib/auth0/types/refresh_token_date_object.rb new file mode 100644 index 000000000..a7f556576 --- /dev/null +++ b/lib/auth0/types/refresh_token_date_object.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module RefreshTokenDateObject + # RefreshTokenDateObject is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/refresh_token_device.rb b/lib/auth0/types/refresh_token_device.rb new file mode 100644 index 000000000..ba7b8ba24 --- /dev/null +++ b/lib/auth0/types/refresh_token_device.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Device used while issuing/exchanging the refresh token + class RefreshTokenDevice < Internal::Types::Model + field :initial_ip, -> { String }, optional: true, nullable: false + + field :initial_asn, -> { String }, optional: true, nullable: false + + field :initial_user_agent, -> { String }, optional: true, nullable: false + + field :last_ip, -> { String }, optional: true, nullable: false + + field :last_asn, -> { String }, optional: true, nullable: false + + field :last_user_agent, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/refresh_token_expiration_type_enum.rb b/lib/auth0/types/refresh_token_expiration_type_enum.rb new file mode 100644 index 000000000..cb02edf26 --- /dev/null +++ b/lib/auth0/types/refresh_token_expiration_type_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module RefreshTokenExpirationTypeEnum + extend Auth0::Internal::Types::Enum + + EXPIRING = "expiring" + NON_EXPIRING = "non-expiring" + end + end +end diff --git a/lib/auth0/types/refresh_token_metadata.rb b/lib/auth0/types/refresh_token_metadata.rb new file mode 100644 index 000000000..f31f99851 --- /dev/null +++ b/lib/auth0/types/refresh_token_metadata.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module RefreshTokenMetadata + # RefreshTokenMetadata is an alias for Object + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/refresh_token_resource_server.rb b/lib/auth0/types/refresh_token_resource_server.rb new file mode 100644 index 000000000..7a286aab7 --- /dev/null +++ b/lib/auth0/types/refresh_token_resource_server.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class RefreshTokenResourceServer < Internal::Types::Model + field :audience, -> { String }, optional: true, nullable: false + + field :scopes, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/refresh_token_response_content.rb b/lib/auth0/types/refresh_token_response_content.rb new file mode 100644 index 000000000..2034d111d --- /dev/null +++ b/lib/auth0/types/refresh_token_response_content.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class RefreshTokenResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :user_id, -> { String }, optional: true, nullable: false + + field :created_at, -> { Auth0::Types::RefreshTokenDate }, optional: true, nullable: false + + field :idle_expires_at, -> { Auth0::Types::RefreshTokenDate }, optional: true, nullable: false + + field :expires_at, -> { Auth0::Types::RefreshTokenDate }, optional: true, nullable: false + + field :device, -> { Auth0::Types::RefreshTokenDevice }, optional: true, nullable: false + + field :client_id, -> { String }, optional: true, nullable: false + + field :session_id, -> { String }, optional: true, nullable: false + + field :rotating, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :resource_servers, -> { Internal::Types::Array[Auth0::Types::RefreshTokenResourceServer] }, optional: true, nullable: false + + field :refresh_token_metadata, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :last_exchanged_at, -> { Auth0::Types::RefreshTokenDate }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/refresh_token_rotation_type_enum.rb b/lib/auth0/types/refresh_token_rotation_type_enum.rb new file mode 100644 index 000000000..c9572c318 --- /dev/null +++ b/lib/auth0/types/refresh_token_rotation_type_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module RefreshTokenRotationTypeEnum + extend Auth0::Internal::Types::Enum + + ROTATING = "rotating" + NON_ROTATING = "non-rotating" + end + end +end diff --git a/lib/auth0/types/refresh_token_session_id.rb b/lib/auth0/types/refresh_token_session_id.rb new file mode 100644 index 000000000..6ad191b05 --- /dev/null +++ b/lib/auth0/types/refresh_token_session_id.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module RefreshTokenSessionID + # RefreshTokenSessionID is an alias for Object + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/regenerate_users_recovery_code_response_content.rb b/lib/auth0/types/regenerate_users_recovery_code_response_content.rb new file mode 100644 index 000000000..06e9a711e --- /dev/null +++ b/lib/auth0/types/regenerate_users_recovery_code_response_content.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class RegenerateUsersRecoveryCodeResponseContent < Internal::Types::Model + field :recovery_code, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/register_cimd_client_response_content.rb b/lib/auth0/types/register_cimd_client_response_content.rb new file mode 100644 index 000000000..ae12070c3 --- /dev/null +++ b/lib/auth0/types/register_cimd_client_response_content.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Response after successfully registering or updating a CIMD client + class RegisterCimdClientResponseContent < Internal::Types::Model + field :client_id, -> { String }, optional: false, nullable: false + + field :mapped_fields, -> { Auth0::Types::CimdMappedClientFields }, optional: false, nullable: false + + field :validation, -> { Auth0::Types::CimdValidationResult }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/reset_phone_template_request_content.rb b/lib/auth0/types/reset_phone_template_request_content.rb new file mode 100644 index 000000000..bf55888cd --- /dev/null +++ b/lib/auth0/types/reset_phone_template_request_content.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ResetPhoneTemplateRequestContent + # ResetPhoneTemplateRequestContent is an alias for Object + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/reset_phone_template_response_content.rb b/lib/auth0/types/reset_phone_template_response_content.rb new file mode 100644 index 000000000..b9df5d0e7 --- /dev/null +++ b/lib/auth0/types/reset_phone_template_response_content.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ResetPhoneTemplateResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :channel, -> { String }, optional: true, nullable: false + + field :customizable, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :tenant, -> { String }, optional: true, nullable: false + + field :content, -> { Auth0::Types::PhoneTemplateContent }, optional: false, nullable: false + + field :type, -> { Auth0::Types::PhoneTemplateNotificationTypeEnum }, optional: false, nullable: false + + field :disabled, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/resource_server.rb b/lib/auth0/types/resource_server.rb new file mode 100644 index 000000000..5e5b18251 --- /dev/null +++ b/lib/auth0/types/resource_server.rb @@ -0,0 +1,51 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ResourceServer < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :is_system, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :identifier, -> { String }, optional: true, nullable: false + + field :scopes, -> { Internal::Types::Array[Auth0::Types::ResourceServerScope] }, optional: true, nullable: false + + field :signing_alg, -> { Auth0::Types::SigningAlgorithmEnum }, optional: true, nullable: false + + field :signing_secret, -> { String }, optional: true, nullable: false + + field :allow_offline_access, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :allow_online_access, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :allow_online_access_with_ephemeral_sessions, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :skip_consent_for_verifiable_first_party_clients, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :token_lifetime, -> { Integer }, optional: true, nullable: false + + field :token_lifetime_for_web, -> { Integer }, optional: true, nullable: false + + field :enforce_policies, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :token_dialect, -> { Auth0::Types::ResourceServerTokenDialectResponseEnum }, optional: true, nullable: false + + field :token_encryption, -> { Auth0::Types::ResourceServerTokenEncryption }, optional: true, nullable: false + + field :consent_policy, -> { Auth0::Types::ResourceServerConsentPolicyEnum }, optional: true, nullable: false + + field :authorization_details, -> { Internal::Types::Array[Object] }, optional: true, nullable: false + + field :proof_of_possession, -> { Auth0::Types::ResourceServerProofOfPossession }, optional: true, nullable: false + + field :subject_type_authorization, -> { Auth0::Types::ResourceServerSubjectTypeAuthorization }, optional: true, nullable: false + + field :authorization_policy, -> { Auth0::Types::ResourceServerAuthorizationPolicy }, optional: true, nullable: false + + field :client_id, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/resource_server_authorization_policy.rb b/lib/auth0/types/resource_server_authorization_policy.rb new file mode 100644 index 000000000..facdedb96 --- /dev/null +++ b/lib/auth0/types/resource_server_authorization_policy.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Authorization policy for the resource server. + class ResourceServerAuthorizationPolicy < Internal::Types::Model + field :policy_id, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/resource_server_consent_policy_enum.rb b/lib/auth0/types/resource_server_consent_policy_enum.rb new file mode 100644 index 000000000..4c4610b14 --- /dev/null +++ b/lib/auth0/types/resource_server_consent_policy_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ResourceServerConsentPolicyEnum + extend Auth0::Internal::Types::Enum + + TRANSACTIONAL_AUTHORIZATION_WITH_MFA = "transactional-authorization-with-mfa" + end + end +end diff --git a/lib/auth0/types/resource_server_proof_of_possession.rb b/lib/auth0/types/resource_server_proof_of_possession.rb new file mode 100644 index 000000000..339b27f02 --- /dev/null +++ b/lib/auth0/types/resource_server_proof_of_possession.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Proof-of-Possession configuration for access tokens + class ResourceServerProofOfPossession < Internal::Types::Model + field :mechanism, -> { Auth0::Types::ResourceServerProofOfPossessionMechanismEnum }, optional: false, nullable: false + + field :required, -> { Internal::Types::Boolean }, optional: false, nullable: false + + field :required_for, -> { Auth0::Types::ResourceServerProofOfPossessionRequiredForEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/resource_server_proof_of_possession_mechanism_enum.rb b/lib/auth0/types/resource_server_proof_of_possession_mechanism_enum.rb new file mode 100644 index 000000000..11f848f22 --- /dev/null +++ b/lib/auth0/types/resource_server_proof_of_possession_mechanism_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ResourceServerProofOfPossessionMechanismEnum + extend Auth0::Internal::Types::Enum + + MTLS = "mtls" + DPOP = "dpop" + end + end +end diff --git a/lib/auth0/types/resource_server_proof_of_possession_required_for_enum.rb b/lib/auth0/types/resource_server_proof_of_possession_required_for_enum.rb new file mode 100644 index 000000000..6ee9cc3ab --- /dev/null +++ b/lib/auth0/types/resource_server_proof_of_possession_required_for_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ResourceServerProofOfPossessionRequiredForEnum + extend Auth0::Internal::Types::Enum + + PUBLIC_CLIENTS = "public_clients" + ALL_CLIENTS = "all_clients" + end + end +end diff --git a/lib/auth0/types/resource_server_scope.rb b/lib/auth0/types/resource_server_scope.rb new file mode 100644 index 000000000..4f233bbd2 --- /dev/null +++ b/lib/auth0/types/resource_server_scope.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ResourceServerScope < Internal::Types::Model + field :value, -> { String }, optional: false, nullable: false + + field :description, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/resource_server_subject_type_authorization.rb b/lib/auth0/types/resource_server_subject_type_authorization.rb new file mode 100644 index 000000000..9d2210c36 --- /dev/null +++ b/lib/auth0/types/resource_server_subject_type_authorization.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Defines application access permission for a resource server + class ResourceServerSubjectTypeAuthorization < Internal::Types::Model + field :user, -> { Auth0::Types::ResourceServerSubjectTypeAuthorizationUser }, optional: true, nullable: false + + field :client, -> { Auth0::Types::ResourceServerSubjectTypeAuthorizationClient }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/resource_server_subject_type_authorization_client.rb b/lib/auth0/types/resource_server_subject_type_authorization_client.rb new file mode 100644 index 000000000..06218557c --- /dev/null +++ b/lib/auth0/types/resource_server_subject_type_authorization_client.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Access Permissions for client flows + class ResourceServerSubjectTypeAuthorizationClient < Internal::Types::Model + field :policy, -> { Auth0::Types::ResourceServerSubjectTypeAuthorizationClientPolicyEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/resource_server_subject_type_authorization_client_policy_enum.rb b/lib/auth0/types/resource_server_subject_type_authorization_client_policy_enum.rb new file mode 100644 index 000000000..749f9f94f --- /dev/null +++ b/lib/auth0/types/resource_server_subject_type_authorization_client_policy_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ResourceServerSubjectTypeAuthorizationClientPolicyEnum + extend Auth0::Internal::Types::Enum + + DENY_ALL = "deny_all" + REQUIRE_CLIENT_GRANT = "require_client_grant" + end + end +end diff --git a/lib/auth0/types/resource_server_subject_type_authorization_user.rb b/lib/auth0/types/resource_server_subject_type_authorization_user.rb new file mode 100644 index 000000000..2a8770ee6 --- /dev/null +++ b/lib/auth0/types/resource_server_subject_type_authorization_user.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Access Permissions for user flows + class ResourceServerSubjectTypeAuthorizationUser < Internal::Types::Model + field :policy, -> { Auth0::Types::ResourceServerSubjectTypeAuthorizationUserPolicyEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/resource_server_subject_type_authorization_user_policy_enum.rb b/lib/auth0/types/resource_server_subject_type_authorization_user_policy_enum.rb new file mode 100644 index 000000000..062aac1a5 --- /dev/null +++ b/lib/auth0/types/resource_server_subject_type_authorization_user_policy_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ResourceServerSubjectTypeAuthorizationUserPolicyEnum + extend Auth0::Internal::Types::Enum + + ALLOW_ALL = "allow_all" + DENY_ALL = "deny_all" + REQUIRE_CLIENT_GRANT = "require_client_grant" + end + end +end diff --git a/lib/auth0/types/resource_server_token_dialect_response_enum.rb b/lib/auth0/types/resource_server_token_dialect_response_enum.rb new file mode 100644 index 000000000..e9bc9c2f6 --- /dev/null +++ b/lib/auth0/types/resource_server_token_dialect_response_enum.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ResourceServerTokenDialectResponseEnum + extend Auth0::Internal::Types::Enum + + ACCESS_TOKEN = "access_token" + ACCESS_TOKEN_AUTHZ = "access_token_authz" + RFC9068PROFILE = "rfc9068_profile" + RFC9068PROFILE_AUTHZ = "rfc9068_profile_authz" + end + end +end diff --git a/lib/auth0/types/resource_server_token_dialect_schema_enum.rb b/lib/auth0/types/resource_server_token_dialect_schema_enum.rb new file mode 100644 index 000000000..b2eadfdc0 --- /dev/null +++ b/lib/auth0/types/resource_server_token_dialect_schema_enum.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ResourceServerTokenDialectSchemaEnum + extend Auth0::Internal::Types::Enum + + ACCESS_TOKEN = "access_token" + ACCESS_TOKEN_AUTHZ = "access_token_authz" + RFC9068PROFILE = "rfc9068_profile" + RFC9068PROFILE_AUTHZ = "rfc9068_profile_authz" + end + end +end diff --git a/lib/auth0/types/resource_server_token_encryption.rb b/lib/auth0/types/resource_server_token_encryption.rb new file mode 100644 index 000000000..79ad5c195 --- /dev/null +++ b/lib/auth0/types/resource_server_token_encryption.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ResourceServerTokenEncryption < Internal::Types::Model + field :format, -> { Auth0::Types::ResourceServerTokenEncryptionFormatEnum }, optional: false, nullable: false + + field :encryption_key, -> { Auth0::Types::ResourceServerTokenEncryptionKey }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/resource_server_token_encryption_algorithm_enum.rb b/lib/auth0/types/resource_server_token_encryption_algorithm_enum.rb new file mode 100644 index 000000000..d755cc981 --- /dev/null +++ b/lib/auth0/types/resource_server_token_encryption_algorithm_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ResourceServerTokenEncryptionAlgorithmEnum + extend Auth0::Internal::Types::Enum + + RSA_OAEP256 = "RSA-OAEP-256" + RSA_OAEP384 = "RSA-OAEP-384" + RSA_OAEP512 = "RSA-OAEP-512" + end + end +end diff --git a/lib/auth0/types/resource_server_token_encryption_format_enum.rb b/lib/auth0/types/resource_server_token_encryption_format_enum.rb new file mode 100644 index 000000000..e9c530e5a --- /dev/null +++ b/lib/auth0/types/resource_server_token_encryption_format_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ResourceServerTokenEncryptionFormatEnum + extend Auth0::Internal::Types::Enum + + COMPACT_NESTED_JWE = "compact-nested-jwe" + end + end +end diff --git a/lib/auth0/types/resource_server_token_encryption_key.rb b/lib/auth0/types/resource_server_token_encryption_key.rb new file mode 100644 index 000000000..f2fd994d4 --- /dev/null +++ b/lib/auth0/types/resource_server_token_encryption_key.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class ResourceServerTokenEncryptionKey < Internal::Types::Model + field :name, -> { String }, optional: true, nullable: false + + field :alg, -> { Auth0::Types::ResourceServerTokenEncryptionAlgorithmEnum }, optional: false, nullable: false + + field :kid, -> { String }, optional: true, nullable: false + + field :pem, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/resource_server_verification_key_pem_certificate.rb b/lib/auth0/types/resource_server_verification_key_pem_certificate.rb new file mode 100644 index 000000000..6d660c568 --- /dev/null +++ b/lib/auth0/types/resource_server_verification_key_pem_certificate.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ResourceServerVerificationKeyPemCertificate + # ResourceServerVerificationKeyPemCertificate is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/revoked_signing_keys_response_content.rb b/lib/auth0/types/revoked_signing_keys_response_content.rb new file mode 100644 index 000000000..8c7f3bd8b --- /dev/null +++ b/lib/auth0/types/revoked_signing_keys_response_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class RevokedSigningKeysResponseContent < Internal::Types::Model + field :cert, -> { String }, optional: false, nullable: false + + field :kid, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/role.rb b/lib/auth0/types/role.rb new file mode 100644 index 000000000..211162b3b --- /dev/null +++ b/lib/auth0/types/role.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class Role < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :description, -> { String }, optional: true, nullable: false + + field :type, -> { Auth0::Types::RoleTypeEnum }, optional: true, nullable: false + + field :owner_id, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/role_group.rb b/lib/auth0/types/role_group.rb new file mode 100644 index 000000000..b72f5cc47 --- /dev/null +++ b/lib/auth0/types/role_group.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # A group assigned to a role in the context of an organization. + class RoleGroup < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :external_id, -> { String }, optional: true, nullable: false + + field :connection_id, -> { String }, optional: true, nullable: false + + field :organization_id, -> { String }, optional: true, nullable: false + + field :tenant_name, -> { String }, optional: true, nullable: false + + field :description, -> { String }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :updated_at, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/role_member.rb b/lib/auth0/types/role_member.rb new file mode 100644 index 000000000..768ff4892 --- /dev/null +++ b/lib/auth0/types/role_member.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class RoleMember < Internal::Types::Model + field :user_id, -> { String }, optional: true, nullable: false + + field :picture, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :email, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/role_type_enum.rb b/lib/auth0/types/role_type_enum.rb new file mode 100644 index 000000000..688de69c0 --- /dev/null +++ b/lib/auth0/types/role_type_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module RoleTypeEnum + extend Auth0::Internal::Types::Enum + + TENANT = "tenant" + ORGANIZATION = "organization" + end + end +end diff --git a/lib/auth0/types/role_user.rb b/lib/auth0/types/role_user.rb new file mode 100644 index 000000000..ce16ab2b8 --- /dev/null +++ b/lib/auth0/types/role_user.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class RoleUser < Internal::Types::Model + field :user_id, -> { String }, optional: true, nullable: false + + field :picture, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :email, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/rollback_action_module_response_content.rb b/lib/auth0/types/rollback_action_module_response_content.rb new file mode 100644 index 000000000..94b426731 --- /dev/null +++ b/lib/auth0/types/rollback_action_module_response_content.rb @@ -0,0 +1,29 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class RollbackActionModuleResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :code, -> { String }, optional: true, nullable: false + + field :dependencies, -> { Internal::Types::Array[Auth0::Types::ActionModuleDependency] }, optional: true, nullable: false + + field :secrets, -> { Internal::Types::Array[Auth0::Types::ActionModuleSecret] }, optional: true, nullable: false + + field :actions_using_module_total, -> { Integer }, optional: true, nullable: false + + field :all_changes_published, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :latest_version_number, -> { Integer }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :updated_at, -> { String }, optional: true, nullable: false + + field :latest_version, -> { Auth0::Types::ActionModuleVersionReference }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/rotate_client_secret_response_content.rb b/lib/auth0/types/rotate_client_secret_response_content.rb new file mode 100644 index 000000000..b0f2e090c --- /dev/null +++ b/lib/auth0/types/rotate_client_secret_response_content.rb @@ -0,0 +1,135 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class RotateClientSecretResponseContent < Internal::Types::Model + field :client_id, -> { String }, optional: true, nullable: false + + field :tenant, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :description, -> { String }, optional: true, nullable: false + + field :global, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :client_secret, -> { String }, optional: true, nullable: false + + field :app_type, -> { Auth0::Types::ClientAppTypeEnum }, optional: true, nullable: false + + field :logo_uri, -> { String }, optional: true, nullable: false + + field :is_first_party, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :oidc_conformant, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :callbacks, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :allowed_origins, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :web_origins, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :client_aliases, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :allowed_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :allowed_logout_urls, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :session_transfer, -> { Auth0::Types::ClientSessionTransferConfiguration }, optional: true, nullable: false + + field :oidc_logout, -> { Auth0::Types::ClientOidcBackchannelLogoutSettings }, optional: true, nullable: false + + field :grant_types, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :jwt_configuration, -> { Auth0::Types::ClientJwtConfiguration }, optional: true, nullable: false + + field :signing_keys, -> { Internal::Types::Array[Auth0::Types::ClientSigningKey] }, optional: true, nullable: false + + field :encryption_key, -> { Auth0::Types::ClientEncryptionKey }, optional: true, nullable: false + + field :sso, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :sso_disabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :cross_origin_authentication, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :cross_origin_loc, -> { String }, optional: true, nullable: false + + field :custom_login_page_on, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :custom_login_page, -> { String }, optional: true, nullable: false + + field :custom_login_page_preview, -> { String }, optional: true, nullable: false + + field :form_template, -> { String }, optional: true, nullable: false + + field :addons, -> { Auth0::Types::ClientAddons }, optional: true, nullable: false + + field :token_endpoint_auth_method, -> { Auth0::Types::ClientTokenEndpointAuthMethodEnum }, optional: true, nullable: false + + field :is_token_endpoint_ip_header_trusted, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :client_metadata, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :mobile, -> { Auth0::Types::ClientMobile }, optional: true, nullable: false + + field :initiate_login_uri, -> { String }, optional: true, nullable: false + + field :native_social_login, -> { Auth0::Types::NativeSocialLogin }, optional: true, nullable: false + + field :fedcm_login, -> { Auth0::Types::FedCmLogin }, optional: true, nullable: false + + field :refresh_token, -> { Auth0::Types::ClientRefreshTokenConfiguration }, optional: true, nullable: false + + field :default_organization, -> { Auth0::Types::ClientDefaultOrganization }, optional: true, nullable: false + + field :organization_usage, -> { Auth0::Types::ClientOrganizationUsageEnum }, optional: true, nullable: false + + field :organization_require_behavior, -> { Auth0::Types::ClientOrganizationRequireBehaviorEnum }, optional: true, nullable: false + + field :organization_discovery_methods, -> { Internal::Types::Array[Auth0::Types::ClientOrganizationDiscoveryEnum] }, optional: true, nullable: false + + field :client_authentication_methods, -> { Auth0::Types::ClientAuthenticationMethod }, optional: true, nullable: false + + field :require_pushed_authorization_requests, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :require_proof_of_possession, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :signed_request_object, -> { Auth0::Types::ClientSignedRequestObjectWithCredentialID }, optional: true, nullable: false + + field :token_vault_privileged_access, -> { Auth0::Types::ClientTokenVaultPrivilegedAccessWithCredentialID }, optional: true, nullable: false + + field :compliance_level, -> { Auth0::Types::ClientComplianceLevelEnum }, optional: true, nullable: false + + field :skip_non_verifiable_callback_uri_confirmation_prompt, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :token_exchange, -> { Auth0::Types::ClientTokenExchangeConfiguration }, optional: true, nullable: false + + field :par_request_expiry, -> { Integer }, optional: true, nullable: false + + field :token_quota, -> { Auth0::Types::TokenQuota }, optional: true, nullable: false + + field :express_configuration, -> { Auth0::Types::ExpressConfiguration }, optional: true, nullable: false + + field :my_organization_configuration, -> { Auth0::Types::ClientMyOrganizationResponseConfiguration }, optional: true, nullable: false + + field :identity_assertion_authorization_grant, -> { Auth0::Types::IdentityAssertionAuthorizationGrant }, optional: true, nullable: false + + field :third_party_security_mode, -> { Auth0::Types::ClientThirdPartySecurityModeEnum }, optional: true, nullable: false + + field :redirection_policy, -> { Auth0::Types::ClientRedirectionPolicyEnum }, optional: true, nullable: false + + field :resource_server_identifier, -> { String }, optional: true, nullable: false + + field :async_approval_notification_channels, -> { Internal::Types::Array[Auth0::Types::AsyncApprovalNotificationsChannelsEnum] }, optional: true, nullable: false + + field :external_metadata_type, -> { Auth0::Types::ClientExternalMetadataTypeEnum }, optional: true, nullable: false + + field :external_metadata_created_by, -> { Auth0::Types::ClientExternalMetadataCreatedByEnum }, optional: true, nullable: false + + field :external_client_id, -> { String }, optional: true, nullable: false + + field :jwks_uri, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/rotate_connection_keys_request_content.rb b/lib/auth0/types/rotate_connection_keys_request_content.rb new file mode 100644 index 000000000..787198813 --- /dev/null +++ b/lib/auth0/types/rotate_connection_keys_request_content.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class RotateConnectionKeysRequestContent < Internal::Types::Model + field :signing_alg, -> { Auth0::Types::RotateConnectionKeysSigningAlgEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/rotate_connection_keys_signing_alg_enum.rb b/lib/auth0/types/rotate_connection_keys_signing_alg_enum.rb new file mode 100644 index 000000000..0c59e4c56 --- /dev/null +++ b/lib/auth0/types/rotate_connection_keys_signing_alg_enum.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module RotateConnectionKeysSigningAlgEnum + extend Auth0::Internal::Types::Enum + + RS256 = "RS256" + RS384 = "RS384" + RS512 = "RS512" + PS256 = "PS256" + PS384 = "PS384" + ES256 = "ES256" + ES384 = "ES384" + end + end +end diff --git a/lib/auth0/types/rotate_connections_keys_response_content.rb b/lib/auth0/types/rotate_connections_keys_response_content.rb new file mode 100644 index 000000000..e5f283a9a --- /dev/null +++ b/lib/auth0/types/rotate_connections_keys_response_content.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class RotateConnectionsKeysResponseContent < Internal::Types::Model + field :kid, -> { String }, optional: false, nullable: false + + field :cert, -> { String }, optional: false, nullable: false + + field :pkcs, -> { String }, optional: true, nullable: false + + field :next_, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "next" + + field :fingerprint, -> { String }, optional: false, nullable: false + + field :thumbprint, -> { String }, optional: false, nullable: false + + field :algorithm, -> { String }, optional: true, nullable: false + + field :key_use, -> { Auth0::Types::ConnectionKeyUseEnum }, optional: true, nullable: false + + field :subject_dn, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/rotate_signing_keys_response_content.rb b/lib/auth0/types/rotate_signing_keys_response_content.rb new file mode 100644 index 000000000..283d79162 --- /dev/null +++ b/lib/auth0/types/rotate_signing_keys_response_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class RotateSigningKeysResponseContent < Internal::Types::Model + field :cert, -> { String }, optional: false, nullable: false + + field :kid, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/rule.rb b/lib/auth0/types/rule.rb new file mode 100644 index 000000000..e7d56d63e --- /dev/null +++ b/lib/auth0/types/rule.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class Rule < Internal::Types::Model + field :name, -> { String }, optional: true, nullable: false + + field :id, -> { String }, optional: true, nullable: false + + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :script, -> { String }, optional: true, nullable: false + + field :order, -> { Integer }, optional: true, nullable: false + + field :stage, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/rules_config.rb b/lib/auth0/types/rules_config.rb new file mode 100644 index 000000000..fa594bee9 --- /dev/null +++ b/lib/auth0/types/rules_config.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class RulesConfig < Internal::Types::Model + field :key, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/scim_configuration.rb b/lib/auth0/types/scim_configuration.rb new file mode 100644 index 000000000..22eee2602 --- /dev/null +++ b/lib/auth0/types/scim_configuration.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class SCIMConfiguration < Internal::Types::Model + field :connection_id, -> { String }, optional: false, nullable: false + + field :connection_name, -> { String }, optional: false, nullable: false + + field :strategy, -> { String }, optional: false, nullable: false + + field :tenant_name, -> { String }, optional: false, nullable: false + + field :user_id_attribute, -> { String }, optional: false, nullable: false + + field :mapping, -> { Internal::Types::Array[Auth0::Types::SCIMMappingItem] }, optional: false, nullable: false + + field :created_at, -> { String }, optional: false, nullable: false + + field :updated_on, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/scim_mapping_item.rb b/lib/auth0/types/scim_mapping_item.rb new file mode 100644 index 000000000..60bae2dbc --- /dev/null +++ b/lib/auth0/types/scim_mapping_item.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class SCIMMappingItem < Internal::Types::Model + field :auth0, -> { String }, optional: true, nullable: false + + field :scim, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/scim_token_item.rb b/lib/auth0/types/scim_token_item.rb new file mode 100644 index 000000000..c50b9c647 --- /dev/null +++ b/lib/auth0/types/scim_token_item.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class SCIMTokenItem < Internal::Types::Model + field :token_id, -> { String }, optional: true, nullable: false + + field :scopes, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :valid_until, -> { String }, optional: true, nullable: false + + field :last_used_at, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/screen_group_name_enum.rb b/lib/auth0/types/screen_group_name_enum.rb new file mode 100644 index 000000000..cf57b4bff --- /dev/null +++ b/lib/auth0/types/screen_group_name_enum.rb @@ -0,0 +1,100 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module ScreenGroupNameEnum + extend Auth0::Internal::Types::Enum + + LOGIN = "login" + LOGIN_ID = "login-id" + LOGIN_PASSWORD = "login-password" + LOGIN_PASSWORDLESS_EMAIL_CODE = "login-passwordless-email-code" + LOGIN_PASSWORDLESS_EMAIL_LINK = "login-passwordless-email-link" + LOGIN_PASSWORDLESS_SMS_OTP = "login-passwordless-sms-otp" + LOGIN_EMAIL_VERIFICATION = "login-email-verification" + SIGNUP = "signup" + SIGNUP_ID = "signup-id" + SIGNUP_PASSWORD = "signup-password" + PHONE_IDENTIFIER_ENROLLMENT = "phone-identifier-enrollment" + PHONE_IDENTIFIER_CHALLENGE = "phone-identifier-challenge" + EMAIL_IDENTIFIER_CHALLENGE = "email-identifier-challenge" + RESET_PASSWORD_REQUEST = "reset-password-request" + RESET_PASSWORD_EMAIL = "reset-password-email" + RESET_PASSWORD = "reset-password" + RESET_PASSWORD_SUCCESS = "reset-password-success" + RESET_PASSWORD_ERROR = "reset-password-error" + RESET_PASSWORD_MFA_EMAIL_CHALLENGE = "reset-password-mfa-email-challenge" + RESET_PASSWORD_MFA_OTP_CHALLENGE = "reset-password-mfa-otp-challenge" + RESET_PASSWORD_MFA_PHONE_CHALLENGE = "reset-password-mfa-phone-challenge" + RESET_PASSWORD_MFA_PUSH_CHALLENGE_PUSH = "reset-password-mfa-push-challenge-push" + RESET_PASSWORD_MFA_RECOVERY_CODE_CHALLENGE = "reset-password-mfa-recovery-code-challenge" + RESET_PASSWORD_MFA_SMS_CHALLENGE = "reset-password-mfa-sms-challenge" + RESET_PASSWORD_MFA_VOICE_CHALLENGE = "reset-password-mfa-voice-challenge" + RESET_PASSWORD_MFA_WEBAUTHN_PLATFORM_CHALLENGE = "reset-password-mfa-webauthn-platform-challenge" + RESET_PASSWORD_MFA_WEBAUTHN_ROAMING_CHALLENGE = "reset-password-mfa-webauthn-roaming-challenge" + CUSTOM_FORM = "custom-form" + CONSENT = "consent" + CUSTOMIZED_CONSENT = "customized-consent" + LOGOUT = "logout" + LOGOUT_COMPLETE = "logout-complete" + LOGOUT_ABORTED = "logout-aborted" + MFA_PUSH_WELCOME = "mfa-push-welcome" + MFA_PUSH_ENROLLMENT_QR = "mfa-push-enrollment-qr" + MFA_PUSH_ENROLLMENT_CODE = "mfa-push-enrollment-code" + MFA_PUSH_SUCCESS = "mfa-push-success" + MFA_PUSH_CHALLENGE_PUSH = "mfa-push-challenge-push" + MFA_PUSH_LIST = "mfa-push-list" + MFA_OTP_ENROLLMENT_QR = "mfa-otp-enrollment-qr" + MFA_OTP_ENROLLMENT_CODE = "mfa-otp-enrollment-code" + MFA_OTP_CHALLENGE = "mfa-otp-challenge" + MFA_VOICE_ENROLLMENT = "mfa-voice-enrollment" + MFA_VOICE_CHALLENGE = "mfa-voice-challenge" + MFA_PHONE_CHALLENGE = "mfa-phone-challenge" + MFA_PHONE_ENROLLMENT = "mfa-phone-enrollment" + MFA_WEBAUTHN_PLATFORM_ENROLLMENT = "mfa-webauthn-platform-enrollment" + MFA_WEBAUTHN_ROAMING_ENROLLMENT = "mfa-webauthn-roaming-enrollment" + MFA_WEBAUTHN_PLATFORM_CHALLENGE = "mfa-webauthn-platform-challenge" + MFA_WEBAUTHN_ROAMING_CHALLENGE = "mfa-webauthn-roaming-challenge" + MFA_WEBAUTHN_CHANGE_KEY_NICKNAME = "mfa-webauthn-change-key-nickname" + MFA_WEBAUTHN_ENROLLMENT_SUCCESS = "mfa-webauthn-enrollment-success" + MFA_WEBAUTHN_ERROR = "mfa-webauthn-error" + MFA_WEBAUTHN_NOT_AVAILABLE_ERROR = "mfa-webauthn-not-available-error" + MFA_COUNTRY_CODES = "mfa-country-codes" + MFA_SMS_ENROLLMENT = "mfa-sms-enrollment" + MFA_SMS_CHALLENGE = "mfa-sms-challenge" + MFA_SMS_LIST = "mfa-sms-list" + MFA_EMAIL_CHALLENGE = "mfa-email-challenge" + MFA_EMAIL_LIST = "mfa-email-list" + MFA_RECOVERY_CODE_ENROLLMENT = "mfa-recovery-code-enrollment" + MFA_RECOVERY_CODE_CHALLENGE_NEW_CODE = "mfa-recovery-code-challenge-new-code" + MFA_RECOVERY_CODE_CHALLENGE = "mfa-recovery-code-challenge" + MFA_DETECT_BROWSER_CAPABILITIES = "mfa-detect-browser-capabilities" + MFA_ENROLL_RESULT = "mfa-enroll-result" + MFA_LOGIN_OPTIONS = "mfa-login-options" + MFA_BEGIN_ENROLL_OPTIONS = "mfa-begin-enroll-options" + STATUS = "status" + DEVICE_CODE_ACTIVATION = "device-code-activation" + DEVICE_CODE_ACTIVATION_ALLOWED = "device-code-activation-allowed" + DEVICE_CODE_ACTIVATION_DENIED = "device-code-activation-denied" + DEVICE_CODE_CONFIRMATION = "device-code-confirmation" + EMAIL_VERIFICATION_RESULT = "email-verification-result" + EMAIL_OTP_CHALLENGE = "email-otp-challenge" + ORGANIZATION_SELECTION = "organization-selection" + ORGANIZATION_PICKER = "organization-picker" + PRE_LOGIN_ORGANIZATION_PICKER = "pre-login-organization-picker" + ACCEPT_INVITATION = "accept-invitation" + REDEEM_TICKET = "redeem-ticket" + PASSKEY_ENROLLMENT = "passkey-enrollment" + PASSKEY_ENROLLMENT_LOCAL = "passkey-enrollment-local" + INTERSTITIAL_CAPTCHA = "interstitial-captcha" + BRUTE_FORCE_PROTECTION_UNBLOCK = "brute-force-protection-unblock" + BRUTE_FORCE_PROTECTION_UNBLOCK_SUCCESS = "brute-force-protection-unblock-success" + BRUTE_FORCE_PROTECTION_UNBLOCK_FAILURE = "brute-force-protection-unblock-failure" + ASYNC_APPROVAL_ERROR = "async-approval-error" + ASYNC_APPROVAL_ACCEPTED = "async-approval-accepted" + ASYNC_APPROVAL_DENIED = "async-approval-denied" + CONFIRMATION = "confirmation" + ASYNC_APPROVAL_WRONG_USER = "async-approval-wrong-user" + end + end +end diff --git a/lib/auth0/types/search_engine_versions_enum.rb b/lib/auth0/types/search_engine_versions_enum.rb new file mode 100644 index 000000000..cdaca11b3 --- /dev/null +++ b/lib/auth0/types/search_engine_versions_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module SearchEngineVersionsEnum + extend Auth0::Internal::Types::Enum + + V1 = "v1" + V2 = "v2" + V3 = "v3" + end + end +end diff --git a/lib/auth0/types/self_service_profile.rb b/lib/auth0/types/self_service_profile.rb new file mode 100644 index 000000000..08cfa6c0b --- /dev/null +++ b/lib/auth0/types/self_service_profile.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class SelfServiceProfile < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :description, -> { String }, optional: true, nullable: false + + field :user_attributes, -> { Internal::Types::Array[Auth0::Types::SelfServiceProfileUserAttribute] }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :updated_at, -> { String }, optional: true, nullable: false + + field :branding, -> { Auth0::Types::SelfServiceProfileBrandingProperties }, optional: true, nullable: false + + field :allowed_strategies, -> { Internal::Types::Array[Auth0::Types::SelfServiceProfileAllowedStrategyEnum] }, optional: true, nullable: false + + field :user_attribute_profile_id, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/self_service_profile_allowed_strategy_enum.rb b/lib/auth0/types/self_service_profile_allowed_strategy_enum.rb new file mode 100644 index 000000000..96836e1af --- /dev/null +++ b/lib/auth0/types/self_service_profile_allowed_strategy_enum.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module SelfServiceProfileAllowedStrategyEnum + extend Auth0::Internal::Types::Enum + + OIDC = "oidc" + SAMLP = "samlp" + WAAD = "waad" + GOOGLE_APPS = "google-apps" + ADFS = "adfs" + OKTA = "okta" + AUTH0SAMLP = "auth0-samlp" + OKTA_SAMLP = "okta-samlp" + KEYCLOAK_SAMLP = "keycloak-samlp" + PINGFEDERATE = "pingfederate" + end + end +end diff --git a/lib/auth0/types/self_service_profile_branding.rb b/lib/auth0/types/self_service_profile_branding.rb new file mode 100644 index 000000000..7ac56a244 --- /dev/null +++ b/lib/auth0/types/self_service_profile_branding.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module SelfServiceProfileBranding + # SelfServiceProfileBranding is an alias for Object + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/self_service_profile_branding_colors.rb b/lib/auth0/types/self_service_profile_branding_colors.rb new file mode 100644 index 000000000..e5a0c66d8 --- /dev/null +++ b/lib/auth0/types/self_service_profile_branding_colors.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class SelfServiceProfileBrandingColors < Internal::Types::Model + field :primary, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/self_service_profile_branding_properties.rb b/lib/auth0/types/self_service_profile_branding_properties.rb new file mode 100644 index 000000000..0d8f9ea94 --- /dev/null +++ b/lib/auth0/types/self_service_profile_branding_properties.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class SelfServiceProfileBrandingProperties < Internal::Types::Model + field :logo_url, -> { String }, optional: true, nullable: false + + field :colors, -> { Auth0::Types::SelfServiceProfileBrandingColors }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/self_service_profile_custom_text_language_enum.rb b/lib/auth0/types/self_service_profile_custom_text_language_enum.rb new file mode 100644 index 000000000..842f5ebb9 --- /dev/null +++ b/lib/auth0/types/self_service_profile_custom_text_language_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module SelfServiceProfileCustomTextLanguageEnum + extend Auth0::Internal::Types::Enum + + EN = "en" + end + end +end diff --git a/lib/auth0/types/self_service_profile_custom_text_page_enum.rb b/lib/auth0/types/self_service_profile_custom_text_page_enum.rb new file mode 100644 index 000000000..2577087b3 --- /dev/null +++ b/lib/auth0/types/self_service_profile_custom_text_page_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module SelfServiceProfileCustomTextPageEnum + extend Auth0::Internal::Types::Enum + + GET_STARTED = "get-started" + end + end +end diff --git a/lib/auth0/types/self_service_profile_description.rb b/lib/auth0/types/self_service_profile_description.rb new file mode 100644 index 000000000..1f5b4c564 --- /dev/null +++ b/lib/auth0/types/self_service_profile_description.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module SelfServiceProfileDescription + # SelfServiceProfileDescription is an alias for Object + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/self_service_profile_sso_ticket_connection_config.rb b/lib/auth0/types/self_service_profile_sso_ticket_connection_config.rb new file mode 100644 index 000000000..5e5f3ab58 --- /dev/null +++ b/lib/auth0/types/self_service_profile_sso_ticket_connection_config.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # If provided, this will create a new connection for the Self-Service Enterprise Configuration flow with the given + # configuration + class SelfServiceProfileSSOTicketConnectionConfig < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::SelfServiceProfileSSOTicketConnectionOptions }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/self_service_profile_sso_ticket_connection_options.rb b/lib/auth0/types/self_service_profile_sso_ticket_connection_options.rb new file mode 100644 index 000000000..0a11662ad --- /dev/null +++ b/lib/auth0/types/self_service_profile_sso_ticket_connection_options.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The connection's options (depend on the connection strategy) + class SelfServiceProfileSSOTicketConnectionOptions < Internal::Types::Model + field :icon_url, -> { String }, optional: true, nullable: false + + field :domain_aliases, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :idpinitiated, -> { Auth0::Types::SelfServiceProfileSSOTicketIdpInitiatedOptions }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/self_service_profile_sso_ticket_domain_aliases_config.rb b/lib/auth0/types/self_service_profile_sso_ticket_domain_aliases_config.rb new file mode 100644 index 000000000..abd450ef3 --- /dev/null +++ b/lib/auth0/types/self_service_profile_sso_ticket_domain_aliases_config.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configuration for the setup of the connection’s domain_aliases in the Self-Service Enterprise Configuration flow. + class SelfServiceProfileSSOTicketDomainAliasesConfig < Internal::Types::Model + field :domain_verification, -> { Auth0::Types::SelfServiceProfileSSOTicketDomainVerificationEnum }, optional: false, nullable: false + + field :pending_domains, -> { Internal::Types::Array[String] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/self_service_profile_sso_ticket_domain_verification_enum.rb b/lib/auth0/types/self_service_profile_sso_ticket_domain_verification_enum.rb new file mode 100644 index 000000000..28f2ae132 --- /dev/null +++ b/lib/auth0/types/self_service_profile_sso_ticket_domain_verification_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module SelfServiceProfileSSOTicketDomainVerificationEnum + extend Auth0::Internal::Types::Enum + + NONE = "none" + OPTIONAL = "optional" + REQUIRED = "required" + end + end +end diff --git a/lib/auth0/types/self_service_profile_sso_ticket_enabled_features.rb b/lib/auth0/types/self_service_profile_sso_ticket_enabled_features.rb new file mode 100644 index 000000000..ecef2cba3 --- /dev/null +++ b/lib/auth0/types/self_service_profile_sso_ticket_enabled_features.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Specifies which features are enabled for an "edit connection" ticket. Only applicable when connection ID is + # provided. + class SelfServiceProfileSSOTicketEnabledFeatures < Internal::Types::Model + field :sso, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :domain_verification, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :provisioning, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/self_service_profile_sso_ticket_enabled_organization.rb b/lib/auth0/types/self_service_profile_sso_ticket_enabled_organization.rb new file mode 100644 index 000000000..edc6124e5 --- /dev/null +++ b/lib/auth0/types/self_service_profile_sso_ticket_enabled_organization.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class SelfServiceProfileSSOTicketEnabledOrganization < Internal::Types::Model + field :organization_id, -> { String }, optional: false, nullable: false + + field :assign_membership_on_login, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/self_service_profile_sso_ticket_google_workspace_config.rb b/lib/auth0/types/self_service_profile_sso_ticket_google_workspace_config.rb new file mode 100644 index 000000000..ca07f267b --- /dev/null +++ b/lib/auth0/types/self_service_profile_sso_ticket_google_workspace_config.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configuration for Google Workspace Directory Sync during the self-service flow. + class SelfServiceProfileSSOTicketGoogleWorkspaceConfig < Internal::Types::Model + field :sync_users, -> { Internal::Types::Boolean }, optional: false, nullable: false + + field :sync_groups, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/self_service_profile_sso_ticket_idp_initiated_client_protocol_enum.rb b/lib/auth0/types/self_service_profile_sso_ticket_idp_initiated_client_protocol_enum.rb new file mode 100644 index 000000000..ce2f6ca89 --- /dev/null +++ b/lib/auth0/types/self_service_profile_sso_ticket_idp_initiated_client_protocol_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module SelfServiceProfileSSOTicketIdpInitiatedClientProtocolEnum + extend Auth0::Internal::Types::Enum + + SAMLP = "samlp" + WSFED = "wsfed" + OAUTH2 = "oauth2" + end + end +end diff --git a/lib/auth0/types/self_service_profile_sso_ticket_idp_initiated_options.rb b/lib/auth0/types/self_service_profile_sso_ticket_idp_initiated_options.rb new file mode 100644 index 000000000..3f7f798db --- /dev/null +++ b/lib/auth0/types/self_service_profile_sso_ticket_idp_initiated_options.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Allows IdP-initiated login + class SelfServiceProfileSSOTicketIdpInitiatedOptions < Internal::Types::Model + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :client_id, -> { String }, optional: true, nullable: false + + field :client_protocol, -> { Auth0::Types::SelfServiceProfileSSOTicketIdpInitiatedClientProtocolEnum }, optional: true, nullable: false + + field :client_authorizequery, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/self_service_profile_sso_ticket_provisioning_config.rb b/lib/auth0/types/self_service_profile_sso_ticket_provisioning_config.rb new file mode 100644 index 000000000..efa0b8311 --- /dev/null +++ b/lib/auth0/types/self_service_profile_sso_ticket_provisioning_config.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configuration for the setup of Provisioning in the self-service flow. + class SelfServiceProfileSSOTicketProvisioningConfig < Internal::Types::Model + field :scopes, -> { Internal::Types::Array[Auth0::Types::SelfServiceProfileSSOTicketProvisioningScopeEnum] }, optional: true, nullable: false + + field :google_workspace, -> { Auth0::Types::SelfServiceProfileSSOTicketGoogleWorkspaceConfig }, optional: true, nullable: false + + field :token_lifetime, -> { Integer }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/self_service_profile_sso_ticket_provisioning_scope_enum.rb b/lib/auth0/types/self_service_profile_sso_ticket_provisioning_scope_enum.rb new file mode 100644 index 000000000..3eb995820 --- /dev/null +++ b/lib/auth0/types/self_service_profile_sso_ticket_provisioning_scope_enum.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module SelfServiceProfileSSOTicketProvisioningScopeEnum + extend Auth0::Internal::Types::Enum + + GET_USERS = "get:users" + POST_USERS = "post:users" + PUT_USERS = "put:users" + PATCH_USERS = "patch:users" + DELETE_USERS = "delete:users" + GET_GROUPS = "get:groups" + POST_GROUPS = "post:groups" + PUT_GROUPS = "put:groups" + PATCH_GROUPS = "patch:groups" + DELETE_GROUPS = "delete:groups" + end + end +end diff --git a/lib/auth0/types/self_service_profile_user_attribute.rb b/lib/auth0/types/self_service_profile_user_attribute.rb new file mode 100644 index 000000000..9496c51ad --- /dev/null +++ b/lib/auth0/types/self_service_profile_user_attribute.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class SelfServiceProfileUserAttribute < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :description, -> { String }, optional: false, nullable: false + + field :is_optional, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/self_service_profile_user_attributes.rb b/lib/auth0/types/self_service_profile_user_attributes.rb new file mode 100644 index 000000000..f0d7832a9 --- /dev/null +++ b/lib/auth0/types/self_service_profile_user_attributes.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module SelfServiceProfileUserAttributes + # SelfServiceProfileUserAttributes is an alias for Object + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/session_actor_claim_value.rb b/lib/auth0/types/session_actor_claim_value.rb new file mode 100644 index 000000000..b58de6e51 --- /dev/null +++ b/lib/auth0/types/session_actor_claim_value.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Additional property for session actor, can be string, boolean, or number. + class SessionActorClaimValue < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { String } + + member -> { Internal::Types::Boolean } + + member -> { Integer } + end + end +end diff --git a/lib/auth0/types/session_actor_metadata.rb b/lib/auth0/types/session_actor_metadata.rb new file mode 100644 index 000000000..6c567a3d4 --- /dev/null +++ b/lib/auth0/types/session_actor_metadata.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The identity of the delegating party/session actor for delegated sessions. Present only on delegated sessions. + # Contains "sub" and up to 5 additional primitive claims. + class SessionActorMetadata < Internal::Types::Model + field :sub, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/session_authentication_signal.rb b/lib/auth0/types/session_authentication_signal.rb new file mode 100644 index 000000000..05f7a660b --- /dev/null +++ b/lib/auth0/types/session_authentication_signal.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Authentication signal details + class SessionAuthenticationSignal < Internal::Types::Model + field :name, -> { String }, optional: true, nullable: false + + field :timestamp, -> { Auth0::Types::SessionDate }, optional: true, nullable: false + + field :type, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/session_authentication_signals.rb b/lib/auth0/types/session_authentication_signals.rb new file mode 100644 index 000000000..83e9e0a7e --- /dev/null +++ b/lib/auth0/types/session_authentication_signals.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Details about authentication signals obtained during the login flow + class SessionAuthenticationSignals < Internal::Types::Model + field :methods, -> { Internal::Types::Array[Auth0::Types::SessionAuthenticationSignal] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/session_client_metadata.rb b/lib/auth0/types/session_client_metadata.rb new file mode 100644 index 000000000..d83c5ca0a --- /dev/null +++ b/lib/auth0/types/session_client_metadata.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Client details + class SessionClientMetadata < Internal::Types::Model + field :client_id, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/session_cookie_metadata.rb b/lib/auth0/types/session_cookie_metadata.rb new file mode 100644 index 000000000..d7dfcace2 --- /dev/null +++ b/lib/auth0/types/session_cookie_metadata.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # [Private Early Access] Session cookie configuration. + class SessionCookieMetadata < Internal::Types::Model + field :mode, -> { Auth0::Types::SessionCookieMetadataModeEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/session_cookie_metadata_mode_enum.rb b/lib/auth0/types/session_cookie_metadata_mode_enum.rb new file mode 100644 index 000000000..7121dd4bd --- /dev/null +++ b/lib/auth0/types/session_cookie_metadata_mode_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module SessionCookieMetadataModeEnum + extend Auth0::Internal::Types::Enum + + NON_PERSISTENT = "non-persistent" + PERSISTENT = "persistent" + end + end +end diff --git a/lib/auth0/types/session_cookie_mode_enum.rb b/lib/auth0/types/session_cookie_mode_enum.rb new file mode 100644 index 000000000..79d178513 --- /dev/null +++ b/lib/auth0/types/session_cookie_mode_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module SessionCookieModeEnum + extend Auth0::Internal::Types::Enum + + PERSISTENT = "persistent" + NON_PERSISTENT = "non-persistent" + end + end +end diff --git a/lib/auth0/types/session_cookie_schema.rb b/lib/auth0/types/session_cookie_schema.rb new file mode 100644 index 000000000..7998a930c --- /dev/null +++ b/lib/auth0/types/session_cookie_schema.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Session cookie configuration + class SessionCookieSchema < Internal::Types::Model + field :mode, -> { Auth0::Types::SessionCookieModeEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/session_date.rb b/lib/auth0/types/session_date.rb new file mode 100644 index 000000000..b65569acd --- /dev/null +++ b/lib/auth0/types/session_date.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class SessionDate < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { String } + + member -> { Internal::Types::Hash[String, Object] } + end + end +end diff --git a/lib/auth0/types/session_device_metadata.rb b/lib/auth0/types/session_device_metadata.rb new file mode 100644 index 000000000..7dc19395e --- /dev/null +++ b/lib/auth0/types/session_device_metadata.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Metadata related to the device used in the session + class SessionDeviceMetadata < Internal::Types::Model + field :initial_user_agent, -> { String }, optional: true, nullable: false + + field :initial_ip, -> { String }, optional: true, nullable: false + + field :initial_asn, -> { String }, optional: true, nullable: false + + field :last_user_agent, -> { String }, optional: true, nullable: false + + field :last_ip, -> { String }, optional: true, nullable: false + + field :last_asn, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/session_ip.rb b/lib/auth0/types/session_ip.rb new file mode 100644 index 000000000..5dd02e630 --- /dev/null +++ b/lib/auth0/types/session_ip.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module SessionIP + # SessionIP is an alias for Object + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/session_metadata.rb b/lib/auth0/types/session_metadata.rb new file mode 100644 index 000000000..cec074171 --- /dev/null +++ b/lib/auth0/types/session_metadata.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module SessionMetadata + # SessionMetadata is an alias for Object + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/session_response_content.rb b/lib/auth0/types/session_response_content.rb new file mode 100644 index 000000000..743ad7ef6 --- /dev/null +++ b/lib/auth0/types/session_response_content.rb @@ -0,0 +1,35 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class SessionResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :user_id, -> { String }, optional: true, nullable: false + + field :created_at, -> { Auth0::Types::SessionDate }, optional: true, nullable: false + + field :updated_at, -> { Auth0::Types::SessionDate }, optional: true, nullable: false + + field :authenticated_at, -> { Auth0::Types::SessionDate }, optional: true, nullable: false + + field :idle_expires_at, -> { Auth0::Types::SessionDate }, optional: true, nullable: false + + field :expires_at, -> { Auth0::Types::SessionDate }, optional: true, nullable: false + + field :last_interacted_at, -> { Auth0::Types::SessionDate }, optional: true, nullable: false + + field :device, -> { Auth0::Types::SessionDeviceMetadata }, optional: true, nullable: false + + field :clients, -> { Internal::Types::Array[Auth0::Types::SessionClientMetadata] }, optional: true, nullable: false + + field :authentication, -> { Auth0::Types::SessionAuthenticationSignals }, optional: true, nullable: false + + field :cookie, -> { Auth0::Types::SessionCookieMetadata }, optional: true, nullable: false + + field :session_metadata, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :actor, -> { Auth0::Types::SessionActorMetadata }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/set_custom_signing_keys_response_content.rb b/lib/auth0/types/set_custom_signing_keys_response_content.rb new file mode 100644 index 000000000..91e665c1f --- /dev/null +++ b/lib/auth0/types/set_custom_signing_keys_response_content.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # JWKS representing an array of custom public signing keys. + class SetCustomSigningKeysResponseContent < Internal::Types::Model + field :keys, -> { Internal::Types::Array[Auth0::Types::CustomSigningKeyJwk] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/set_email_template_response_content.rb b/lib/auth0/types/set_email_template_response_content.rb new file mode 100644 index 000000000..fc3dc23ee --- /dev/null +++ b/lib/auth0/types/set_email_template_response_content.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class SetEmailTemplateResponseContent < Internal::Types::Model + field :template, -> { Auth0::Types::EmailTemplateNameEnum }, optional: false, nullable: false + + field :body, -> { String }, optional: true, nullable: false + + field :from, -> { String }, optional: true, nullable: false + + field :result_url, -> { String }, optional: true, nullable: false, api_name: "resultUrl" + + field :subject, -> { String }, optional: true, nullable: false + + field :syntax, -> { String }, optional: true, nullable: false + + field :url_lifetime_in_seconds, -> { Integer }, optional: true, nullable: false, api_name: "urlLifetimeInSeconds" + + field :include_email_in_redirect, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "includeEmailInRedirect" + + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/set_guardian_factor_duo_settings_response_content.rb b/lib/auth0/types/set_guardian_factor_duo_settings_response_content.rb new file mode 100644 index 000000000..d3c409f7f --- /dev/null +++ b/lib/auth0/types/set_guardian_factor_duo_settings_response_content.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class SetGuardianFactorDuoSettingsResponseContent < Internal::Types::Model + field :ikey, -> { String }, optional: true, nullable: false + + field :skey, -> { String }, optional: true, nullable: false + + field :host, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/set_guardian_factor_phone_message_types_response_content.rb b/lib/auth0/types/set_guardian_factor_phone_message_types_response_content.rb new file mode 100644 index 000000000..7d0808783 --- /dev/null +++ b/lib/auth0/types/set_guardian_factor_phone_message_types_response_content.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class SetGuardianFactorPhoneMessageTypesResponseContent < Internal::Types::Model + field :message_types, -> { Internal::Types::Array[Auth0::Types::GuardianFactorPhoneFactorMessageTypeEnum] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/set_guardian_factor_phone_templates_response_content.rb b/lib/auth0/types/set_guardian_factor_phone_templates_response_content.rb new file mode 100644 index 000000000..63187b4c1 --- /dev/null +++ b/lib/auth0/types/set_guardian_factor_phone_templates_response_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class SetGuardianFactorPhoneTemplatesResponseContent < Internal::Types::Model + field :enrollment_message, -> { String }, optional: false, nullable: false + + field :verification_message, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/set_guardian_factor_response_content.rb b/lib/auth0/types/set_guardian_factor_response_content.rb new file mode 100644 index 000000000..895532f19 --- /dev/null +++ b/lib/auth0/types/set_guardian_factor_response_content.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class SetGuardianFactorResponseContent < Internal::Types::Model + field :enabled, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/set_guardian_factor_sms_templates_response_content.rb b/lib/auth0/types/set_guardian_factor_sms_templates_response_content.rb new file mode 100644 index 000000000..4bfaff7a3 --- /dev/null +++ b/lib/auth0/types/set_guardian_factor_sms_templates_response_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class SetGuardianFactorSmsTemplatesResponseContent < Internal::Types::Model + field :enrollment_message, -> { String }, optional: false, nullable: false + + field :verification_message, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/set_guardian_factors_provider_phone_response_content.rb b/lib/auth0/types/set_guardian_factors_provider_phone_response_content.rb new file mode 100644 index 000000000..db155ed24 --- /dev/null +++ b/lib/auth0/types/set_guardian_factors_provider_phone_response_content.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class SetGuardianFactorsProviderPhoneResponseContent < Internal::Types::Model + field :provider, -> { Auth0::Types::GuardianFactorsProviderSmsProviderEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/set_guardian_factors_provider_phone_twilio_response_content.rb b/lib/auth0/types/set_guardian_factors_provider_phone_twilio_response_content.rb new file mode 100644 index 000000000..bca08f806 --- /dev/null +++ b/lib/auth0/types/set_guardian_factors_provider_phone_twilio_response_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class SetGuardianFactorsProviderPhoneTwilioResponseContent < Internal::Types::Model + field :from, -> { String }, optional: true, nullable: false + + field :messaging_service_sid, -> { String }, optional: true, nullable: false + + field :auth_token, -> { String }, optional: true, nullable: false + + field :sid, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/set_guardian_factors_provider_push_notification_apns_response_content.rb b/lib/auth0/types/set_guardian_factors_provider_push_notification_apns_response_content.rb new file mode 100644 index 000000000..d74b1037a --- /dev/null +++ b/lib/auth0/types/set_guardian_factors_provider_push_notification_apns_response_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class SetGuardianFactorsProviderPushNotificationApnsResponseContent < Internal::Types::Model + field :sandbox, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :bundle_id, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/set_guardian_factors_provider_push_notification_fcm_response_content.rb b/lib/auth0/types/set_guardian_factors_provider_push_notification_fcm_response_content.rb new file mode 100644 index 000000000..3dee24917 --- /dev/null +++ b/lib/auth0/types/set_guardian_factors_provider_push_notification_fcm_response_content.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module SetGuardianFactorsProviderPushNotificationFcmResponseContent + # SetGuardianFactorsProviderPushNotificationFcmResponseContent is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/set_guardian_factors_provider_push_notification_fcmv1response_content.rb b/lib/auth0/types/set_guardian_factors_provider_push_notification_fcmv1response_content.rb new file mode 100644 index 000000000..723165ac0 --- /dev/null +++ b/lib/auth0/types/set_guardian_factors_provider_push_notification_fcmv1response_content.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module SetGuardianFactorsProviderPushNotificationFcmv1ResponseContent + # SetGuardianFactorsProviderPushNotificationFcmv1ResponseContent is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/set_guardian_factors_provider_push_notification_response_content.rb b/lib/auth0/types/set_guardian_factors_provider_push_notification_response_content.rb new file mode 100644 index 000000000..076ef8ce0 --- /dev/null +++ b/lib/auth0/types/set_guardian_factors_provider_push_notification_response_content.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class SetGuardianFactorsProviderPushNotificationResponseContent < Internal::Types::Model + field :provider, -> { Auth0::Types::GuardianFactorsProviderPushNotificationProviderDataEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/set_guardian_factors_provider_push_notification_sns_response_content.rb b/lib/auth0/types/set_guardian_factors_provider_push_notification_sns_response_content.rb new file mode 100644 index 000000000..e616076df --- /dev/null +++ b/lib/auth0/types/set_guardian_factors_provider_push_notification_sns_response_content.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class SetGuardianFactorsProviderPushNotificationSnsResponseContent < Internal::Types::Model + field :aws_access_key_id, -> { String }, optional: true, nullable: false + + field :aws_secret_access_key, -> { String }, optional: true, nullable: false + + field :aws_region, -> { String }, optional: true, nullable: false + + field :sns_apns_platform_application_arn, -> { String }, optional: true, nullable: false + + field :sns_gcm_platform_application_arn, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/set_guardian_factors_provider_sms_response_content.rb b/lib/auth0/types/set_guardian_factors_provider_sms_response_content.rb new file mode 100644 index 000000000..9fcb73b8c --- /dev/null +++ b/lib/auth0/types/set_guardian_factors_provider_sms_response_content.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class SetGuardianFactorsProviderSmsResponseContent < Internal::Types::Model + field :provider, -> { Auth0::Types::GuardianFactorsProviderSmsProviderEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/set_guardian_factors_provider_sms_twilio_response_content.rb b/lib/auth0/types/set_guardian_factors_provider_sms_twilio_response_content.rb new file mode 100644 index 000000000..60409198d --- /dev/null +++ b/lib/auth0/types/set_guardian_factors_provider_sms_twilio_response_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class SetGuardianFactorsProviderSmsTwilioResponseContent < Internal::Types::Model + field :from, -> { String }, optional: true, nullable: false + + field :messaging_service_sid, -> { String }, optional: true, nullable: false + + field :auth_token, -> { String }, optional: true, nullable: false + + field :sid, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/set_guardian_policies_request_content.rb b/lib/auth0/types/set_guardian_policies_request_content.rb new file mode 100644 index 000000000..68902cde1 --- /dev/null +++ b/lib/auth0/types/set_guardian_policies_request_content.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module SetGuardianPoliciesRequestContent + # SetGuardianPoliciesRequestContent is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/set_guardian_policies_response_content.rb b/lib/auth0/types/set_guardian_policies_response_content.rb new file mode 100644 index 000000000..dac44b7e4 --- /dev/null +++ b/lib/auth0/types/set_guardian_policies_response_content.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module SetGuardianPoliciesResponseContent + # SetGuardianPoliciesResponseContent is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/set_network_acls_response_content.rb b/lib/auth0/types/set_network_acls_response_content.rb new file mode 100644 index 000000000..9f141ef7b --- /dev/null +++ b/lib/auth0/types/set_network_acls_response_content.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class SetNetworkACLsResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :description, -> { String }, optional: true, nullable: false + + field :active, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :priority, -> { Integer }, optional: true, nullable: false + + field :rule, -> { Auth0::Types::NetworkACLRule }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :updated_at, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/set_partials_request_content.rb b/lib/auth0/types/set_partials_request_content.rb new file mode 100644 index 000000000..31f5d62d8 --- /dev/null +++ b/lib/auth0/types/set_partials_request_content.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module SetPartialsRequestContent + # SetPartialsRequestContent is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/set_rules_config_response_content.rb b/lib/auth0/types/set_rules_config_response_content.rb new file mode 100644 index 000000000..b8aaaf426 --- /dev/null +++ b/lib/auth0/types/set_rules_config_response_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class SetRulesConfigResponseContent < Internal::Types::Model + field :key, -> { String }, optional: false, nullable: false + + field :value, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/set_self_service_profile_custom_text_request_content.rb b/lib/auth0/types/set_self_service_profile_custom_text_request_content.rb new file mode 100644 index 000000000..d3c4d3d44 --- /dev/null +++ b/lib/auth0/types/set_self_service_profile_custom_text_request_content.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module SetSelfServiceProfileCustomTextRequestContent + # SetSelfServiceProfileCustomTextRequestContent is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/set_self_service_profile_custom_text_response_content.rb b/lib/auth0/types/set_self_service_profile_custom_text_response_content.rb new file mode 100644 index 000000000..6825ace22 --- /dev/null +++ b/lib/auth0/types/set_self_service_profile_custom_text_response_content.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module SetSelfServiceProfileCustomTextResponseContent + # SetSelfServiceProfileCustomTextResponseContent is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/set_user_authentication_method_response_content.rb b/lib/auth0/types/set_user_authentication_method_response_content.rb new file mode 100644 index 000000000..0fa9701f0 --- /dev/null +++ b/lib/auth0/types/set_user_authentication_method_response_content.rb @@ -0,0 +1,34 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The successfully created authentication method. + class SetUserAuthenticationMethodResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :type, -> { Auth0::Types::CreatedAuthenticationMethodTypeEnum }, optional: false, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :totp_secret, -> { String }, optional: true, nullable: false + + field :phone_number, -> { String }, optional: true, nullable: false + + field :email, -> { String }, optional: true, nullable: false + + field :authentication_methods, -> { Internal::Types::Array[Auth0::Types::UserAuthenticationMethodProperties] }, optional: true, nullable: false + + field :preferred_authentication_method, -> { Auth0::Types::PreferredAuthenticationMethodEnum }, optional: true, nullable: false + + field :key_id, -> { String }, optional: true, nullable: false + + field :public_key, -> { String }, optional: true, nullable: false + + field :aaguid, -> { String }, optional: true, nullable: false + + field :relying_party_identifier, -> { String }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/set_user_authentication_methods.rb b/lib/auth0/types/set_user_authentication_methods.rb new file mode 100644 index 000000000..d431cd0e5 --- /dev/null +++ b/lib/auth0/types/set_user_authentication_methods.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class SetUserAuthenticationMethods < Internal::Types::Model + field :type, -> { Auth0::Types::AuthenticationTypeEnum }, optional: false, nullable: false + + field :preferred_authentication_method, -> { Auth0::Types::PreferredAuthenticationMethodEnum }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :phone_number, -> { String }, optional: true, nullable: false + + field :email, -> { String }, optional: true, nullable: false + + field :totp_secret, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/set_user_authentication_methods_request_content.rb b/lib/auth0/types/set_user_authentication_methods_request_content.rb new file mode 100644 index 000000000..a437d80ea --- /dev/null +++ b/lib/auth0/types/set_user_authentication_methods_request_content.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module SetUserAuthenticationMethodsRequestContent + # SetUserAuthenticationMethodsRequestContent is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/sets_custom_texts_by_language_request_content.rb b/lib/auth0/types/sets_custom_texts_by_language_request_content.rb new file mode 100644 index 000000000..2f1a22d98 --- /dev/null +++ b/lib/auth0/types/sets_custom_texts_by_language_request_content.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module SetsCustomTextsByLanguageRequestContent + # SetsCustomTextsByLanguageRequestContent is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/signing_algorithm_enum.rb b/lib/auth0/types/signing_algorithm_enum.rb new file mode 100644 index 000000000..4cc881eca --- /dev/null +++ b/lib/auth0/types/signing_algorithm_enum.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module SigningAlgorithmEnum + extend Auth0::Internal::Types::Enum + + HS256 = "HS256" + RS256 = "RS256" + RS512 = "RS512" + PS256 = "PS256" + end + end +end diff --git a/lib/auth0/types/signing_keys.rb b/lib/auth0/types/signing_keys.rb new file mode 100644 index 000000000..2c6010ae3 --- /dev/null +++ b/lib/auth0/types/signing_keys.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class SigningKeys < Internal::Types::Model + field :kid, -> { String }, optional: false, nullable: false + + field :cert, -> { String }, optional: false, nullable: false + + field :pkcs7, -> { String }, optional: true, nullable: false + + field :current, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :next_, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "next" + + field :previous, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :current_since, -> { Auth0::Types::SigningKeysDate }, optional: true, nullable: false + + field :current_until, -> { Auth0::Types::SigningKeysDate }, optional: true, nullable: false + + field :fingerprint, -> { String }, optional: false, nullable: false + + field :thumbprint, -> { String }, optional: false, nullable: false + + field :revoked, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :revoked_at, -> { Auth0::Types::SigningKeysDate }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/signing_keys_date.rb b/lib/auth0/types/signing_keys_date.rb new file mode 100644 index 000000000..32acbfa69 --- /dev/null +++ b/lib/auth0/types/signing_keys_date.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class SigningKeysDate < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { String } + + member -> { Internal::Types::Hash[String, Object] } + end + end +end diff --git a/lib/auth0/types/signup_schema.rb b/lib/auth0/types/signup_schema.rb new file mode 100644 index 000000000..a3cd27dfe --- /dev/null +++ b/lib/auth0/types/signup_schema.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class SignupSchema < Internal::Types::Model + field :status, -> { Auth0::Types::SignupStatusEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/signup_status_enum.rb b/lib/auth0/types/signup_status_enum.rb new file mode 100644 index 000000000..7aa784e20 --- /dev/null +++ b/lib/auth0/types/signup_status_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module SignupStatusEnum + extend Auth0::Internal::Types::Enum + + REQUIRED = "required" + OPTIONAL = "optional" + INACTIVE = "inactive" + end + end +end diff --git a/lib/auth0/types/signup_verification.rb b/lib/auth0/types/signup_verification.rb new file mode 100644 index 000000000..1de5ebb89 --- /dev/null +++ b/lib/auth0/types/signup_verification.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class SignupVerification < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/signup_verified.rb b/lib/auth0/types/signup_verified.rb new file mode 100644 index 000000000..032b5a7be --- /dev/null +++ b/lib/auth0/types/signup_verified.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class SignupVerified < Internal::Types::Model + field :status, -> { Auth0::Types::SignupStatusEnum }, optional: true, nullable: false + + field :verification, -> { Auth0::Types::SignupVerification }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/supported_locales.rb b/lib/auth0/types/supported_locales.rb new file mode 100644 index 000000000..bdedc5229 --- /dev/null +++ b/lib/auth0/types/supported_locales.rb @@ -0,0 +1,92 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module SupportedLocales + extend Auth0::Internal::Types::Enum + + AM = "am" + AR = "ar" + AR_EG = "ar-EG" + AR_SA = "ar-SA" + AZ = "az" + BG = "bg" + BN = "bn" + BS = "bs" + CA_ES = "ca-ES" + CNR = "cnr" + CS = "cs" + CY = "cy" + DA = "da" + DE = "de" + EL = "el" + EN = "en" + EN_CA = "en-CA" + ES = "es" + ES419 = "es-419" + ES_AR = "es-AR" + ES_MX = "es-MX" + ET = "et" + EU_ES = "eu-ES" + FA = "fa" + FI = "fi" + FR = "fr" + FR_CA = "fr-CA" + FR_FR = "fr-FR" + GL_ES = "gl-ES" + GU = "gu" + HE = "he" + HI = "hi" + HR = "hr" + HU = "hu" + HY = "hy" + ID = "id" + IS = "is" + IT = "it" + JA = "ja" + KA = "ka" + KK = "kk" + KN = "kn" + KO = "ko" + LT = "lt" + LV = "lv" + MK = "mk" + ML = "ml" + MN = "mn" + MR = "mr" + MS = "ms" + MY = "my" + NB = "nb" + NL = "nl" + NN = "nn" + NO = "no" + PA = "pa" + PL = "pl" + PT = "pt" + PT_BR = "pt-BR" + PT_PT = "pt-PT" + RO = "ro" + RU = "ru" + SK = "sk" + SL = "sl" + SO = "so" + SQ = "sq" + SR = "sr" + SV = "sv" + SW = "sw" + TA = "ta" + TE = "te" + TH = "th" + TL = "tl" + TR = "tr" + UK = "uk" + UR = "ur" + VI = "vi" + ZGH = "zgh" + ZH_CN = "zh-CN" + ZH_HK = "zh-HK" + ZH_MO = "zh-MO" + ZH_TW = "zh-TW" + end + end +end diff --git a/lib/auth0/types/suspicious_ip_throttling_allowlist.rb b/lib/auth0/types/suspicious_ip_throttling_allowlist.rb new file mode 100644 index 000000000..a6e0bb7e6 --- /dev/null +++ b/lib/auth0/types/suspicious_ip_throttling_allowlist.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module SuspiciousIPThrottlingAllowlist + # SuspiciousIPThrottlingAllowlist is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/suspicious_ip_throttling_allowlist_item.rb b/lib/auth0/types/suspicious_ip_throttling_allowlist_item.rb new file mode 100644 index 000000000..e8fb3c81a --- /dev/null +++ b/lib/auth0/types/suspicious_ip_throttling_allowlist_item.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module SuspiciousIPThrottlingAllowlistItem + # SuspiciousIPThrottlingAllowlistItem is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/suspicious_ip_throttling_pre_custom_token_exchange_stage.rb b/lib/auth0/types/suspicious_ip_throttling_pre_custom_token_exchange_stage.rb new file mode 100644 index 000000000..2d70c7f04 --- /dev/null +++ b/lib/auth0/types/suspicious_ip_throttling_pre_custom_token_exchange_stage.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configuration options that apply before every custom token exchange attempt. + class SuspiciousIPThrottlingPreCustomTokenExchangeStage < Internal::Types::Model + field :max_attempts, -> { Integer }, optional: true, nullable: false + + field :rate, -> { Integer }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/suspicious_ip_throttling_pre_login_stage.rb b/lib/auth0/types/suspicious_ip_throttling_pre_login_stage.rb new file mode 100644 index 000000000..502a943d9 --- /dev/null +++ b/lib/auth0/types/suspicious_ip_throttling_pre_login_stage.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configuration options that apply before every login attempt. + class SuspiciousIPThrottlingPreLoginStage < Internal::Types::Model + field :max_attempts, -> { Integer }, optional: true, nullable: false + + field :rate, -> { Integer }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/suspicious_ip_throttling_pre_user_registration_stage.rb b/lib/auth0/types/suspicious_ip_throttling_pre_user_registration_stage.rb new file mode 100644 index 000000000..44a98b383 --- /dev/null +++ b/lib/auth0/types/suspicious_ip_throttling_pre_user_registration_stage.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configuration options that apply before every user registration attempt. + class SuspiciousIPThrottlingPreUserRegistrationStage < Internal::Types::Model + field :max_attempts, -> { Integer }, optional: true, nullable: false + + field :rate, -> { Integer }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/suspicious_ip_throttling_shields_enum.rb b/lib/auth0/types/suspicious_ip_throttling_shields_enum.rb new file mode 100644 index 000000000..aedb21dab --- /dev/null +++ b/lib/auth0/types/suspicious_ip_throttling_shields_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module SuspiciousIPThrottlingShieldsEnum + extend Auth0::Internal::Types::Enum + + BLOCK = "block" + ADMIN_NOTIFICATION = "admin_notification" + end + end +end diff --git a/lib/auth0/types/suspicious_ip_throttling_stage.rb b/lib/auth0/types/suspicious_ip_throttling_stage.rb new file mode 100644 index 000000000..7622d42d3 --- /dev/null +++ b/lib/auth0/types/suspicious_ip_throttling_stage.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Holds per-stage configuration options (max_attempts and rate). + class SuspiciousIPThrottlingStage < Internal::Types::Model + field :pre_login, -> { Auth0::Types::SuspiciousIPThrottlingPreLoginStage }, optional: true, nullable: false, api_name: "pre-login" + + field :pre_user_registration, -> { Auth0::Types::SuspiciousIPThrottlingPreUserRegistrationStage }, optional: true, nullable: false, api_name: "pre-user-registration" + + field :pre_custom_token_exchange, -> { Auth0::Types::SuspiciousIPThrottlingPreCustomTokenExchangeStage }, optional: true, nullable: false, api_name: "pre-custom-token-exchange" + end + end +end diff --git a/lib/auth0/types/synchronize_groups_enum.rb b/lib/auth0/types/synchronize_groups_enum.rb new file mode 100644 index 000000000..235c4b7c9 --- /dev/null +++ b/lib/auth0/types/synchronize_groups_enum.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module SynchronizeGroupsEnum + extend Auth0::Internal::Types::Enum + + ALL = "all" + OFF = "off" + SELECTED = "selected" + end + end +end diff --git a/lib/auth0/types/synchronized_group_payload.rb b/lib/auth0/types/synchronized_group_payload.rb new file mode 100644 index 000000000..44d491733 --- /dev/null +++ b/lib/auth0/types/synchronized_group_payload.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class SynchronizedGroupPayload < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :email, -> { String }, optional: true, nullable: false + + field :direct_members_count, -> { Integer }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/synchronized_group_selection_id.rb b/lib/auth0/types/synchronized_group_selection_id.rb new file mode 100644 index 000000000..1c57f4f60 --- /dev/null +++ b/lib/auth0/types/synchronized_group_selection_id.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class SynchronizedGroupSelectionID < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/tenant_oidc_logout_settings.rb b/lib/auth0/types/tenant_oidc_logout_settings.rb new file mode 100644 index 000000000..56e585de1 --- /dev/null +++ b/lib/auth0/types/tenant_oidc_logout_settings.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Settings related to OIDC RP-initiated Logout + class TenantOidcLogoutSettings < Internal::Types::Model + field :rp_logout_end_session_endpoint_discovery, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/tenant_settings_country_codes.rb b/lib/auth0/types/tenant_settings_country_codes.rb new file mode 100644 index 000000000..b73410b5b --- /dev/null +++ b/lib/auth0/types/tenant_settings_country_codes.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Phone country code configuration for identifier input. + class TenantSettingsCountryCodes < Internal::Types::Model + field :list, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :mode, -> { Auth0::Types::TenantSettingsCountryCodesMode }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/tenant_settings_country_codes_mode.rb b/lib/auth0/types/tenant_settings_country_codes_mode.rb new file mode 100644 index 000000000..2f68c1431 --- /dev/null +++ b/lib/auth0/types/tenant_settings_country_codes_mode.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module TenantSettingsCountryCodesMode + extend Auth0::Internal::Types::Enum + + ALLOW = "allow" + DENY = "deny" + end + end +end diff --git a/lib/auth0/types/tenant_settings_country_codes_mode_response.rb b/lib/auth0/types/tenant_settings_country_codes_mode_response.rb new file mode 100644 index 000000000..4e2f792af --- /dev/null +++ b/lib/auth0/types/tenant_settings_country_codes_mode_response.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module TenantSettingsCountryCodesModeResponse + extend Auth0::Internal::Types::Enum + + ALLOW = "allow" + DENY = "deny" + end + end +end diff --git a/lib/auth0/types/tenant_settings_country_codes_response.rb b/lib/auth0/types/tenant_settings_country_codes_response.rb new file mode 100644 index 000000000..9c993572c --- /dev/null +++ b/lib/auth0/types/tenant_settings_country_codes_response.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Phone country code configuration for identifier input. + class TenantSettingsCountryCodesResponse < Internal::Types::Model + field :list, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :mode, -> { Auth0::Types::TenantSettingsCountryCodesModeResponse }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/tenant_settings_device_flow.rb b/lib/auth0/types/tenant_settings_device_flow.rb new file mode 100644 index 000000000..d94a83169 --- /dev/null +++ b/lib/auth0/types/tenant_settings_device_flow.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Device Flow configuration + class TenantSettingsDeviceFlow < Internal::Types::Model + field :charset, -> { Auth0::Types::TenantSettingsDeviceFlowCharset }, optional: true, nullable: false + + field :mask, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/tenant_settings_device_flow_charset.rb b/lib/auth0/types/tenant_settings_device_flow_charset.rb new file mode 100644 index 000000000..49759b4b2 --- /dev/null +++ b/lib/auth0/types/tenant_settings_device_flow_charset.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module TenantSettingsDeviceFlowCharset + extend Auth0::Internal::Types::Enum + + BASE20 = "base20" + DIGITS = "digits" + end + end +end diff --git a/lib/auth0/types/tenant_settings_dynamic_client_registration_security_mode.rb b/lib/auth0/types/tenant_settings_dynamic_client_registration_security_mode.rb new file mode 100644 index 000000000..fa2ffaac0 --- /dev/null +++ b/lib/auth0/types/tenant_settings_dynamic_client_registration_security_mode.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module TenantSettingsDynamicClientRegistrationSecurityMode + extend Auth0::Internal::Types::Enum + + STRICT = "strict" + PERMISSIVE = "permissive" + end + end +end diff --git a/lib/auth0/types/tenant_settings_error_page.rb b/lib/auth0/types/tenant_settings_error_page.rb new file mode 100644 index 000000000..f03edbddd --- /dev/null +++ b/lib/auth0/types/tenant_settings_error_page.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Error page customization. + class TenantSettingsErrorPage < Internal::Types::Model + field :html, -> { String }, optional: true, nullable: false + + field :show_log_link, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :url, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/tenant_settings_flags.rb b/lib/auth0/types/tenant_settings_flags.rb new file mode 100644 index 000000000..b70a0cc47 --- /dev/null +++ b/lib/auth0/types/tenant_settings_flags.rb @@ -0,0 +1,66 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Flags used to change the behavior of this tenant. + class TenantSettingsFlags < Internal::Types::Model + field :change_pwd_flow_v1, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :enable_apis_section, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :disable_impersonation, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :enable_client_connections, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :enable_pipeline2, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :allow_legacy_delegation_grant_types, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :allow_legacy_ro_grant_types, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :allow_legacy_tokeninfo_endpoint, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :enable_legacy_profile, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :enable_idtoken_api2, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :enable_public_signup_user_exists_error, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :enable_sso, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :allow_changing_enable_sso, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :disable_clickjack_protection_headers, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :no_disclose_enterprise_connections, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :enforce_client_authentication_on_passwordless_start, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :enable_adfs_waad_email_verification, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :revoke_refresh_token_grant, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :dashboard_log_streams_next, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :dashboard_insights_view, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :disable_fields_map_fix, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mfa_show_factor_list_on_enrollment, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :remove_alg_from_jwks, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :improved_signup_bot_detection_in_classic, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :genai_trial, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :enable_dynamic_client_registration, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :disable_management_api_sms_obfuscation, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :trust_azure_adfs_email_verified_connection_property, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :custom_domains_provisioning, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/tenant_settings_guardian_page.rb b/lib/auth0/types/tenant_settings_guardian_page.rb new file mode 100644 index 000000000..815939500 --- /dev/null +++ b/lib/auth0/types/tenant_settings_guardian_page.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Guardian page customization. + class TenantSettingsGuardianPage < Internal::Types::Model + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :html, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/tenant_settings_mtls.rb b/lib/auth0/types/tenant_settings_mtls.rb new file mode 100644 index 000000000..5164c4455 --- /dev/null +++ b/lib/auth0/types/tenant_settings_mtls.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # mTLS configuration. + class TenantSettingsMtls < Internal::Types::Model + field :enable_endpoint_aliases, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/tenant_settings_nullable_security_headers.rb b/lib/auth0/types/tenant_settings_nullable_security_headers.rb new file mode 100644 index 000000000..6a4441919 --- /dev/null +++ b/lib/auth0/types/tenant_settings_nullable_security_headers.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Security headers configuration for tenant responses. + class TenantSettingsNullableSecurityHeaders < Internal::Types::Model + field :content_security_policy, -> { Auth0::Types::ContentSecurityPolicyConfig }, optional: true, nullable: false + + field :x_xss_protection, -> { Auth0::Types::XSSProtectionConfig }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/tenant_settings_password_page.rb b/lib/auth0/types/tenant_settings_password_page.rb new file mode 100644 index 000000000..5b0b94e1c --- /dev/null +++ b/lib/auth0/types/tenant_settings_password_page.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Change Password page customization. + class TenantSettingsPasswordPage < Internal::Types::Model + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :html, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/tenant_settings_resource_parameter_profile.rb b/lib/auth0/types/tenant_settings_resource_parameter_profile.rb new file mode 100644 index 000000000..c0cf432fa --- /dev/null +++ b/lib/auth0/types/tenant_settings_resource_parameter_profile.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module TenantSettingsResourceParameterProfile + extend Auth0::Internal::Types::Enum + + AUDIENCE = "audience" + COMPATIBILITY = "compatibility" + end + end +end diff --git a/lib/auth0/types/tenant_settings_sessions.rb b/lib/auth0/types/tenant_settings_sessions.rb new file mode 100644 index 000000000..c72e718ef --- /dev/null +++ b/lib/auth0/types/tenant_settings_sessions.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Sessions related settings for tenant + class TenantSettingsSessions < Internal::Types::Model + field :oidc_logout_prompt_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/tenant_settings_supported_locales_enum.rb b/lib/auth0/types/tenant_settings_supported_locales_enum.rb new file mode 100644 index 000000000..955f5286b --- /dev/null +++ b/lib/auth0/types/tenant_settings_supported_locales_enum.rb @@ -0,0 +1,92 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module TenantSettingsSupportedLocalesEnum + extend Auth0::Internal::Types::Enum + + AM = "am" + AR = "ar" + AR_EG = "ar-EG" + AR_SA = "ar-SA" + AZ = "az" + BG = "bg" + BN = "bn" + BS = "bs" + CA_ES = "ca-ES" + CNR = "cnr" + CS = "cs" + CY = "cy" + DA = "da" + DE = "de" + EL = "el" + EN = "en" + EN_CA = "en-CA" + ES = "es" + ES419 = "es-419" + ES_AR = "es-AR" + ES_MX = "es-MX" + ET = "et" + EU_ES = "eu-ES" + FA = "fa" + FI = "fi" + FR = "fr" + FR_CA = "fr-CA" + FR_FR = "fr-FR" + GL_ES = "gl-ES" + GU = "gu" + HE = "he" + HI = "hi" + HR = "hr" + HU = "hu" + HY = "hy" + ID = "id" + IS = "is" + IT = "it" + JA = "ja" + KA = "ka" + KK = "kk" + KN = "kn" + KO = "ko" + LT = "lt" + LV = "lv" + MK = "mk" + ML = "ml" + MN = "mn" + MR = "mr" + MS = "ms" + MY = "my" + NB = "nb" + NL = "nl" + NN = "nn" + NO = "no" + PA = "pa" + PL = "pl" + PT = "pt" + PT_BR = "pt-BR" + PT_PT = "pt-PT" + RO = "ro" + RU = "ru" + SK = "sk" + SL = "sl" + SO = "so" + SQ = "sq" + SR = "sr" + SV = "sv" + SW = "sw" + TA = "ta" + TE = "te" + TH = "th" + TL = "tl" + TR = "tr" + UK = "uk" + UR = "ur" + VI = "vi" + ZGH = "zgh" + ZH_CN = "zh-CN" + ZH_HK = "zh-HK" + ZH_MO = "zh-MO" + ZH_TW = "zh-TW" + end + end +end diff --git a/lib/auth0/types/test_action_payload.rb b/lib/auth0/types/test_action_payload.rb new file mode 100644 index 000000000..496da1f4b --- /dev/null +++ b/lib/auth0/types/test_action_payload.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module TestActionPayload + # TestActionPayload is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/test_action_response_content.rb b/lib/auth0/types/test_action_response_content.rb new file mode 100644 index 000000000..eced7ca80 --- /dev/null +++ b/lib/auth0/types/test_action_response_content.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class TestActionResponseContent < Internal::Types::Model + field :payload, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/test_action_result_payload.rb b/lib/auth0/types/test_action_result_payload.rb new file mode 100644 index 000000000..ced84b9f3 --- /dev/null +++ b/lib/auth0/types/test_action_result_payload.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module TestActionResultPayload + # TestActionResultPayload is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/test_custom_domain_response_content.rb b/lib/auth0/types/test_custom_domain_response_content.rb new file mode 100644 index 000000000..2e796453f --- /dev/null +++ b/lib/auth0/types/test_custom_domain_response_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class TestCustomDomainResponseContent < Internal::Types::Model + field :success, -> { Internal::Types::Boolean }, optional: false, nullable: false + + field :message, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/test_event_data_content.rb b/lib/auth0/types/test_event_data_content.rb new file mode 100644 index 000000000..a4427bd0d --- /dev/null +++ b/lib/auth0/types/test_event_data_content.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module TestEventDataContent + # TestEventDataContent is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/third_party_client_access_config.rb b/lib/auth0/types/third_party_client_access_config.rb new file mode 100644 index 000000000..83952fa57 --- /dev/null +++ b/lib/auth0/types/third_party_client_access_config.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configuration for Third Party Client Access during the Self-Service Enterprise Configuration flow. + class ThirdPartyClientAccessConfig < Internal::Types::Model + field :allow_configuration, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/token_exchange_profile_response_content.rb b/lib/auth0/types/token_exchange_profile_response_content.rb new file mode 100644 index 000000000..b8fc87974 --- /dev/null +++ b/lib/auth0/types/token_exchange_profile_response_content.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class TokenExchangeProfileResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :subject_token_type, -> { String }, optional: true, nullable: false + + field :action_id, -> { String }, optional: true, nullable: false + + field :type, -> { Auth0::Types::TokenExchangeProfileTypeEnum }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :updated_at, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/token_exchange_profile_type_enum.rb b/lib/auth0/types/token_exchange_profile_type_enum.rb new file mode 100644 index 000000000..288307416 --- /dev/null +++ b/lib/auth0/types/token_exchange_profile_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module TokenExchangeProfileTypeEnum + extend Auth0::Internal::Types::Enum + + CUSTOM_AUTHENTICATION = "custom_authentication" + end + end +end diff --git a/lib/auth0/types/token_quota.rb b/lib/auth0/types/token_quota.rb new file mode 100644 index 000000000..de86d0974 --- /dev/null +++ b/lib/auth0/types/token_quota.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class TokenQuota < Internal::Types::Model + field :client_credentials, -> { Auth0::Types::TokenQuotaClientCredentials }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/token_quota_client_credentials.rb b/lib/auth0/types/token_quota_client_credentials.rb new file mode 100644 index 000000000..d4cdae3b3 --- /dev/null +++ b/lib/auth0/types/token_quota_client_credentials.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The token quota configuration + class TokenQuotaClientCredentials < Internal::Types::Model + field :enforce, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :per_day, -> { Integer }, optional: true, nullable: false + + field :per_hour, -> { Integer }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/token_quota_configuration.rb b/lib/auth0/types/token_quota_configuration.rb new file mode 100644 index 000000000..8cc679061 --- /dev/null +++ b/lib/auth0/types/token_quota_configuration.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class TokenQuotaConfiguration < Internal::Types::Model + field :client_credentials, -> { Auth0::Types::TokenQuotaClientCredentials }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/token_vault_privileged_access_grant.rb b/lib/auth0/types/token_vault_privileged_access_grant.rb new file mode 100644 index 000000000..b54e078a7 --- /dev/null +++ b/lib/auth0/types/token_vault_privileged_access_grant.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class TokenVaultPrivilegedAccessGrant < Internal::Types::Model + field :connection, -> { String }, optional: false, nullable: false + + field :scopes, -> { Internal::Types::Array[String] }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/token_vault_privileged_access_ip_allowlist_entry.rb b/lib/auth0/types/token_vault_privileged_access_ip_allowlist_entry.rb new file mode 100644 index 000000000..88db536b8 --- /dev/null +++ b/lib/auth0/types/token_vault_privileged_access_ip_allowlist_entry.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module TokenVaultPrivilegedAccessIPAllowlistEntry + # TokenVaultPrivilegedAccessIPAllowlistEntry is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/too_many_requests_error_body.rb b/lib/auth0/types/too_many_requests_error_body.rb new file mode 100644 index 000000000..fab3bea87 --- /dev/null +++ b/lib/auth0/types/too_many_requests_error_body.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class TooManyRequestsErrorBody < Internal::Types::Model + field :message, -> { String }, optional: false, nullable: false + + field :status_code, -> { String }, optional: false, nullable: false, api_name: "statusCode" + + field :error, -> { Auth0::Types::TooManyRequestsErrorBodyError }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/too_many_requests_error_body_error.rb b/lib/auth0/types/too_many_requests_error_body_error.rb new file mode 100644 index 000000000..4ce8d487e --- /dev/null +++ b/lib/auth0/types/too_many_requests_error_body_error.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module TooManyRequestsErrorBodyError + extend Auth0::Internal::Types::Enum + + TOO_MANY_REQUESTS = "Too Many Requests" + end + end +end diff --git a/lib/auth0/types/too_many_requests_schema.rb b/lib/auth0/types/too_many_requests_schema.rb new file mode 100644 index 000000000..4a5291ccf --- /dev/null +++ b/lib/auth0/types/too_many_requests_schema.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Too Many Requests + class TooManyRequestsSchema < Internal::Types::Model + field :message, -> { String }, optional: false, nullable: false + + field :status_code, -> { String }, optional: false, nullable: false, api_name: "statusCode" + + field :error, -> { Auth0::Types::TooManyRequestsSchemaError }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/too_many_requests_schema_error.rb b/lib/auth0/types/too_many_requests_schema_error.rb new file mode 100644 index 000000000..8aaa58c03 --- /dev/null +++ b/lib/auth0/types/too_many_requests_schema_error.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module TooManyRequestsSchemaError + extend Auth0::Internal::Types::Enum + + TOO_MANY_REQUESTS = "Too Many Requests" + end + end +end diff --git a/lib/auth0/types/twilio_provider_configuration.rb b/lib/auth0/types/twilio_provider_configuration.rb new file mode 100644 index 000000000..33ebceb87 --- /dev/null +++ b/lib/auth0/types/twilio_provider_configuration.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class TwilioProviderConfiguration < Internal::Types::Model + field :default_from, -> { String }, optional: true, nullable: false + + field :mssid, -> { String }, optional: true, nullable: false + + field :sid, -> { String }, optional: false, nullable: false + + field :delivery_methods, -> { Internal::Types::Array[Auth0::Types::TwilioProviderDeliveryMethodEnum] }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/twilio_provider_credentials.rb b/lib/auth0/types/twilio_provider_credentials.rb new file mode 100644 index 000000000..3af0febf0 --- /dev/null +++ b/lib/auth0/types/twilio_provider_credentials.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class TwilioProviderCredentials < Internal::Types::Model + field :auth_token, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/twilio_provider_delivery_method_enum.rb b/lib/auth0/types/twilio_provider_delivery_method_enum.rb new file mode 100644 index 000000000..ae8965375 --- /dev/null +++ b/lib/auth0/types/twilio_provider_delivery_method_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module TwilioProviderDeliveryMethodEnum + extend Auth0::Internal::Types::Enum + + TEXT = "text" + VOICE = "voice" + end + end +end diff --git a/lib/auth0/types/unauthorized_schema.rb b/lib/auth0/types/unauthorized_schema.rb new file mode 100644 index 000000000..0221ea158 --- /dev/null +++ b/lib/auth0/types/unauthorized_schema.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Unauthorized + class UnauthorizedSchema < Internal::Types::Model + field :message, -> { String }, optional: false, nullable: false + + field :status_code, -> { String }, optional: false, nullable: false, api_name: "statusCode" + + field :error, -> { Auth0::Types::UnauthorizedSchemaError }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/unauthorized_schema_error.rb b/lib/auth0/types/unauthorized_schema_error.rb new file mode 100644 index 000000000..6319dd26a --- /dev/null +++ b/lib/auth0/types/unauthorized_schema_error.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module UnauthorizedSchemaError + extend Auth0::Internal::Types::Enum + + UNAUTHORIZED = "Unauthorized" + end + end +end diff --git a/lib/auth0/types/universal_login_experience_enum.rb b/lib/auth0/types/universal_login_experience_enum.rb new file mode 100644 index 000000000..9bba8dc48 --- /dev/null +++ b/lib/auth0/types/universal_login_experience_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module UniversalLoginExperienceEnum + extend Auth0::Internal::Types::Enum + + NEW = "new" + CLASSIC = "classic" + end + end +end diff --git a/lib/auth0/types/update_action_bindings_response_content.rb b/lib/auth0/types/update_action_bindings_response_content.rb new file mode 100644 index 000000000..abcbcdf6c --- /dev/null +++ b/lib/auth0/types/update_action_bindings_response_content.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UpdateActionBindingsResponseContent < Internal::Types::Model + field :bindings, -> { Internal::Types::Array[Auth0::Types::ActionBinding] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_action_module_response_content.rb b/lib/auth0/types/update_action_module_response_content.rb new file mode 100644 index 000000000..5079a9fea --- /dev/null +++ b/lib/auth0/types/update_action_module_response_content.rb @@ -0,0 +1,29 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UpdateActionModuleResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :code, -> { String }, optional: true, nullable: false + + field :dependencies, -> { Internal::Types::Array[Auth0::Types::ActionModuleDependency] }, optional: true, nullable: false + + field :secrets, -> { Internal::Types::Array[Auth0::Types::ActionModuleSecret] }, optional: true, nullable: false + + field :actions_using_module_total, -> { Integer }, optional: true, nullable: false + + field :all_changes_published, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :latest_version_number, -> { Integer }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :updated_at, -> { String }, optional: true, nullable: false + + field :latest_version, -> { Auth0::Types::ActionModuleVersionReference }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_action_response_content.rb b/lib/auth0/types/update_action_response_content.rb new file mode 100644 index 000000000..5e5be71ea --- /dev/null +++ b/lib/auth0/types/update_action_response_content.rb @@ -0,0 +1,41 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UpdateActionResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :supported_triggers, -> { Internal::Types::Array[Auth0::Types::ActionTrigger] }, optional: true, nullable: false + + field :all_changes_deployed, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :updated_at, -> { String }, optional: true, nullable: false + + field :code, -> { String }, optional: true, nullable: false + + field :dependencies, -> { Internal::Types::Array[Auth0::Types::ActionVersionDependency] }, optional: true, nullable: false + + field :runtime, -> { String }, optional: true, nullable: false + + field :secrets, -> { Internal::Types::Array[Auth0::Types::ActionSecretResponse] }, optional: true, nullable: false + + field :deployed_version, -> { Auth0::Types::ActionDeployedVersion }, optional: true, nullable: false + + field :installed_integration_id, -> { String }, optional: true, nullable: false + + field :integration, -> { Auth0::Types::Integration }, optional: true, nullable: false + + field :status, -> { Auth0::Types::ActionBuildStatusEnum }, optional: true, nullable: false + + field :built_at, -> { String }, optional: true, nullable: false + + field :deploy, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :modules, -> { Internal::Types::Array[Auth0::Types::ActionModuleReference] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_acul_response_content.rb b/lib/auth0/types/update_acul_response_content.rb new file mode 100644 index 000000000..a331d9d87 --- /dev/null +++ b/lib/auth0/types/update_acul_response_content.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UpdateAculResponseContent < Internal::Types::Model + field :rendering_mode, -> { Auth0::Types::AculRenderingModeEnum }, optional: true, nullable: false + + field :context_configuration, -> { Internal::Types::Array[Auth0::Types::AculContextConfigurationItem] }, optional: true, nullable: false + + field :default_head_tags_disabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :use_page_template, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :head_tags, -> { Internal::Types::Array[Auth0::Types::AculHeadTag] }, optional: true, nullable: false + + field :filters, -> { Auth0::Types::AculFilters }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_attack_protection_captcha_response_content.rb b/lib/auth0/types/update_attack_protection_captcha_response_content.rb new file mode 100644 index 000000000..a28aef352 --- /dev/null +++ b/lib/auth0/types/update_attack_protection_captcha_response_content.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UpdateAttackProtectionCaptchaResponseContent < Internal::Types::Model + field :active_provider_id, -> { String }, optional: true, nullable: false + + field :arkose, -> { Auth0::Types::AttackProtectionCaptchaArkoseResponseContent }, optional: true, nullable: false + + field :auth_challenge, -> { Auth0::Types::AttackProtectionCaptchaAuthChallengeResponseContent }, optional: true, nullable: false + + field :hcaptcha, -> { Auth0::Types::AttackProtectionCaptchaHcaptchaResponseContent }, optional: true, nullable: false + + field :friendly_captcha, -> { Auth0::Types::AttackProtectionCaptchaFriendlyCaptchaResponseContent }, optional: true, nullable: false + + field :recaptcha_enterprise, -> { Auth0::Types::AttackProtectionCaptchaRecaptchaEnterpriseResponseContent }, optional: true, nullable: false + + field :recaptcha_v2, -> { Auth0::Types::AttackProtectionCaptchaRecaptchaV2ResponseContent }, optional: true, nullable: false + + field :simple_captcha, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_bot_detection_settings_response_content.rb b/lib/auth0/types/update_bot_detection_settings_response_content.rb new file mode 100644 index 000000000..392a480ce --- /dev/null +++ b/lib/auth0/types/update_bot_detection_settings_response_content.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UpdateBotDetectionSettingsResponseContent < Internal::Types::Model + field :bot_detection_level, -> { Auth0::Types::BotDetectionLevelEnum }, optional: true, nullable: false + + field :challenge_password_policy, -> { Auth0::Types::BotDetectionChallengePolicyPasswordFlowEnum }, optional: true, nullable: false + + field :challenge_passwordless_policy, -> { Auth0::Types::BotDetectionChallengePolicyPasswordlessFlowEnum }, optional: true, nullable: false + + field :challenge_password_reset_policy, -> { Auth0::Types::BotDetectionChallengePolicyPasswordResetFlowEnum }, optional: true, nullable: false + + field :allowlist, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :monitoring_mode_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_branding_colors.rb b/lib/auth0/types/update_branding_colors.rb new file mode 100644 index 000000000..198be29cd --- /dev/null +++ b/lib/auth0/types/update_branding_colors.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Custom color settings. + class UpdateBrandingColors < Internal::Types::Model + field :primary, -> { String }, optional: true, nullable: false + + field :page_background, -> { Auth0::Types::UpdateBrandingPageBackground }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_branding_font.rb b/lib/auth0/types/update_branding_font.rb new file mode 100644 index 000000000..7e3ef923f --- /dev/null +++ b/lib/auth0/types/update_branding_font.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Custom font settings. + class UpdateBrandingFont < Internal::Types::Model + field :url, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_branding_page_background.rb b/lib/auth0/types/update_branding_page_background.rb new file mode 100644 index 000000000..5167fcbb7 --- /dev/null +++ b/lib/auth0/types/update_branding_page_background.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Page Background Color or Gradient. + # Property contains either `null` to unset, a solid color as a string value `#FFFFFF`, or a gradient as an object. + # + # ```js + # { + # type: 'linear-gradient', + # start: '#FFFFFF', + # end: '#000000', + # angle_deg: 35 + # } + # ``` + class UpdateBrandingPageBackground < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { String } + + member -> { Internal::Types::Hash[String, Object] } + end + end +end diff --git a/lib/auth0/types/update_branding_phone_provider_response_content.rb b/lib/auth0/types/update_branding_phone_provider_response_content.rb new file mode 100644 index 000000000..8afde58ad --- /dev/null +++ b/lib/auth0/types/update_branding_phone_provider_response_content.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Phone provider configuration schema + class UpdateBrandingPhoneProviderResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :tenant, -> { String }, optional: true, nullable: false + + field :name, -> { Auth0::Types::PhoneProviderNameEnum }, optional: false, nullable: false + + field :channel, -> { Auth0::Types::PhoneProviderChannelEnum }, optional: true, nullable: false + + field :disabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :configuration, -> { Auth0::Types::PhoneProviderConfiguration }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :updated_at, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_branding_response_content.rb b/lib/auth0/types/update_branding_response_content.rb new file mode 100644 index 000000000..8166debe8 --- /dev/null +++ b/lib/auth0/types/update_branding_response_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UpdateBrandingResponseContent < Internal::Types::Model + field :colors, -> { Auth0::Types::BrandingColors }, optional: true, nullable: false + + field :favicon_url, -> { String }, optional: true, nullable: false + + field :logo_url, -> { String }, optional: true, nullable: false + + field :font, -> { Auth0::Types::BrandingFont }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_branding_theme_response_content.rb b/lib/auth0/types/update_branding_theme_response_content.rb new file mode 100644 index 000000000..f65853ae4 --- /dev/null +++ b/lib/auth0/types/update_branding_theme_response_content.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UpdateBrandingThemeResponseContent < Internal::Types::Model + field :borders, -> { Auth0::Types::BrandingThemeBorders }, optional: false, nullable: false + + field :colors, -> { Auth0::Types::BrandingThemeColors }, optional: false, nullable: false + + field :display_name, -> { String }, optional: false, nullable: false, api_name: "displayName" + + field :fonts, -> { Auth0::Types::BrandingThemeFonts }, optional: false, nullable: false + + field :identifiers, -> { Auth0::Types::BrandingThemeIdentifiers }, optional: true, nullable: false + + field :page_background, -> { Auth0::Types::BrandingThemePageBackground }, optional: false, nullable: false + + field :theme_id, -> { String }, optional: false, nullable: false, api_name: "themeId" + + field :widget, -> { Auth0::Types::BrandingThemeWidget }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/update_breached_password_detection_settings_response_content.rb b/lib/auth0/types/update_breached_password_detection_settings_response_content.rb new file mode 100644 index 000000000..7210384ff --- /dev/null +++ b/lib/auth0/types/update_breached_password_detection_settings_response_content.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UpdateBreachedPasswordDetectionSettingsResponseContent < Internal::Types::Model + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :shields, -> { Internal::Types::Array[Auth0::Types::BreachedPasswordDetectionShieldsEnum] }, optional: true, nullable: false + + field :admin_notification_frequency, -> { Internal::Types::Array[Auth0::Types::BreachedPasswordDetectionAdminNotificationFrequencyEnum] }, optional: true, nullable: false + + field :method_, -> { Auth0::Types::BreachedPasswordDetectionMethodEnum }, optional: true, nullable: false, api_name: "method" + + field :stage, -> { Auth0::Types::BreachedPasswordDetectionStage }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_brute_force_settings_response_content.rb b/lib/auth0/types/update_brute_force_settings_response_content.rb new file mode 100644 index 000000000..23efb7cc4 --- /dev/null +++ b/lib/auth0/types/update_brute_force_settings_response_content.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UpdateBruteForceSettingsResponseContent < Internal::Types::Model + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :shields, -> { Internal::Types::Array[Auth0::Types::BruteForceProtectionShieldsEnum] }, optional: true, nullable: false + + field :allowlist, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :mode, -> { Auth0::Types::BruteForceProtectionModeEnum }, optional: true, nullable: false + + field :max_attempts, -> { Integer }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_client_grant_response_content.rb b/lib/auth0/types/update_client_grant_response_content.rb new file mode 100644 index 000000000..404c54d86 --- /dev/null +++ b/lib/auth0/types/update_client_grant_response_content.rb @@ -0,0 +1,29 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UpdateClientGrantResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :client_id, -> { String }, optional: true, nullable: false + + field :audience, -> { String }, optional: true, nullable: false + + field :scope, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :organization_usage, -> { Auth0::Types::ClientGrantOrganizationUsageEnum }, optional: true, nullable: false + + field :allow_any_organization, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :default_for, -> { Auth0::Types::ClientGrantDefaultForEnum }, optional: true, nullable: false + + field :is_system, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :subject_type, -> { Auth0::Types::ClientGrantSubjectTypeEnum }, optional: true, nullable: false + + field :authorization_details_types, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :allow_all_scopes, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_client_response_content.rb b/lib/auth0/types/update_client_response_content.rb new file mode 100644 index 000000000..80a88fa6d --- /dev/null +++ b/lib/auth0/types/update_client_response_content.rb @@ -0,0 +1,135 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UpdateClientResponseContent < Internal::Types::Model + field :client_id, -> { String }, optional: true, nullable: false + + field :tenant, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :description, -> { String }, optional: true, nullable: false + + field :global, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :client_secret, -> { String }, optional: true, nullable: false + + field :app_type, -> { Auth0::Types::ClientAppTypeEnum }, optional: true, nullable: false + + field :logo_uri, -> { String }, optional: true, nullable: false + + field :is_first_party, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :oidc_conformant, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :callbacks, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :allowed_origins, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :web_origins, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :client_aliases, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :allowed_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :allowed_logout_urls, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :session_transfer, -> { Auth0::Types::ClientSessionTransferConfiguration }, optional: true, nullable: false + + field :oidc_logout, -> { Auth0::Types::ClientOidcBackchannelLogoutSettings }, optional: true, nullable: false + + field :grant_types, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :jwt_configuration, -> { Auth0::Types::ClientJwtConfiguration }, optional: true, nullable: false + + field :signing_keys, -> { Internal::Types::Array[Auth0::Types::ClientSigningKey] }, optional: true, nullable: false + + field :encryption_key, -> { Auth0::Types::ClientEncryptionKey }, optional: true, nullable: false + + field :sso, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :sso_disabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :cross_origin_authentication, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :cross_origin_loc, -> { String }, optional: true, nullable: false + + field :custom_login_page_on, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :custom_login_page, -> { String }, optional: true, nullable: false + + field :custom_login_page_preview, -> { String }, optional: true, nullable: false + + field :form_template, -> { String }, optional: true, nullable: false + + field :addons, -> { Auth0::Types::ClientAddons }, optional: true, nullable: false + + field :token_endpoint_auth_method, -> { Auth0::Types::ClientTokenEndpointAuthMethodEnum }, optional: true, nullable: false + + field :is_token_endpoint_ip_header_trusted, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :client_metadata, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :mobile, -> { Auth0::Types::ClientMobile }, optional: true, nullable: false + + field :initiate_login_uri, -> { String }, optional: true, nullable: false + + field :native_social_login, -> { Auth0::Types::NativeSocialLogin }, optional: true, nullable: false + + field :fedcm_login, -> { Auth0::Types::FedCmLogin }, optional: true, nullable: false + + field :refresh_token, -> { Auth0::Types::ClientRefreshTokenConfiguration }, optional: true, nullable: false + + field :default_organization, -> { Auth0::Types::ClientDefaultOrganization }, optional: true, nullable: false + + field :organization_usage, -> { Auth0::Types::ClientOrganizationUsageEnum }, optional: true, nullable: false + + field :organization_require_behavior, -> { Auth0::Types::ClientOrganizationRequireBehaviorEnum }, optional: true, nullable: false + + field :organization_discovery_methods, -> { Internal::Types::Array[Auth0::Types::ClientOrganizationDiscoveryEnum] }, optional: true, nullable: false + + field :client_authentication_methods, -> { Auth0::Types::ClientAuthenticationMethod }, optional: true, nullable: false + + field :require_pushed_authorization_requests, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :require_proof_of_possession, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :signed_request_object, -> { Auth0::Types::ClientSignedRequestObjectWithCredentialID }, optional: true, nullable: false + + field :token_vault_privileged_access, -> { Auth0::Types::ClientTokenVaultPrivilegedAccessWithCredentialID }, optional: true, nullable: false + + field :compliance_level, -> { Auth0::Types::ClientComplianceLevelEnum }, optional: true, nullable: false + + field :skip_non_verifiable_callback_uri_confirmation_prompt, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :token_exchange, -> { Auth0::Types::ClientTokenExchangeConfiguration }, optional: true, nullable: false + + field :par_request_expiry, -> { Integer }, optional: true, nullable: false + + field :token_quota, -> { Auth0::Types::TokenQuota }, optional: true, nullable: false + + field :express_configuration, -> { Auth0::Types::ExpressConfiguration }, optional: true, nullable: false + + field :my_organization_configuration, -> { Auth0::Types::ClientMyOrganizationResponseConfiguration }, optional: true, nullable: false + + field :identity_assertion_authorization_grant, -> { Auth0::Types::IdentityAssertionAuthorizationGrant }, optional: true, nullable: false + + field :third_party_security_mode, -> { Auth0::Types::ClientThirdPartySecurityModeEnum }, optional: true, nullable: false + + field :redirection_policy, -> { Auth0::Types::ClientRedirectionPolicyEnum }, optional: true, nullable: false + + field :resource_server_identifier, -> { String }, optional: true, nullable: false + + field :async_approval_notification_channels, -> { Internal::Types::Array[Auth0::Types::AsyncApprovalNotificationsChannelsEnum] }, optional: true, nullable: false + + field :external_metadata_type, -> { Auth0::Types::ClientExternalMetadataTypeEnum }, optional: true, nullable: false + + field :external_metadata_created_by, -> { Auth0::Types::ClientExternalMetadataCreatedByEnum }, optional: true, nullable: false + + field :external_client_id, -> { String }, optional: true, nullable: false + + field :jwks_uri, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_connection_options.rb b/lib/auth0/types/update_connection_options.rb new file mode 100644 index 000000000..598a75f2f --- /dev/null +++ b/lib/auth0/types/update_connection_options.rb @@ -0,0 +1,89 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The connection's options (depend on the connection strategy). To update these options, the + # `update:connections_options` scope must be present. To verify your changes, also include the + # `read:connections_options` scope. If this scope is not specified, you will not be able to review the updated + # object. + class UpdateConnectionOptions < Internal::Types::Model + field :validation, -> { Auth0::Types::ConnectionValidationOptions }, optional: true, nullable: false + + field :non_persistent_attrs, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :precedence, -> { Internal::Types::Array[Auth0::Types::ConnectionIdentifierPrecedenceEnum] }, optional: true, nullable: false + + field :attributes, -> { Auth0::Types::ConnectionAttributes }, optional: true, nullable: false + + field :enable_script_context, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :enabled_database_customization, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "enabledDatabaseCustomization" + + field :import_mode, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :configuration, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :custom_scripts, -> { Auth0::Types::ConnectionCustomScripts }, optional: true, nullable: false, api_name: "customScripts" + + field :authentication_methods, -> { Auth0::Types::ConnectionAuthenticationMethods }, optional: true, nullable: false + + field :passkey_options, -> { Auth0::Types::ConnectionPasskeyOptions }, optional: true, nullable: false + + field :password_policy, -> { Auth0::Types::ConnectionPasswordPolicyEnum }, optional: true, nullable: false, api_name: "passwordPolicy" + + field :password_complexity_options, -> { Auth0::Types::ConnectionPasswordComplexityOptions }, optional: true, nullable: false + + field :password_history, -> { Auth0::Types::ConnectionPasswordHistoryOptions }, optional: true, nullable: false + + field :password_no_personal_info, -> { Auth0::Types::ConnectionPasswordNoPersonalInfoOptions }, optional: true, nullable: false + + field :password_dictionary, -> { Auth0::Types::ConnectionPasswordDictionaryOptions }, optional: true, nullable: false + + field :api_enable_users, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :api_enable_groups, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :basic_profile, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_admin, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_is_suspended, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_agreed_terms, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_groups, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_assigned_plans, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :ext_profile, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :disable_self_service_change_password, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :upstream_params, -> { Internal::Types::Hash[String, Auth0::Types::ConnectionUpstreamAdditionalProperties] }, optional: true, nullable: false + + field :set_user_root_attributes, -> { Auth0::Types::ConnectionSetUserRootAttributesEnum }, optional: true, nullable: false + + field :gateway_authentication, -> { Auth0::Types::ConnectionGatewayAuthentication }, optional: true, nullable: false + + field :password_options, -> { Auth0::Types::ConnectionPasswordOptions }, optional: true, nullable: false + + field :assertion_decryption_settings, -> { Auth0::Types::ConnectionAssertionDecryptionSettings }, optional: true, nullable: false + + field :id_token_signed_response_algs, -> { Internal::Types::Array[Auth0::Types::ConnectionIDTokenSignedResponseAlgEnum] }, optional: true, nullable: false + + field :dpop_signing_alg, -> { Auth0::Types::ConnectionDpopSigningAlgEnum }, optional: true, nullable: false + + field :token_endpoint_auth_method, -> { Auth0::Types::ConnectionTokenEndpointAuthMethodEnum }, optional: true, nullable: false + + field :token_endpoint_auth_signing_alg, -> { Auth0::Types::ConnectionTokenEndpointAuthSigningAlgEnum }, optional: true, nullable: false + + field :token_endpoint_jwtca_aud_format, -> { Auth0::Types::ConnectionTokenEndpointJwtcaAudFormatEnumOidc }, optional: true, nullable: false + + field :id_token_session_expiry_supported, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :discovery_url, -> { String }, optional: true, nullable: false + + field :oidc_metadata, -> { Auth0::Types::ConnectionsOidcMetadata }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_connection_profile_response_content.rb b/lib/auth0/types/update_connection_profile_response_content.rb new file mode 100644 index 000000000..7b45712b9 --- /dev/null +++ b/lib/auth0/types/update_connection_profile_response_content.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UpdateConnectionProfileResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :organization, -> { Auth0::Types::ConnectionProfileOrganization }, optional: true, nullable: false + + field :connection_name_prefix_template, -> { String }, optional: true, nullable: false + + field :enabled_features, -> { Internal::Types::Array[Auth0::Types::EnabledFeaturesEnum] }, optional: true, nullable: false + + field :connection_config, -> { Auth0::Types::ConnectionProfileConfig }, optional: true, nullable: false + + field :strategy_overrides, -> { Auth0::Types::ConnectionProfileStrategyOverrides }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_connection_request_content_ad.rb b/lib/auth0/types/update_connection_request_content_ad.rb new file mode 100644 index 000000000..fb88f7958 --- /dev/null +++ b/lib/auth0/types/update_connection_request_content_ad.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Update a connection with strategy=ad + class UpdateConnectionRequestContentAd < Internal::Types::Model + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsAd }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_connection_request_content_adfs.rb b/lib/auth0/types/update_connection_request_content_adfs.rb new file mode 100644 index 000000000..ceda64c69 --- /dev/null +++ b/lib/auth0/types/update_connection_request_content_adfs.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Update a connection with strategy=adfs + class UpdateConnectionRequestContentAdfs < Internal::Types::Model + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsAdfs }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_connection_request_content_amazon.rb b/lib/auth0/types/update_connection_request_content_amazon.rb new file mode 100644 index 000000000..4dd496521 --- /dev/null +++ b/lib/auth0/types/update_connection_request_content_amazon.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Update a connection with strategy=amazon + class UpdateConnectionRequestContentAmazon < Internal::Types::Model + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsAmazon }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_connection_request_content_apple.rb b/lib/auth0/types/update_connection_request_content_apple.rb new file mode 100644 index 000000000..7c6014d97 --- /dev/null +++ b/lib/auth0/types/update_connection_request_content_apple.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Update a connection with strategy=apple + class UpdateConnectionRequestContentApple < Internal::Types::Model + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsApple }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_connection_request_content_auth0.rb b/lib/auth0/types/update_connection_request_content_auth0.rb new file mode 100644 index 000000000..73abee6b2 --- /dev/null +++ b/lib/auth0/types/update_connection_request_content_auth0.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Update a connection with strategy=auth0 + class UpdateConnectionRequestContentAuth0 < Internal::Types::Model + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsAuth0 }, optional: true, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_connection_request_content_auth0oidc.rb b/lib/auth0/types/update_connection_request_content_auth0oidc.rb new file mode 100644 index 000000000..fb2b172e7 --- /dev/null +++ b/lib/auth0/types/update_connection_request_content_auth0oidc.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Update a connection with strategy=auth0-oidc + class UpdateConnectionRequestContentAuth0Oidc < Internal::Types::Model + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsAuth0Oidc }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_connection_request_content_azure_ad.rb b/lib/auth0/types/update_connection_request_content_azure_ad.rb new file mode 100644 index 000000000..9434f4503 --- /dev/null +++ b/lib/auth0/types/update_connection_request_content_azure_ad.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Update a connection with strategy=waad + class UpdateConnectionRequestContentAzureAd < Internal::Types::Model + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsAzureAd }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_connection_request_content_baidu.rb b/lib/auth0/types/update_connection_request_content_baidu.rb new file mode 100644 index 000000000..7039d8a32 --- /dev/null +++ b/lib/auth0/types/update_connection_request_content_baidu.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Update a connection with strategy=baidu + class UpdateConnectionRequestContentBaidu < Internal::Types::Model + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsBaidu }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_connection_request_content_bitbucket.rb b/lib/auth0/types/update_connection_request_content_bitbucket.rb new file mode 100644 index 000000000..59da5334e --- /dev/null +++ b/lib/auth0/types/update_connection_request_content_bitbucket.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Update a connection with strategy=bitbucket + class UpdateConnectionRequestContentBitbucket < Internal::Types::Model + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsBitbucket }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_connection_request_content_bitly.rb b/lib/auth0/types/update_connection_request_content_bitly.rb new file mode 100644 index 000000000..b538ae7bb --- /dev/null +++ b/lib/auth0/types/update_connection_request_content_bitly.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Update a connection with strategy=bitly + class UpdateConnectionRequestContentBitly < Internal::Types::Model + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsBitly }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_connection_request_content_box.rb b/lib/auth0/types/update_connection_request_content_box.rb new file mode 100644 index 000000000..230a845e2 --- /dev/null +++ b/lib/auth0/types/update_connection_request_content_box.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Update a connection with strategy=box + class UpdateConnectionRequestContentBox < Internal::Types::Model + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsBox }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_connection_request_content_custom.rb b/lib/auth0/types/update_connection_request_content_custom.rb new file mode 100644 index 000000000..355a1f5d9 --- /dev/null +++ b/lib/auth0/types/update_connection_request_content_custom.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Update a connection with strategy=custom + class UpdateConnectionRequestContentCustom < Internal::Types::Model + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :options, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_connection_request_content_daccount.rb b/lib/auth0/types/update_connection_request_content_daccount.rb new file mode 100644 index 000000000..2c447daa8 --- /dev/null +++ b/lib/auth0/types/update_connection_request_content_daccount.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Update a connection with strategy=daccount + class UpdateConnectionRequestContentDaccount < Internal::Types::Model + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsDaccount }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_connection_request_content_dropbox.rb b/lib/auth0/types/update_connection_request_content_dropbox.rb new file mode 100644 index 000000000..fd11a0318 --- /dev/null +++ b/lib/auth0/types/update_connection_request_content_dropbox.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Update a connection with strategy=dropbox + class UpdateConnectionRequestContentDropbox < Internal::Types::Model + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsDropbox }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_connection_request_content_dwolla.rb b/lib/auth0/types/update_connection_request_content_dwolla.rb new file mode 100644 index 000000000..77593a7a7 --- /dev/null +++ b/lib/auth0/types/update_connection_request_content_dwolla.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Update a connection with strategy=dwolla + class UpdateConnectionRequestContentDwolla < Internal::Types::Model + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsDwolla }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_connection_request_content_email.rb b/lib/auth0/types/update_connection_request_content_email.rb new file mode 100644 index 000000000..ee07ac432 --- /dev/null +++ b/lib/auth0/types/update_connection_request_content_email.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Update a connection with strategy=email + class UpdateConnectionRequestContentEmail < Internal::Types::Model + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsEmail }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_connection_request_content_evernote.rb b/lib/auth0/types/update_connection_request_content_evernote.rb new file mode 100644 index 000000000..a073332d6 --- /dev/null +++ b/lib/auth0/types/update_connection_request_content_evernote.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Update a connection with strategy=evernote + class UpdateConnectionRequestContentEvernote < Internal::Types::Model + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsEvernote }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_connection_request_content_evernote_sandbox.rb b/lib/auth0/types/update_connection_request_content_evernote_sandbox.rb new file mode 100644 index 000000000..e0f0b67fc --- /dev/null +++ b/lib/auth0/types/update_connection_request_content_evernote_sandbox.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Update a connection with strategy=evernote-sandbox + class UpdateConnectionRequestContentEvernoteSandbox < Internal::Types::Model + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsEvernote }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_connection_request_content_exact.rb b/lib/auth0/types/update_connection_request_content_exact.rb new file mode 100644 index 000000000..614a4aee4 --- /dev/null +++ b/lib/auth0/types/update_connection_request_content_exact.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Update a connection with strategy=exact + class UpdateConnectionRequestContentExact < Internal::Types::Model + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsExact }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_connection_request_content_facebook.rb b/lib/auth0/types/update_connection_request_content_facebook.rb new file mode 100644 index 000000000..a2c52eaa9 --- /dev/null +++ b/lib/auth0/types/update_connection_request_content_facebook.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Update a connection with strategy=facebook + class UpdateConnectionRequestContentFacebook < Internal::Types::Model + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsFacebook }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_connection_request_content_fitbit.rb b/lib/auth0/types/update_connection_request_content_fitbit.rb new file mode 100644 index 000000000..aad04bac4 --- /dev/null +++ b/lib/auth0/types/update_connection_request_content_fitbit.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Update a connection with strategy=fitbit + class UpdateConnectionRequestContentFitbit < Internal::Types::Model + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsFitbit }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_connection_request_content_git_hub.rb b/lib/auth0/types/update_connection_request_content_git_hub.rb new file mode 100644 index 000000000..2cc058d0a --- /dev/null +++ b/lib/auth0/types/update_connection_request_content_git_hub.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Update a connection with strategy=github + class UpdateConnectionRequestContentGitHub < Internal::Types::Model + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsGitHub }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_connection_request_content_google_apps.rb b/lib/auth0/types/update_connection_request_content_google_apps.rb new file mode 100644 index 000000000..87d03e0ad --- /dev/null +++ b/lib/auth0/types/update_connection_request_content_google_apps.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Update a connection with strategy=google-apps + class UpdateConnectionRequestContentGoogleApps < Internal::Types::Model + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsGoogleApps }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_connection_request_content_google_o_auth2.rb b/lib/auth0/types/update_connection_request_content_google_o_auth2.rb new file mode 100644 index 000000000..a461e639e --- /dev/null +++ b/lib/auth0/types/update_connection_request_content_google_o_auth2.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Update a connection with strategy=google-oauth2 + class UpdateConnectionRequestContentGoogleOAuth2 < Internal::Types::Model + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsGoogleOAuth2 }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_connection_request_content_instagram.rb b/lib/auth0/types/update_connection_request_content_instagram.rb new file mode 100644 index 000000000..841c09df9 --- /dev/null +++ b/lib/auth0/types/update_connection_request_content_instagram.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Update a connection with strategy=instagram + class UpdateConnectionRequestContentInstagram < Internal::Types::Model + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsInstagram }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_connection_request_content_ip.rb b/lib/auth0/types/update_connection_request_content_ip.rb new file mode 100644 index 000000000..f8717f0a8 --- /dev/null +++ b/lib/auth0/types/update_connection_request_content_ip.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Update a connection with strategy=ip + class UpdateConnectionRequestContentIP < Internal::Types::Model + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :options, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_connection_request_content_line.rb b/lib/auth0/types/update_connection_request_content_line.rb new file mode 100644 index 000000000..a88d3e721 --- /dev/null +++ b/lib/auth0/types/update_connection_request_content_line.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Update a connection with strategy=line + class UpdateConnectionRequestContentLine < Internal::Types::Model + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsLine }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_connection_request_content_linkedin.rb b/lib/auth0/types/update_connection_request_content_linkedin.rb new file mode 100644 index 000000000..6a658cfe4 --- /dev/null +++ b/lib/auth0/types/update_connection_request_content_linkedin.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Update a connection with strategy=linkedin + class UpdateConnectionRequestContentLinkedin < Internal::Types::Model + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsLinkedin }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_connection_request_content_o_auth1.rb b/lib/auth0/types/update_connection_request_content_o_auth1.rb new file mode 100644 index 000000000..98cdf0671 --- /dev/null +++ b/lib/auth0/types/update_connection_request_content_o_auth1.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Update a connection with strategy=oauth1 + class UpdateConnectionRequestContentOAuth1 < Internal::Types::Model + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsOAuth1 }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_connection_request_content_o_auth2.rb b/lib/auth0/types/update_connection_request_content_o_auth2.rb new file mode 100644 index 000000000..d3cd46661 --- /dev/null +++ b/lib/auth0/types/update_connection_request_content_o_auth2.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Update a connection with strategy=oauth2 + class UpdateConnectionRequestContentOAuth2 < Internal::Types::Model + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsOAuth2 }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_connection_request_content_office365.rb b/lib/auth0/types/update_connection_request_content_office365.rb new file mode 100644 index 000000000..7f4f84c66 --- /dev/null +++ b/lib/auth0/types/update_connection_request_content_office365.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Update a connection with strategy=office365 + class UpdateConnectionRequestContentOffice365 < Internal::Types::Model + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsOffice365 }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_connection_request_content_oidc.rb b/lib/auth0/types/update_connection_request_content_oidc.rb new file mode 100644 index 000000000..b4c929979 --- /dev/null +++ b/lib/auth0/types/update_connection_request_content_oidc.rb @@ -0,0 +1,28 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Update a connection with strategy=oidc + class UpdateConnectionRequestContentOidc < Internal::Types::Model + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsOidc }, optional: true, nullable: false + + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurposeXaa }, optional: true, nullable: false + + field :cross_app_access_requesting_app, -> { Auth0::Types::CrossAppAccessRequestingApp }, optional: true, nullable: false + + field :cross_app_access_resource_app, -> { Auth0::Types::ConnectionCrossAppAccessResourceApp }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_connection_request_content_okta.rb b/lib/auth0/types/update_connection_request_content_okta.rb new file mode 100644 index 000000000..8675f1237 --- /dev/null +++ b/lib/auth0/types/update_connection_request_content_okta.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Update a connection with strategy=okta + class UpdateConnectionRequestContentOkta < Internal::Types::Model + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :cross_app_access_requesting_app, -> { Auth0::Types::CrossAppAccessRequestingApp }, optional: true, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsOkta }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_connection_request_content_paypal.rb b/lib/auth0/types/update_connection_request_content_paypal.rb new file mode 100644 index 000000000..50fb98992 --- /dev/null +++ b/lib/auth0/types/update_connection_request_content_paypal.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Update a connection with strategy=paypal + class UpdateConnectionRequestContentPaypal < Internal::Types::Model + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsPaypal }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_connection_request_content_paypal_sandbox.rb b/lib/auth0/types/update_connection_request_content_paypal_sandbox.rb new file mode 100644 index 000000000..a3cf5960f --- /dev/null +++ b/lib/auth0/types/update_connection_request_content_paypal_sandbox.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Update a connection with strategy=paypal-sandbox + class UpdateConnectionRequestContentPaypalSandbox < Internal::Types::Model + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsPaypal }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_connection_request_content_ping_federate.rb b/lib/auth0/types/update_connection_request_content_ping_federate.rb new file mode 100644 index 000000000..13e32da0b --- /dev/null +++ b/lib/auth0/types/update_connection_request_content_ping_federate.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Update a connection with strategy=pingfederate + class UpdateConnectionRequestContentPingFederate < Internal::Types::Model + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsPingFederate }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_connection_request_content_planning_center.rb b/lib/auth0/types/update_connection_request_content_planning_center.rb new file mode 100644 index 000000000..e1a3c9159 --- /dev/null +++ b/lib/auth0/types/update_connection_request_content_planning_center.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Update a connection with strategy=planningcenter + class UpdateConnectionRequestContentPlanningCenter < Internal::Types::Model + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsPlanningCenter }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_connection_request_content_salesforce.rb b/lib/auth0/types/update_connection_request_content_salesforce.rb new file mode 100644 index 000000000..dd22489c9 --- /dev/null +++ b/lib/auth0/types/update_connection_request_content_salesforce.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Update a connection with strategy=salesforce + class UpdateConnectionRequestContentSalesforce < Internal::Types::Model + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsSalesforce }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_connection_request_content_salesforce_community.rb b/lib/auth0/types/update_connection_request_content_salesforce_community.rb new file mode 100644 index 000000000..9bf831f1f --- /dev/null +++ b/lib/auth0/types/update_connection_request_content_salesforce_community.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Update a connection with strategy=salesforce-community + class UpdateConnectionRequestContentSalesforceCommunity < Internal::Types::Model + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsSalesforceCommunity }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_connection_request_content_salesforce_sandbox.rb b/lib/auth0/types/update_connection_request_content_salesforce_sandbox.rb new file mode 100644 index 000000000..8955fa135 --- /dev/null +++ b/lib/auth0/types/update_connection_request_content_salesforce_sandbox.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Update a connection with strategy=salesforce-sandbox + class UpdateConnectionRequestContentSalesforceSandbox < Internal::Types::Model + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsSalesforce }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_connection_request_content_saml.rb b/lib/auth0/types/update_connection_request_content_saml.rb new file mode 100644 index 000000000..06f8a8073 --- /dev/null +++ b/lib/auth0/types/update_connection_request_content_saml.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Update a connection with strategy=samlp + class UpdateConnectionRequestContentSAML < Internal::Types::Model + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsSAML }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_connection_request_content_sharepoint.rb b/lib/auth0/types/update_connection_request_content_sharepoint.rb new file mode 100644 index 000000000..36ae00341 --- /dev/null +++ b/lib/auth0/types/update_connection_request_content_sharepoint.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Update a connection with strategy=sharepoint + class UpdateConnectionRequestContentSharepoint < Internal::Types::Model + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsSharepoint }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_connection_request_content_shop.rb b/lib/auth0/types/update_connection_request_content_shop.rb new file mode 100644 index 000000000..a3cadf965 --- /dev/null +++ b/lib/auth0/types/update_connection_request_content_shop.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Update a connection with strategy=shop + class UpdateConnectionRequestContentShop < Internal::Types::Model + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsShop }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_connection_request_content_shopify.rb b/lib/auth0/types/update_connection_request_content_shopify.rb new file mode 100644 index 000000000..594b6cbe5 --- /dev/null +++ b/lib/auth0/types/update_connection_request_content_shopify.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Update a connection with strategy=shopify + class UpdateConnectionRequestContentShopify < Internal::Types::Model + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsShopify }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_connection_request_content_sms.rb b/lib/auth0/types/update_connection_request_content_sms.rb new file mode 100644 index 000000000..87d627613 --- /dev/null +++ b/lib/auth0/types/update_connection_request_content_sms.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Update a connection with strategy=sms + class UpdateConnectionRequestContentSms < Internal::Types::Model + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsSms }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_connection_request_content_soundcloud.rb b/lib/auth0/types/update_connection_request_content_soundcloud.rb new file mode 100644 index 000000000..26425c84a --- /dev/null +++ b/lib/auth0/types/update_connection_request_content_soundcloud.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Update a connection with strategy=soundcloud + class UpdateConnectionRequestContentSoundcloud < Internal::Types::Model + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsSoundcloud }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_connection_request_content_thirty_seven_signals.rb b/lib/auth0/types/update_connection_request_content_thirty_seven_signals.rb new file mode 100644 index 000000000..674a78234 --- /dev/null +++ b/lib/auth0/types/update_connection_request_content_thirty_seven_signals.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Update a connection with strategy=thirtysevensignals + class UpdateConnectionRequestContentThirtySevenSignals < Internal::Types::Model + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsThirtySevenSignals }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_connection_request_content_twitter.rb b/lib/auth0/types/update_connection_request_content_twitter.rb new file mode 100644 index 000000000..46eb3e27a --- /dev/null +++ b/lib/auth0/types/update_connection_request_content_twitter.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Update a connection with strategy=twitter + class UpdateConnectionRequestContentTwitter < Internal::Types::Model + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsTwitter }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_connection_request_content_untappd.rb b/lib/auth0/types/update_connection_request_content_untappd.rb new file mode 100644 index 000000000..bf0bb5bdd --- /dev/null +++ b/lib/auth0/types/update_connection_request_content_untappd.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Update a connection with strategy=untappd + class UpdateConnectionRequestContentUntappd < Internal::Types::Model + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsUntappd }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_connection_request_content_vkontakte.rb b/lib/auth0/types/update_connection_request_content_vkontakte.rb new file mode 100644 index 000000000..8c30c8bd5 --- /dev/null +++ b/lib/auth0/types/update_connection_request_content_vkontakte.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Update a connection with strategy=vkontakte + class UpdateConnectionRequestContentVkontakte < Internal::Types::Model + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsVkontakte }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_connection_request_content_weibo.rb b/lib/auth0/types/update_connection_request_content_weibo.rb new file mode 100644 index 000000000..da51da79f --- /dev/null +++ b/lib/auth0/types/update_connection_request_content_weibo.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Update a connection with strategy=weibo + class UpdateConnectionRequestContentWeibo < Internal::Types::Model + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsWeibo }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_connection_request_content_windows_live.rb b/lib/auth0/types/update_connection_request_content_windows_live.rb new file mode 100644 index 000000000..72f99c0ec --- /dev/null +++ b/lib/auth0/types/update_connection_request_content_windows_live.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Update a connection with strategy=windowslive + class UpdateConnectionRequestContentWindowsLive < Internal::Types::Model + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsWindowsLive }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_connection_request_content_wordpress.rb b/lib/auth0/types/update_connection_request_content_wordpress.rb new file mode 100644 index 000000000..037642117 --- /dev/null +++ b/lib/auth0/types/update_connection_request_content_wordpress.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Update a connection with strategy=wordpress + class UpdateConnectionRequestContentWordpress < Internal::Types::Model + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsWordpress }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_connection_request_content_yahoo.rb b/lib/auth0/types/update_connection_request_content_yahoo.rb new file mode 100644 index 000000000..ae22b7826 --- /dev/null +++ b/lib/auth0/types/update_connection_request_content_yahoo.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Update a connection with strategy=yahoo + class UpdateConnectionRequestContentYahoo < Internal::Types::Model + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsYahoo }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_connection_request_content_yandex.rb b/lib/auth0/types/update_connection_request_content_yandex.rb new file mode 100644 index 000000000..3f146e8e7 --- /dev/null +++ b/lib/auth0/types/update_connection_request_content_yandex.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Update a connection with strategy=yandex + class UpdateConnectionRequestContentYandex < Internal::Types::Model + field :display_name, -> { String }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :options, -> { Auth0::Types::ConnectionOptionsYandex }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_connection_response_content.rb b/lib/auth0/types/update_connection_response_content.rb new file mode 100644 index 000000000..0decac7c2 --- /dev/null +++ b/lib/auth0/types/update_connection_response_content.rb @@ -0,0 +1,35 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UpdateConnectionResponseContent < Internal::Types::Model + field :name, -> { String }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :options, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :id, -> { String }, optional: true, nullable: false + + field :strategy, -> { String }, optional: true, nullable: false + + field :realms, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :enabled_clients, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :is_domain_connection, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :authentication, -> { Auth0::Types::ConnectionAuthenticationPurpose }, optional: true, nullable: false + + field :connected_accounts, -> { Auth0::Types::ConnectionConnectedAccountsPurpose }, optional: true, nullable: false + + field :cross_app_access_requesting_app, -> { Auth0::Types::CrossAppAccessRequestingApp }, optional: true, nullable: false + + field :cross_app_access_resource_app, -> { Auth0::Types::CrossAppAccessResourceApp }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_cross_app_access_resource_app.rb b/lib/auth0/types/update_cross_app_access_resource_app.rb new file mode 100644 index 000000000..d96723119 --- /dev/null +++ b/lib/auth0/types/update_cross_app_access_resource_app.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Cross App Access - Resource App settings that apply to this connection. + class UpdateCrossAppAccessResourceApp < Internal::Types::Model + field :status, -> { Auth0::Types::CrossAppAccessResourceAppStatusEnum }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/update_custom_domain_response_content.rb b/lib/auth0/types/update_custom_domain_response_content.rb new file mode 100644 index 000000000..6b64df620 --- /dev/null +++ b/lib/auth0/types/update_custom_domain_response_content.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UpdateCustomDomainResponseContent < Internal::Types::Model + field :custom_domain_id, -> { String }, optional: false, nullable: false + + field :domain, -> { String }, optional: false, nullable: false + + field :primary, -> { Internal::Types::Boolean }, optional: false, nullable: false + + field :is_default, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :status, -> { Auth0::Types::CustomDomainStatusFilterEnum }, optional: false, nullable: false + + field :type, -> { Auth0::Types::CustomDomainTypeEnum }, optional: false, nullable: false + + field :verification, -> { Auth0::Types::DomainVerification }, optional: false, nullable: false + + field :custom_client_ip_header, -> { String }, optional: true, nullable: false + + field :tls_policy, -> { String }, optional: true, nullable: false + + field :domain_metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :certificate, -> { Auth0::Types::DomainCertificate }, optional: true, nullable: false + + field :relying_party_identifier, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_default_canonical_domain_response_content.rb b/lib/auth0/types/update_default_canonical_domain_response_content.rb new file mode 100644 index 000000000..6bfb2c252 --- /dev/null +++ b/lib/auth0/types/update_default_canonical_domain_response_content.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UpdateDefaultCanonicalDomainResponseContent < Internal::Types::Model + field :domain, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/update_default_custom_domain_response_content.rb b/lib/auth0/types/update_default_custom_domain_response_content.rb new file mode 100644 index 000000000..f7718a51b --- /dev/null +++ b/lib/auth0/types/update_default_custom_domain_response_content.rb @@ -0,0 +1,33 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UpdateDefaultCustomDomainResponseContent < Internal::Types::Model + field :custom_domain_id, -> { String }, optional: false, nullable: false + + field :domain, -> { String }, optional: false, nullable: false + + field :primary, -> { Internal::Types::Boolean }, optional: false, nullable: false + + field :is_default, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :status, -> { Auth0::Types::CustomDomainStatusFilterEnum }, optional: false, nullable: false + + field :type, -> { Auth0::Types::CustomDomainTypeEnum }, optional: false, nullable: false + + field :origin_domain_name, -> { String }, optional: true, nullable: false + + field :verification, -> { Auth0::Types::DomainVerification }, optional: true, nullable: false + + field :custom_client_ip_header, -> { String }, optional: true, nullable: false + + field :tls_policy, -> { String }, optional: true, nullable: false + + field :domain_metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :certificate, -> { Auth0::Types::DomainCertificate }, optional: true, nullable: false + + field :relying_party_identifier, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_default_domain_response_content.rb b/lib/auth0/types/update_default_domain_response_content.rb new file mode 100644 index 000000000..f2e00bb47 --- /dev/null +++ b/lib/auth0/types/update_default_domain_response_content.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UpdateDefaultDomainResponseContent < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::UpdateDefaultCustomDomainResponseContent } + + member -> { Auth0::Types::UpdateDefaultCanonicalDomainResponseContent } + end + end +end diff --git a/lib/auth0/types/update_directory_provisioning_request_content.rb b/lib/auth0/types/update_directory_provisioning_request_content.rb new file mode 100644 index 000000000..4fd57bc9d --- /dev/null +++ b/lib/auth0/types/update_directory_provisioning_request_content.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UpdateDirectoryProvisioningRequestContent < Internal::Types::Model + field :mapping, -> { Internal::Types::Array[Auth0::Types::DirectoryProvisioningMappingItem] }, optional: true, nullable: false + + field :synchronize_automatically, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :synchronize_groups, -> { Auth0::Types::SynchronizeGroupsEnum }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_directory_provisioning_response_content.rb b/lib/auth0/types/update_directory_provisioning_response_content.rb new file mode 100644 index 000000000..34bb2e86f --- /dev/null +++ b/lib/auth0/types/update_directory_provisioning_response_content.rb @@ -0,0 +1,29 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UpdateDirectoryProvisioningResponseContent < Internal::Types::Model + field :connection_id, -> { String }, optional: false, nullable: false + + field :connection_name, -> { String }, optional: false, nullable: false + + field :strategy, -> { String }, optional: false, nullable: false + + field :mapping, -> { Internal::Types::Array[Auth0::Types::DirectoryProvisioningMappingItem] }, optional: false, nullable: false + + field :synchronize_automatically, -> { Internal::Types::Boolean }, optional: false, nullable: false + + field :synchronize_groups, -> { Auth0::Types::SynchronizeGroupsEnum }, optional: true, nullable: false + + field :created_at, -> { String }, optional: false, nullable: false + + field :updated_at, -> { String }, optional: false, nullable: false + + field :last_synchronization_at, -> { String }, optional: true, nullable: false + + field :last_synchronization_status, -> { String }, optional: true, nullable: false + + field :last_synchronization_error, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_email_provider_response_content.rb b/lib/auth0/types/update_email_provider_response_content.rb new file mode 100644 index 000000000..d770f6fcb --- /dev/null +++ b/lib/auth0/types/update_email_provider_response_content.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UpdateEmailProviderResponseContent < Internal::Types::Model + field :name, -> { String }, optional: true, nullable: false + + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :default_from_address, -> { String }, optional: true, nullable: false + + field :credentials, -> { Auth0::Types::EmailProviderCredentials }, optional: true, nullable: false + + field :settings, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_email_template_response_content.rb b/lib/auth0/types/update_email_template_response_content.rb new file mode 100644 index 000000000..e55ae8653 --- /dev/null +++ b/lib/auth0/types/update_email_template_response_content.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UpdateEmailTemplateResponseContent < Internal::Types::Model + field :template, -> { Auth0::Types::EmailTemplateNameEnum }, optional: true, nullable: false + + field :body, -> { String }, optional: true, nullable: false + + field :from, -> { String }, optional: true, nullable: false + + field :result_url, -> { String }, optional: true, nullable: false, api_name: "resultUrl" + + field :subject, -> { String }, optional: true, nullable: false + + field :syntax, -> { String }, optional: true, nullable: false + + field :url_lifetime_in_seconds, -> { Integer }, optional: true, nullable: false, api_name: "urlLifetimeInSeconds" + + field :include_email_in_redirect, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "includeEmailInRedirect" + + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_enabled_client_connections_request_content.rb b/lib/auth0/types/update_enabled_client_connections_request_content.rb new file mode 100644 index 000000000..f42b3ff51 --- /dev/null +++ b/lib/auth0/types/update_enabled_client_connections_request_content.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module UpdateEnabledClientConnectionsRequestContent + # UpdateEnabledClientConnectionsRequestContent is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/update_enabled_client_connections_request_content_item.rb b/lib/auth0/types/update_enabled_client_connections_request_content_item.rb new file mode 100644 index 000000000..7dd4c2004 --- /dev/null +++ b/lib/auth0/types/update_enabled_client_connections_request_content_item.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UpdateEnabledClientConnectionsRequestContentItem < Internal::Types::Model + field :client_id, -> { String }, optional: false, nullable: false + + field :status, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/update_event_stream_response_content.rb b/lib/auth0/types/update_event_stream_response_content.rb new file mode 100644 index 000000000..7536fd6ca --- /dev/null +++ b/lib/auth0/types/update_event_stream_response_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UpdateEventStreamResponseContent < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::EventStreamWebhookResponseContent } + + member -> { Auth0::Types::EventStreamEventBridgeResponseContent } + + member -> { Auth0::Types::EventStreamActionResponseContent } + end + end +end diff --git a/lib/auth0/types/update_flow_response_content.rb b/lib/auth0/types/update_flow_response_content.rb new file mode 100644 index 000000000..52e87ddf1 --- /dev/null +++ b/lib/auth0/types/update_flow_response_content.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UpdateFlowResponseContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :actions, -> { Internal::Types::Array[Auth0::Types::FlowAction] }, optional: true, nullable: false + + field :created_at, -> { String }, optional: false, nullable: false + + field :updated_at, -> { String }, optional: false, nullable: false + + field :executed_at, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_flows_vault_connection_response_content.rb b/lib/auth0/types/update_flows_vault_connection_response_content.rb new file mode 100644 index 000000000..8535c012a --- /dev/null +++ b/lib/auth0/types/update_flows_vault_connection_response_content.rb @@ -0,0 +1,27 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UpdateFlowsVaultConnectionResponseContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :app_id, -> { String }, optional: false, nullable: false + + field :environment, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :account_name, -> { String }, optional: true, nullable: false + + field :ready, -> { Internal::Types::Boolean }, optional: false, nullable: false + + field :created_at, -> { String }, optional: false, nullable: false + + field :updated_at, -> { String }, optional: false, nullable: false + + field :refreshed_at, -> { String }, optional: true, nullable: false + + field :fingerprint, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/update_flows_vault_connection_setup.rb b/lib/auth0/types/update_flows_vault_connection_setup.rb new file mode 100644 index 000000000..6989035c3 --- /dev/null +++ b/lib/auth0/types/update_flows_vault_connection_setup.rb @@ -0,0 +1,42 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Flows Vault Connection configuration. + class UpdateFlowsVaultConnectionSetup < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::FlowsVaultConnectioSetupAPIKeyWithBaseURL } + + member -> { Auth0::Types::FlowsVaultConnectioSetupAPIKey } + + member -> { Auth0::Types::FlowsVaultConnectioSetupOauthApp } + + member -> { Auth0::Types::FlowsVaultConnectioSetupBigqueryOauthJwt } + + member -> { Auth0::Types::FlowsVaultConnectioSetupSecretAPIKey } + + member -> { Auth0::Types::FlowsVaultConnectioSetupHTTPBearer } + + member -> { Auth0::Types::FlowsVaultConnectionHTTPBasicAuthSetup } + + member -> { Auth0::Types::FlowsVaultConnectionHttpApiKeySetup } + + member -> { Auth0::Types::FlowsVaultConnectionHTTPOauthClientCredentialsSetup } + + member -> { Auth0::Types::FlowsVaultConnectioSetupJwt } + + member -> { Auth0::Types::FlowsVaultConnectioSetupMailjetAPIKey } + + member -> { Auth0::Types::FlowsVaultConnectioSetupToken } + + member -> { Auth0::Types::FlowsVaultConnectioSetupWebhook } + + member -> { Auth0::Types::FlowsVaultConnectioSetupStripeKeyPair } + + member -> { Auth0::Types::FlowsVaultConnectioSetupOauthCode } + + member -> { Auth0::Types::FlowsVaultConnectioSetupTwilioAPIKey } + end + end +end diff --git a/lib/auth0/types/update_form_response_content.rb b/lib/auth0/types/update_form_response_content.rb new file mode 100644 index 000000000..73f0b842f --- /dev/null +++ b/lib/auth0/types/update_form_response_content.rb @@ -0,0 +1,33 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UpdateFormResponseContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :messages, -> { Auth0::Types::FormMessages }, optional: true, nullable: false + + field :languages, -> { Auth0::Types::FormLanguages }, optional: true, nullable: false + + field :translations, -> { Internal::Types::Hash[String, Internal::Types::Hash[String, Object]] }, optional: true, nullable: false + + field :nodes, -> { Internal::Types::Array[Auth0::Types::FormNode] }, optional: true, nullable: false + + field :start, -> { Auth0::Types::FormStartNode }, optional: true, nullable: false + + field :ending, -> { Auth0::Types::FormEndingNode }, optional: true, nullable: false + + field :style, -> { Auth0::Types::FormStyle }, optional: true, nullable: false + + field :created_at, -> { String }, optional: false, nullable: false + + field :updated_at, -> { String }, optional: false, nullable: false + + field :embedded_at, -> { String }, optional: true, nullable: false + + field :submitted_at, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_guardian_factor_duo_settings_response_content.rb b/lib/auth0/types/update_guardian_factor_duo_settings_response_content.rb new file mode 100644 index 000000000..2eae97537 --- /dev/null +++ b/lib/auth0/types/update_guardian_factor_duo_settings_response_content.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UpdateGuardianFactorDuoSettingsResponseContent < Internal::Types::Model + field :ikey, -> { String }, optional: true, nullable: false + + field :skey, -> { String }, optional: true, nullable: false + + field :host, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_guardian_factors_provider_push_notification_apns_response_content.rb b/lib/auth0/types/update_guardian_factors_provider_push_notification_apns_response_content.rb new file mode 100644 index 000000000..b58cb108e --- /dev/null +++ b/lib/auth0/types/update_guardian_factors_provider_push_notification_apns_response_content.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UpdateGuardianFactorsProviderPushNotificationApnsResponseContent < Internal::Types::Model + field :sandbox, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :bundle_id, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_guardian_factors_provider_push_notification_fcm_response_content.rb b/lib/auth0/types/update_guardian_factors_provider_push_notification_fcm_response_content.rb new file mode 100644 index 000000000..1c37cc2a4 --- /dev/null +++ b/lib/auth0/types/update_guardian_factors_provider_push_notification_fcm_response_content.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module UpdateGuardianFactorsProviderPushNotificationFcmResponseContent + # UpdateGuardianFactorsProviderPushNotificationFcmResponseContent is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/update_guardian_factors_provider_push_notification_fcmv1response_content.rb b/lib/auth0/types/update_guardian_factors_provider_push_notification_fcmv1response_content.rb new file mode 100644 index 000000000..9aa78b137 --- /dev/null +++ b/lib/auth0/types/update_guardian_factors_provider_push_notification_fcmv1response_content.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module UpdateGuardianFactorsProviderPushNotificationFcmv1ResponseContent + # UpdateGuardianFactorsProviderPushNotificationFcmv1ResponseContent is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/update_guardian_factors_provider_push_notification_sns_response_content.rb b/lib/auth0/types/update_guardian_factors_provider_push_notification_sns_response_content.rb new file mode 100644 index 000000000..59e11cbcc --- /dev/null +++ b/lib/auth0/types/update_guardian_factors_provider_push_notification_sns_response_content.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UpdateGuardianFactorsProviderPushNotificationSnsResponseContent < Internal::Types::Model + field :aws_access_key_id, -> { String }, optional: true, nullable: false + + field :aws_secret_access_key, -> { String }, optional: true, nullable: false + + field :aws_region, -> { String }, optional: true, nullable: false + + field :sns_apns_platform_application_arn, -> { String }, optional: true, nullable: false + + field :sns_gcm_platform_application_arn, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_hook_response_content.rb b/lib/auth0/types/update_hook_response_content.rb new file mode 100644 index 000000000..4c493e35c --- /dev/null +++ b/lib/auth0/types/update_hook_response_content.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UpdateHookResponseContent < Internal::Types::Model + field :trigger_id, -> { String }, optional: true, nullable: false, api_name: "triggerId" + + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :script, -> { String }, optional: true, nullable: false + + field :dependencies, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_hook_secret_request_content.rb b/lib/auth0/types/update_hook_secret_request_content.rb new file mode 100644 index 000000000..46b74df68 --- /dev/null +++ b/lib/auth0/types/update_hook_secret_request_content.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module UpdateHookSecretRequestContent + # UpdateHookSecretRequestContent is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/update_identity_assertion_authorization_grant.rb b/lib/auth0/types/update_identity_assertion_authorization_grant.rb new file mode 100644 index 000000000..5b4bca29e --- /dev/null +++ b/lib/auth0/types/update_identity_assertion_authorization_grant.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configuration on the use of ID-JAGs for Cross App Access. + class UpdateIdentityAssertionAuthorizationGrant < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/update_log_stream_response_content.rb b/lib/auth0/types/update_log_stream_response_content.rb new file mode 100644 index 000000000..98a040a05 --- /dev/null +++ b/lib/auth0/types/update_log_stream_response_content.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UpdateLogStreamResponseContent < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { Auth0::Types::LogStreamHTTPResponseSchema } + + member -> { Auth0::Types::LogStreamEventBridgeResponseSchema } + + member -> { Auth0::Types::LogStreamEventGridResponseSchema } + + member -> { Auth0::Types::LogStreamDatadogResponseSchema } + + member -> { Auth0::Types::LogStreamSplunkResponseSchema } + + member -> { Auth0::Types::LogStreamSumoResponseSchema } + + member -> { Auth0::Types::LogStreamSegmentResponseSchema } + + member -> { Auth0::Types::LogStreamMixpanelResponseSchema } + end + end +end diff --git a/lib/auth0/types/update_network_acl_response_content.rb b/lib/auth0/types/update_network_acl_response_content.rb new file mode 100644 index 000000000..68548e8e4 --- /dev/null +++ b/lib/auth0/types/update_network_acl_response_content.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UpdateNetworkACLResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :description, -> { String }, optional: true, nullable: false + + field :active, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :priority, -> { Integer }, optional: true, nullable: false + + field :rule, -> { Auth0::Types::NetworkACLRule }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :updated_at, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_organization_all_connection_response_content.rb b/lib/auth0/types/update_organization_all_connection_response_content.rb new file mode 100644 index 000000000..6ab2aeda9 --- /dev/null +++ b/lib/auth0/types/update_organization_all_connection_response_content.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UpdateOrganizationAllConnectionResponseContent < Internal::Types::Model + field :organization_connection_name, -> { String }, optional: true, nullable: false + + field :assign_membership_on_login, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :is_signup_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :organization_access_level, -> { Auth0::Types::OrganizationAccessLevelEnum }, optional: true, nullable: false + + field :is_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :connection_id, -> { String }, optional: false, nullable: false + + field :connection, -> { Auth0::Types::OrganizationConnectionInformation }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_organization_client_response_content.rb b/lib/auth0/types/update_organization_client_response_content.rb new file mode 100644 index 000000000..dd8ace88d --- /dev/null +++ b/lib/auth0/types/update_organization_client_response_content.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UpdateOrganizationClientResponseContent < Internal::Types::Model + field :client_id, -> { String }, optional: false, nullable: false + + field :use_for_member_access, -> { Internal::Types::Boolean }, optional: false, nullable: false + + field :client, -> { Auth0::Types::OrganizationClientMetadata }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_organization_connection_response_content.rb b/lib/auth0/types/update_organization_connection_response_content.rb new file mode 100644 index 000000000..4fb8d1d9c --- /dev/null +++ b/lib/auth0/types/update_organization_connection_response_content.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UpdateOrganizationConnectionResponseContent < Internal::Types::Model + field :connection_id, -> { String }, optional: true, nullable: false + + field :assign_membership_on_login, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :show_as_button, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :is_signup_enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :connection, -> { Auth0::Types::OrganizationConnectionInformation }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_organization_discovery_domain_response_content.rb b/lib/auth0/types/update_organization_discovery_domain_response_content.rb new file mode 100644 index 000000000..e53c01d42 --- /dev/null +++ b/lib/auth0/types/update_organization_discovery_domain_response_content.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UpdateOrganizationDiscoveryDomainResponseContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :domain, -> { String }, optional: false, nullable: false + + field :status, -> { Auth0::Types::OrganizationDiscoveryDomainStatus }, optional: false, nullable: false + + field :use_for_organization_discovery, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :verification_txt, -> { String }, optional: false, nullable: false + + field :verification_host, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/update_organization_response_content.rb b/lib/auth0/types/update_organization_response_content.rb new file mode 100644 index 000000000..921e9c483 --- /dev/null +++ b/lib/auth0/types/update_organization_response_content.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UpdateOrganizationResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :branding, -> { Auth0::Types::OrganizationBranding }, optional: true, nullable: false + + field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :token_quota, -> { Auth0::Types::TokenQuota }, optional: true, nullable: false + + field :third_party_client_access, -> { Auth0::Types::OrganizationThirdPartyClientAccessEnum }, optional: true, nullable: false + + field :is_app_entitlement_active, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :client, -> { Auth0::Types::OrganizationClientAssociation }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_phone_template_response_content.rb b/lib/auth0/types/update_phone_template_response_content.rb new file mode 100644 index 000000000..ab0480aeb --- /dev/null +++ b/lib/auth0/types/update_phone_template_response_content.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UpdatePhoneTemplateResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :channel, -> { String }, optional: true, nullable: false + + field :customizable, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :tenant, -> { String }, optional: true, nullable: false + + field :content, -> { Auth0::Types::PhoneTemplateContent }, optional: false, nullable: false + + field :type, -> { Auth0::Types::PhoneTemplateNotificationTypeEnum }, optional: false, nullable: false + + field :disabled, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/update_rate_limit_policy_response_content.rb b/lib/auth0/types/update_rate_limit_policy_response_content.rb new file mode 100644 index 000000000..528b3159d --- /dev/null +++ b/lib/auth0/types/update_rate_limit_policy_response_content.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UpdateRateLimitPolicyResponseContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :resource, -> { Auth0::Types::RateLimitPolicyResourceEnum }, optional: false, nullable: false + + field :consumer, -> { Auth0::Types::RateLimitPolicyConsumerEnum }, optional: false, nullable: false + + field :consumer_selector, -> { String }, optional: false, nullable: false + + field :configuration, -> { Auth0::Types::RateLimitPolicyConfiguration }, optional: false, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :updated_at, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_refresh_token_response_content.rb b/lib/auth0/types/update_refresh_token_response_content.rb new file mode 100644 index 000000000..9a09676d7 --- /dev/null +++ b/lib/auth0/types/update_refresh_token_response_content.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UpdateRefreshTokenResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :user_id, -> { String }, optional: true, nullable: false + + field :created_at, -> { Auth0::Types::RefreshTokenDate }, optional: true, nullable: false + + field :idle_expires_at, -> { Auth0::Types::RefreshTokenDate }, optional: true, nullable: false + + field :expires_at, -> { Auth0::Types::RefreshTokenDate }, optional: true, nullable: false + + field :device, -> { Auth0::Types::RefreshTokenDevice }, optional: true, nullable: false + + field :client_id, -> { String }, optional: true, nullable: false + + field :session_id, -> { String }, optional: true, nullable: false + + field :rotating, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :resource_servers, -> { Internal::Types::Array[Auth0::Types::RefreshTokenResourceServer] }, optional: true, nullable: false + + field :refresh_token_metadata, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :last_exchanged_at, -> { Auth0::Types::RefreshTokenDate }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_resource_server_response_content.rb b/lib/auth0/types/update_resource_server_response_content.rb new file mode 100644 index 000000000..4f0d72fe3 --- /dev/null +++ b/lib/auth0/types/update_resource_server_response_content.rb @@ -0,0 +1,51 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UpdateResourceServerResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :is_system, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :identifier, -> { String }, optional: true, nullable: false + + field :scopes, -> { Internal::Types::Array[Auth0::Types::ResourceServerScope] }, optional: true, nullable: false + + field :signing_alg, -> { Auth0::Types::SigningAlgorithmEnum }, optional: true, nullable: false + + field :signing_secret, -> { String }, optional: true, nullable: false + + field :allow_offline_access, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :allow_online_access, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :allow_online_access_with_ephemeral_sessions, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :skip_consent_for_verifiable_first_party_clients, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :token_lifetime, -> { Integer }, optional: true, nullable: false + + field :token_lifetime_for_web, -> { Integer }, optional: true, nullable: false + + field :enforce_policies, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :token_dialect, -> { Auth0::Types::ResourceServerTokenDialectResponseEnum }, optional: true, nullable: false + + field :token_encryption, -> { Auth0::Types::ResourceServerTokenEncryption }, optional: true, nullable: false + + field :consent_policy, -> { Auth0::Types::ResourceServerConsentPolicyEnum }, optional: true, nullable: false + + field :authorization_details, -> { Internal::Types::Array[Object] }, optional: true, nullable: false + + field :proof_of_possession, -> { Auth0::Types::ResourceServerProofOfPossession }, optional: true, nullable: false + + field :subject_type_authorization, -> { Auth0::Types::ResourceServerSubjectTypeAuthorization }, optional: true, nullable: false + + field :authorization_policy, -> { Auth0::Types::ResourceServerAuthorizationPolicy }, optional: true, nullable: false + + field :client_id, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_risk_assessments_settings_new_device_response_content.rb b/lib/auth0/types/update_risk_assessments_settings_new_device_response_content.rb new file mode 100644 index 000000000..e860b7ac3 --- /dev/null +++ b/lib/auth0/types/update_risk_assessments_settings_new_device_response_content.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UpdateRiskAssessmentsSettingsNewDeviceResponseContent < Internal::Types::Model + field :remember_for, -> { Integer }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/update_risk_assessments_settings_response_content.rb b/lib/auth0/types/update_risk_assessments_settings_response_content.rb new file mode 100644 index 000000000..8823c74f3 --- /dev/null +++ b/lib/auth0/types/update_risk_assessments_settings_response_content.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UpdateRiskAssessmentsSettingsResponseContent < Internal::Types::Model + field :enabled, -> { Internal::Types::Boolean }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/update_role_response_content.rb b/lib/auth0/types/update_role_response_content.rb new file mode 100644 index 000000000..9e33ac9a2 --- /dev/null +++ b/lib/auth0/types/update_role_response_content.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UpdateRoleResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :description, -> { String }, optional: true, nullable: false + + field :type, -> { Auth0::Types::RoleTypeEnum }, optional: true, nullable: false + + field :owner_id, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_rule_response_content.rb b/lib/auth0/types/update_rule_response_content.rb new file mode 100644 index 000000000..9df827624 --- /dev/null +++ b/lib/auth0/types/update_rule_response_content.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UpdateRuleResponseContent < Internal::Types::Model + field :name, -> { String }, optional: true, nullable: false + + field :id, -> { String }, optional: true, nullable: false + + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :script, -> { String }, optional: true, nullable: false + + field :order, -> { Integer }, optional: true, nullable: false + + field :stage, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_scim_configuration_response_content.rb b/lib/auth0/types/update_scim_configuration_response_content.rb new file mode 100644 index 000000000..e7f7bd4d3 --- /dev/null +++ b/lib/auth0/types/update_scim_configuration_response_content.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UpdateSCIMConfigurationResponseContent < Internal::Types::Model + field :connection_id, -> { String }, optional: false, nullable: false + + field :connection_name, -> { String }, optional: false, nullable: false + + field :strategy, -> { String }, optional: false, nullable: false + + field :tenant_name, -> { String }, optional: false, nullable: false + + field :user_id_attribute, -> { String }, optional: false, nullable: false + + field :mapping, -> { Internal::Types::Array[Auth0::Types::SCIMMappingItem] }, optional: false, nullable: false + + field :created_at, -> { String }, optional: false, nullable: false + + field :updated_on, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/update_self_service_profile_response_content.rb b/lib/auth0/types/update_self_service_profile_response_content.rb new file mode 100644 index 000000000..3140a6a3e --- /dev/null +++ b/lib/auth0/types/update_self_service_profile_response_content.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UpdateSelfServiceProfileResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :description, -> { String }, optional: true, nullable: false + + field :user_attributes, -> { Internal::Types::Array[Auth0::Types::SelfServiceProfileUserAttribute] }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :updated_at, -> { String }, optional: true, nullable: false + + field :branding, -> { Auth0::Types::SelfServiceProfileBrandingProperties }, optional: true, nullable: false + + field :allowed_strategies, -> { Internal::Types::Array[Auth0::Types::SelfServiceProfileAllowedStrategyEnum] }, optional: true, nullable: false + + field :user_attribute_profile_id, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_session_response_content.rb b/lib/auth0/types/update_session_response_content.rb new file mode 100644 index 000000000..c9dee44b0 --- /dev/null +++ b/lib/auth0/types/update_session_response_content.rb @@ -0,0 +1,35 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UpdateSessionResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :user_id, -> { String }, optional: true, nullable: false + + field :created_at, -> { Auth0::Types::SessionDate }, optional: true, nullable: false + + field :updated_at, -> { Auth0::Types::SessionDate }, optional: true, nullable: false + + field :authenticated_at, -> { Auth0::Types::SessionDate }, optional: true, nullable: false + + field :idle_expires_at, -> { Auth0::Types::SessionDate }, optional: true, nullable: false + + field :expires_at, -> { Auth0::Types::SessionDate }, optional: true, nullable: false + + field :last_interacted_at, -> { Auth0::Types::SessionDate }, optional: true, nullable: false + + field :device, -> { Auth0::Types::SessionDeviceMetadata }, optional: true, nullable: false + + field :clients, -> { Internal::Types::Array[Auth0::Types::SessionClientMetadata] }, optional: true, nullable: false + + field :authentication, -> { Auth0::Types::SessionAuthenticationSignals }, optional: true, nullable: false + + field :cookie, -> { Auth0::Types::SessionCookieMetadata }, optional: true, nullable: false + + field :session_metadata, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :actor, -> { Auth0::Types::SessionActorMetadata }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_settings_response_content.rb b/lib/auth0/types/update_settings_response_content.rb new file mode 100644 index 000000000..6320730f8 --- /dev/null +++ b/lib/auth0/types/update_settings_response_content.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UpdateSettingsResponseContent < Internal::Types::Model + field :universal_login_experience, -> { Auth0::Types::UniversalLoginExperienceEnum }, optional: true, nullable: false + + field :identifier_first, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :webauthn_platform_first_factor, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_suspicious_ip_throttling_settings_response_content.rb b/lib/auth0/types/update_suspicious_ip_throttling_settings_response_content.rb new file mode 100644 index 000000000..b3e25291a --- /dev/null +++ b/lib/auth0/types/update_suspicious_ip_throttling_settings_response_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UpdateSuspiciousIPThrottlingSettingsResponseContent < Internal::Types::Model + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :shields, -> { Internal::Types::Array[Auth0::Types::SuspiciousIPThrottlingShieldsEnum] }, optional: true, nullable: false + + field :allowlist, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :stage, -> { Auth0::Types::SuspiciousIPThrottlingStage }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_tenant_settings_response_content.rb b/lib/auth0/types/update_tenant_settings_response_content.rb new file mode 100644 index 000000000..9f0000a9c --- /dev/null +++ b/lib/auth0/types/update_tenant_settings_response_content.rb @@ -0,0 +1,87 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UpdateTenantSettingsResponseContent < Internal::Types::Model + field :change_password, -> { Auth0::Types::TenantSettingsPasswordPage }, optional: true, nullable: false + + field :guardian_mfa_page, -> { Auth0::Types::TenantSettingsGuardianPage }, optional: true, nullable: false + + field :default_audience, -> { String }, optional: true, nullable: false + + field :default_directory, -> { String }, optional: true, nullable: false + + field :error_page, -> { Auth0::Types::TenantSettingsErrorPage }, optional: true, nullable: false + + field :device_flow, -> { Auth0::Types::TenantSettingsDeviceFlow }, optional: true, nullable: false + + field :default_token_quota, -> { Auth0::Types::DefaultTokenQuota }, optional: true, nullable: false + + field :flags, -> { Auth0::Types::TenantSettingsFlags }, optional: true, nullable: false + + field :friendly_name, -> { String }, optional: true, nullable: false + + field :picture_url, -> { String }, optional: true, nullable: false + + field :support_email, -> { String }, optional: true, nullable: false + + field :support_url, -> { String }, optional: true, nullable: false + + field :allowed_logout_urls, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :session_lifetime, -> { Integer }, optional: true, nullable: false + + field :idle_session_lifetime, -> { Integer }, optional: true, nullable: false + + field :ephemeral_session_lifetime, -> { Integer }, optional: true, nullable: false + + field :idle_ephemeral_session_lifetime, -> { Integer }, optional: true, nullable: false + + field :sandbox_version, -> { String }, optional: true, nullable: false + + field :legacy_sandbox_version, -> { String }, optional: true, nullable: false + + field :sandbox_versions_available, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :default_redirection_uri, -> { String }, optional: true, nullable: false + + field :enabled_locales, -> { Internal::Types::Array[Auth0::Types::SupportedLocales] }, optional: true, nullable: false + + field :security_headers, -> { Auth0::Types::TenantSettingsNullableSecurityHeaders }, optional: true, nullable: false + + field :session_cookie, -> { Auth0::Types::SessionCookieSchema }, optional: true, nullable: false + + field :sessions, -> { Auth0::Types::TenantSettingsSessions }, optional: true, nullable: false + + field :oidc_logout, -> { Auth0::Types::TenantOidcLogoutSettings }, optional: true, nullable: false + + field :allow_organization_name_in_authentication_api, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :customize_mfa_in_postlogin_action, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :acr_values_supported, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :mtls, -> { Auth0::Types::TenantSettingsMtls }, optional: true, nullable: false + + field :pushed_authorization_requests_supported, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :authorization_response_iss_parameter_supported, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :skip_non_verifiable_callback_uri_confirmation_prompt, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :resource_parameter_profile, -> { Auth0::Types::TenantSettingsResourceParameterProfile }, optional: true, nullable: false + + field :client_id_metadata_document_supported, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :phone_consolidated_experience, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :enable_ai_guide, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :include_session_metadata_in_tenant_logs, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :dynamic_client_registration_security_mode, -> { Auth0::Types::TenantSettingsDynamicClientRegistrationSecurityMode }, optional: true, nullable: false + + field :country_codes, -> { Auth0::Types::TenantSettingsCountryCodesResponse }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_token_quota.rb b/lib/auth0/types/update_token_quota.rb new file mode 100644 index 000000000..78b5e87f1 --- /dev/null +++ b/lib/auth0/types/update_token_quota.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UpdateTokenQuota < Internal::Types::Model + field :client_credentials, -> { Auth0::Types::TokenQuotaClientCredentials }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/update_universal_login_template_request_content.rb b/lib/auth0/types/update_universal_login_template_request_content.rb new file mode 100644 index 000000000..b2ee161e5 --- /dev/null +++ b/lib/auth0/types/update_universal_login_template_request_content.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UpdateUniversalLoginTemplateRequestContent < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { String } + + member -> { Auth0::Types::UpdateUniversalLoginTemplateRequestContentTemplate } + end + end +end diff --git a/lib/auth0/types/update_universal_login_template_request_content_template.rb b/lib/auth0/types/update_universal_login_template_request_content_template.rb new file mode 100644 index 000000000..624cdfe05 --- /dev/null +++ b/lib/auth0/types/update_universal_login_template_request_content_template.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UpdateUniversalLoginTemplateRequestContentTemplate < Internal::Types::Model + field :template, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/update_user_attribute_profile_response_content.rb b/lib/auth0/types/update_user_attribute_profile_response_content.rb new file mode 100644 index 000000000..901459f6d --- /dev/null +++ b/lib/auth0/types/update_user_attribute_profile_response_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UpdateUserAttributeProfileResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :user_id, -> { Auth0::Types::UserAttributeProfileUserID }, optional: true, nullable: false + + field :user_attributes, -> { Internal::Types::Hash[String, Auth0::Types::UserAttributeProfileUserAttributeAdditionalProperties] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_user_authentication_method_response_content.rb b/lib/auth0/types/update_user_authentication_method_response_content.rb new file mode 100644 index 000000000..7503bf4ef --- /dev/null +++ b/lib/auth0/types/update_user_authentication_method_response_content.rb @@ -0,0 +1,36 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The successfully created authentication method. + class UpdateUserAuthenticationMethodResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :type, -> { Auth0::Types::CreatedAuthenticationMethodTypeEnum }, optional: false, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :totp_secret, -> { String }, optional: true, nullable: false + + field :phone_number, -> { String }, optional: true, nullable: false + + field :email, -> { String }, optional: true, nullable: false + + field :authentication_methods, -> { Internal::Types::Array[Auth0::Types::UserAuthenticationMethodProperties] }, optional: true, nullable: false + + field :preferred_authentication_method, -> { Auth0::Types::PreferredAuthenticationMethodEnum }, optional: true, nullable: false + + field :key_id, -> { String }, optional: true, nullable: false + + field :public_key, -> { String }, optional: true, nullable: false + + field :aaguid, -> { String }, optional: true, nullable: false + + field :relying_party_identifier, -> { String }, optional: true, nullable: false + + field :confirmed, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_user_response_content.rb b/lib/auth0/types/update_user_response_content.rb new file mode 100644 index 000000000..c72fd4c4b --- /dev/null +++ b/lib/auth0/types/update_user_response_content.rb @@ -0,0 +1,53 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UpdateUserResponseContent < Internal::Types::Model + field :user_id, -> { String }, optional: true, nullable: false + + field :email, -> { String }, optional: true, nullable: false + + field :email_verified, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :username, -> { String }, optional: true, nullable: false + + field :phone_number, -> { String }, optional: true, nullable: false + + field :phone_verified, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :updated_at, -> { String }, optional: true, nullable: false + + field :identities, -> { Internal::Types::Array[Auth0::Types::UserIdentitySchema] }, optional: true, nullable: false + + field :app_metadata, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :user_metadata, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :picture, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :nickname, -> { String }, optional: true, nullable: false + + field :multifactor, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :multifactor_last_modified, -> { String }, optional: true, nullable: false + + field :last_ip, -> { String }, optional: true, nullable: false + + field :last_login, -> { String }, optional: true, nullable: false + + field :last_password_reset, -> { String }, optional: true, nullable: false + + field :logins_count, -> { Integer }, optional: true, nullable: false + + field :blocked, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :given_name, -> { String }, optional: true, nullable: false + + field :family_name, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/update_verifiable_credential_template_response_content.rb b/lib/auth0/types/update_verifiable_credential_template_response_content.rb new file mode 100644 index 000000000..561f4d8a0 --- /dev/null +++ b/lib/auth0/types/update_verifiable_credential_template_response_content.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UpdateVerifiableCredentialTemplateResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :type, -> { String }, optional: true, nullable: false + + field :dialect, -> { String }, optional: true, nullable: false + + field :presentation, -> { Auth0::Types::MdlPresentationRequest }, optional: true, nullable: false + + field :custom_certificate_authority, -> { String }, optional: true, nullable: false + + field :well_known_trusted_issuers, -> { String }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :updated_at, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/user_app_metadata_schema.rb b/lib/auth0/types/user_app_metadata_schema.rb new file mode 100644 index 000000000..1a18e3875 --- /dev/null +++ b/lib/auth0/types/user_app_metadata_schema.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module UserAppMetadataSchema + # UserAppMetadataSchema is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/user_attribute_profile.rb b/lib/auth0/types/user_attribute_profile.rb new file mode 100644 index 000000000..ff6d88a93 --- /dev/null +++ b/lib/auth0/types/user_attribute_profile.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UserAttributeProfile < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :user_id, -> { Auth0::Types::UserAttributeProfileUserID }, optional: true, nullable: false + + field :user_attributes, -> { Internal::Types::Hash[String, Auth0::Types::UserAttributeProfileUserAttributeAdditionalProperties] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/user_attribute_profile_id.rb b/lib/auth0/types/user_attribute_profile_id.rb new file mode 100644 index 000000000..42a29480e --- /dev/null +++ b/lib/auth0/types/user_attribute_profile_id.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module UserAttributeProfileID + # UserAttributeProfileID is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/user_attribute_profile_name.rb b/lib/auth0/types/user_attribute_profile_name.rb new file mode 100644 index 000000000..8bdf6f8aa --- /dev/null +++ b/lib/auth0/types/user_attribute_profile_name.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module UserAttributeProfileName + # UserAttributeProfileName is an alias for String + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/user_attribute_profile_oidc_mapping.rb b/lib/auth0/types/user_attribute_profile_oidc_mapping.rb new file mode 100644 index 000000000..f730988a0 --- /dev/null +++ b/lib/auth0/types/user_attribute_profile_oidc_mapping.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # OIDC mapping for this attribute + class UserAttributeProfileOidcMapping < Internal::Types::Model + field :mapping, -> { String }, optional: false, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/user_attribute_profile_patch_user_id.rb b/lib/auth0/types/user_attribute_profile_patch_user_id.rb new file mode 100644 index 000000000..deb20abf1 --- /dev/null +++ b/lib/auth0/types/user_attribute_profile_patch_user_id.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module UserAttributeProfilePatchUserID + # UserAttributeProfilePatchUserID is an alias for Object + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/user_attribute_profile_saml_mapping.rb b/lib/auth0/types/user_attribute_profile_saml_mapping.rb new file mode 100644 index 000000000..d1bce4229 --- /dev/null +++ b/lib/auth0/types/user_attribute_profile_saml_mapping.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module UserAttributeProfileSAMLMapping + # UserAttributeProfileSAMLMapping is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/user_attribute_profile_strategy_overrides.rb b/lib/auth0/types/user_attribute_profile_strategy_overrides.rb new file mode 100644 index 000000000..237a91985 --- /dev/null +++ b/lib/auth0/types/user_attribute_profile_strategy_overrides.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Strategy-specific overrides for this attribute + class UserAttributeProfileStrategyOverrides < Internal::Types::Model + field :pingfederate, -> { Auth0::Types::UserAttributeProfileStrategyOverridesMapping }, optional: true, nullable: false + + field :ad, -> { Auth0::Types::UserAttributeProfileStrategyOverridesMapping }, optional: true, nullable: false + + field :adfs, -> { Auth0::Types::UserAttributeProfileStrategyOverridesMapping }, optional: true, nullable: false + + field :waad, -> { Auth0::Types::UserAttributeProfileStrategyOverridesMapping }, optional: true, nullable: false + + field :google_apps, -> { Auth0::Types::UserAttributeProfileStrategyOverridesMapping }, optional: true, nullable: false, api_name: "google-apps" + + field :okta, -> { Auth0::Types::UserAttributeProfileStrategyOverridesMapping }, optional: true, nullable: false + + field :oidc, -> { Auth0::Types::UserAttributeProfileStrategyOverridesMapping }, optional: true, nullable: false + + field :samlp, -> { Auth0::Types::UserAttributeProfileStrategyOverridesMapping }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/user_attribute_profile_strategy_overrides_mapping.rb b/lib/auth0/types/user_attribute_profile_strategy_overrides_mapping.rb new file mode 100644 index 000000000..c203d1f3d --- /dev/null +++ b/lib/auth0/types/user_attribute_profile_strategy_overrides_mapping.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UserAttributeProfileStrategyOverridesMapping < Internal::Types::Model + field :oidc_mapping, -> { Auth0::Types::UserAttributeProfileOidcMapping }, optional: true, nullable: false + + field :saml_mapping, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :scim_mapping, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/user_attribute_profile_strategy_overrides_user_id.rb b/lib/auth0/types/user_attribute_profile_strategy_overrides_user_id.rb new file mode 100644 index 000000000..086455b2c --- /dev/null +++ b/lib/auth0/types/user_attribute_profile_strategy_overrides_user_id.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Strategy-specific overrides for user ID + class UserAttributeProfileStrategyOverridesUserID < Internal::Types::Model + field :pingfederate, -> { Auth0::Types::UserAttributeProfileStrategyOverridesUserIDMapping }, optional: true, nullable: false + + field :ad, -> { Auth0::Types::UserAttributeProfileStrategyOverridesUserIDMapping }, optional: true, nullable: false + + field :adfs, -> { Auth0::Types::UserAttributeProfileStrategyOverridesUserIDMapping }, optional: true, nullable: false + + field :waad, -> { Auth0::Types::UserAttributeProfileStrategyOverridesUserIDMapping }, optional: true, nullable: false + + field :google_apps, -> { Auth0::Types::UserAttributeProfileStrategyOverridesUserIDMapping }, optional: true, nullable: false, api_name: "google-apps" + + field :okta, -> { Auth0::Types::UserAttributeProfileStrategyOverridesUserIDMapping }, optional: true, nullable: false + + field :oidc, -> { Auth0::Types::UserAttributeProfileStrategyOverridesUserIDMapping }, optional: true, nullable: false + + field :samlp, -> { Auth0::Types::UserAttributeProfileStrategyOverridesUserIDMapping }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/user_attribute_profile_strategy_overrides_user_id_mapping.rb b/lib/auth0/types/user_attribute_profile_strategy_overrides_user_id_mapping.rb new file mode 100644 index 000000000..6fcb99c2e --- /dev/null +++ b/lib/auth0/types/user_attribute_profile_strategy_overrides_user_id_mapping.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UserAttributeProfileStrategyOverridesUserIDMapping < Internal::Types::Model + field :oidc_mapping, -> { Auth0::Types::UserAttributeProfileUserIDOidcStrategyOverrideMapping }, optional: true, nullable: false + + field :saml_mapping, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :scim_mapping, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/user_attribute_profile_template.rb b/lib/auth0/types/user_attribute_profile_template.rb new file mode 100644 index 000000000..2e00bf11e --- /dev/null +++ b/lib/auth0/types/user_attribute_profile_template.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # The structure of the template, which can be used as the payload for creating or updating a User Attribute Profile. + class UserAttributeProfileTemplate < Internal::Types::Model + field :name, -> { String }, optional: true, nullable: false + + field :user_id, -> { Auth0::Types::UserAttributeProfileUserID }, optional: true, nullable: false + + field :user_attributes, -> { Internal::Types::Hash[String, Auth0::Types::UserAttributeProfileUserAttributeAdditionalProperties] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/user_attribute_profile_template_item.rb b/lib/auth0/types/user_attribute_profile_template_item.rb new file mode 100644 index 000000000..e647ca203 --- /dev/null +++ b/lib/auth0/types/user_attribute_profile_template_item.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UserAttributeProfileTemplateItem < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :display_name, -> { String }, optional: true, nullable: false + + field :template, -> { Auth0::Types::UserAttributeProfileTemplate }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/user_attribute_profile_user_attribute_additional_properties.rb b/lib/auth0/types/user_attribute_profile_user_attribute_additional_properties.rb new file mode 100644 index 000000000..5dfa37e01 --- /dev/null +++ b/lib/auth0/types/user_attribute_profile_user_attribute_additional_properties.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UserAttributeProfileUserAttributeAdditionalProperties < Internal::Types::Model + field :description, -> { String }, optional: false, nullable: false + + field :label, -> { String }, optional: false, nullable: false + + field :profile_required, -> { Internal::Types::Boolean }, optional: false, nullable: false + + field :auth0mapping, -> { String }, optional: false, nullable: false, api_name: "auth0_mapping" + + field :oidc_mapping, -> { Auth0::Types::UserAttributeProfileOidcMapping }, optional: true, nullable: false + + field :saml_mapping, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :scim_mapping, -> { String }, optional: true, nullable: false + + field :strategy_overrides, -> { Auth0::Types::UserAttributeProfileStrategyOverrides }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/user_attribute_profile_user_attributes.rb b/lib/auth0/types/user_attribute_profile_user_attributes.rb new file mode 100644 index 000000000..948e05a48 --- /dev/null +++ b/lib/auth0/types/user_attribute_profile_user_attributes.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module UserAttributeProfileUserAttributes + # UserAttributeProfileUserAttributes is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/user_attribute_profile_user_id.rb b/lib/auth0/types/user_attribute_profile_user_id.rb new file mode 100644 index 000000000..2df09be73 --- /dev/null +++ b/lib/auth0/types/user_attribute_profile_user_id.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # User ID mapping configuration + class UserAttributeProfileUserID < Internal::Types::Model + field :oidc_mapping, -> { Auth0::Types::UserAttributeProfileUserIDOidcMappingEnum }, optional: true, nullable: false + + field :saml_mapping, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :scim_mapping, -> { String }, optional: true, nullable: false + + field :strategy_overrides, -> { Auth0::Types::UserAttributeProfileStrategyOverridesUserID }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/user_attribute_profile_user_id_oidc_mapping_enum.rb b/lib/auth0/types/user_attribute_profile_user_id_oidc_mapping_enum.rb new file mode 100644 index 000000000..43e8bd762 --- /dev/null +++ b/lib/auth0/types/user_attribute_profile_user_id_oidc_mapping_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module UserAttributeProfileUserIDOidcMappingEnum + extend Auth0::Internal::Types::Enum + + SUB = "sub" + end + end +end diff --git a/lib/auth0/types/user_attribute_profile_user_id_oidc_strategy_override_mapping.rb b/lib/auth0/types/user_attribute_profile_user_id_oidc_strategy_override_mapping.rb new file mode 100644 index 000000000..beb38793f --- /dev/null +++ b/lib/auth0/types/user_attribute_profile_user_id_oidc_strategy_override_mapping.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module UserAttributeProfileUserIDOidcStrategyOverrideMapping + extend Auth0::Internal::Types::Enum + + SUB = "sub" + OID = "oid" + EMAIL = "email" + end + end +end diff --git a/lib/auth0/types/user_attribute_profile_user_id_saml_mapping.rb b/lib/auth0/types/user_attribute_profile_user_id_saml_mapping.rb new file mode 100644 index 000000000..bc9c14033 --- /dev/null +++ b/lib/auth0/types/user_attribute_profile_user_id_saml_mapping.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module UserAttributeProfileUserIdSamlMapping + # UserAttributeProfileUserIdSamlMapping is an alias for Array + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/user_authentication_method.rb b/lib/auth0/types/user_authentication_method.rb new file mode 100644 index 000000000..6bbdf75a6 --- /dev/null +++ b/lib/auth0/types/user_authentication_method.rb @@ -0,0 +1,51 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UserAuthenticationMethod < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :type, -> { Auth0::Types::AuthenticationMethodTypeEnum }, optional: false, nullable: false + + field :confirmed, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :authentication_methods, -> { Internal::Types::Array[Auth0::Types::UserAuthenticationMethodProperties] }, optional: true, nullable: false + + field :preferred_authentication_method, -> { Auth0::Types::PreferredAuthenticationMethodEnum }, optional: true, nullable: false + + field :link_id, -> { String }, optional: true, nullable: false + + field :phone_number, -> { String }, optional: true, nullable: false + + field :email, -> { String }, optional: true, nullable: false + + field :key_id, -> { String }, optional: true, nullable: false + + field :public_key, -> { String }, optional: true, nullable: false + + field :created_at, -> { String }, optional: false, nullable: false + + field :enrolled_at, -> { String }, optional: true, nullable: false + + field :last_auth_at, -> { String }, optional: true, nullable: false + + field :credential_device_type, -> { String }, optional: true, nullable: false + + field :credential_backed_up, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :identity_user_id, -> { String }, optional: true, nullable: false + + field :user_agent, -> { String }, optional: true, nullable: false + + field :user_handle, -> { String }, optional: true, nullable: false + + field :transports, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :aaguid, -> { String }, optional: true, nullable: false + + field :relying_party_identifier, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/user_authentication_method_properties.rb b/lib/auth0/types/user_authentication_method_properties.rb new file mode 100644 index 000000000..5db0ea244 --- /dev/null +++ b/lib/auth0/types/user_authentication_method_properties.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UserAuthenticationMethodProperties < Internal::Types::Model + field :type, -> { Auth0::Types::UserAuthenticationMethodPropertiesEnum }, optional: true, nullable: false + + field :id, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/user_authentication_method_properties_enum.rb b/lib/auth0/types/user_authentication_method_properties_enum.rb new file mode 100644 index 000000000..e7ee9fc7b --- /dev/null +++ b/lib/auth0/types/user_authentication_method_properties_enum.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module UserAuthenticationMethodPropertiesEnum + extend Auth0::Internal::Types::Enum + + TOTP = "totp" + PUSH = "push" + SMS = "sms" + VOICE = "voice" + end + end +end diff --git a/lib/auth0/types/user_block_identifier.rb b/lib/auth0/types/user_block_identifier.rb new file mode 100644 index 000000000..d7e6e67e7 --- /dev/null +++ b/lib/auth0/types/user_block_identifier.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UserBlockIdentifier < Internal::Types::Model + field :identifier, -> { String }, optional: true, nullable: false + + field :ip, -> { String }, optional: true, nullable: false + + field :connection, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/user_effective_permission_response_content.rb b/lib/auth0/types/user_effective_permission_response_content.rb new file mode 100644 index 000000000..f8eaf9ebf --- /dev/null +++ b/lib/auth0/types/user_effective_permission_response_content.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UserEffectivePermissionResponseContent < Internal::Types::Model + field :resource_server_identifier, -> { String }, optional: true, nullable: false + + field :permission_name, -> { String }, optional: true, nullable: false + + field :resource_server_name, -> { String }, optional: true, nullable: false + + field :description, -> { String }, optional: true, nullable: false + + field :sources, -> { Internal::Types::Array[Auth0::Types::UserEffectivePermissionSourceEnum] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/user_effective_permission_role_source_enum.rb b/lib/auth0/types/user_effective_permission_role_source_enum.rb new file mode 100644 index 000000000..7046ccb5a --- /dev/null +++ b/lib/auth0/types/user_effective_permission_role_source_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module UserEffectivePermissionRoleSourceEnum + extend Auth0::Internal::Types::Enum + + DIRECT = "direct" + GROUPS = "groups" + end + end +end diff --git a/lib/auth0/types/user_effective_permission_role_source_response_content.rb b/lib/auth0/types/user_effective_permission_role_source_response_content.rb new file mode 100644 index 000000000..ba791030d --- /dev/null +++ b/lib/auth0/types/user_effective_permission_role_source_response_content.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UserEffectivePermissionRoleSourceResponseContent < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :description, -> { String }, optional: true, nullable: false + + field :type, -> { Auth0::Types::RoleTypeEnum }, optional: true, nullable: false + + field :owner_id, -> { String }, optional: true, nullable: false + + field :sources, -> { Internal::Types::Array[Auth0::Types::UserEffectivePermissionRoleSourceEnum] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/user_effective_permission_source_enum.rb b/lib/auth0/types/user_effective_permission_source_enum.rb new file mode 100644 index 000000000..fe21ed724 --- /dev/null +++ b/lib/auth0/types/user_effective_permission_source_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module UserEffectivePermissionSourceEnum + extend Auth0::Internal::Types::Enum + + DIRECT = "direct" + ROLES = "roles" + end + end +end diff --git a/lib/auth0/types/user_effective_role.rb b/lib/auth0/types/user_effective_role.rb new file mode 100644 index 000000000..949e27522 --- /dev/null +++ b/lib/auth0/types/user_effective_role.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UserEffectiveRole < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :name, -> { String }, optional: false, nullable: false + + field :description, -> { String }, optional: false, nullable: false + + field :sources, -> { Internal::Types::Array[Auth0::Types::UserEffectiveRoleSource] }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/user_effective_role_source.rb b/lib/auth0/types/user_effective_role_source.rb new file mode 100644 index 000000000..ce33f929f --- /dev/null +++ b/lib/auth0/types/user_effective_role_source.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module UserEffectiveRoleSource + extend Auth0::Internal::Types::Enum + + DIRECT = "direct" + GROUPS = "groups" + end + end +end diff --git a/lib/auth0/types/user_enrollment_auth_method_enum.rb b/lib/auth0/types/user_enrollment_auth_method_enum.rb new file mode 100644 index 000000000..6be7a9c16 --- /dev/null +++ b/lib/auth0/types/user_enrollment_auth_method_enum.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module UserEnrollmentAuthMethodEnum + extend Auth0::Internal::Types::Enum + + AUTHENTICATOR = "authenticator" + GUARDIAN = "guardian" + SMS = "sms" + WEBAUTHN_PLATFORM = "webauthn-platform" + WEBAUTHN_ROAMING = "webauthn-roaming" + end + end +end diff --git a/lib/auth0/types/user_enrollment_status_enum.rb b/lib/auth0/types/user_enrollment_status_enum.rb new file mode 100644 index 000000000..d5e009daf --- /dev/null +++ b/lib/auth0/types/user_enrollment_status_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module UserEnrollmentStatusEnum + extend Auth0::Internal::Types::Enum + + PENDING = "pending" + CONFIRMED = "confirmed" + end + end +end diff --git a/lib/auth0/types/user_grant.rb b/lib/auth0/types/user_grant.rb new file mode 100644 index 000000000..abd91e845 --- /dev/null +++ b/lib/auth0/types/user_grant.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UserGrant < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :client_id, -> { String }, optional: true, nullable: false, api_name: "clientID" + + field :user_id, -> { String }, optional: true, nullable: false + + field :audience, -> { String }, optional: true, nullable: false + + field :scope, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :organization_id, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/user_groups_response_schema.rb b/lib/auth0/types/user_groups_response_schema.rb new file mode 100644 index 000000000..a9b793078 --- /dev/null +++ b/lib/auth0/types/user_groups_response_schema.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UserGroupsResponseSchema < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :external_id, -> { String }, optional: true, nullable: false + + field :connection_id, -> { String }, optional: true, nullable: false + + field :tenant_name, -> { String }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :updated_at, -> { String }, optional: true, nullable: false + + field :membership_created_at, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/user_id.rb b/lib/auth0/types/user_id.rb new file mode 100644 index 000000000..95e5babf8 --- /dev/null +++ b/lib/auth0/types/user_id.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Unique identifier of the user for this identity. + class UserID < Internal::Types::Model + extend Auth0::Internal::Types::Union + + member -> { String } + + member -> { Integer } + end + end +end diff --git a/lib/auth0/types/user_identity.rb b/lib/auth0/types/user_identity.rb new file mode 100644 index 000000000..fa979d318 --- /dev/null +++ b/lib/auth0/types/user_identity.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UserIdentity < Internal::Types::Model + field :connection, -> { String }, optional: false, nullable: false + + field :user_id, -> { Auth0::Types::UserID }, optional: false, nullable: false + + field :provider, -> { String }, optional: false, nullable: false + + field :profile_data, -> { Auth0::Types::UserProfileData }, optional: true, nullable: false, api_name: "profileData" + + field :is_social, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "isSocial" + + field :access_token, -> { String }, optional: true, nullable: false + + field :access_token_secret, -> { String }, optional: true, nullable: false + + field :refresh_token, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/user_identity_provider_enum.rb b/lib/auth0/types/user_identity_provider_enum.rb new file mode 100644 index 000000000..69b85afef --- /dev/null +++ b/lib/auth0/types/user_identity_provider_enum.rb @@ -0,0 +1,65 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module UserIdentityProviderEnum + extend Auth0::Internal::Types::Enum + + AD = "ad" + ADFS = "adfs" + AMAZON = "amazon" + APPLE = "apple" + DROPBOX = "dropbox" + BITBUCKET = "bitbucket" + AUTH0OIDC = "auth0-oidc" + AUTH0 = "auth0" + BAIDU = "baidu" + BITLY = "bitly" + BOX = "box" + CUSTOM = "custom" + DACCOUNT = "daccount" + DWOLLA = "dwolla" + EMAIL = "email" + EVERNOTE_SANDBOX = "evernote-sandbox" + EVERNOTE = "evernote" + EXACT = "exact" + FACEBOOK = "facebook" + FITBIT = "fitbit" + GITHUB = "github" + GOOGLE_APPS = "google-apps" + GOOGLE_OAUTH2 = "google-oauth2" + INSTAGRAM = "instagram" + IP = "ip" + LINE = "line" + LINKEDIN = "linkedin" + OAUTH1 = "oauth1" + OAUTH2 = "oauth2" + OFFICE365 = "office365" + OIDC = "oidc" + OKTA = "okta" + PAYPAL = "paypal" + PAYPAL_SANDBOX = "paypal-sandbox" + PINGFEDERATE = "pingfederate" + PLANNINGCENTER = "planningcenter" + SALESFORCE_COMMUNITY = "salesforce-community" + SALESFORCE_SANDBOX = "salesforce-sandbox" + SALESFORCE = "salesforce" + SAMLP = "samlp" + SHAREPOINT = "sharepoint" + SHOPIFY = "shopify" + SHOP = "shop" + SMS = "sms" + SOUNDCLOUD = "soundcloud" + THIRTYSEVENSIGNALS = "thirtysevensignals" + TWITTER = "twitter" + UNTAPPD = "untappd" + VKONTAKTE = "vkontakte" + WAAD = "waad" + WEIBO = "weibo" + WINDOWSLIVE = "windowslive" + WORDPRESS = "wordpress" + YAHOO = "yahoo" + YANDEX = "yandex" + end + end +end diff --git a/lib/auth0/types/user_identity_schema.rb b/lib/auth0/types/user_identity_schema.rb new file mode 100644 index 000000000..ded549b72 --- /dev/null +++ b/lib/auth0/types/user_identity_schema.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UserIdentitySchema < Internal::Types::Model + field :connection, -> { String }, optional: true, nullable: false + + field :user_id, -> { Auth0::Types::UserID }, optional: true, nullable: false + + field :provider, -> { Auth0::Types::UserIdentityProviderEnum }, optional: true, nullable: false + + field :is_social, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "isSocial" + + field :access_token, -> { String }, optional: true, nullable: false + + field :access_token_secret, -> { String }, optional: true, nullable: false + + field :refresh_token, -> { String }, optional: true, nullable: false + + field :profile_data, -> { Auth0::Types::UserProfileData }, optional: true, nullable: false, api_name: "profileData" + end + end +end diff --git a/lib/auth0/types/user_list_log_offset_paginated_response_content.rb b/lib/auth0/types/user_list_log_offset_paginated_response_content.rb new file mode 100644 index 000000000..37c6f27a8 --- /dev/null +++ b/lib/auth0/types/user_list_log_offset_paginated_response_content.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UserListLogOffsetPaginatedResponseContent < Internal::Types::Model + field :start, -> { Integer }, optional: true, nullable: false + + field :limit, -> { Integer }, optional: true, nullable: false + + field :length, -> { Integer }, optional: true, nullable: false + + field :total, -> { Integer }, optional: true, nullable: false + + field :logs, -> { Internal::Types::Array[Auth0::Types::Log] }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/user_metadata.rb b/lib/auth0/types/user_metadata.rb new file mode 100644 index 000000000..b91e5bb55 --- /dev/null +++ b/lib/auth0/types/user_metadata.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module UserMetadata + # UserMetadata is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/user_metadata_schema.rb b/lib/auth0/types/user_metadata_schema.rb new file mode 100644 index 000000000..d09962bd8 --- /dev/null +++ b/lib/auth0/types/user_metadata_schema.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module UserMetadataSchema + # UserMetadataSchema is an alias for Hash + + # @option str [String] + # + # @return [untyped] + def self.load(str) + ::JSON.parse(str) + end + + # @option value [untyped] + # + # @return [String] + def self.dump(value) + ::JSON.generate(value) + end + end + end +end diff --git a/lib/auth0/types/user_multifactor_provider_enum.rb b/lib/auth0/types/user_multifactor_provider_enum.rb new file mode 100644 index 000000000..d8f1459c1 --- /dev/null +++ b/lib/auth0/types/user_multifactor_provider_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module UserMultifactorProviderEnum + extend Auth0::Internal::Types::Enum + + DUO = "duo" + GOOGLE_AUTHENTICATOR = "google-authenticator" + end + end +end diff --git a/lib/auth0/types/user_permission_schema.rb b/lib/auth0/types/user_permission_schema.rb new file mode 100644 index 000000000..6718e4796 --- /dev/null +++ b/lib/auth0/types/user_permission_schema.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UserPermissionSchema < Internal::Types::Model + field :resource_server_identifier, -> { String }, optional: true, nullable: false + + field :permission_name, -> { String }, optional: true, nullable: false + + field :resource_server_name, -> { String }, optional: true, nullable: false + + field :description, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/user_profile_data.rb b/lib/auth0/types/user_profile_data.rb new file mode 100644 index 000000000..802b01185 --- /dev/null +++ b/lib/auth0/types/user_profile_data.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UserProfileData < Internal::Types::Model + field :email, -> { String }, optional: true, nullable: false + + field :email_verified, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :username, -> { String }, optional: true, nullable: false + + field :given_name, -> { String }, optional: true, nullable: false + + field :phone_number, -> { String }, optional: true, nullable: false + + field :phone_verified, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :family_name, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/user_response_schema.rb b/lib/auth0/types/user_response_schema.rb new file mode 100644 index 000000000..b5d30e2aa --- /dev/null +++ b/lib/auth0/types/user_response_schema.rb @@ -0,0 +1,53 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UserResponseSchema < Internal::Types::Model + field :user_id, -> { String }, optional: true, nullable: false + + field :email, -> { String }, optional: true, nullable: false + + field :email_verified, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :username, -> { String }, optional: true, nullable: false + + field :phone_number, -> { String }, optional: true, nullable: false + + field :phone_verified, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :updated_at, -> { String }, optional: true, nullable: false + + field :identities, -> { Internal::Types::Array[Auth0::Types::UserIdentitySchema] }, optional: true, nullable: false + + field :app_metadata, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :user_metadata, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :picture, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :nickname, -> { String }, optional: true, nullable: false + + field :multifactor, -> { Internal::Types::Array[String] }, optional: true, nullable: false + + field :multifactor_last_modified, -> { String }, optional: true, nullable: false + + field :last_ip, -> { String }, optional: true, nullable: false + + field :last_login, -> { String }, optional: true, nullable: false + + field :last_password_reset, -> { String }, optional: true, nullable: false + + field :logins_count, -> { Integer }, optional: true, nullable: false + + field :blocked, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :given_name, -> { String }, optional: true, nullable: false + + field :family_name, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/username_allowed_types.rb b/lib/auth0/types/username_allowed_types.rb new file mode 100644 index 000000000..e72906ed8 --- /dev/null +++ b/lib/auth0/types/username_allowed_types.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UsernameAllowedTypes < Internal::Types::Model + field :email, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :phone_number, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/username_attribute.rb b/lib/auth0/types/username_attribute.rb new file mode 100644 index 000000000..3a4a28a3f --- /dev/null +++ b/lib/auth0/types/username_attribute.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # Configuration for the username attribute for users. + class UsernameAttribute < Internal::Types::Model + field :identifier, -> { Auth0::Types::UsernameAttributeIdentifier }, optional: true, nullable: false + + field :profile_required, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :signup, -> { Auth0::Types::SignupSchema }, optional: true, nullable: false + + field :validation, -> { Auth0::Types::UsernameValidation }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/username_attribute_identifier.rb b/lib/auth0/types/username_attribute_identifier.rb new file mode 100644 index 000000000..d0923eb29 --- /dev/null +++ b/lib/auth0/types/username_attribute_identifier.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UsernameAttributeIdentifier < Internal::Types::Model + field :active, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/username_validation.rb b/lib/auth0/types/username_validation.rb new file mode 100644 index 000000000..47d8682b4 --- /dev/null +++ b/lib/auth0/types/username_validation.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UsernameValidation < Internal::Types::Model + field :min_length, -> { Integer }, optional: true, nullable: false + + field :max_length, -> { Integer }, optional: true, nullable: false + + field :allowed_types, -> { Auth0::Types::UsernameAllowedTypes }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/users_enrollment.rb b/lib/auth0/types/users_enrollment.rb new file mode 100644 index 000000000..31c9934ca --- /dev/null +++ b/lib/auth0/types/users_enrollment.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class UsersEnrollment < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :status, -> { Auth0::Types::UserEnrollmentStatusEnum }, optional: true, nullable: false + + field :type, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :identifier, -> { String }, optional: true, nullable: false + + field :phone_number, -> { String }, optional: true, nullable: false + + field :auth_method, -> { Auth0::Types::UserEnrollmentAuthMethodEnum }, optional: true, nullable: false + + field :enrolled_at, -> { String }, optional: true, nullable: false + + field :last_auth, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/verifiable_credential_template_response.rb b/lib/auth0/types/verifiable_credential_template_response.rb new file mode 100644 index 000000000..b7586100c --- /dev/null +++ b/lib/auth0/types/verifiable_credential_template_response.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class VerifiableCredentialTemplateResponse < Internal::Types::Model + field :id, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :type, -> { String }, optional: true, nullable: false + + field :dialect, -> { String }, optional: true, nullable: false + + field :presentation, -> { Auth0::Types::MdlPresentationRequest }, optional: true, nullable: false + + field :custom_certificate_authority, -> { String }, optional: true, nullable: false + + field :well_known_trusted_issuers, -> { String }, optional: true, nullable: false + + field :created_at, -> { String }, optional: true, nullable: false + + field :updated_at, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/verification_method_enum.rb b/lib/auth0/types/verification_method_enum.rb new file mode 100644 index 000000000..a19bc0f45 --- /dev/null +++ b/lib/auth0/types/verification_method_enum.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module VerificationMethodEnum + extend Auth0::Internal::Types::Enum + + LINK = "link" + OTP = "otp" + end + end +end diff --git a/lib/auth0/types/verify_custom_domain_response_content.rb b/lib/auth0/types/verify_custom_domain_response_content.rb new file mode 100644 index 000000000..2ca9d1b1d --- /dev/null +++ b/lib/auth0/types/verify_custom_domain_response_content.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class VerifyCustomDomainResponseContent < Internal::Types::Model + field :custom_domain_id, -> { String }, optional: false, nullable: false + + field :domain, -> { String }, optional: false, nullable: false + + field :primary, -> { Internal::Types::Boolean }, optional: false, nullable: false + + field :status, -> { Auth0::Types::CustomDomainStatusFilterEnum }, optional: false, nullable: false + + field :type, -> { Auth0::Types::CustomDomainTypeEnum }, optional: false, nullable: false + + field :cname_api_key, -> { String }, optional: true, nullable: false + + field :origin_domain_name, -> { String }, optional: true, nullable: false + + field :verification, -> { Auth0::Types::DomainVerification }, optional: true, nullable: false + + field :custom_client_ip_header, -> { String }, optional: true, nullable: false + + field :tls_policy, -> { String }, optional: true, nullable: false + + field :domain_metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false + + field :certificate, -> { Auth0::Types::DomainCertificate }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/verify_email_ticket_response_content.rb b/lib/auth0/types/verify_email_ticket_response_content.rb new file mode 100644 index 000000000..ff892de70 --- /dev/null +++ b/lib/auth0/types/verify_email_ticket_response_content.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class VerifyEmailTicketResponseContent < Internal::Types::Model + field :ticket, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/x509certificate_credential.rb b/lib/auth0/types/x509certificate_credential.rb new file mode 100644 index 000000000..88eff57f1 --- /dev/null +++ b/lib/auth0/types/x509certificate_credential.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module Types + class X509CertificateCredential < Internal::Types::Model + field :credential_type, -> { Auth0::Types::X509CertificateCredentialTypeEnum }, optional: false, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :pem, -> { String }, optional: false, nullable: false + end + end +end diff --git a/lib/auth0/types/x509certificate_credential_type_enum.rb b/lib/auth0/types/x509certificate_credential_type_enum.rb new file mode 100644 index 000000000..9a9330268 --- /dev/null +++ b/lib/auth0/types/x509certificate_credential_type_enum.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module X509CertificateCredentialTypeEnum + extend Auth0::Internal::Types::Enum + + X509CERT = "x509_cert" + end + end +end diff --git a/lib/auth0/types/xss_protection_config.rb b/lib/auth0/types/xss_protection_config.rb new file mode 100644 index 000000000..9fb5678d5 --- /dev/null +++ b/lib/auth0/types/xss_protection_config.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Auth0 + module Types + # X-XSS-Protection header configuration (deprecated header, use CSP instead). + class XSSProtectionConfig < Internal::Types::Model + field :enabled, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :mode, -> { Auth0::Types::XSSProtectionMode }, optional: true, nullable: false + + field :report_uri, -> { String }, optional: true, nullable: false + end + end +end diff --git a/lib/auth0/types/xss_protection_mode.rb b/lib/auth0/types/xss_protection_mode.rb new file mode 100644 index 000000000..28be563a3 --- /dev/null +++ b/lib/auth0/types/xss_protection_mode.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module Types + module XSSProtectionMode + extend Auth0::Internal::Types::Enum + + BLOCK = "block" + end + end +end diff --git a/lib/auth0/user_attribute_profiles/client.rb b/lib/auth0/user_attribute_profiles/client.rb new file mode 100644 index 000000000..725272f59 --- /dev/null +++ b/lib/auth0/user_attribute_profiles/client.rb @@ -0,0 +1,267 @@ +# frozen_string_literal: true + +module Auth0 + module UserAttributeProfiles + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve a list of User Attribute Profiles. This endpoint supports Checkpoint pagination. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String, nil] :from + # @option params [Integer, nil] :take + # + # @return [Auth0::Types::ListUserAttributeProfilesPaginatedResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["from"] = params[:from] if params.key?(:from) + query_params["take"] = params.fetch(:take, 50) + + Auth0::Internal::CursorItemIterator.new( + cursor_field: :next_, + item_field: :user_attribute_profiles, + initial_cursor: query_params["from"] + ) do |next_cursor| + query_params["from"] = next_cursor + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "user-attribute-profiles", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListUserAttributeProfilesPaginatedResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # Create a User Attribute Profile. + # + # @param request_options [Hash] + # @param params [Auth0::UserAttributeProfiles::Types::CreateUserAttributeProfileRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::CreateUserAttributeProfileResponseContent] + def create(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "user-attribute-profiles", + body: Auth0::UserAttributeProfiles::Types::CreateUserAttributeProfileRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::CreateUserAttributeProfileResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Retrieve a list of User Attribute Profile Templates. + # + # @param request_options [Hash] + # @param _params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::ListUserAttributeProfileTemplateResponseContent] + def list_templates(request_options: {}, **_params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "user-attribute-profiles/templates", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::ListUserAttributeProfileTemplateResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Retrieve a User Attribute Profile Template. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::GetUserAttributeProfileTemplateResponseContent] + def get_template(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "user-attribute-profiles/templates/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetUserAttributeProfileTemplateResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Retrieve details about a single User Attribute Profile specified by ID. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::GetUserAttributeProfileResponseContent] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "user-attribute-profiles/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetUserAttributeProfileResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Delete a single User Attribute Profile specified by ID. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "user-attribute-profiles/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Update the details of a specific User attribute profile, such as name, user_id and user_attributes. + # + # @param request_options [Hash] + # @param params [Auth0::UserAttributeProfiles::Types::UpdateUserAttributeProfileRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::UpdateUserAttributeProfileResponseContent] + def update(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::UserAttributeProfiles::Types::UpdateUserAttributeProfileRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "user-attribute-profiles/#{URI.encode_uri_component(params[:id].to_s)}", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::UpdateUserAttributeProfileResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end +end diff --git a/lib/auth0/user_attribute_profiles/types/create_user_attribute_profile_request_content.rb b/lib/auth0/user_attribute_profiles/types/create_user_attribute_profile_request_content.rb new file mode 100644 index 000000000..94e8180eb --- /dev/null +++ b/lib/auth0/user_attribute_profiles/types/create_user_attribute_profile_request_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module UserAttributeProfiles + module Types + class CreateUserAttributeProfileRequestContent < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :user_id, -> { Auth0::Types::UserAttributeProfileUserID }, optional: true, nullable: false + + field :user_attributes, -> { Internal::Types::Hash[String, Auth0::Types::UserAttributeProfileUserAttributeAdditionalProperties] }, optional: false, nullable: false + end + end + end +end diff --git a/lib/auth0/user_attribute_profiles/types/list_user_attribute_profile_request_parameters.rb b/lib/auth0/user_attribute_profiles/types/list_user_attribute_profile_request_parameters.rb new file mode 100644 index 000000000..2bc77a343 --- /dev/null +++ b/lib/auth0/user_attribute_profiles/types/list_user_attribute_profile_request_parameters.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module UserAttributeProfiles + module Types + class ListUserAttributeProfileRequestParameters < Internal::Types::Model + field :from, -> { String }, optional: true, nullable: false + + field :take, -> { Integer }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/user_attribute_profiles/types/update_user_attribute_profile_request_content.rb b/lib/auth0/user_attribute_profiles/types/update_user_attribute_profile_request_content.rb new file mode 100644 index 000000000..99dcf0ce2 --- /dev/null +++ b/lib/auth0/user_attribute_profiles/types/update_user_attribute_profile_request_content.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module UserAttributeProfiles + module Types + class UpdateUserAttributeProfileRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :user_id, -> { Auth0::Types::UserAttributeProfileUserID }, optional: true, nullable: false + + field :user_attributes, -> { Internal::Types::Hash[String, Auth0::Types::UserAttributeProfileUserAttributeAdditionalProperties] }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/user_blocks/client.rb b/lib/auth0/user_blocks/client.rb new file mode 100644 index 000000000..5f3e111b6 --- /dev/null +++ b/lib/auth0/user_blocks/client.rb @@ -0,0 +1,173 @@ +# frozen_string_literal: true + +module Auth0 + module UserBlocks + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve details of all [Brute-force + # Protection](https://auth0.com/docs/secure/attack-protection/brute-force-protection) blocks for a user with the + # given identifier (username, phone number, or email). + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :identifier + # @option params [Boolean, nil] :consider_brute_force_enablement + # + # @return [Auth0::Types::ListUserBlocksByIdentifierResponseContent] + def list_by_identifier(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["identifier"] = params[:identifier] if params.key?(:identifier) + query_params["consider_brute_force_enablement"] = params[:consider_brute_force_enablement] if params.key?(:consider_brute_force_enablement) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "user-blocks", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::ListUserBlocksByIdentifierResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Remove all [Brute-force Protection](https://auth0.com/docs/secure/attack-protection/brute-force-protection) + # blocks for the user with the given identifier (username, phone number, or email). + # + # Note: This endpoint does not unblock users that were [blocked by a tenant + # administrator](https://auth0.com/docs/user-profile#block-and-unblock-a-user). + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :identifier + # + # @return [untyped] + def delete_by_identifier(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["identifier"] = params[:identifier] if params.key?(:identifier) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "user-blocks", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Retrieve details of all [Brute-force + # Protection](https://auth0.com/docs/secure/attack-protection/brute-force-protection) blocks for the user with the + # given ID. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [Boolean, nil] :consider_brute_force_enablement + # + # @return [Auth0::Types::ListUserBlocksResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["consider_brute_force_enablement"] = params[:consider_brute_force_enablement] if params.key?(:consider_brute_force_enablement) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "user-blocks/#{URI.encode_uri_component(params[:id].to_s)}", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::ListUserBlocksResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Remove all [Brute-force Protection](https://auth0.com/docs/secure/attack-protection/brute-force-protection) + # blocks for the user with the given ID. + # + # Note: This endpoint does not unblock users that were [blocked by a tenant + # administrator](https://auth0.com/docs/user-profile#block-and-unblock-a-user). + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "user-blocks/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end +end diff --git a/lib/auth0/user_blocks/types/delete_user_blocks_by_identifier_request_parameters.rb b/lib/auth0/user_blocks/types/delete_user_blocks_by_identifier_request_parameters.rb new file mode 100644 index 000000000..279971230 --- /dev/null +++ b/lib/auth0/user_blocks/types/delete_user_blocks_by_identifier_request_parameters.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module UserBlocks + module Types + class DeleteUserBlocksByIdentifierRequestParameters < Internal::Types::Model + field :identifier, -> { String }, optional: false, nullable: false + end + end + end +end diff --git a/lib/auth0/user_blocks/types/list_user_blocks_by_identifier_request_parameters.rb b/lib/auth0/user_blocks/types/list_user_blocks_by_identifier_request_parameters.rb new file mode 100644 index 000000000..17b6c2732 --- /dev/null +++ b/lib/auth0/user_blocks/types/list_user_blocks_by_identifier_request_parameters.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module UserBlocks + module Types + class ListUserBlocksByIdentifierRequestParameters < Internal::Types::Model + field :identifier, -> { String }, optional: false, nullable: false + + field :consider_brute_force_enablement, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/user_blocks/types/list_user_blocks_request_parameters.rb b/lib/auth0/user_blocks/types/list_user_blocks_request_parameters.rb new file mode 100644 index 000000000..14700be21 --- /dev/null +++ b/lib/auth0/user_blocks/types/list_user_blocks_request_parameters.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Auth0 + module UserBlocks + module Types + class ListUserBlocksRequestParameters < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :consider_brute_force_enablement, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/user_grants/client.rb b/lib/auth0/user_grants/client.rb new file mode 100644 index 000000000..7ad578921 --- /dev/null +++ b/lib/auth0/user_grants/client.rb @@ -0,0 +1,139 @@ +# frozen_string_literal: true + +module Auth0 + module UserGrants + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve the [grants](https://auth0.com/docs/api-auth/which-oauth-flow-to-use) associated with your account. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [Integer, nil] :per_page + # @option params [Integer, nil] :page + # @option params [Boolean, nil] :include_totals + # @option params [String, nil] :user_id + # @option params [String, nil] :client_id + # @option params [String, nil] :audience + # + # @return [Auth0::Types::ListUserGrantsOffsetPaginatedResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["per_page"] = params.fetch(:per_page, 50) + query_params["page"] = params.fetch(:page, 0) + query_params["include_totals"] = params.fetch(:include_totals, true) + query_params["user_id"] = params[:user_id] if params.key?(:user_id) + query_params["client_id"] = params[:client_id] if params.key?(:client_id) + query_params["audience"] = params[:audience] if params.key?(:audience) + + Auth0::Internal::OffsetItemIterator.new( + initial_page: query_params["page"], + item_field: :grants, + has_next_field: nil, + step: false + ) do |next_page| + query_params["page"] = next_page + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "grants", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListUserGrantsOffsetPaginatedResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # Delete a grant associated with your account. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :user_id + # + # @return [untyped] + def delete_by_user_id(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["user_id"] = params[:user_id] if params.key?(:user_id) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "grants", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Delete a grant associated with your account. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "grants/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end +end diff --git a/lib/auth0/user_grants/types/delete_user_grant_by_user_id_request_parameters.rb b/lib/auth0/user_grants/types/delete_user_grant_by_user_id_request_parameters.rb new file mode 100644 index 000000000..569f31d64 --- /dev/null +++ b/lib/auth0/user_grants/types/delete_user_grant_by_user_id_request_parameters.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Auth0 + module UserGrants + module Types + class DeleteUserGrantByUserIDRequestParameters < Internal::Types::Model + field :user_id, -> { String }, optional: false, nullable: false + end + end + end +end diff --git a/lib/auth0/user_grants/types/list_user_grants_request_parameters.rb b/lib/auth0/user_grants/types/list_user_grants_request_parameters.rb new file mode 100644 index 000000000..696c13ca0 --- /dev/null +++ b/lib/auth0/user_grants/types/list_user_grants_request_parameters.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module UserGrants + module Types + class ListUserGrantsRequestParameters < Internal::Types::Model + field :per_page, -> { Integer }, optional: true, nullable: false + + field :page, -> { Integer }, optional: true, nullable: false + + field :include_totals, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :user_id, -> { String }, optional: true, nullable: false + + field :client_id, -> { String }, optional: true, nullable: false + + field :audience, -> { String }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/users/authentication_methods/client.rb b/lib/auth0/users/authentication_methods/client.rb new file mode 100644 index 000000000..40fe8fc6e --- /dev/null +++ b/lib/auth0/users/authentication_methods/client.rb @@ -0,0 +1,289 @@ +# frozen_string_literal: true + +module Auth0 + module Users + module AuthenticationMethods + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve detailed list of authentication methods associated with a specified user. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [Integer, nil] :page + # @option params [Integer, nil] :per_page + # @option params [Boolean, nil] :include_totals + # + # @return [Auth0::Types::ListUserAuthenticationMethodsOffsetPaginatedResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["page"] = params.fetch(:page, 0) + query_params["per_page"] = params.fetch(:per_page, 50) + query_params["include_totals"] = params.fetch(:include_totals, true) + + Auth0::Internal::OffsetItemIterator.new( + initial_page: query_params["page"], + item_field: :authenticators, + has_next_field: nil, + step: false + ) do |next_page| + query_params["page"] = next_page + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "users/#{URI.encode_uri_component(params[:id].to_s)}/authentication-methods", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListUserAuthenticationMethodsOffsetPaginatedResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # Create an authentication method. Authentication methods created via this endpoint will be auto confirmed and + # should already have verification completed. + # + # @param request_options [Hash] + # @param params [Auth0::Users::AuthenticationMethods::Types::CreateUserAuthenticationMethodRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::CreateUserAuthenticationMethodResponseContent] + def create(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Users::AuthenticationMethods::Types::CreateUserAuthenticationMethodRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "users/#{URI.encode_uri_component(params[:id].to_s)}/authentication-methods", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::CreateUserAuthenticationMethodResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Replace the specified user + # authentication methods with supplied values. + # + # Note: Authentication methods supplied through this action do not iterate on existing methods. Instead, + # any methods passed will overwrite the user’s existing settings. + # + # @param request_options [Hash] + # @param params [Auth0::Types::SetUserAuthenticationMethodsRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Array[Auth0::Types::SetUserAuthenticationMethodResponseContent]] + def set(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PUT", + path: "users/#{URI.encode_uri_component(params[:id].to_s)}/authentication-methods", + body: params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Remove all authentication methods (i.e., enrolled MFA factors) from the specified user account. This action + # cannot be undone. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def delete_all(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "users/#{URI.encode_uri_component(params[:id].to_s)}/authentication-methods", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [String] :authentication_method_id + # + # @return [Auth0::Types::GetUserAuthenticationMethodResponseContent] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "users/#{URI.encode_uri_component(params[:id].to_s)}/authentication-methods/#{URI.encode_uri_component(params[:authentication_method_id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetUserAuthenticationMethodResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Remove the authentication method with the given ID from the specified user. For more information, review Manage + # Authentication Methods with Management API. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [String] :authentication_method_id + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "users/#{URI.encode_uri_component(params[:id].to_s)}/authentication-methods/#{URI.encode_uri_component(params[:authentication_method_id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Modify the authentication method with the given ID from the specified user. For more information, review Manage + # Authentication Methods with Management API. + # + # @param request_options [Hash] + # @param params [Auth0::Users::AuthenticationMethods::Types::UpdateUserAuthenticationMethodRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [String] :authentication_method_id + # + # @return [Auth0::Types::UpdateUserAuthenticationMethodResponseContent] + def update(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Users::AuthenticationMethods::Types::UpdateUserAuthenticationMethodRequestContent.new(params).to_h + non_body_param_names = %w[id authentication_method_id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "users/#{URI.encode_uri_component(params[:id].to_s)}/authentication-methods/#{URI.encode_uri_component(params[:authentication_method_id].to_s)}", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::UpdateUserAuthenticationMethodResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end + end +end diff --git a/lib/auth0/users/authentication_methods/types/create_user_authentication_method_request_content.rb b/lib/auth0/users/authentication_methods/types/create_user_authentication_method_request_content.rb new file mode 100644 index 000000000..3976fef30 --- /dev/null +++ b/lib/auth0/users/authentication_methods/types/create_user_authentication_method_request_content.rb @@ -0,0 +1,45 @@ +# frozen_string_literal: true + +module Auth0 + module Users + module AuthenticationMethods + module Types + class CreateUserAuthenticationMethodRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :type, -> { Auth0::Types::CreatedUserAuthenticationMethodTypeEnum }, optional: false, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :totp_secret, -> { String }, optional: true, nullable: false + + field :phone_number, -> { String }, optional: true, nullable: false + + field :email, -> { String }, optional: true, nullable: false + + field :preferred_authentication_method, -> { Auth0::Types::PreferredAuthenticationMethodEnum }, optional: true, nullable: false + + field :key_id, -> { String }, optional: true, nullable: false + + field :public_key, -> { String }, optional: true, nullable: false + + field :aaguid, -> { String }, optional: true, nullable: false + + field :relying_party_identifier, -> { String }, optional: true, nullable: false + + field :credential_device_type, -> { Auth0::Types::CredentialDeviceTypeEnum }, optional: true, nullable: false + + field :credential_backed_up, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :identity_user_id, -> { String }, optional: true, nullable: false + + field :user_agent, -> { String }, optional: true, nullable: false + + field :user_handle, -> { String }, optional: true, nullable: false + + field :transports, -> { Internal::Types::Array[String] }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/users/authentication_methods/types/list_user_authentication_methods_request_parameters.rb b/lib/auth0/users/authentication_methods/types/list_user_authentication_methods_request_parameters.rb new file mode 100644 index 000000000..4b56b145c --- /dev/null +++ b/lib/auth0/users/authentication_methods/types/list_user_authentication_methods_request_parameters.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Users + module AuthenticationMethods + module Types + class ListUserAuthenticationMethodsRequestParameters < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :page, -> { Integer }, optional: true, nullable: false + + field :per_page, -> { Integer }, optional: true, nullable: false + + field :include_totals, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/users/authentication_methods/types/update_user_authentication_method_request_content.rb b/lib/auth0/users/authentication_methods/types/update_user_authentication_method_request_content.rb new file mode 100644 index 000000000..81b9066c7 --- /dev/null +++ b/lib/auth0/users/authentication_methods/types/update_user_authentication_method_request_content.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Users + module AuthenticationMethods + module Types + class UpdateUserAuthenticationMethodRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :authentication_method_id, -> { String }, optional: false, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :preferred_authentication_method, -> { Auth0::Types::PreferredAuthenticationMethodEnum }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/users/authenticators/client.rb b/lib/auth0/users/authenticators/client.rb new file mode 100644 index 000000000..2b3ebb47b --- /dev/null +++ b/lib/auth0/users/authenticators/client.rb @@ -0,0 +1,50 @@ +# frozen_string_literal: true + +module Auth0 + module Users + module Authenticators + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Remove all authenticators registered to a given user ID, such as OTP, email, phone, and push-notification. + # This action cannot be undone. For more information, review [Manage Authentication Methods with Management + # API](https://auth0.com/docs/secure/multi-factor-authentication/manage-mfa-auth0-apis/manage-authentication-methods-with-management-api). + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def delete_all(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "users/#{URI.encode_uri_component(params[:id].to_s)}/authenticators", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end +end diff --git a/lib/auth0/users/client.rb b/lib/auth0/users/client.rb new file mode 100644 index 000000000..56f3a9584 --- /dev/null +++ b/lib/auth0/users/client.rb @@ -0,0 +1,550 @@ +# frozen_string_literal: true + +module Auth0 + module Users + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve details of users. It is possible to: + # + # - Specify a search criteria for users + # - Sort the users to be returned + # - Select the fields to be returned + # - Specify the number of users to retrieve per page and the page index + # + # + # + # The `q` query parameter can be used to get users that match the specified criteria [using query string + # syntax.](https://auth0.com/docs/users/search/v3/query-syntax) + # + # [Learn more about searching for users.](https://auth0.com/docs/users/search/v3) + # + # Read about [best practices](https://auth0.com/docs/users/search/best-practices) when working with the API + # endpoints for retrieving users. + # + # + # + # Auth0 limits the number of users you can return. If you exceed this threshold, please redefine your search, use + # the [export job](https://auth0.com/docs/api/management/v2#!/Jobs/post_users_exports), or the [User Import / + # Export](https://auth0.com/docs/extensions/user-import-export) extension. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [Integer, nil] :page + # @option params [Integer, nil] :per_page + # @option params [Boolean, nil] :include_totals + # @option params [String, nil] :sort + # @option params [String, nil] :connection + # @option params [String, nil] :fields + # @option params [Boolean, nil] :include_fields + # @option params [String, nil] :q + # @option params [Auth0::Types::SearchEngineVersionsEnum, nil] :search_engine + # @option params [Boolean, nil] :primary_order + # + # @return [Auth0::Types::ListUsersOffsetPaginatedResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["page"] = params.fetch(:page, 0) + query_params["per_page"] = params.fetch(:per_page, 50) + query_params["include_totals"] = params.fetch(:include_totals, true) + query_params["sort"] = params[:sort] if params.key?(:sort) + query_params["connection"] = params[:connection] if params.key?(:connection) + query_params["fields"] = params[:fields] if params.key?(:fields) + query_params["include_fields"] = params[:include_fields] if params.key?(:include_fields) + query_params["q"] = params[:q] if params.key?(:q) + query_params["search_engine"] = params[:search_engine] if params.key?(:search_engine) + query_params["primary_order"] = params[:primary_order] if params.key?(:primary_order) + + Auth0::Internal::OffsetItemIterator.new( + initial_page: query_params["page"], + item_field: :users, + has_next_field: nil, + step: false + ) do |next_page| + query_params["page"] = next_page + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "users", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListUsersOffsetPaginatedResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # Create a new user for a given [database](https://auth0.com/docs/connections/database) or + # [passwordless](https://auth0.com/docs/connections/passwordless) connection. + # + # Note: `connection` is required but other parameters such as `email` and `password` are dependent upon the type + # of connection. + # + # @param request_options [Hash] + # @param params [Auth0::Users::Types::CreateUserRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::CreateUserResponseContent] + def create(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "users", + body: Auth0::Users::Types::CreateUserRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::CreateUserResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Find users by email. If Auth0 is the identity provider (idP), the email address associated with a user is saved + # in lower case, regardless of how you initially provided it. + # + # For example, if you register a user as JohnSmith@example.com, Auth0 saves the user's email as + # johnsmith@example.com. + # + # Therefore, when using this endpoint, make sure that you are searching for users via email addresses using the + # correct case. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String, nil] :fields + # @option params [Boolean, nil] :include_fields + # @option params [String] :email + # + # @return [Array[Auth0::Types::UserResponseSchema]] + def list_users_by_email(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["fields"] = params[:fields] if params.key?(:fields) + query_params["include_fields"] = params[:include_fields] if params.key?(:include_fields) + query_params["email"] = params[:email] if params.key?(:email) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "users-by-email", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Retrieve user details. A list of fields to include or exclude may also be specified. For more information, see + # [Retrieve Users with the Get Users + # Endpoint](https://auth0.com/docs/manage-users/user-search/retrieve-users-with-get-users-endpoint). + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [String, nil] :fields + # @option params [Boolean, nil] :include_fields + # + # @return [Auth0::Types::GetUserResponseContent] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["fields"] = params[:fields] if params.key?(:fields) + query_params["include_fields"] = params[:include_fields] if params.key?(:include_fields) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "users/#{URI.encode_uri_component(params[:id].to_s)}", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetUserResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Delete a user by user ID. This action cannot be undone. For Auth0 Dashboard instructions, see [Delete + # Users](https://auth0.com/docs/manage-users/user-accounts/delete-users). + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "users/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Update a user. + # + # These are the attributes that can be updated at the root level: + # + # - app_metadata + # - blocked + # - email + # - email_verified + # - family_name + # - given_name + # - name + # - nickname + # - password + # - phone_number + # - phone_verified + # - picture + # - username + # - user_metadata + # - verify_email + # + # Some considerations: + # + # - The properties of the new object will replace the old ones. + # - The metadata fields are an exception to this rule (`user_metadata` and `app_metadata`). These properties are + # merged instead of being replaced but be careful, the merge only occurs on the first level. + # - If you are updating `email`, `email_verified`, `phone_number`, `phone_verified`, `username` or `password` of a + # secondary identity, you need to specify the `connection` property too. + # - If you are updating `email` or `phone_number` you can specify, optionally, the `client_id` property. + # - Updating `email_verified` is not supported for enterprise and passwordless sms connections. + # - Updating the `blocked` to `false` does not affect the user's blocked state from an excessive amount of + # incorrectly provided credentials. Use the "Unblock a user" endpoint from the "User Blocks" API to change the + # user's state. + # - Supported attributes can be unset by supplying `null` as the value. + # + # **Updating a field (non-metadata property)** + # + # To mark the email address of a user as verified, the body to send should be: + # + # ```json + # { "email_verified": true } + # ``` + # + # **Updating a user metadata root property** + # + # Let's assume that our test user has the following `user_metadata`: + # + # ```json + # { "user_metadata" : { "profileCode": 1479 } } + # ``` + # + # To add the field `addresses` the body to send should be: + # + # ```json + # { "user_metadata" : { "addresses": {"work_address": "100 Industrial Way"} }} + # ``` + # + # The modified object ends up with the following `user_metadata` property: + # + # ```json + # { + # "user_metadata": { + # "profileCode": 1479, + # "addresses": { "work_address": "100 Industrial Way" } + # } + # } + # ``` + # + # **Updating an inner user metadata property** + # + # If there's existing user metadata to which we want to add `"home_address": "742 Evergreen Terrace"` (using the + # `addresses` property) we should send the whole `addresses` object. Since this is a first-level object, the + # object will be merged in, but its own properties will not be. The body to send should be: + # + # ```json + # { + # "user_metadata": { + # "addresses": { + # "work_address": "100 Industrial Way", + # "home_address": "742 Evergreen Terrace" + # } + # } + # } + # ``` + # + # The modified object ends up with the following `user_metadata` property: + # + # ```json + # { + # "user_metadata": { + # "profileCode": 1479, + # "addresses": { + # "work_address": "100 Industrial Way", + # "home_address": "742 Evergreen Terrace" + # } + # } + # } + # ``` + # + # @param request_options [Hash] + # @param params [Auth0::Users::Types::UpdateUserRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::UpdateUserResponseContent] + def update(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Users::Types::UpdateUserRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "users/#{URI.encode_uri_component(params[:id].to_s)}", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::UpdateUserResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Remove an existing multi-factor authentication (MFA) [recovery + # code](https://auth0.com/docs/secure/multi-factor-authentication/reset-user-mfa) and generate a new one. If a + # user cannot access the original device or account used for MFA enrollment, they can use a recovery code to + # authenticate. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::RegenerateUsersRecoveryCodeResponseContent] + def regenerate_recovery_code(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "users/#{URI.encode_uri_component(params[:id].to_s)}/recovery-code-regeneration", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::RegenerateUsersRecoveryCodeResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Revokes selected resources related to a user (sessions, refresh tokens, ...). + # + # @param request_options [Hash] + # @param params [Auth0::Users::Types::RevokeUserAccessRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def revoke_access(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Users::Types::RevokeUserAccessRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "users/#{URI.encode_uri_component(params[:id].to_s)}/revoke-access", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # @return [Auth0::AuthenticationMethods::Client] + def authentication_methods + @authentication_methods ||= Auth0::Users::AuthenticationMethods::Client.new(client: @client) + end + + # @return [Auth0::Authenticators::Client] + def authenticators + @authenticators ||= Auth0::Users::Authenticators::Client.new(client: @client) + end + + # @return [Auth0::ConnectedAccounts::Client] + def connected_accounts + @connected_accounts ||= Auth0::Users::ConnectedAccounts::Client.new(client: @client) + end + + # @return [Auth0::EffectivePermissions::Client] + def effective_permissions + @effective_permissions ||= Auth0::Users::EffectivePermissions::Client.new(client: @client) + end + + # @return [Auth0::EffectiveRoles::Client] + def effective_roles + @effective_roles ||= Auth0::Users::EffectiveRoles::Client.new(client: @client) + end + + # @return [Auth0::Enrollments::Client] + def enrollments + @enrollments ||= Auth0::Users::Enrollments::Client.new(client: @client) + end + + # @return [Auth0::Groups::Client] + def groups + @groups ||= Auth0::Users::Groups::Client.new(client: @client) + end + + # @return [Auth0::Identities::Client] + def identities + @identities ||= Auth0::Users::Identities::Client.new(client: @client) + end + + # @return [Auth0::Logs::Client] + def logs + @logs ||= Auth0::Users::Logs::Client.new(client: @client) + end + + # @return [Auth0::Multifactor::Client] + def multifactor + @multifactor ||= Auth0::Users::Multifactor::Client.new(client: @client) + end + + # @return [Auth0::Organizations::Client] + def organizations + @organizations ||= Auth0::Users::Organizations::Client.new(client: @client) + end + + # @return [Auth0::Permissions::Client] + def permissions + @permissions ||= Auth0::Users::Permissions::Client.new(client: @client) + end + + # @return [Auth0::RiskAssessments::Client] + def risk_assessments + @risk_assessments ||= Auth0::Users::RiskAssessments::Client.new(client: @client) + end + + # @return [Auth0::Roles::Client] + def roles + @roles ||= Auth0::Users::Roles::Client.new(client: @client) + end + + # @return [Auth0::RefreshToken::Client] + def refresh_token + @refresh_token ||= Auth0::Users::RefreshToken::Client.new(client: @client) + end + + # @return [Auth0::Sessions::Client] + def sessions + @sessions ||= Auth0::Users::Sessions::Client.new(client: @client) + end + end + end +end diff --git a/lib/auth0/users/connected_accounts/client.rb b/lib/auth0/users/connected_accounts/client.rb new file mode 100644 index 000000000..2af49f74d --- /dev/null +++ b/lib/auth0/users/connected_accounts/client.rb @@ -0,0 +1,65 @@ +# frozen_string_literal: true + +module Auth0 + module Users + module ConnectedAccounts + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve all connected accounts associated with the user. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [String, nil] :from + # @option params [Integer, nil] :take + # + # @return [Auth0::Types::ListUserConnectedAccountsResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["from"] = params[:from] if params.key?(:from) + query_params["take"] = params.fetch(:take, 50) + + Auth0::Internal::CursorItemIterator.new( + cursor_field: :next_, + item_field: :connected_accounts, + initial_cursor: query_params["from"] + ) do |next_cursor| + query_params["from"] = next_cursor + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "users/#{URI.encode_uri_component(params[:id].to_s)}/connected-accounts", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListUserConnectedAccountsResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end + end + end +end diff --git a/lib/auth0/users/connected_accounts/types/get_user_connected_accounts_request_parameters.rb b/lib/auth0/users/connected_accounts/types/get_user_connected_accounts_request_parameters.rb new file mode 100644 index 000000000..4271eabb0 --- /dev/null +++ b/lib/auth0/users/connected_accounts/types/get_user_connected_accounts_request_parameters.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Users + module ConnectedAccounts + module Types + class GetUserConnectedAccountsRequestParameters < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :from, -> { String }, optional: true, nullable: false + + field :take, -> { Integer }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/users/effective_permissions/client.rb b/lib/auth0/users/effective_permissions/client.rb new file mode 100644 index 000000000..23173a116 --- /dev/null +++ b/lib/auth0/users/effective_permissions/client.rb @@ -0,0 +1,73 @@ +# frozen_string_literal: true + +module Auth0 + module Users + module EffectivePermissions + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Returns the list of effective permissions for a user, taking into account permissions granted directly to the + # user, as well as those inherited through roles and group memberships. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [String, nil] :from + # @option params [Integer, nil] :take + # @option params [String] :resource_server_identifier + # + # @return [Auth0::Types::ListUserEffectivePermissionsResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["from"] = params[:from] if params.key?(:from) + query_params["take"] = params.fetch(:take, 50) + query_params["resource_server_identifier"] = params[:resource_server_identifier] if params.key?(:resource_server_identifier) + + Auth0::Internal::CursorItemIterator.new( + cursor_field: :next_, + item_field: :permissions, + initial_cursor: query_params["from"] + ) do |next_cursor| + query_params["from"] = next_cursor + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "users/#{URI.encode_uri_component(params[:id].to_s)}/effective-permissions", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListUserEffectivePermissionsResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # @return [Auth0::Sources::Client] + def sources + @sources ||= Auth0::Users::EffectivePermissions::Sources::Client.new(client: @client) + end + end + end + end +end diff --git a/lib/auth0/users/effective_permissions/sources/client.rb b/lib/auth0/users/effective_permissions/sources/client.rb new file mode 100644 index 000000000..f8136d263 --- /dev/null +++ b/lib/auth0/users/effective_permissions/sources/client.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Users + module EffectivePermissions + module Sources + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # @return [Auth0::Roles::Client] + def roles + @roles ||= Auth0::Users::EffectivePermissions::Sources::Roles::Client.new(client: @client) + end + end + end + end + end +end diff --git a/lib/auth0/users/effective_permissions/sources/roles/client.rb b/lib/auth0/users/effective_permissions/sources/roles/client.rb new file mode 100644 index 000000000..0607cc3eb --- /dev/null +++ b/lib/auth0/users/effective_permissions/sources/roles/client.rb @@ -0,0 +1,74 @@ +# frozen_string_literal: true + +module Auth0 + module Users + module EffectivePermissions + module Sources + module Roles + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Lists the roles which grant the user a given permission, including roles assigned directly to the user and + # those inherited through group memberships. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [String, nil] :from + # @option params [Integer, nil] :take + # @option params [String] :resource_server_identifier + # @option params [String] :permission_name + # + # @return [Auth0::Types::ListUserEffectivePermissionRoleSourcesResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["from"] = params[:from] if params.key?(:from) + query_params["take"] = params.fetch(:take, 50) + query_params["resource_server_identifier"] = params[:resource_server_identifier] if params.key?(:resource_server_identifier) + query_params["permission_name"] = params[:permission_name] if params.key?(:permission_name) + + Auth0::Internal::CursorItemIterator.new( + cursor_field: :next_, + item_field: :roles, + initial_cursor: query_params["from"] + ) do |next_cursor| + query_params["from"] = next_cursor + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "users/#{URI.encode_uri_component(params[:id].to_s)}/effective-permissions/sources/effective-roles", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListUserEffectivePermissionRoleSourcesResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end + end + end + end + end +end diff --git a/lib/auth0/users/effective_permissions/sources/roles/types/list_user_effective_permission_role_source_request_parameters.rb b/lib/auth0/users/effective_permissions/sources/roles/types/list_user_effective_permission_role_source_request_parameters.rb new file mode 100644 index 000000000..f67218a8b --- /dev/null +++ b/lib/auth0/users/effective_permissions/sources/roles/types/list_user_effective_permission_role_source_request_parameters.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module Auth0 + module Users + module EffectivePermissions + module Sources + module Roles + module Types + class ListUserEffectivePermissionRoleSourceRequestParameters < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :from, -> { String }, optional: true, nullable: false + + field :take, -> { Integer }, optional: true, nullable: false + + field :resource_server_identifier, -> { String }, optional: false, nullable: false + + field :permission_name, -> { String }, optional: false, nullable: false + end + end + end + end + end + end +end diff --git a/lib/auth0/users/effective_permissions/types/list_user_effective_permissions_request_parameters.rb b/lib/auth0/users/effective_permissions/types/list_user_effective_permissions_request_parameters.rb new file mode 100644 index 000000000..4f374142c --- /dev/null +++ b/lib/auth0/users/effective_permissions/types/list_user_effective_permissions_request_parameters.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Users + module EffectivePermissions + module Types + class ListUserEffectivePermissionsRequestParameters < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :from, -> { String }, optional: true, nullable: false + + field :take, -> { Integer }, optional: true, nullable: false + + field :resource_server_identifier, -> { String }, optional: false, nullable: false + end + end + end + end +end diff --git a/lib/auth0/users/effective_roles/client.rb b/lib/auth0/users/effective_roles/client.rb new file mode 100644 index 000000000..fbcdaeb2d --- /dev/null +++ b/lib/auth0/users/effective_roles/client.rb @@ -0,0 +1,71 @@ +# frozen_string_literal: true + +module Auth0 + module Users + module EffectiveRoles + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve detailed list of effective roles for a user, including roles assigned directly and through group + # memberships. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [String, nil] :from + # @option params [Integer, nil] :take + # + # @return [Auth0::Types::ListUserEffectiveRolesResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["from"] = params[:from] if params.key?(:from) + query_params["take"] = params.fetch(:take, 50) + + Auth0::Internal::CursorItemIterator.new( + cursor_field: :next_, + item_field: :roles, + initial_cursor: query_params["from"] + ) do |next_cursor| + query_params["from"] = next_cursor + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "users/#{URI.encode_uri_component(params[:id].to_s)}/effective-roles", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListUserEffectiveRolesResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # @return [Auth0::Sources::Client] + def sources + @sources ||= Auth0::Users::EffectiveRoles::Sources::Client.new(client: @client) + end + end + end + end +end diff --git a/lib/auth0/users/effective_roles/sources/client.rb b/lib/auth0/users/effective_roles/sources/client.rb new file mode 100644 index 000000000..9980ff9f9 --- /dev/null +++ b/lib/auth0/users/effective_roles/sources/client.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Users + module EffectiveRoles + module Sources + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # @return [Auth0::Groups::Client] + def groups + @groups ||= Auth0::Users::EffectiveRoles::Sources::Groups::Client.new(client: @client) + end + end + end + end + end +end diff --git a/lib/auth0/users/effective_roles/sources/groups/client.rb b/lib/auth0/users/effective_roles/sources/groups/client.rb new file mode 100644 index 000000000..6e6369c5a --- /dev/null +++ b/lib/auth0/users/effective_roles/sources/groups/client.rb @@ -0,0 +1,71 @@ +# frozen_string_literal: true + +module Auth0 + module Users + module EffectiveRoles + module Sources + module Groups + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Lists the groups that grant a user a specific role. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [String] :role_id + # @option params [String, nil] :from + # @option params [Integer, nil] :take + # + # @return [Auth0::Types::ListUserRoleSourceGroupsResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["role_id"] = params[:role_id] if params.key?(:role_id) + query_params["from"] = params[:from] if params.key?(:from) + query_params["take"] = params.fetch(:take, 50) + + Auth0::Internal::CursorItemIterator.new( + cursor_field: :next_, + item_field: :groups, + initial_cursor: query_params["from"] + ) do |next_cursor| + query_params["from"] = next_cursor + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "users/#{URI.encode_uri_component(params[:id].to_s)}/effective-roles/sources/groups", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListUserRoleSourceGroupsResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end + end + end + end + end +end diff --git a/lib/auth0/users/effective_roles/sources/groups/types/list_user_role_source_groups_request_parameters.rb b/lib/auth0/users/effective_roles/sources/groups/types/list_user_role_source_groups_request_parameters.rb new file mode 100644 index 000000000..6e72ae541 --- /dev/null +++ b/lib/auth0/users/effective_roles/sources/groups/types/list_user_role_source_groups_request_parameters.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Users + module EffectiveRoles + module Sources + module Groups + module Types + class ListUserRoleSourceGroupsRequestParameters < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :role_id, -> { String }, optional: false, nullable: false + + field :from, -> { String }, optional: true, nullable: false + + field :take, -> { Integer }, optional: true, nullable: false + end + end + end + end + end + end +end diff --git a/lib/auth0/users/effective_roles/types/list_user_effective_roles_request_parameters.rb b/lib/auth0/users/effective_roles/types/list_user_effective_roles_request_parameters.rb new file mode 100644 index 000000000..3919e4dc9 --- /dev/null +++ b/lib/auth0/users/effective_roles/types/list_user_effective_roles_request_parameters.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Users + module EffectiveRoles + module Types + class ListUserEffectiveRolesRequestParameters < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :from, -> { String }, optional: true, nullable: false + + field :take, -> { Integer }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/users/enrollments/client.rb b/lib/auth0/users/enrollments/client.rb new file mode 100644 index 000000000..752bdd6fa --- /dev/null +++ b/lib/auth0/users/enrollments/client.rb @@ -0,0 +1,50 @@ +# frozen_string_literal: true + +module Auth0 + module Users + module Enrollments + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve the first [multi-factor + # authentication](https://auth0.com/docs/secure/multi-factor-authentication/multi-factor-authentication-factors) + # enrollment that a specific user has confirmed. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Array[Auth0::Types::UsersEnrollment]] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "users/#{URI.encode_uri_component(params[:id].to_s)}/enrollments", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end +end diff --git a/lib/auth0/users/groups/client.rb b/lib/auth0/users/groups/client.rb new file mode 100644 index 000000000..9302a5eb3 --- /dev/null +++ b/lib/auth0/users/groups/client.rb @@ -0,0 +1,71 @@ +# frozen_string_literal: true + +module Auth0 + module Users + module Groups + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # List all groups to which this user belongs. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [String, nil] :fields + # @option params [Boolean, nil] :include_fields + # @option params [Boolean, nil] :include_totals + # @option params [String, nil] :from + # @option params [Integer, nil] :take + # + # @return [Auth0::Types::GetUserGroupsPaginatedResponseContent] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["fields"] = params[:fields] if params.key?(:fields) + query_params["include_fields"] = params[:include_fields] if params.key?(:include_fields) + query_params["include_totals"] = params.fetch(:include_totals, true) + query_params["from"] = params[:from] if params.key?(:from) + query_params["take"] = params.fetch(:take, 50) + + Auth0::Internal::CursorItemIterator.new( + cursor_field: :next_, + item_field: :groups, + initial_cursor: query_params["from"] + ) do |next_cursor| + query_params["from"] = next_cursor + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "users/#{URI.encode_uri_component(params[:id].to_s)}/groups", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::GetUserGroupsPaginatedResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end + end + end +end diff --git a/lib/auth0/users/groups/types/get_user_groups_request_parameters.rb b/lib/auth0/users/groups/types/get_user_groups_request_parameters.rb new file mode 100644 index 000000000..7078cc49f --- /dev/null +++ b/lib/auth0/users/groups/types/get_user_groups_request_parameters.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +module Auth0 + module Users + module Groups + module Types + class GetUserGroupsRequestParameters < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :fields, -> { String }, optional: true, nullable: false + + field :include_fields, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :include_totals, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :from, -> { String }, optional: true, nullable: false + + field :take, -> { Integer }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/users/identities/client.rb b/lib/auth0/users/identities/client.rb new file mode 100644 index 000000000..349df52f8 --- /dev/null +++ b/lib/auth0/users/identities/client.rb @@ -0,0 +1,127 @@ +# frozen_string_literal: true + +module Auth0 + module Users + module Identities + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Link two user accounts together forming a primary and secondary relationship. On successful linking, the + # endpoint returns the new array of the primary account identities. + # + # Note: There are two ways of invoking the endpoint: + # + # - With the authenticated primary account's JWT in the Authorization header, which has the + # `update:current_user_identities` scope: + # + # ```http + # POST /api/v2/users/PRIMARY_ACCOUNT_USER_ID/identities + # Authorization: "Bearer PRIMARY_ACCOUNT_JWT" + # { + # "link_with": "SECONDARY_ACCOUNT_JWT" + # } + # ``` + # + # In this case, only the `link_with` param is required in the body, which also contains the JWT obtained upon + # the secondary account's authentication. + # + # - With a token generated by the API V2 containing the `update:users` scope: + # + # ```http + # POST /api/v2/users/PRIMARY_ACCOUNT_USER_ID/identities + # Authorization: "Bearer YOUR_API_V2_TOKEN" + # { + # "provider": "SECONDARY_ACCOUNT_PROVIDER", + # "connection_id": "SECONDARY_ACCOUNT_CONNECTION_ID(OPTIONAL)", + # "user_id": "SECONDARY_ACCOUNT_USER_ID" + # } + # ``` + # + # In this case you need to send `provider` and `user_id` in the body. Optionally you can also send the + # `connection_id` param which is suitable for identifying a particular database connection for the 'auth0' + # provider. + # + # @param request_options [Hash] + # @param params [Auth0::Users::Identities::Types::LinkUserIdentityRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Array[Auth0::Types::UserIdentity]] + def link(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Users::Identities::Types::LinkUserIdentityRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "users/#{URI.encode_uri_component(params[:id].to_s)}/identities", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Unlink a specific secondary account from a target user. This action requires the ID of both the target user + # and the secondary account. + # + # Unlinking the secondary account removes it from the identities array of the target user and creates a new + # standalone profile for the secondary account. To learn more, review [Unlink User + # Accounts](https://auth0.com/docs/manage-users/user-accounts/user-account-linking/unlink-user-accounts). + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [Auth0::Types::UserIdentityProviderEnum] :provider + # @option params [String] :user_id + # + # @return [Array[Auth0::Types::DeleteUserIdentityResponseContentItem]] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "users/#{URI.encode_uri_component(params[:id].to_s)}/identities/#{URI.encode_uri_component(params[:provider].to_s)}/#{URI.encode_uri_component(params[:user_id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::DeleteUserIdentityResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end + end +end diff --git a/lib/auth0/users/identities/types/link_user_identity_request_content.rb b/lib/auth0/users/identities/types/link_user_identity_request_content.rb new file mode 100644 index 000000000..4d8393675 --- /dev/null +++ b/lib/auth0/users/identities/types/link_user_identity_request_content.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Users + module Identities + module Types + class LinkUserIdentityRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :provider, -> { Auth0::Types::UserIdentityProviderEnum }, optional: true, nullable: false + + field :connection_id, -> { String }, optional: true, nullable: false + + field :user_id, -> { Auth0::Types::UserID }, optional: true, nullable: false + + field :link_with, -> { String }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/users/logs/client.rb b/lib/auth0/users/logs/client.rb new file mode 100644 index 000000000..8f30ca04e --- /dev/null +++ b/lib/auth0/users/logs/client.rb @@ -0,0 +1,80 @@ +# frozen_string_literal: true + +module Auth0 + module Users + module Logs + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve log events for a specific user. + # + # Note: For more information on all possible event types, their respective acronyms and descriptions, see Log Event Type Codes. + # + # For more information on the list of fields that can be used in `sort`, see Searchable Fields. + # + # Auth0 limits the number + # of logs you can return by search criteria to 100 logs per request. Furthermore, you may only paginate + # through up to 1,000 search results. If you exceed this threshold, please redefine your search. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [Integer, nil] :page + # @option params [Integer, nil] :per_page + # @option params [String, nil] :sort + # @option params [Boolean, nil] :include_totals + # + # @return [Auth0::Types::UserListLogOffsetPaginatedResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["page"] = params.fetch(:page, 0) + query_params["per_page"] = params.fetch(:per_page, 50) + query_params["sort"] = params[:sort] if params.key?(:sort) + query_params["include_totals"] = params.fetch(:include_totals, true) + + Auth0::Internal::OffsetItemIterator.new( + initial_page: query_params["page"], + item_field: :logs, + has_next_field: nil, + step: false + ) do |next_page| + query_params["page"] = next_page + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "users/#{URI.encode_uri_component(params[:id].to_s)}/logs", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::UserListLogOffsetPaginatedResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end + end + end +end diff --git a/lib/auth0/users/logs/types/list_user_logs_request_parameters.rb b/lib/auth0/users/logs/types/list_user_logs_request_parameters.rb new file mode 100644 index 000000000..acbe04400 --- /dev/null +++ b/lib/auth0/users/logs/types/list_user_logs_request_parameters.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module Users + module Logs + module Types + class ListUserLogsRequestParameters < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :page, -> { Integer }, optional: true, nullable: false + + field :per_page, -> { Integer }, optional: true, nullable: false + + field :sort, -> { String }, optional: true, nullable: false + + field :include_totals, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/users/multifactor/client.rb b/lib/auth0/users/multifactor/client.rb new file mode 100644 index 000000000..79587fc00 --- /dev/null +++ b/lib/auth0/users/multifactor/client.rb @@ -0,0 +1,83 @@ +# frozen_string_literal: true + +module Auth0 + module Users + module Multifactor + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Invalidate all remembered browsers across all [authentication + # factors](https://auth0.com/docs/multifactor-authentication) for a user. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def invalidate_remember_browser(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "users/#{URI.encode_uri_component(params[:id].to_s)}/multifactor/actions/invalidate-remember-browser", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Remove a [multifactor](https://auth0.com/docs/multifactor-authentication) authentication configuration from a + # user's account. This forces the user to manually reconfigure the multi-factor provider. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [Auth0::Types::UserMultifactorProviderEnum] :provider + # + # @return [untyped] + def delete_provider(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "users/#{URI.encode_uri_component(params[:id].to_s)}/multifactor/#{URI.encode_uri_component(params[:provider].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end +end diff --git a/lib/auth0/users/organizations/client.rb b/lib/auth0/users/organizations/client.rb new file mode 100644 index 000000000..49d312248 --- /dev/null +++ b/lib/auth0/users/organizations/client.rb @@ -0,0 +1,69 @@ +# frozen_string_literal: true + +module Auth0 + module Users + module Organizations + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve list of the specified user's current Organization memberships. User must be specified by user ID. For + # more information, review [Auth0 Organizations](https://auth0.com/docs/manage-users/organizations). + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [Integer, nil] :page + # @option params [Integer, nil] :per_page + # @option params [Boolean, nil] :include_totals + # + # @return [Auth0::Types::ListUserOrganizationsOffsetPaginatedResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["page"] = params.fetch(:page, 0) + query_params["per_page"] = params.fetch(:per_page, 50) + query_params["include_totals"] = params.fetch(:include_totals, true) + + Auth0::Internal::OffsetItemIterator.new( + initial_page: query_params["page"], + item_field: :organizations, + has_next_field: nil, + step: false + ) do |next_page| + query_params["page"] = next_page + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "users/#{URI.encode_uri_component(params[:id].to_s)}/organizations", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListUserOrganizationsOffsetPaginatedResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end + end + end +end diff --git a/lib/auth0/users/organizations/types/list_user_organizations_request_parameters.rb b/lib/auth0/users/organizations/types/list_user_organizations_request_parameters.rb new file mode 100644 index 000000000..a70cdd810 --- /dev/null +++ b/lib/auth0/users/organizations/types/list_user_organizations_request_parameters.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Users + module Organizations + module Types + class ListUserOrganizationsRequestParameters < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :page, -> { Integer }, optional: true, nullable: false + + field :per_page, -> { Integer }, optional: true, nullable: false + + field :include_totals, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/users/permissions/client.rb b/lib/auth0/users/permissions/client.rb new file mode 100644 index 000000000..ac7872a28 --- /dev/null +++ b/lib/auth0/users/permissions/client.rb @@ -0,0 +1,145 @@ +# frozen_string_literal: true + +module Auth0 + module Users + module Permissions + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve all permissions associated with the user. + # + # **Note**: Returns only permissions from direct assignments and directly assigned roles. For permissions a user + # has via group-based role assignments, use `GET /api/v2/users/{id}/effective-permissions`. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [Integer, nil] :per_page + # @option params [Integer, nil] :page + # @option params [Boolean, nil] :include_totals + # + # @return [Auth0::Types::ListUserPermissionsOffsetPaginatedResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["per_page"] = params.fetch(:per_page, 50) + query_params["page"] = params.fetch(:page, 0) + query_params["include_totals"] = params.fetch(:include_totals, true) + + Auth0::Internal::OffsetItemIterator.new( + initial_page: query_params["page"], + item_field: :permissions, + has_next_field: nil, + step: false + ) do |next_page| + query_params["page"] = next_page + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "users/#{URI.encode_uri_component(params[:id].to_s)}/permissions", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListUserPermissionsOffsetPaginatedResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # Assign permissions to a user. + # + # @param request_options [Hash] + # @param params [Auth0::Users::Permissions::Types::CreateUserPermissionsRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def create(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Users::Permissions::Types::CreateUserPermissionsRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "users/#{URI.encode_uri_component(params[:id].to_s)}/permissions", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Remove permissions from a user. + # + # @param request_options [Hash] + # @param params [Auth0::Users::Permissions::Types::DeleteUserPermissionsRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Users::Permissions::Types::DeleteUserPermissionsRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "users/#{URI.encode_uri_component(params[:id].to_s)}/permissions", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end +end diff --git a/lib/auth0/users/permissions/types/create_user_permissions_request_content.rb b/lib/auth0/users/permissions/types/create_user_permissions_request_content.rb new file mode 100644 index 000000000..4cb96f873 --- /dev/null +++ b/lib/auth0/users/permissions/types/create_user_permissions_request_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Users + module Permissions + module Types + class CreateUserPermissionsRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :permissions, -> { Internal::Types::Array[Auth0::Types::PermissionRequestPayload] }, optional: false, nullable: false + end + end + end + end +end diff --git a/lib/auth0/users/permissions/types/delete_user_permissions_request_content.rb b/lib/auth0/users/permissions/types/delete_user_permissions_request_content.rb new file mode 100644 index 000000000..d9098769f --- /dev/null +++ b/lib/auth0/users/permissions/types/delete_user_permissions_request_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Users + module Permissions + module Types + class DeleteUserPermissionsRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :permissions, -> { Internal::Types::Array[Auth0::Types::PermissionRequestPayload] }, optional: false, nullable: false + end + end + end + end +end diff --git a/lib/auth0/users/permissions/types/list_user_permissions_request_parameters.rb b/lib/auth0/users/permissions/types/list_user_permissions_request_parameters.rb new file mode 100644 index 000000000..20a9888fd --- /dev/null +++ b/lib/auth0/users/permissions/types/list_user_permissions_request_parameters.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Users + module Permissions + module Types + class ListUserPermissionsRequestParameters < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :per_page, -> { Integer }, optional: true, nullable: false + + field :page, -> { Integer }, optional: true, nullable: false + + field :include_totals, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/users/refresh_token/client.rb b/lib/auth0/users/refresh_token/client.rb new file mode 100644 index 000000000..f0cc97f5a --- /dev/null +++ b/lib/auth0/users/refresh_token/client.rb @@ -0,0 +1,99 @@ +# frozen_string_literal: true + +module Auth0 + module Users + module RefreshToken + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve details for a user's refresh tokens. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :user_id + # @option params [Boolean, nil] :include_totals + # @option params [String, nil] :from + # @option params [Integer, nil] :take + # + # @return [Auth0::Types::ListRefreshTokensPaginatedResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["include_totals"] = params.fetch(:include_totals, true) + query_params["from"] = params[:from] if params.key?(:from) + query_params["take"] = params.fetch(:take, 50) + + Auth0::Internal::CursorItemIterator.new( + cursor_field: :next_, + item_field: :tokens, + initial_cursor: query_params["from"] + ) do |next_cursor| + query_params["from"] = next_cursor + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "users/#{URI.encode_uri_component(params[:user_id].to_s)}/refresh-tokens", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListRefreshTokensPaginatedResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # Delete all refresh tokens for a user. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :user_id + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "users/#{URI.encode_uri_component(params[:user_id].to_s)}/refresh-tokens", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end +end diff --git a/lib/auth0/users/refresh_token/types/list_refresh_tokens_request_parameters.rb b/lib/auth0/users/refresh_token/types/list_refresh_tokens_request_parameters.rb new file mode 100644 index 000000000..0cb6021c7 --- /dev/null +++ b/lib/auth0/users/refresh_token/types/list_refresh_tokens_request_parameters.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Users + module RefreshToken + module Types + class ListRefreshTokensRequestParameters < Internal::Types::Model + field :user_id, -> { String }, optional: false, nullable: false + + field :include_totals, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :from, -> { String }, optional: true, nullable: false + + field :take, -> { Integer }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/users/risk_assessments/client.rb b/lib/auth0/users/risk_assessments/client.rb new file mode 100644 index 000000000..439d7f715 --- /dev/null +++ b/lib/auth0/users/risk_assessments/client.rb @@ -0,0 +1,53 @@ +# frozen_string_literal: true + +module Auth0 + module Users + module RiskAssessments + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Clear risk assessment assessors for a specific user + # + # @param request_options [Hash] + # @param params [Auth0::Users::RiskAssessments::Types::ClearAssessorsRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def clear(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Users::RiskAssessments::Types::ClearAssessorsRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "users/#{URI.encode_uri_component(params[:id].to_s)}/risk-assessments/clear", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end +end diff --git a/lib/auth0/users/risk_assessments/types/clear_assessors_request_content.rb b/lib/auth0/users/risk_assessments/types/clear_assessors_request_content.rb new file mode 100644 index 000000000..136abbfe7 --- /dev/null +++ b/lib/auth0/users/risk_assessments/types/clear_assessors_request_content.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module Users + module RiskAssessments + module Types + class ClearAssessorsRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :connection, -> { String }, optional: false, nullable: false + + field :assessors, -> { Internal::Types::Array[Auth0::Types::AssessorsTypeEnum] }, optional: false, nullable: false + end + end + end + end +end diff --git a/lib/auth0/users/roles/client.rb b/lib/auth0/users/roles/client.rb new file mode 100644 index 000000000..1c430bf35 --- /dev/null +++ b/lib/auth0/users/roles/client.rb @@ -0,0 +1,160 @@ +# frozen_string_literal: true + +module Auth0 + module Users + module Roles + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve detailed list of all user roles currently assigned to a user. + # + # **Note**: This action retrieves all roles assigned to a user in the context of your whole tenant. To retrieve + # Organization-specific roles, use the following endpoint: [Get user roles assigned to an Organization + # member](https://auth0.com/docs/api/management/v2/organizations/get-organization-member-roles). + # + # **Note**: Returns only direct role assignments. To also include group-based role assignments, use `GET + # /api/v2/users/{id}/effective-roles`. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # @option params [Integer, nil] :per_page + # @option params [Integer, nil] :page + # @option params [Boolean, nil] :include_totals + # + # @return [Auth0::Types::ListUserRolesOffsetPaginatedResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["per_page"] = params.fetch(:per_page, 50) + query_params["page"] = params.fetch(:page, 0) + query_params["include_totals"] = params.fetch(:include_totals, true) + + Auth0::Internal::OffsetItemIterator.new( + initial_page: query_params["page"], + item_field: :roles, + has_next_field: nil, + step: false + ) do |next_page| + query_params["page"] = next_page + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "users/#{URI.encode_uri_component(params[:id].to_s)}/roles", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListUserRolesOffsetPaginatedResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # Assign one or more existing user roles to a user. For more information, review [Role-Based Access + # Control](https://auth0.com/docs/manage-users/access-control/rbac). + # + # **Note**: New roles cannot be created through this action. Additionally, this action is used to assign roles + # to a user in the context of your whole tenant. To assign roles in the context of a specific Organization, use + # the following endpoint: [Assign user roles to an Organization + # member](https://auth0.com/docs/api/management/v2/organizations/post-organization-member-roles). + # + # @param request_options [Hash] + # @param params [Auth0::Users::Roles::Types::AssignUserRolesRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def assign(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Users::Roles::Types::AssignUserRolesRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "users/#{URI.encode_uri_component(params[:id].to_s)}/roles", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Remove one or more specified user roles assigned to a user. + # + # **Note**: This action removes a role from a user in the context of your whole tenant. If you want to unassign + # a role from a user in the context of a specific Organization, use the following endpoint: [Delete user roles + # from an Organization + # member](https://auth0.com/docs/api/management/v2/organizations/delete-organization-member-roles). + # + # @param request_options [Hash] + # @param params [Auth0::Users::Roles::Types::DeleteUserRolesRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::Users::Roles::Types::DeleteUserRolesRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "users/#{URI.encode_uri_component(params[:id].to_s)}/roles", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end +end diff --git a/lib/auth0/users/roles/types/assign_user_roles_request_content.rb b/lib/auth0/users/roles/types/assign_user_roles_request_content.rb new file mode 100644 index 000000000..19bebdbdd --- /dev/null +++ b/lib/auth0/users/roles/types/assign_user_roles_request_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Users + module Roles + module Types + class AssignUserRolesRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :roles, -> { Internal::Types::Array[String] }, optional: false, nullable: false + end + end + end + end +end diff --git a/lib/auth0/users/roles/types/delete_user_roles_request_content.rb b/lib/auth0/users/roles/types/delete_user_roles_request_content.rb new file mode 100644 index 000000000..aa0bb755e --- /dev/null +++ b/lib/auth0/users/roles/types/delete_user_roles_request_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Users + module Roles + module Types + class DeleteUserRolesRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :roles, -> { Internal::Types::Array[String] }, optional: false, nullable: false + end + end + end + end +end diff --git a/lib/auth0/users/roles/types/list_user_roles_request_parameters.rb b/lib/auth0/users/roles/types/list_user_roles_request_parameters.rb new file mode 100644 index 000000000..0f3ce4277 --- /dev/null +++ b/lib/auth0/users/roles/types/list_user_roles_request_parameters.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Users + module Roles + module Types + class ListUserRolesRequestParameters < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :per_page, -> { Integer }, optional: true, nullable: false + + field :page, -> { Integer }, optional: true, nullable: false + + field :include_totals, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/users/sessions/client.rb b/lib/auth0/users/sessions/client.rb new file mode 100644 index 000000000..116b3fbbc --- /dev/null +++ b/lib/auth0/users/sessions/client.rb @@ -0,0 +1,99 @@ +# frozen_string_literal: true + +module Auth0 + module Users + module Sessions + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # Retrieve details for a user's sessions. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :user_id + # @option params [Boolean, nil] :include_totals + # @option params [String, nil] :from + # @option params [Integer, nil] :take + # + # @return [Auth0::Types::ListUserSessionsPaginatedResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["include_totals"] = params.fetch(:include_totals, true) + query_params["from"] = params[:from] if params.key?(:from) + query_params["take"] = params.fetch(:take, 50) + + Auth0::Internal::CursorItemIterator.new( + cursor_field: :next_, + item_field: :sessions, + initial_cursor: query_params["from"] + ) do |next_cursor| + query_params["from"] = next_cursor + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "users/#{URI.encode_uri_component(params[:user_id].to_s)}/sessions", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListUserSessionsPaginatedResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # Delete all sessions for a user. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :user_id + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "users/#{URI.encode_uri_component(params[:user_id].to_s)}/sessions", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end +end diff --git a/lib/auth0/users/sessions/types/list_user_sessions_request_parameters.rb b/lib/auth0/users/sessions/types/list_user_sessions_request_parameters.rb new file mode 100644 index 000000000..dc6802b43 --- /dev/null +++ b/lib/auth0/users/sessions/types/list_user_sessions_request_parameters.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module Users + module Sessions + module Types + class ListUserSessionsRequestParameters < Internal::Types::Model + field :user_id, -> { String }, optional: false, nullable: false + + field :include_totals, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :from, -> { String }, optional: true, nullable: false + + field :take, -> { Integer }, optional: true, nullable: false + end + end + end + end +end diff --git a/lib/auth0/users/types/create_user_request_content.rb b/lib/auth0/users/types/create_user_request_content.rb new file mode 100644 index 000000000..fdf06950d --- /dev/null +++ b/lib/auth0/users/types/create_user_request_content.rb @@ -0,0 +1,43 @@ +# frozen_string_literal: true + +module Auth0 + module Users + module Types + class CreateUserRequestContent < Internal::Types::Model + field :email, -> { String }, optional: true, nullable: false + + field :phone_number, -> { String }, optional: true, nullable: false + + field :user_metadata, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :blocked, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :email_verified, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :phone_verified, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :app_metadata, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :given_name, -> { String }, optional: true, nullable: false + + field :family_name, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :nickname, -> { String }, optional: true, nullable: false + + field :picture, -> { String }, optional: true, nullable: false + + field :user_id, -> { String }, optional: true, nullable: false + + field :connection, -> { String }, optional: false, nullable: false + + field :password, -> { String }, optional: true, nullable: false + + field :verify_email, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :username, -> { String }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/users/types/get_user_request_parameters.rb b/lib/auth0/users/types/get_user_request_parameters.rb new file mode 100644 index 000000000..744cd642a --- /dev/null +++ b/lib/auth0/users/types/get_user_request_parameters.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Users + module Types + class GetUserRequestParameters < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :fields, -> { String }, optional: true, nullable: false + + field :include_fields, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/users/types/list_users_by_email_request_parameters.rb b/lib/auth0/users/types/list_users_by_email_request_parameters.rb new file mode 100644 index 000000000..7d2ab1097 --- /dev/null +++ b/lib/auth0/users/types/list_users_by_email_request_parameters.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Users + module Types + class ListUsersByEmailRequestParameters < Internal::Types::Model + field :fields, -> { String }, optional: true, nullable: false + + field :include_fields, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :email, -> { String }, optional: false, nullable: false + end + end + end +end diff --git a/lib/auth0/users/types/list_users_request_parameters.rb b/lib/auth0/users/types/list_users_request_parameters.rb new file mode 100644 index 000000000..b39fb7ec7 --- /dev/null +++ b/lib/auth0/users/types/list_users_request_parameters.rb @@ -0,0 +1,29 @@ +# frozen_string_literal: true + +module Auth0 + module Users + module Types + class ListUsersRequestParameters < Internal::Types::Model + field :page, -> { Integer }, optional: true, nullable: false + + field :per_page, -> { Integer }, optional: true, nullable: false + + field :include_totals, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :sort, -> { String }, optional: true, nullable: false + + field :connection, -> { String }, optional: true, nullable: false + + field :fields, -> { String }, optional: true, nullable: false + + field :include_fields, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :q, -> { String }, optional: true, nullable: false + + field :search_engine, -> { Auth0::Types::SearchEngineVersionsEnum }, optional: true, nullable: false + + field :primary_order, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/users/types/revoke_user_access_request_content.rb b/lib/auth0/users/types/revoke_user_access_request_content.rb new file mode 100644 index 000000000..b59f99152 --- /dev/null +++ b/lib/auth0/users/types/revoke_user_access_request_content.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +module Auth0 + module Users + module Types + class RevokeUserAccessRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :session_id, -> { String }, optional: true, nullable: false + + field :preserve_refresh_tokens, -> { Internal::Types::Boolean }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/users/types/update_user_request_content.rb b/lib/auth0/users/types/update_user_request_content.rb new file mode 100644 index 000000000..d09d0b477 --- /dev/null +++ b/lib/auth0/users/types/update_user_request_content.rb @@ -0,0 +1,47 @@ +# frozen_string_literal: true + +module Auth0 + module Users + module Types + class UpdateUserRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :blocked, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :email_verified, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :email, -> { String }, optional: true, nullable: false + + field :phone_number, -> { String }, optional: true, nullable: false + + field :phone_verified, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :user_metadata, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :app_metadata, -> { Internal::Types::Hash[String, Object] }, optional: true, nullable: false + + field :given_name, -> { String }, optional: true, nullable: false + + field :family_name, -> { String }, optional: true, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :nickname, -> { String }, optional: true, nullable: false + + field :picture, -> { String }, optional: true, nullable: false + + field :verify_email, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :verify_phone_number, -> { Internal::Types::Boolean }, optional: true, nullable: false + + field :password, -> { String }, optional: true, nullable: false + + field :connection, -> { String }, optional: true, nullable: false + + field :client_id, -> { String }, optional: true, nullable: false + + field :username, -> { String }, optional: true, nullable: false + end + end + end +end diff --git a/lib/auth0/verifiable_credentials/client.rb b/lib/auth0/verifiable_credentials/client.rb new file mode 100644 index 000000000..b136b3e5f --- /dev/null +++ b/lib/auth0/verifiable_credentials/client.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module Auth0 + module VerifiableCredentials + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # @return [Auth0::Verification::Client] + def verification + @verification ||= Auth0::VerifiableCredentials::Verification::Client.new(client: @client) + end + end + end +end diff --git a/lib/auth0/verifiable_credentials/verification/client.rb b/lib/auth0/verifiable_credentials/verification/client.rb new file mode 100644 index 000000000..b54199e10 --- /dev/null +++ b/lib/auth0/verifiable_credentials/verification/client.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +module Auth0 + module VerifiableCredentials + module Verification + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # @return [Auth0::Templates::Client] + def templates + @templates ||= Auth0::VerifiableCredentials::Verification::Templates::Client.new(client: @client) + end + end + end + end +end diff --git a/lib/auth0/verifiable_credentials/verification/templates/client.rb b/lib/auth0/verifiable_credentials/verification/templates/client.rb new file mode 100644 index 000000000..41261ad14 --- /dev/null +++ b/lib/auth0/verifiable_credentials/verification/templates/client.rb @@ -0,0 +1,205 @@ +# frozen_string_literal: true + +module Auth0 + module VerifiableCredentials + module Verification + module Templates + class Client + # @param client [Auth0::Internal::Http::RawClient] + # + # @return [void] + def initialize(client:) + @client = client + end + + # List verifiable credential templates. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String, nil] :from + # @option params [Integer, nil] :take + # + # @return [Auth0::Types::ListVerifiableCredentialTemplatesPaginatedResponseContent] + def list(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + query_params = {} + query_params["from"] = params[:from] if params.key?(:from) + query_params["take"] = params.fetch(:take, 50) + + Auth0::Internal::CursorItemIterator.new( + cursor_field: :next_, + item_field: :templates, + initial_cursor: query_params["from"] + ) do |next_cursor| + query_params["from"] = next_cursor + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "verifiable-credentials/verification/templates", + query: query_params, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + parsed_response = Auth0::Types::ListVerifiableCredentialTemplatesPaginatedResponseContent.load(response.body) + [parsed_response, response] + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + + # Create a verifiable credential template. + # + # @param request_options [Hash] + # @param params [Auth0::VerifiableCredentials::Verification::Templates::Types::CreateVerifiableCredentialTemplateRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # + # @return [Auth0::Types::CreateVerifiableCredentialTemplateResponseContent] + def create(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "POST", + path: "verifiable-credentials/verification/templates", + body: Auth0::VerifiableCredentials::Verification::Templates::Types::CreateVerifiableCredentialTemplateRequestContent.new(params).to_h, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::CreateVerifiableCredentialTemplateResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Get a verifiable credential template. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::GetVerifiableCredentialTemplateResponseContent] + def get(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "GET", + path: "verifiable-credentials/verification/templates/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::GetVerifiableCredentialTemplateResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + + # Delete a verifiable credential template. + # + # @param request_options [Hash] + # @param params [Hash] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [untyped] + def delete(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "DELETE", + path: "verifiable-credentials/verification/templates/#{URI.encode_uri_component(params[:id].to_s)}", + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + return if code.between?(200, 299) + + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + + # Update a verifiable credential template. + # + # @param request_options [Hash] + # @param params [Auth0::VerifiableCredentials::Verification::Templates::Types::UpdateVerifiableCredentialTemplateRequestContent] + # @option request_options [String] :base_url + # @option request_options [Hash{String => Object}] :additional_headers + # @option request_options [Hash{String => Object}] :additional_query_parameters + # @option request_options [Hash{String => Object}] :additional_body_parameters + # @option request_options [Integer] :timeout_in_seconds + # @option params [String] :id + # + # @return [Auth0::Types::UpdateVerifiableCredentialTemplateResponseContent] + def update(request_options: {}, **params) + params = Auth0::Internal::Types::Utils.normalize_keys(params) + request_data = Auth0::VerifiableCredentials::Verification::Templates::Types::UpdateVerifiableCredentialTemplateRequestContent.new(params).to_h + non_body_param_names = %w[id] + body = request_data.except(*non_body_param_names) + + request = Auth0::Internal::JSON::Request.new( + base_url: request_options[:base_url], + method: "PATCH", + path: "verifiable-credentials/verification/templates/#{URI.encode_uri_component(params[:id].to_s)}", + body: body, + request_options: request_options + ) + begin + response = @client.send(request) + rescue Net::HTTPRequestTimeout + raise Auth0::Errors::TimeoutError + end + code = response.code.to_i + if code.between?(200, 299) + Auth0::Types::UpdateVerifiableCredentialTemplateResponseContent.load(response.body) + else + error_class = Auth0::Errors::ResponseError.subclass_for_code(code) + raise error_class.new(response.body, code: code) + end + end + end + end + end + end +end diff --git a/lib/auth0/verifiable_credentials/verification/templates/types/create_verifiable_credential_template_request_content.rb b/lib/auth0/verifiable_credentials/verification/templates/types/create_verifiable_credential_template_request_content.rb new file mode 100644 index 000000000..89a2914a6 --- /dev/null +++ b/lib/auth0/verifiable_credentials/verification/templates/types/create_verifiable_credential_template_request_content.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module Auth0 + module VerifiableCredentials + module Verification + module Templates + module Types + class CreateVerifiableCredentialTemplateRequestContent < Internal::Types::Model + field :name, -> { String }, optional: false, nullable: false + + field :type, -> { String }, optional: false, nullable: false + + field :dialect, -> { String }, optional: false, nullable: false + + field :presentation, -> { Auth0::Types::MdlPresentationRequest }, optional: false, nullable: false + + field :custom_certificate_authority, -> { String }, optional: true, nullable: false + + field :well_known_trusted_issuers, -> { String }, optional: false, nullable: false + end + end + end + end + end +end diff --git a/lib/auth0/verifiable_credentials/verification/templates/types/list_verifiable_credential_templates_request_parameters.rb b/lib/auth0/verifiable_credentials/verification/templates/types/list_verifiable_credential_templates_request_parameters.rb new file mode 100644 index 000000000..027e74ea7 --- /dev/null +++ b/lib/auth0/verifiable_credentials/verification/templates/types/list_verifiable_credential_templates_request_parameters.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module Auth0 + module VerifiableCredentials + module Verification + module Templates + module Types + class ListVerifiableCredentialTemplatesRequestParameters < Internal::Types::Model + field :from, -> { String }, optional: true, nullable: false + + field :take, -> { Integer }, optional: true, nullable: false + end + end + end + end + end +end diff --git a/lib/auth0/verifiable_credentials/verification/templates/types/update_verifiable_credential_template_request_content.rb b/lib/auth0/verifiable_credentials/verification/templates/types/update_verifiable_credential_template_request_content.rb new file mode 100644 index 000000000..da64ded16 --- /dev/null +++ b/lib/auth0/verifiable_credentials/verification/templates/types/update_verifiable_credential_template_request_content.rb @@ -0,0 +1,27 @@ +# frozen_string_literal: true + +module Auth0 + module VerifiableCredentials + module Verification + module Templates + module Types + class UpdateVerifiableCredentialTemplateRequestContent < Internal::Types::Model + field :id, -> { String }, optional: false, nullable: false + + field :name, -> { String }, optional: true, nullable: false + + field :type, -> { String }, optional: true, nullable: false + + field :dialect, -> { String }, optional: true, nullable: false + + field :presentation, -> { Auth0::Types::MdlPresentationRequest }, optional: true, nullable: false + + field :well_known_trusted_issuers, -> { String }, optional: true, nullable: false + + field :version, -> { Integer }, optional: true, nullable: false + end + end + end + end + end +end diff --git a/lib/auth0/version.rb b/lib/auth0/version.rb index 9bf9628ca..364705d51 100644 --- a/lib/auth0/version.rb +++ b/lib/auth0/version.rb @@ -1,4 +1,5 @@ -# current version of gem +# frozen_string_literal: true + module Auth0 - VERSION = '5.20.0'.freeze + VERSION = "6.0.0.beta.5" end diff --git a/lib/auth0_client.rb b/lib/auth0_client.rb index 9f950b604..109d8d4e2 100644 --- a/lib/auth0_client.rb +++ b/lib/auth0_client.rb @@ -1,3 +1,6 @@ -# This class is made for backward compatibility of gem -class Auth0Client < Auth0::Client -end +# frozen_string_literal: true + +require "auth0" + +# Backward compatibility +class Auth0Client < Auth0::Client; end diff --git a/opslevel.yml b/opslevel.yml deleted file mode 100644 index c9d63a9c9..000000000 --- a/opslevel.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -version: 1 -repository: - owner: dx_sdks - tags: diff --git a/publish_rubygem.sh b/publish_rubygem.sh deleted file mode 100644 index 31f28fee4..000000000 --- a/publish_rubygem.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/bin/env bash - -# Create directory for rubygems credentials -mkdir /root/.gem -# Get API key from rubygems.org -curl -u "$RUBYGEMS_EMAIL":"$RUBYGEMS_PASSWORD" https://rubygems.org/api/v1/api_key.yaml > ~/.gem/credentials; chmod 0600 ~/.gem/credentials -# Build Gem -gem build auth0.gemspec -# Publish Gem -gem push auth0-*.gem diff --git a/reference.md b/reference.md new file mode 100644 index 000000000..3825d5666 --- /dev/null +++ b/reference.md @@ -0,0 +1,33287 @@ +# Reference +## Actions +
client.actions.list() -> Auth0::Types::ListActionsPaginatedResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve all actions. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.actions.list( + trigger_id: "post-login", + action_name: "actionName", + deployed: true, + page: 1, + per_page: 1, + installed: true +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**trigger_id:** `Auth0::Types::ActionTriggerTypeEnum` — An actions extensibility point. + +
+
+ +
+
+ +**action_name:** `String` — The name of the action to retrieve. + +
+
+ +
+
+ +**deployed:** `Internal::Types::Boolean` — Optional filter to only retrieve actions that are deployed. + +
+
+ +
+
+ +**page:** `Integer` — Use this field to request a specific page of the list results. + +
+
+ +
+
+ +**per_page:** `Integer` — The maximum number of results to be returned by the server in single response. 20 by default + +
+
+ +
+
+ +**installed:** `Internal::Types::Boolean` — Optional. When true, return only installed actions. When false, return only custom actions. Returns all actions by default. + +
+
+ +
+
+ +**request_options:** `Auth0::Actions::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.actions.create(request) -> Auth0::Types::CreateActionResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Create an action. Once an action is created, it must be deployed, and then bound to a trigger before it will be executed as part of a flow. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.actions.create( + name: "name", + supported_triggers: [{ + id: "post-login" + }] +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**name:** `String` — The name of an action. + +
+
+ +
+
+ +**supported_triggers:** `Internal::Types::Array[Auth0::Types::ActionTrigger]` — The list of triggers that this action supports. At this time, an action can only target a single trigger at a time. + +
+
+ +
+
+ +**code:** `String` — The source code of the action. + +
+
+ +
+
+ +**dependencies:** `Internal::Types::Array[Auth0::Types::ActionVersionDependency]` — The list of third party npm modules, and their versions, that this action depends on. + +
+
+ +
+
+ +**runtime:** `String` — The Node runtime. For example: `node22`, defaults to `node22` + +
+
+ +
+
+ +**secrets:** `Internal::Types::Array[Auth0::Types::ActionSecretRequest]` — The list of secrets that are included in an action or a version of an action. + +
+
+ +
+
+ +**modules:** `Internal::Types::Array[Auth0::Types::ActionModuleReference]` — The list of action modules and their versions used by this action. + +
+
+ +
+
+ +**deploy:** `Internal::Types::Boolean` — True if the action should be deployed after creation. + +
+
+ +
+
+ +**request_options:** `Auth0::Actions::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.actions.get(id) -> Auth0::Types::GetActionResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve an action by its ID. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.actions.get(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The ID of the action to retrieve. + +
+
+ +
+
+ +**request_options:** `Auth0::Actions::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.actions.delete(id) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Deletes an action and all of its associated versions. An action must be unbound from all triggers before it can be deleted. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.actions.delete( + id: "id", + force: true +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The ID of the action to delete. + +
+
+ +
+
+ +**force:** `Internal::Types::Boolean` — Force action deletion detaching bindings + +
+
+ +
+
+ +**request_options:** `Auth0::Actions::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.actions.update(id, request) -> Auth0::Types::UpdateActionResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Update an existing action. If this action is currently bound to a trigger, updating it will not affect any user flows until the action is deployed. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.actions.update(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The id of the action to update. + +
+
+ +
+
+ +**name:** `String` — The name of an action. + +
+
+ +
+
+ +**supported_triggers:** `Internal::Types::Array[Auth0::Types::ActionTrigger]` — The list of triggers that this action supports. At this time, an action can only target a single trigger at a time. + +
+
+ +
+
+ +**code:** `String` — The source code of the action. + +
+
+ +
+
+ +**dependencies:** `Internal::Types::Array[Auth0::Types::ActionVersionDependency]` — The list of third party npm modules, and their versions, that this action depends on. + +
+
+ +
+
+ +**runtime:** `String` — The Node runtime. For example: `node22`, defaults to `node22` + +
+
+ +
+
+ +**secrets:** `Internal::Types::Array[Auth0::Types::ActionSecretRequest]` — The list of secrets that are included in an action or a version of an action. + +
+
+ +
+
+ +**modules:** `Internal::Types::Array[Auth0::Types::ActionModuleReference]` — The list of action modules and their versions used by this action. + +
+
+ +
+
+ +**request_options:** `Auth0::Actions::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.actions.deploy(id) -> Auth0::Types::DeployActionResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Deploy an action. Deploying an action will create a new immutable version of the action. If the action is currently bound to a trigger, then the system will begin executing the newly deployed version of the action immediately. Otherwise, the action will only be executed as a part of a flow once it is bound to that flow. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.actions.deploy(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The ID of an action. + +
+
+ +
+
+ +**request_options:** `Auth0::Actions::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.actions.test(id, request) -> Auth0::Types::TestActionResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Test an action. After updating an action, it can be tested prior to being deployed to ensure it behaves as expected. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.actions.test( + id: "id", + payload: {} +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The id of the action to test. + +
+
+ +
+
+ +**payload:** `Internal::Types::Hash[String, Object]` + +
+
+ +
+
+ +**request_options:** `Auth0::Actions::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Branding +
client.branding.get() -> Auth0::Types::GetBrandingResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve branding settings. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.branding.get +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request_options:** `Auth0::Branding::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.branding.update(request) -> Auth0::Types::UpdateBrandingResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Update branding settings. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.branding.update +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**colors:** `Auth0::Types::UpdateBrandingColors` + +
+
+ +
+
+ +**favicon_url:** `String` — URL for the favicon. Must use HTTPS. + +
+
+ +
+
+ +**logo_url:** `String` — URL for the logo. Must use HTTPS. + +
+
+ +
+
+ +**font:** `Auth0::Types::UpdateBrandingFont` + +
+
+ +
+
+ +**request_options:** `Auth0::Branding::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## ClientGrants +
client.client_grants.list() -> Auth0::Types::ListClientGrantPaginatedResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve a list of client grants, including the scopes associated with the application/API pair. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.client_grants.list( + from: "from", + take: 1, + audience: "audience", + client_id: "client_id", + allow_any_organization: true, + subject_type: "client", + default_for: "third_party_clients" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**from:** `String` — Optional Id from which to start selection. + +
+
+ +
+
+ +**take:** `Integer` — Number of results per page. Defaults to 50. + +
+
+ +
+
+ +**audience:** `String` — Optional filter on audience. + +
+
+ +
+
+ +**client_id:** `String` — Optional filter on client_id. + +
+
+ +
+
+ +**allow_any_organization:** `Internal::Types::Boolean` — Optional filter on allow_any_organization. + +
+
+ +
+
+ +**subject_type:** `Auth0::Types::ClientGrantSubjectTypeEnum` — The type of application access the client grant allows. + +
+
+ +
+
+ +**default_for:** `Auth0::Types::ClientGrantDefaultForEnum` — Used to filter the returned client grants to include only default client grants for the specified group of clients. + +
+
+ +
+
+ +**request_options:** `Auth0::ClientGrants::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.client_grants.create(request) -> Auth0::Types::CreateClientGrantResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Create a client grant for a machine-to-machine login flow. To learn more, read Client Credential Flow. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.client_grants.create(audience: "audience") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**client_id:** `String` — ID of the client. + +
+
+ +
+
+ +**audience:** `String` — The audience (API identifier) of this client grant + +
+
+ +
+
+ +**default_for:** `Auth0::Types::ClientGrantDefaultForEnum` — Applies this client grant as the default for all clients in the specified group. The only accepted value is `third_party_clients`, which applies the grant to all third-party clients. Per-client grants for the same audience take precedence. Mutually exclusive with `client_id`. If specified, a value for `client_id` must not be specified. + +
+
+ +
+
+ +**organization_usage:** `Auth0::Types::ClientGrantOrganizationUsageEnum` + +
+
+ +
+
+ +**allow_any_organization:** `Internal::Types::Boolean` — If enabled, any organization can be used with this grant. If disabled (default), the grant must be explicitly assigned to the desired organizations. + +
+
+ +
+
+ +**scope:** `Internal::Types::Array[String]` — Scopes allowed for this client grant. + +
+
+ +
+
+ +**subject_type:** `Auth0::Types::ClientGrantSubjectTypeEnum` + +
+
+ +
+
+ +**authorization_details_types:** `Internal::Types::Array[String]` — Types of authorization_details allowed for this client grant. + +
+
+ +
+
+ +**allow_all_scopes:** `Internal::Types::Boolean` — If enabled, all scopes configured on the resource server are allowed for this grant. + +
+
+ +
+
+ +**request_options:** `Auth0::ClientGrants::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.client_grants.get(id) -> Auth0::Types::GetClientGrantResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve a single client grant, including the +scopes associated with the application/API pair. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.client_grants.get(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The ID of the client grant to retrieve. + +
+
+ +
+
+ +**request_options:** `Auth0::ClientGrants::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.client_grants.delete(id) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Delete the Client Credential Flow from your machine-to-machine application. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.client_grants.delete(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the client grant to delete. + +
+
+ +
+
+ +**request_options:** `Auth0::ClientGrants::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.client_grants.update(id, request) -> Auth0::Types::UpdateClientGrantResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Update a client grant. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.client_grants.update(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the client grant to update. + +
+
+ +
+
+ +**scope:** `Internal::Types::Array[String]` — Scopes allowed for this client grant. + +
+
+ +
+
+ +**organization_usage:** `Auth0::Types::ClientGrantOrganizationNullableUsageEnum` + +
+
+ +
+
+ +**allow_any_organization:** `Internal::Types::Boolean` — Controls allowing any organization to be used with this grant + +
+
+ +
+
+ +**authorization_details_types:** `Internal::Types::Array[String]` — Types of authorization_details allowed for this client grant. + +
+
+ +
+
+ +**allow_all_scopes:** `Internal::Types::Boolean` — If enabled, all scopes configured on the resource server are allowed for this grant. + +
+
+ +
+
+ +**request_options:** `Auth0::ClientGrants::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Clients +
client.clients.list() -> Auth0::Types::ListClientsOffsetPaginatedResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve clients (applications and SSO integrations) matching provided filters. A list of fields to include or exclude may also be specified. +For more information, read Applications in Auth0 and Single Sign-On. + +
    +
  • + The following can be retrieved with any scope: + client_id, app_type, name, and description. +
  • +
  • + The following properties can only be retrieved with the read:clients or + read:client_keys scope: + callbacks, oidc_logout, allowed_origins, + web_origins, tenant, global, config_route, + callback_url_template, jwt_configuration, + jwt_configuration.lifetime_in_seconds, jwt_configuration.secret_encoded, + jwt_configuration.scopes, jwt_configuration.alg, api_type, + logo_uri, allowed_clients, owners, custom_login_page, + custom_login_page_off, sso, addons, form_template, + custom_login_page_codeview, resource_servers, client_metadata, + mobile, mobile.android, mobile.ios, allowed_logout_urls, + token_endpoint_auth_method, is_first_party, oidc_conformant, + is_token_endpoint_ip_header_trusted, initiate_login_uri, grant_types, + refresh_token, refresh_token.rotation_type, refresh_token.expiration_type, + refresh_token.leeway, refresh_token.token_lifetime, refresh_token.policies, organization_usage, + organization_require_behavior. +
  • +
  • + The following properties can only be retrieved with the + read:client_keys or read:client_credentials scope: + encryption_key, encryption_key.pub, encryption_key.cert, + client_secret, client_authentication_methods and signing_key. +
  • +
+
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.clients.list( + fields: "fields", + include_fields: true, + page: 1, + per_page: 1, + include_totals: true, + is_global: true, + is_first_party: true, + app_type: "app_type", + external_client_id: "external_client_id", + q: "q" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**fields:** `String` — Comma-separated list of fields to include or exclude (based on value provided for include_fields) in the result. Leave empty to retrieve all fields. + +
+
+ +
+
+ +**include_fields:** `Internal::Types::Boolean` — Whether specified fields are to be included (true) or excluded (false). + +
+
+ +
+
+ +**page:** `Integer` — Page index of the results to return. First page is 0. + +
+
+ +
+
+ +**per_page:** `Integer` — Number of results per page. Default value is 50, maximum value is 100 + +
+
+ +
+
+ +**include_totals:** `Internal::Types::Boolean` — Return results inside an object that contains the total result count (true) or as a direct array of results (false, default). + +
+
+ +
+
+ +**is_global:** `Internal::Types::Boolean` — Optional filter on the global client parameter. + +
+
+ +
+
+ +**is_first_party:** `Internal::Types::Boolean` — Optional filter on whether or not a client is a first-party client. + +
+
+ +
+
+ +**app_type:** `String` — Optional filter by a comma-separated list of application types. + +
+
+ +
+
+ +**external_client_id:** `String` — Optional filter by the Client ID Metadata Document URI for CIMD-registered clients. + +
+
+ +
+
+ +**q:** `String` — Advanced Query in Lucene syntax.
Permitted Queries:
  • client_grant.organization_id:{organization_id}
  • client_grant.allow_any_organization:true
Additional Restrictions:
  • Cannot be used in combination with other filters
  • Requires use of the from and take paging parameters (checkpoint paginatinon)
  • Reduced rate limits apply. See Rate Limit Configurations
Note: Recent updates may not be immediately reflected in query results + +
+
+ +
+
+ +**request_options:** `Auth0::Clients::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.clients.create(request) -> Auth0::Types::CreateClientResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Create a new client (application or SSO integration). For more information, read Create Applications +API Endpoints for Single Sign-On. + +Notes: +- We recommend leaving the `client_secret` parameter unspecified to allow the generation of a safe secret. +- The client_authentication_methods and token_endpoint_auth_method properties are mutually exclusive. Use +client_authentication_methods to configure the client with Private Key JWT authentication method. Otherwise, use token_endpoint_auth_method +to configure the client with client secret (basic or post) or with no authentication method (none). +- When using client_authentication_methods to configure the client with Private Key JWT authentication method, specify fully defined credentials. +These credentials will be automatically enabled for Private Key JWT authentication on the client. +- To configure client_authentication_methods, the create:client_credentials scope is required. +- To configure client_authentication_methods, the property jwt_configuration.alg must be set to RS256. + +
SSO Integrations created via this endpoint will accept login requests and share user profile information.
+
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.clients.create(name: "name") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**name:** `String` — Name of this client (min length: 1 character, does not allow `<` or `>`). + +
+
+ +
+
+ +**description:** `String` — Free text description of this client (max length: 140 characters). + +
+
+ +
+
+ +**logo_uri:** `String` — URL of the logo to display for this client. Recommended size is 150x150 pixels. + +
+
+ +
+
+ +**callbacks:** `Internal::Types::Array[String]` — Comma-separated list of URLs whitelisted for Auth0 to use as a callback to the client after authentication. + +
+
+ +
+
+ +**oidc_logout:** `Auth0::Types::ClientOidcBackchannelLogoutSettings` + +
+
+ +
+
+ +**oidc_backchannel_logout:** `Auth0::Types::ClientOidcBackchannelLogoutSettings` — Configuration for OIDC backchannel logout (deprecated, in favor of oidc_logout) + +
+
+ +
+
+ +**session_transfer:** `Auth0::Types::ClientSessionTransferConfiguration` + +
+
+ +
+
+ +**allowed_origins:** `Internal::Types::Array[String]` — Comma-separated list of URLs allowed to make requests from JavaScript to Auth0 API (typically used with CORS). By default, all your callback URLs will be allowed. This field allows you to enter other origins if necessary. You can also use wildcards at the subdomain level (e.g., https://*.contoso.com). Query strings and hash information are not taken into account when validating these URLs. + +
+
+ +
+
+ +**web_origins:** `Internal::Types::Array[String]` — Comma-separated list of allowed origins for use with Cross-Origin Authentication, Device Flow, and web message response mode. + +
+
+ +
+
+ +**client_aliases:** `Internal::Types::Array[String]` — List of audiences/realms for SAML protocol. Used by the wsfed addon. + +
+
+ +
+
+ +**allowed_clients:** `Internal::Types::Array[String]` — List of allow clients and API ids that are allowed to make delegation requests. Empty means all all your clients are allowed. + +
+
+ +
+
+ +**allowed_logout_urls:** `Internal::Types::Array[String]` — Comma-separated list of URLs that are valid to redirect to after logout from Auth0. Wildcards are allowed for subdomains. + +
+
+ +
+
+ +**grant_types:** `Internal::Types::Array[String]` — List of grant types supported for this application. Can include `authorization_code`, `implicit`, `refresh_token`, `client_credentials`, `password`, `http://auth0.com/oauth/grant-type/password-realm`, `http://auth0.com/oauth/grant-type/mfa-oob`, `http://auth0.com/oauth/grant-type/mfa-otp`, `http://auth0.com/oauth/grant-type/mfa-recovery-code`, `urn:openid:params:grant-type:ciba`, `urn:ietf:params:oauth:grant-type:device_code`, and `urn:auth0:params:oauth:grant-type:token-exchange:federated-connection-access-token`. + +
+
+ +
+
+ +**token_endpoint_auth_method:** `Auth0::Types::ClientTokenEndpointAuthMethodEnum` + +
+
+ +
+
+ +**is_token_endpoint_ip_header_trusted:** `Internal::Types::Boolean` — If true, trust that the IP specified in the `auth0-forwarded-for` header is the end-user's IP for brute-force-protection on token endpoint. + +
+
+ +
+
+ +**app_type:** `Auth0::Types::ClientAppTypeEnum` + +
+
+ +
+
+ +**is_first_party:** `Internal::Types::Boolean` — Whether this client a first party client or not + +
+
+ +
+
+ +**oidc_conformant:** `Internal::Types::Boolean` — Whether this client conforms to strict OIDC specifications (true) or uses legacy features (false). + +
+
+ +
+
+ +**jwt_configuration:** `Auth0::Types::ClientJwtConfiguration` + +
+
+ +
+
+ +**encryption_key:** `Auth0::Types::ClientEncryptionKey` + +
+
+ +
+
+ +**sso:** `Internal::Types::Boolean` — Applies only to SSO clients and determines whether Auth0 will handle Single Sign On (true) or whether the Identity Provider will (false). + +
+
+ +
+
+ +**cross_origin_authentication:** `Internal::Types::Boolean` — Whether this client can be used to make cross-origin authentication requests (true) or it is not allowed to make such requests (false). + +
+
+ +
+
+ +**cross_origin_loc:** `String` — URL of the location in your site where the cross origin verification takes place for the cross-origin auth flow when performing Auth in your own domain instead of Auth0 hosted login page. + +
+
+ +
+
+ +**sso_disabled:** `Internal::Types::Boolean` — true to disable Single Sign On, false otherwise (default: false) + +
+
+ +
+
+ +**custom_login_page_on:** `Internal::Types::Boolean` — true if the custom login page is to be used, false otherwise. Defaults to true + +
+
+ +
+
+ +**custom_login_page:** `String` — The content (HTML, CSS, JS) of the custom login page. + +
+
+ +
+
+ +**custom_login_page_preview:** `String` — The content (HTML, CSS, JS) of the custom login page. (Used on Previews) + +
+
+ +
+
+ +**form_template:** `String` — HTML form template to be used for WS-Federation. + +
+
+ +
+
+ +**addons:** `Auth0::Types::ClientAddons` + +
+
+ +
+
+ +**client_metadata:** `Internal::Types::Hash[String, Object]` + +
+
+ +
+
+ +**mobile:** `Auth0::Types::ClientMobile` + +
+
+ +
+
+ +**initiate_login_uri:** `String` — Initiate login uri, must be https + +
+
+ +
+
+ +**native_social_login:** `Auth0::Types::NativeSocialLogin` + +
+
+ +
+
+ +**refresh_token:** `Auth0::Types::ClientRefreshTokenConfiguration` + +
+
+ +
+
+ +**default_organization:** `Auth0::Types::ClientDefaultOrganization` + +
+
+ +
+
+ +**organization_usage:** `Auth0::Types::ClientOrganizationUsageEnum` + +
+
+ +
+
+ +**organization_require_behavior:** `Auth0::Types::ClientOrganizationRequireBehaviorEnum` + +
+
+ +
+
+ +**organization_discovery_methods:** `Internal::Types::Array[Auth0::Types::ClientOrganizationDiscoveryEnum]` — Defines the available methods for organization discovery during the `pre_login_prompt`. Users can discover their organization either by `email`, `organization_name` or both. + +
+
+ +
+
+ +**client_authentication_methods:** `Auth0::Types::ClientCreateAuthenticationMethod` + +
+
+ +
+
+ +**require_pushed_authorization_requests:** `Internal::Types::Boolean` — Makes the use of Pushed Authorization Requests mandatory for this client + +
+
+ +
+
+ +**require_proof_of_possession:** `Internal::Types::Boolean` — Makes the use of Proof-of-Possession mandatory for this client + +
+
+ +
+
+ +**signed_request_object:** `Auth0::Types::ClientSignedRequestObjectWithPublicKey` + +
+
+ +
+
+ +**compliance_level:** `Auth0::Types::ClientComplianceLevelEnum` + +
+
+ +
+
+ +**skip_non_verifiable_callback_uri_confirmation_prompt:** `Internal::Types::Boolean` + +Controls whether a confirmation prompt is shown during login flows when the redirect URI uses non-verifiable callback URIs (for example, a custom URI schema such as `myapp://`, or `localhost`). +If set to true, a confirmation prompt will not be shown. We recommend that this is set to false for improved protection from malicious apps. +See https://auth0.com/docs/secure/security-guidance/measures-against-app-impersonation for more information. + +
+
+ +
+
+ +**token_exchange:** `Auth0::Types::ClientTokenExchangeConfiguration` + +
+
+ +
+
+ +**par_request_expiry:** `Integer` — Specifies how long, in seconds, a Pushed Authorization Request URI remains valid + +
+
+ +
+
+ +**token_quota:** `Auth0::Types::CreateTokenQuota` + +
+
+ +
+
+ +**resource_server_identifier:** `String` — The identifier of the resource server that this client is linked to. + +
+
+ +
+
+ +**third_party_security_mode:** `Auth0::Types::ClientThirdPartySecurityModeEnum` + +
+
+ +
+
+ +**redirection_policy:** `Auth0::Types::ClientRedirectionPolicyEnum` + +
+
+ +
+
+ +**express_configuration:** `Auth0::Types::ExpressConfiguration` + +
+
+ +
+
+ +**my_organization_configuration:** `Auth0::Types::ClientMyOrganizationPostConfiguration` + +
+
+ +
+
+ +**async_approval_notification_channels:** `Internal::Types::Array[Auth0::Types::AsyncApprovalNotificationsChannelsEnum]` + +
+
+ +
+
+ +**request_options:** `Auth0::Clients::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.clients.preview_cimd_metadata(request) -> Auth0::Types::PreviewCimdMetadataResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ + + Fetches and validates a Client ID Metadata Document without creating a client. + Returns the raw metadata and how it would be mapped to Auth0 client fields. + This endpoint is useful for testing metadata URIs before creating CIMD clients. + +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.clients.preview_cimd_metadata(external_client_id: "external_client_id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**external_client_id:** `String` — URL to the Client ID Metadata Document + +
+
+ +
+
+ +**request_options:** `Auth0::Clients::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.clients.register_cimd_client(request) -> Auth0::Types::RegisterCimdClientResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ + + Idempotent registration for Client ID Metadata Document (CIMD) clients. + Uses external_client_id as the unique identifier for upsert operations. + **Create:** Returns 201 when a new client is created (requires \ +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.clients.register_cimd_client(external_client_id: "external_client_id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**external_client_id:** `String` — URL to the Client ID Metadata Document. Acts as the unique identifier for upsert operations. + +
+
+ +
+
+ +**request_options:** `Auth0::Clients::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.clients.get(id) -> Auth0::Types::GetClientResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve client details by ID. Clients are SSO connections or Applications linked with your Auth0 tenant. A list of fields to include or exclude may also be specified. +For more information, read Applications in Auth0 and Single Sign-On. +
    +
  • + The following properties can be retrieved with any of the scopes: + client_id, app_type, name, and description. +
  • +
  • + The following properties can only be retrieved with the read:clients or + read:client_keys scopes: + callbacks, oidc_logout, allowed_origins, + web_origins, tenant, global, config_route, + callback_url_template, jwt_configuration, + jwt_configuration.lifetime_in_seconds, jwt_configuration.secret_encoded, + jwt_configuration.scopes, jwt_configuration.alg, api_type, + logo_uri, allowed_clients, owners, custom_login_page, + custom_login_page_off, sso, addons, form_template, + custom_login_page_codeview, resource_servers, client_metadata, + mobile, mobile.android, mobile.ios, allowed_logout_urls, + token_endpoint_auth_method, is_first_party, oidc_conformant, + is_token_endpoint_ip_header_trusted, initiate_login_uri, grant_types, + refresh_token, refresh_token.rotation_type, refresh_token.expiration_type, + refresh_token.leeway, refresh_token.token_lifetime, refresh_token.policies, organization_usage, + organization_require_behavior. +
  • +
  • + The following properties can only be retrieved with the read:client_keys or read:client_credentials scopes: + encryption_key, encryption_key.pub, encryption_key.cert, + client_secret, client_authentication_methods and signing_key. +
  • +
+
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.clients.get( + id: "id", + fields: "fields", + include_fields: true +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the client to retrieve. + +
+
+ +
+
+ +**fields:** `String` — Comma-separated list of fields to include or exclude (based on value provided for include_fields) in the result. Leave empty to retrieve all fields. + +
+
+ +
+
+ +**include_fields:** `Internal::Types::Boolean` — Whether specified fields are to be included (true) or excluded (false). + +
+
+ +
+
+ +**request_options:** `Auth0::Clients::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.clients.delete(id) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Delete a client and related configuration (rules, connections, etc). +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.clients.delete(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the client to delete. + +
+
+ +
+
+ +**request_options:** `Auth0::Clients::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.clients.update(id, request) -> Auth0::Types::UpdateClientResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Updates a client's settings. For more information, read Applications in Auth0 and Single Sign-On. + +Notes: +- The `client_secret` and `signing_key` attributes can only be updated with the `update:client_keys` scope. +- The client_authentication_methods and token_endpoint_auth_method properties are mutually exclusive. Use client_authentication_methods to configure the client with Private Key JWT authentication method. Otherwise, use token_endpoint_auth_method to configure the client with client secret (basic or post) or with no authentication method (none). +- When using client_authentication_methods to configure the client with Private Key JWT authentication method, only specify the credential IDs that were generated when creating the credentials on the client. +- To configure client_authentication_methods, the update:client_credentials scope is required. +- To configure client_authentication_methods, the property jwt_configuration.alg must be set to RS256. +- To change a client's is_first_party property to false, the organization_usage and organization_require_behavior properties must be unset. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.clients.update(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the client to update. + +
+
+ +
+
+ +**name:** `String` — The name of the client. Must contain at least one character. Does not allow '<' or '>'. + +
+
+ +
+
+ +**description:** `String` — Free text description of the purpose of the Client. (Max character length: 140) + +
+
+ +
+
+ +**client_secret:** `String` — The secret used to sign tokens for the client + +
+
+ +
+
+ +**logo_uri:** `String` — The URL of the client logo (recommended size: 150x150) + +
+
+ +
+
+ +**callbacks:** `Internal::Types::Array[String]` — A set of URLs that are valid to call back from Auth0 when authenticating users + +
+
+ +
+
+ +**oidc_logout:** `Auth0::Types::ClientOidcBackchannelLogoutSettings` + +
+
+ +
+
+ +**oidc_backchannel_logout:** `Auth0::Types::ClientOidcBackchannelLogoutSettings` — Configuration for OIDC backchannel logout (deprecated, in favor of oidc_logout) + +
+
+ +
+
+ +**session_transfer:** `Auth0::Types::ClientSessionTransferConfiguration` + +
+
+ +
+
+ +**allowed_origins:** `Internal::Types::Array[String]` — A set of URLs that represents valid origins for CORS + +
+
+ +
+
+ +**web_origins:** `Internal::Types::Array[String]` — A set of URLs that represents valid web origins for use with web message response mode + +
+
+ +
+
+ +**grant_types:** `Internal::Types::Array[String]` — A set of grant types that the client is authorized to use. Can include `authorization_code`, `implicit`, `refresh_token`, `client_credentials`, `password`, `http://auth0.com/oauth/grant-type/password-realm`, `http://auth0.com/oauth/grant-type/mfa-oob`, `http://auth0.com/oauth/grant-type/mfa-otp`, `http://auth0.com/oauth/grant-type/mfa-recovery-code`, `urn:openid:params:grant-type:ciba`, `urn:ietf:params:oauth:grant-type:device_code`, and `urn:auth0:params:oauth:grant-type:token-exchange:federated-connection-access-token`. + +
+
+ +
+
+ +**client_aliases:** `Internal::Types::Array[String]` — List of audiences for SAML protocol + +
+
+ +
+
+ +**allowed_clients:** `Internal::Types::Array[String]` — Ids of clients that will be allowed to perform delegation requests. Clients that will be allowed to make delegation request. By default, all your clients will be allowed. This field allows you to specify specific clients + +
+
+ +
+
+ +**allowed_logout_urls:** `Internal::Types::Array[String]` — URLs that are valid to redirect to after logout from Auth0 + +
+
+ +
+
+ +**jwt_configuration:** `Auth0::Types::ClientJwtConfiguration` — An object that holds settings related to how JWTs are created + +
+
+ +
+
+ +**encryption_key:** `Auth0::Types::ClientEncryptionKey` — The client's encryption key + +
+
+ +
+
+ +**sso:** `Internal::Types::Boolean` — true to use Auth0 instead of the IdP to do Single Sign On, false otherwise (default: false) + +
+
+ +
+
+ +**cross_origin_authentication:** `Internal::Types::Boolean` — true if this client can be used to make cross-origin authentication requests, false otherwise if cross origin is disabled + +
+
+ +
+
+ +**cross_origin_loc:** `String` — URL for the location in your site where the cross origin verification takes place for the cross-origin auth flow when performing Auth in your own domain instead of Auth0 hosted login page. + +
+
+ +
+
+ +**sso_disabled:** `Internal::Types::Boolean` — true to disable Single Sign On, false otherwise (default: false) + +
+
+ +
+
+ +**custom_login_page_on:** `Internal::Types::Boolean` — true if the custom login page is to be used, false otherwise. + +
+
+ +
+
+ +**token_endpoint_auth_method:** `Auth0::Types::ClientTokenEndpointAuthMethodOrNullEnum` + +
+
+ +
+
+ +**is_token_endpoint_ip_header_trusted:** `Internal::Types::Boolean` — If true, trust that the IP specified in the `auth0-forwarded-for` header is the end-user's IP for brute-force-protection on token endpoint. + +
+
+ +
+
+ +**app_type:** `Auth0::Types::ClientAppTypeEnum` + +
+
+ +
+
+ +**is_first_party:** `Internal::Types::Boolean` — Whether this client a first party client or not + +
+
+ +
+
+ +**oidc_conformant:** `Internal::Types::Boolean` — Whether this client will conform to strict OIDC specifications + +
+
+ +
+
+ +**custom_login_page:** `String` — The content (HTML, CSS, JS) of the custom login page + +
+
+ +
+
+ +**custom_login_page_preview:** `String` + +
+
+ +
+
+ +**token_quota:** `Auth0::Types::UpdateTokenQuota` + +
+
+ +
+
+ +**form_template:** `String` — Form template for WS-Federation protocol + +
+
+ +
+
+ +**addons:** `Auth0::Types::ClientAddons` + +
+
+ +
+
+ +**client_metadata:** `Internal::Types::Hash[String, Object]` + +
+
+ +
+
+ +**mobile:** `Auth0::Types::ClientMobile` — Configuration related to native mobile apps + +
+
+ +
+
+ +**initiate_login_uri:** `String` — Initiate login uri, must be https + +
+
+ +
+
+ +**native_social_login:** `Auth0::Types::NativeSocialLogin` + +
+
+ +
+
+ +**refresh_token:** `Auth0::Types::ClientRefreshTokenConfiguration` + +
+
+ +
+
+ +**default_organization:** `Auth0::Types::ClientDefaultOrganization` + +
+
+ +
+
+ +**organization_usage:** `Auth0::Types::ClientOrganizationUsagePatchEnum` + +
+
+ +
+
+ +**organization_require_behavior:** `Auth0::Types::ClientOrganizationRequireBehaviorPatchEnum` + +
+
+ +
+
+ +**organization_discovery_methods:** `Internal::Types::Array[Auth0::Types::ClientOrganizationDiscoveryEnum]` — Defines the available methods for organization discovery during the `pre_login_prompt`. Users can discover their organization either by `email`, `organization_name` or both. + +
+
+ +
+
+ +**client_authentication_methods:** `Auth0::Types::ClientAuthenticationMethod` + +
+
+ +
+
+ +**require_pushed_authorization_requests:** `Internal::Types::Boolean` — Makes the use of Pushed Authorization Requests mandatory for this client + +
+
+ +
+
+ +**require_proof_of_possession:** `Internal::Types::Boolean` — Makes the use of Proof-of-Possession mandatory for this client + +
+
+ +
+
+ +**signed_request_object:** `Auth0::Types::ClientSignedRequestObjectWithCredentialID` + +
+
+ +
+
+ +**compliance_level:** `Auth0::Types::ClientComplianceLevelEnum` + +
+
+ +
+
+ +**skip_non_verifiable_callback_uri_confirmation_prompt:** `Internal::Types::Boolean` + +Controls whether a confirmation prompt is shown during login flows when the redirect URI uses non-verifiable callback URIs (for example, a custom URI schema such as `myapp://`, or `localhost`). +If set to true, a confirmation prompt will not be shown. We recommend that this is set to false for improved protection from malicious apps. +See https://auth0.com/docs/secure/security-guidance/measures-against-app-impersonation for more information. + +
+
+ +
+
+ +**token_exchange:** `Auth0::Types::ClientTokenExchangeConfigurationOrNull` + +
+
+ +
+
+ +**par_request_expiry:** `Integer` — Specifies how long, in seconds, a Pushed Authorization Request URI remains valid + +
+
+ +
+
+ +**express_configuration:** `Auth0::Types::ExpressConfigurationOrNull` + +
+
+ +
+
+ +**my_organization_configuration:** `Auth0::Types::ClientMyOrganizationPatchConfiguration` + +
+
+ +
+
+ +**async_approval_notification_channels:** `Internal::Types::Array[Auth0::Types::AsyncApprovalNotificationsChannelsEnum]` + +
+
+ +
+
+ +**third_party_security_mode:** `Auth0::Types::ClientThirdPartySecurityModeEnum` + +
+
+ +
+
+ +**redirection_policy:** `Auth0::Types::ClientRedirectionPolicyEnum` + +
+
+ +
+
+ +**request_options:** `Auth0::Clients::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.clients.rotate_secret(id) -> Auth0::Types::RotateClientSecretResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Rotate a client secret. + +This endpoint cannot be used with clients configured with Private Key JWT authentication method (client_authentication_methods configured with private_key_jwt). The generated secret is NOT base64 encoded. + +For more information, read Rotate Client Secrets. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.clients.rotate_secret(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the client that will rotate secrets. + +
+
+ +
+
+ +**request_options:** `Auth0::Clients::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## ConnectionProfiles +
client.connection_profiles.list() -> Auth0::Types::ListConnectionProfilesPaginatedResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve a list of Connection Profiles. This endpoint supports Checkpoint pagination. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.connection_profiles.list( + from: "from", + take: 1 +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**from:** `String` — Optional Id from which to start selection. + +
+
+ +
+
+ +**take:** `Integer` — Number of results per page. Defaults to 5. + +
+
+ +
+
+ +**request_options:** `Auth0::ConnectionProfiles::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.connection_profiles.create(request) -> Auth0::Types::CreateConnectionProfileResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Create a Connection Profile. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.connection_profiles.create(name: "name") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**name:** `String` + +
+
+ +
+
+ +**organization:** `Auth0::Types::ConnectionProfileOrganization` + +
+
+ +
+
+ +**connection_name_prefix_template:** `String` + +
+
+ +
+
+ +**enabled_features:** `Internal::Types::Array[Auth0::Types::EnabledFeaturesEnum]` + +
+
+ +
+
+ +**connection_config:** `Auth0::Types::ConnectionProfileConfig` + +
+
+ +
+
+ +**strategy_overrides:** `Auth0::Types::ConnectionProfileStrategyOverrides` + +
+
+ +
+
+ +**request_options:** `Auth0::ConnectionProfiles::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.connection_profiles.list_templates() -> Auth0::Types::ListConnectionProfileTemplateResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve a list of Connection Profile Templates. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.connection_profiles.list_templates +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request_options:** `Auth0::ConnectionProfiles::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.connection_profiles.get_template(id) -> Auth0::Types::GetConnectionProfileTemplateResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve a Connection Profile Template. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.connection_profiles.get_template(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the connection-profile-template to retrieve. + +
+
+ +
+
+ +**request_options:** `Auth0::ConnectionProfiles::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.connection_profiles.get(id) -> Auth0::Types::GetConnectionProfileResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve details about a single Connection Profile specified by ID. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.connection_profiles.get(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the connection-profile to retrieve. + +
+
+ +
+
+ +**request_options:** `Auth0::ConnectionProfiles::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.connection_profiles.delete(id) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Delete a single Connection Profile specified by ID. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.connection_profiles.delete(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the connection-profile to delete. + +
+
+ +
+
+ +**request_options:** `Auth0::ConnectionProfiles::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.connection_profiles.update(id, request) -> Auth0::Types::UpdateConnectionProfileResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Update the details of a specific Connection Profile. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.connection_profiles.update(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the connection profile to update. + +
+
+ +
+
+ +**name:** `String` + +
+
+ +
+
+ +**organization:** `Auth0::Types::ConnectionProfileOrganization` + +
+
+ +
+
+ +**connection_name_prefix_template:** `String` + +
+
+ +
+
+ +**enabled_features:** `Internal::Types::Array[Auth0::Types::EnabledFeaturesEnum]` + +
+
+ +
+
+ +**connection_config:** `Auth0::Types::ConnectionProfileConfig` + +
+
+ +
+
+ +**strategy_overrides:** `Auth0::Types::ConnectionProfileStrategyOverrides` + +
+
+ +
+
+ +**request_options:** `Auth0::ConnectionProfiles::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Connections +
client.connections.list() -> Auth0::Types::ListConnectionsCheckpointPaginatedResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieves detailed list of all connections that match the specified strategy. If no strategy is provided, all connections within your tenant are retrieved. This action can accept a list of fields to include or exclude from the resulting list of connections. + +This endpoint supports two types of pagination: +
    +
  • Offset pagination
  • +
  • Checkpoint pagination
  • +
+ +Checkpoint pagination must be used if you need to retrieve more than 1000 connections. + +

Checkpoint Pagination

+ +To search by checkpoint, use the following parameters: +
    +
  • from: Optional id from which to start selection.
  • +
  • take: The total amount of entries to retrieve when using the from parameter. Defaults to 50.
  • +
+ +Note: The first time you call this endpoint using checkpoint pagination, omit the from parameter. If there are more results, a next value is included in the response. You can use this for subsequent API calls. When next is no longer included in the response, no pages are remaining. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.connections.list( + from: "from", + take: 1, + name: "name", + fields: "fields", + include_fields: true +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**from:** `String` — Optional Id from which to start selection. + +
+
+ +
+
+ +**take:** `Integer` — Number of results per page. Defaults to 50. + +
+
+ +
+
+ +**strategy:** `Auth0::Types::ConnectionStrategyEnum` — Provide strategies to only retrieve connections with such strategies + +
+
+ +
+
+ +**name:** `String` — Provide the name of the connection to retrieve + +
+
+ +
+
+ +**fields:** `String` — A comma separated list of fields to include or exclude (depending on include_fields) from the result, empty to retrieve all fields + +
+
+ +
+
+ +**include_fields:** `Internal::Types::Boolean` — true if the fields specified are to be included in the result, false otherwise (defaults to true) + +
+
+ +
+
+ +**request_options:** `Auth0::Connections::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.connections.create(request) -> Auth0::Types::CreateConnectionResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Creates a new connection according to the JSON object received in body. + +Note: If a connection with the same name was recently deleted and had a large number of associated users, the deletion may still be processing. Creating a new connection with that name before the deletion completes may fail or produce unexpected results. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.connections.create( + name: "name", + strategy: "ad" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**name:** `String` — The name of the connection. Must start and end with an alphanumeric character and can only contain alphanumeric characters and '-'. Max length 128 + +
+
+ +
+
+ +**display_name:** `String` — Connection name used in the new universal login experience + +
+
+ +
+
+ +**strategy:** `Auth0::Types::ConnectionIdentityProviderEnum` + +
+
+ +
+
+ +**options:** `Auth0::Types::ConnectionPropertiesOptions` + +
+
+ +
+
+ +**enabled_clients:** `Internal::Types::Array[String]` — Use of this property is NOT RECOMMENDED. Use the PATCH /v2/connections/{id}/clients endpoint to enable the connection for a set of clients. + +
+
+ +
+
+ +**is_domain_connection:** `Internal::Types::Boolean` — true promotes to a domain-level connection so that third-party applications can use it. false does not promote the connection, so only first-party applications with the connection enabled can use it. (Defaults to false.) + +
+
+ +
+
+ +**show_as_button:** `Internal::Types::Boolean` — Enables showing a button for the connection in the login page (new experience only). If false, it will be usable only by HRD. (Defaults to false.) + +
+
+ +
+
+ +**realms:** `Internal::Types::Array[String]` — Defines the realms for which the connection will be used (ie: email domains). If the array is empty or the property is not specified, the connection name will be added as realm. + +
+
+ +
+
+ +**metadata:** `Internal::Types::Hash[String, String]` + +
+
+ +
+
+ +**authentication:** `Auth0::Types::ConnectionAuthenticationPurpose` + +
+
+ +
+
+ +**connected_accounts:** `Auth0::Types::ConnectionConnectedAccountsPurpose` + +
+
+ +
+
+ +**request_options:** `Auth0::Connections::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.connections.get(id) -> Auth0::Types::GetConnectionResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve details for a specified connection along with options that can be used for identity provider configuration. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.connections.get( + id: "id", + fields: "fields", + include_fields: true +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The id of the connection to retrieve + +
+
+ +
+
+ +**fields:** `String` — A comma separated list of fields to include or exclude (depending on include_fields) from the result, empty to retrieve all fields + +
+
+ +
+
+ +**include_fields:** `Internal::Types::Boolean` — true if the fields specified are to be included in the result, false otherwise (defaults to true) + +
+
+ +
+
+ +**request_options:** `Auth0::Connections::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.connections.delete(id) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Removes a specific connection from your tenant. This action cannot be undone. Once removed, users can no longer use this connection to authenticate. + +Note: If your connection has a large amount of users associated with it, please be aware that this operation can be long running after the response is returned and may impact concurrent create connection requests, if they use an identical connection name. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.connections.delete(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The id of the connection to delete + +
+
+ +
+
+ +**request_options:** `Auth0::Connections::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.connections.update(id, request) -> Auth0::Types::UpdateConnectionResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Update details for a specific connection, including option properties for identity provider configuration. + +Note: If you use the options parameter, the entire options object is overriden. To avoid partial data or other issues, ensure all parameters are present when using this option. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.connections.update(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The id of the connection to update + +
+
+ +
+
+ +**display_name:** `String` — The connection name used in the new universal login experience. If display_name is not included in the request, the field will be overwritten with the name value. + +
+
+ +
+
+ +**options:** `Auth0::Types::UpdateConnectionOptions` + +
+
+ +
+
+ +**enabled_clients:** `Internal::Types::Array[String]` — DEPRECATED property. Use the PATCH /v2/connections/{id}/clients endpoint to enable or disable the connection for any clients. + +
+
+ +
+
+ +**is_domain_connection:** `Internal::Types::Boolean` — true promotes to a domain-level connection so that third-party applications can use it. false does not promote the connection, so only first-party applications with the connection enabled can use it. (Defaults to false.) + +
+
+ +
+
+ +**show_as_button:** `Internal::Types::Boolean` — Enables showing a button for the connection in the login page (new experience only). If false, it will be usable only by HRD. (Defaults to false.) + +
+
+ +
+
+ +**realms:** `Internal::Types::Array[String]` — Defines the realms for which the connection will be used (ie: email domains). If the array is empty or the property is not specified, the connection name will be added as realm. + +
+
+ +
+
+ +**metadata:** `Internal::Types::Hash[String, String]` + +
+
+ +
+
+ +**authentication:** `Auth0::Types::ConnectionAuthenticationPurpose` + +
+
+ +
+
+ +**connected_accounts:** `Auth0::Types::ConnectionConnectedAccountsPurpose` + +
+
+ +
+
+ +**request_options:** `Auth0::Connections::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.connections.check_status(id) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieves the status of an ad/ldap connection referenced by its ID. 200 OK http status code response is returned when the connection is online, otherwise a 404 status code is returned along with an error message +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.connections.check_status(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the connection to check + +
+
+ +
+
+ +**request_options:** `Auth0::Connections::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## CustomDomains +
client.custom_domains.list() -> Internal::Types::Array[Auth0::Types::CustomDomain] +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve details on custom domains. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.custom_domains.list( + q: "q", + fields: "fields", + include_fields: true, + sort: "sort" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**q:** `String` — Query in Lucene query string syntax. + +
+
+ +
+
+ +**fields:** `String` — Comma-separated list of fields to include or exclude (based on value provided for include_fields) in the result. Leave empty to retrieve all fields. + +
+
+ +
+
+ +**include_fields:** `Internal::Types::Boolean` — Whether specified fields are to be included (true) or excluded (false). + +
+
+ +
+
+ +**sort:** `String` — Field to sort by. Only domain:1 (ascending order by domain) is supported at this time. + +
+
+ +
+
+ +**request_options:** `Auth0::CustomDomains::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.custom_domains.create(request) -> Auth0::Types::CreateCustomDomainResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Create a new custom domain. + +Note: The custom domain will need to be verified before it will accept +requests. + +Optional attributes that can be updated: + +- custom_client_ip_header +- tls_policy + + +TLS Policies: + +- recommended - for modern usage this includes TLS 1.2 only +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.custom_domains.create( + domain: "domain", + type: "auth0_managed_certs" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**domain:** `String` — Domain name. + +
+
+ +
+
+ +**type:** `Auth0::Types::CustomDomainProvisioningTypeEnum` + +
+
+ +
+
+ +**verification_method:** `Auth0::Types::CustomDomainVerificationMethodEnum` + +
+
+ +
+
+ +**tls_policy:** `Auth0::Types::CustomDomainTLSPolicyEnum` + +
+
+ +
+
+ +**custom_client_ip_header:** `Auth0::Types::CustomDomainCustomClientIPHeaderEnum` + +
+
+ +
+
+ +**domain_metadata:** `Internal::Types::Hash[String, String]` + +
+
+ +
+
+ +**relying_party_identifier:** `String` — Relying Party ID (rpId) to be used for Passkeys on this custom domain. If not provided, the full domain will be used. + +
+
+ +
+
+ +**request_options:** `Auth0::CustomDomains::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.custom_domains.get_default() -> Auth0::Types::GetDefaultDomainResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve the tenant's default domain. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.custom_domains.get_default +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request_options:** `Auth0::CustomDomains::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.custom_domains.set_default(request) -> Auth0::Types::UpdateDefaultDomainResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Set the default custom domain for the tenant. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.custom_domains.set_default(domain: "domain") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**domain:** `String` — The domain to set as the default custom domain. Must be a verified custom domain or the canonical domain. + +
+
+ +
+
+ +**request_options:** `Auth0::CustomDomains::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.custom_domains.get(id) -> Auth0::Types::GetCustomDomainResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve a custom domain configuration and status. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.custom_domains.get(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the custom domain to retrieve. + +
+
+ +
+
+ +**request_options:** `Auth0::CustomDomains::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.custom_domains.delete(id) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Delete a custom domain and stop serving requests for it. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.custom_domains.delete(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the custom domain to delete. + +
+
+ +
+
+ +**request_options:** `Auth0::CustomDomains::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.custom_domains.update(id, request) -> Auth0::Types::UpdateCustomDomainResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Update a custom domain. + +These are the attributes that can be updated: + +- custom_client_ip_header +- tls_policy + +
Updating CUSTOM_CLIENT_IP_HEADER for a custom domain
To update the custom_client_ip_header for a domain, the body to +send should be: +
{ "custom_client_ip_header": "cf-connecting-ip" }
+ +
Updating TLS_POLICY for a custom domain
To update the tls_policy for a domain, the body to send should be: +
{ "tls_policy": "recommended" }
+ + +TLS Policies: + +- recommended - for modern usage this includes TLS 1.2 only + + +Some considerations: + +- The TLS ciphers and protocols available in each TLS policy follow industry recommendations, and may be updated occasionally. +- The compatible TLS policy is no longer supported. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.custom_domains.update(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The id of the custom domain to update + +
+
+ +
+
+ +**tls_policy:** `Auth0::Types::CustomDomainTLSPolicyEnum` — recommended includes TLS 1.2 + +
+
+ +
+
+ +**custom_client_ip_header:** `Auth0::Types::CustomDomainCustomClientIPHeaderEnum` + +
+
+ +
+
+ +**domain_metadata:** `Internal::Types::Hash[String, String]` + +
+
+ +
+
+ +**relying_party_identifier:** `String` — Relying Party ID (rpId) to be used for Passkeys on this custom domain. Set to null to remove the rpId and fall back to using the full domain. + +
+
+ +
+
+ +**request_options:** `Auth0::CustomDomains::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.custom_domains.test(id) -> Auth0::Types::TestCustomDomainResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Run the test process on a custom domain. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.custom_domains.test(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the custom domain to test. + +
+
+ +
+
+ +**request_options:** `Auth0::CustomDomains::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.custom_domains.verify(id) -> Auth0::Types::VerifyCustomDomainResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Run the verification process on a custom domain. + +Note: Check the status field to see its verification status. Once verification is complete, it may take up to 10 minutes before the custom domain can start accepting requests. + +For self_managed_certs, when the custom domain is verified for the first time, the response will also include the cname_api_key which you will need to configure your proxy. This key must be kept secret, and is used to validate the proxy requests. + +Learn more about verifying custom domains that use Auth0 Managed certificates. +Learn more about verifying custom domains that use Self Managed certificates. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.custom_domains.verify(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the custom domain to verify. + +
+
+ +
+
+ +**request_options:** `Auth0::CustomDomains::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## DeviceCredentials +
client.device_credentials.list() -> Auth0::Types::ListDeviceCredentialsOffsetPaginatedResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve device credential information (public_key, refresh_token, or rotating_refresh_token) associated with a specific user. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.device_credentials.list( + page: 1, + per_page: 1, + include_totals: true, + fields: "fields", + include_fields: true, + user_id: "user_id", + client_id: "client_id", + type: "public_key" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**page:** `Integer` — Page index of the results to return. First page is 0. + +
+
+ +
+
+ +**per_page:** `Integer` — Number of results per page. There is a maximum of 1000 results allowed from this endpoint. + +
+
+ +
+
+ +**include_totals:** `Internal::Types::Boolean` — Return results inside an object that contains the total result count (true) or as a direct array of results (false, default). + +
+
+ +
+
+ +**fields:** `String` — Comma-separated list of fields to include or exclude (based on value provided for include_fields) in the result. Leave empty to retrieve all fields. + +
+
+ +
+
+ +**include_fields:** `Internal::Types::Boolean` — Whether specified fields are to be included (true) or excluded (false). + +
+
+ +
+
+ +**user_id:** `String` — user_id of the devices to retrieve. + +
+
+ +
+
+ +**client_id:** `String` — client_id of the devices to retrieve. + +
+
+ +
+
+ +**type:** `Auth0::Types::DeviceCredentialTypeEnum` — Type of credentials to retrieve. Must be `public_key`, `refresh_token` or `rotating_refresh_token`. The property will default to `refresh_token` when paging is requested + +
+
+ +
+
+ +**request_options:** `Auth0::DeviceCredentials::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.device_credentials.create_public_key(request) -> Auth0::Types::CreatePublicKeyDeviceCredentialResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Create a device credential public key to manage refresh token rotation for a given user_id. Device Credentials APIs are designed for ad-hoc administrative use only and paging is by default enabled for GET requests. + +When refresh token rotation is enabled, the endpoint becomes consistent. For more information, read Signing Keys. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.device_credentials.create_public_key( + device_name: "device_name", + type: "public_key", + value: "value", + device_id: "device_id" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**device_name:** `String` — Name for this device easily recognized by owner. + +
+
+ +
+
+ +**type:** `Auth0::Types::DeviceCredentialPublicKeyTypeEnum` + +
+
+ +
+
+ +**value:** `String` — Base64 encoded string containing the credential. + +
+
+ +
+
+ +**device_id:** `String` — Unique identifier for the device. Recommend using Android_ID on Android and identifierForVendor. + +
+
+ +
+
+ +**client_id:** `String` — client_id of the client (application) this credential is for. + +
+
+ +
+
+ +**request_options:** `Auth0::DeviceCredentials::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.device_credentials.delete(id) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Permanently delete a device credential (such as a refresh token or public key) with the given ID. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.device_credentials.delete(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the credential to delete. + +
+
+ +
+
+ +**request_options:** `Auth0::DeviceCredentials::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## EmailTemplates +
client.email_templates.create(request) -> Auth0::Types::CreateEmailTemplateResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Create an email template. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.email_templates.create(template: "verify_email") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**template:** `Auth0::Types::EmailTemplateNameEnum` + +
+
+ +
+
+ +**body:** `String` — Body of the email template. + +
+
+ +
+
+ +**from:** `String` — Senders `from` email address. + +
+
+ +
+
+ +**result_url:** `String` — URL to redirect the user to after a successful action. + +
+
+ +
+
+ +**subject:** `String` — Subject line of the email. + +
+
+ +
+
+ +**syntax:** `String` — Syntax of the template body. + +
+
+ +
+
+ +**url_lifetime_in_seconds:** `Integer` — Lifetime in seconds that the link within the email will be valid for. + +
+
+ +
+
+ +**include_email_in_redirect:** `Internal::Types::Boolean` — Whether the `reset_email` and `verify_email` templates should include the user's email address as the `email` parameter in the returnUrl (true) or whether no email address should be included in the redirect (false). Defaults to true. + +
+
+ +
+
+ +**enabled:** `Internal::Types::Boolean` — Whether the template is enabled (true) or disabled (false). + +
+
+ +
+
+ +**request_options:** `Auth0::EmailTemplates::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.email_templates.get(template_name) -> Auth0::Types::GetEmailTemplateResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve an email template by pre-defined name. These names are `verify_email`, `verify_email_by_code`, `reset_email`, `reset_email_by_code`, `welcome_email`, `blocked_account`, `stolen_credentials`, `enrollment_email`, `mfa_oob_code`, `user_invitation`, and `async_approval`. The names `change_password`, and `password_reset` are also supported for legacy scenarios. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.email_templates.get(template_name: "verify_email") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**template_name:** `Auth0::Types::EmailTemplateNameEnum` — Template name. Can be `verify_email`, `verify_email_by_code`, `reset_email`, `reset_email_by_code`, `welcome_email`, `blocked_account`, `stolen_credentials`, `enrollment_email`, `mfa_oob_code`, `user_invitation`, `async_approval`, `change_password` (legacy), or `password_reset` (legacy). + +
+
+ +
+
+ +**request_options:** `Auth0::EmailTemplates::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.email_templates.set(template_name, request) -> Auth0::Types::SetEmailTemplateResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Update an email template. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.email_templates.set( + template_name: "verify_email", + template: "verify_email" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**template_name:** `Auth0::Types::EmailTemplateNameEnum` — Template name. Can be `verify_email`, `verify_email_by_code`, `reset_email`, `reset_email_by_code`, `welcome_email`, `blocked_account`, `stolen_credentials`, `enrollment_email`, `mfa_oob_code`, `user_invitation`, `async_approval`, `change_password` (legacy), or `password_reset` (legacy). + +
+
+ +
+
+ +**template:** `Auth0::Types::EmailTemplateNameEnum` + +
+
+ +
+
+ +**body:** `String` — Body of the email template. + +
+
+ +
+
+ +**from:** `String` — Senders `from` email address. + +
+
+ +
+
+ +**result_url:** `String` — URL to redirect the user to after a successful action. + +
+
+ +
+
+ +**subject:** `String` — Subject line of the email. + +
+
+ +
+
+ +**syntax:** `String` — Syntax of the template body. + +
+
+ +
+
+ +**url_lifetime_in_seconds:** `Integer` — Lifetime in seconds that the link within the email will be valid for. + +
+
+ +
+
+ +**include_email_in_redirect:** `Internal::Types::Boolean` — Whether the `reset_email` and `verify_email` templates should include the user's email address as the `email` parameter in the returnUrl (true) or whether no email address should be included in the redirect (false). Defaults to true. + +
+
+ +
+
+ +**enabled:** `Internal::Types::Boolean` — Whether the template is enabled (true) or disabled (false). + +
+
+ +
+
+ +**request_options:** `Auth0::EmailTemplates::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.email_templates.update(template_name, request) -> Auth0::Types::UpdateEmailTemplateResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Modify an email template. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.email_templates.update(template_name: "verify_email") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**template_name:** `Auth0::Types::EmailTemplateNameEnum` — Template name. Can be `verify_email`, `verify_email_by_code`, `reset_email`, `reset_email_by_code`, `welcome_email`, `blocked_account`, `stolen_credentials`, `enrollment_email`, `mfa_oob_code`, `user_invitation`, `async_approval`, `change_password` (legacy), or `password_reset` (legacy). + +
+
+ +
+
+ +**template:** `Auth0::Types::EmailTemplateNameEnum` + +
+
+ +
+
+ +**body:** `String` — Body of the email template. + +
+
+ +
+
+ +**from:** `String` — Senders `from` email address. + +
+
+ +
+
+ +**result_url:** `String` — URL to redirect the user to after a successful action. + +
+
+ +
+
+ +**subject:** `String` — Subject line of the email. + +
+
+ +
+
+ +**syntax:** `String` — Syntax of the template body. + +
+
+ +
+
+ +**url_lifetime_in_seconds:** `Integer` — Lifetime in seconds that the link within the email will be valid for. + +
+
+ +
+
+ +**include_email_in_redirect:** `Internal::Types::Boolean` — Whether the `reset_email` and `verify_email` templates should include the user's email address as the `email` parameter in the returnUrl (true) or whether no email address should be included in the redirect (false). Defaults to true. + +
+
+ +
+
+ +**enabled:** `Internal::Types::Boolean` — Whether the template is enabled (true) or disabled (false). + +
+
+ +
+
+ +**request_options:** `Auth0::EmailTemplates::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## EventStreams +
client.event_streams.list() -> Auth0::Types::ListEventStreamsResponseContent +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.event_streams.list( + from: "from", + take: 1 +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**from:** `String` — Optional Id from which to start selection. + +
+
+ +
+
+ +**take:** `Integer` — Number of results per page. Defaults to 50. + +
+
+ +
+
+ +**request_options:** `Auth0::EventStreams::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.event_streams.create(request) -> Auth0::Types::CreateEventStreamResponseContent +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.event_streams.create(destination: { + type: "webhook", + configuration: { + webhook_endpoint: "webhook_endpoint", + webhook_authorization: { + method_: "basic", + username: "username" + } + } +}) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request:** `Auth0::EventStreams::Types::EventStreamsCreateRequest` + +
+
+ +
+
+ +**request_options:** `Auth0::EventStreams::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.event_streams.get(id) -> Auth0::Types::GetEventStreamResponseContent +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.event_streams.get(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — Unique identifier for the event stream. + +
+
+ +
+
+ +**request_options:** `Auth0::EventStreams::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.event_streams.delete(id) -> +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.event_streams.delete(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — Unique identifier for the event stream. + +
+
+ +
+
+ +**request_options:** `Auth0::EventStreams::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.event_streams.update(id, request) -> Auth0::Types::UpdateEventStreamResponseContent +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.event_streams.update(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — Unique identifier for the event stream. + +
+
+ +
+
+ +**name:** `String` — Name of the event stream. + +
+
+ +
+
+ +**subscriptions:** `Internal::Types::Array[Auth0::Types::EventStreamSubscription]` — List of event types subscribed to in this stream. + +
+
+ +
+
+ +**destination:** `Auth0::Types::EventStreamDestinationPatch` + +
+
+ +
+
+ +**status:** `Auth0::Types::EventStreamStatusEnum` + +
+
+ +
+
+ +**request_options:** `Auth0::EventStreams::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.event_streams.test(id, request) -> Auth0::Types::CreateEventStreamTestEventResponseContent +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.event_streams.test( + id: "id", + event_type: "group.created" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — Unique identifier for the event stream. + +
+
+ +
+
+ +**event_type:** `Auth0::Types::EventStreamTestEventTypeEnum` + +
+
+ +
+
+ +**data:** `Internal::Types::Hash[String, Object]` + +
+
+ +
+
+ +**request_options:** `Auth0::EventStreams::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Flows +
client.flows.list() -> Auth0::Types::ListFlowsOffsetPaginatedResponseContent +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.flows.list( + page: 1, + per_page: 1, + include_totals: true, + synchronous: true +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**page:** `Integer` — Page index of the results to return. First page is 0. + +
+
+ +
+
+ +**per_page:** `Integer` — Number of results per page. Defaults to 50. + +
+
+ +
+
+ +**include_totals:** `Internal::Types::Boolean` — Return results inside an object that contains the total result count (true) or as a direct array of results (false, default). + +
+
+ +
+
+ +**hydrate:** `Auth0::Types::ListFlowsRequestParametersHydrateEnum` — hydration param + +
+
+ +
+
+ +**synchronous:** `Internal::Types::Boolean` — flag to filter by sync/async flows + +
+
+ +
+
+ +**request_options:** `Auth0::Flows::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.flows.create(request) -> Auth0::Types::CreateFlowResponseContent +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.flows.create(name: "name") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**name:** `String` + +
+
+ +
+
+ +**actions:** `Internal::Types::Array[Auth0::Types::FlowAction]` + +
+
+ +
+
+ +**request_options:** `Auth0::Flows::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.flows.get(id) -> Auth0::Types::GetFlowResponseContent +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.flows.get(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — Flow identifier + +
+
+ +
+
+ +**hydrate:** `Auth0::Types::GetFlowRequestParametersHydrateEnum` — hydration param + +
+
+ +
+
+ +**request_options:** `Auth0::Flows::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.flows.delete(id) -> +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.flows.delete(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — Flow id + +
+
+ +
+
+ +**request_options:** `Auth0::Flows::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.flows.update(id, request) -> Auth0::Types::UpdateFlowResponseContent +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.flows.update(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — Flow identifier + +
+
+ +
+
+ +**name:** `String` + +
+
+ +
+
+ +**actions:** `Internal::Types::Array[Auth0::Types::FlowAction]` + +
+
+ +
+
+ +**request_options:** `Auth0::Flows::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Forms +
client.forms.list() -> Auth0::Types::ListFormsOffsetPaginatedResponseContent +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.forms.list( + page: 1, + per_page: 1, + include_totals: true +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**page:** `Integer` — Page index of the results to return. First page is 0. + +
+
+ +
+
+ +**per_page:** `Integer` — Number of results per page. Defaults to 50. + +
+
+ +
+
+ +**include_totals:** `Internal::Types::Boolean` — Return results inside an object that contains the total result count (true) or as a direct array of results (false, default). + +
+
+ +
+
+ +**hydrate:** `Auth0::Types::FormsRequestParametersHydrateEnum` — Query parameter to hydrate the response with additional data + +
+
+ +
+
+ +**request_options:** `Auth0::Forms::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.forms.create(request) -> Auth0::Types::CreateFormResponseContent +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.forms.create(name: "name") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**name:** `String` + +
+
+ +
+
+ +**messages:** `Auth0::Types::FormMessages` + +
+
+ +
+
+ +**languages:** `Auth0::Types::FormLanguages` + +
+
+ +
+
+ +**translations:** `Internal::Types::Hash[String, Internal::Types::Hash[String, Object]]` + +
+
+ +
+
+ +**nodes:** `Internal::Types::Array[Auth0::Types::FormNode]` + +
+
+ +
+
+ +**start:** `Auth0::Types::FormStartNode` + +
+
+ +
+
+ +**ending:** `Auth0::Types::FormEndingNode` + +
+
+ +
+
+ +**style:** `Auth0::Types::FormStyle` + +
+
+ +
+
+ +**request_options:** `Auth0::Forms::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.forms.get(id) -> Auth0::Types::GetFormResponseContent +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.forms.get(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The ID of the form to retrieve. + +
+
+ +
+
+ +**hydrate:** `Auth0::Types::FormsRequestParametersHydrateEnum` — Query parameter to hydrate the response with additional data + +
+
+ +
+
+ +**request_options:** `Auth0::Forms::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.forms.delete(id) -> +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.forms.delete(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The ID of the form to delete. + +
+
+ +
+
+ +**request_options:** `Auth0::Forms::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.forms.update(id, request) -> Auth0::Types::UpdateFormResponseContent +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.forms.update(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The ID of the form to update. + +
+
+ +
+
+ +**name:** `String` + +
+
+ +
+
+ +**messages:** `Auth0::Types::FormMessages` + +
+
+ +
+
+ +**languages:** `Auth0::Types::FormLanguages` + +
+
+ +
+
+ +**translations:** `Internal::Types::Hash[String, Internal::Types::Hash[String, Object]]` + +
+
+ +
+
+ +**nodes:** `Internal::Types::Array[Auth0::Types::FormNode]` + +
+
+ +
+
+ +**start:** `Auth0::Types::FormStartNode` + +
+
+ +
+
+ +**ending:** `Auth0::Types::FormEndingNode` + +
+
+ +
+
+ +**style:** `Auth0::Types::FormStyle` + +
+
+ +
+
+ +**request_options:** `Auth0::Forms::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## UserGrants +
client.user_grants.list() -> Auth0::Types::ListUserGrantsOffsetPaginatedResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve the grants associated with your account. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.user_grants.list( + per_page: 1, + page: 1, + include_totals: true, + user_id: "user_id", + client_id: "client_id", + audience: "audience" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**per_page:** `Integer` — Number of results per page. + +
+
+ +
+
+ +**page:** `Integer` — Page index of the results to return. First page is 0. + +
+
+ +
+
+ +**include_totals:** `Internal::Types::Boolean` — Return results inside an object that contains the total result count (true) or as a direct array of results (false, default). + +
+
+ +
+
+ +**user_id:** `String` — user_id of the grants to retrieve. + +
+
+ +
+
+ +**client_id:** `String` — client_id of the grants to retrieve. + +
+
+ +
+
+ +**audience:** `String` — audience of the grants to retrieve. + +
+
+ +
+
+ +**request_options:** `Auth0::UserGrants::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.user_grants.delete_by_user_id() -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Delete a grant associated with your account. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.user_grants.delete_by_user_id(user_id: "user_id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**user_id:** `String` — user_id of the grant to delete. + +
+
+ +
+
+ +**request_options:** `Auth0::UserGrants::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.user_grants.delete(id) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Delete a grant associated with your account. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.user_grants.delete(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the grant to delete. + +
+
+ +
+
+ +**request_options:** `Auth0::UserGrants::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Groups +
client.groups.list() -> Auth0::Types::ListGroupsPaginatedResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +List all groups in your tenant. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.groups.list( + connection_id: "connection_id", + name: "name", + external_id: "external_id", + fields: "fields", + include_fields: true, + from: "from", + take: 1 +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**connection_id:** `String` — Filter groups by connection ID. + +
+
+ +
+
+ +**name:** `String` — Filter groups by name. + +
+
+ +
+
+ +**external_id:** `String` — Filter groups by external ID. + +
+
+ +
+
+ +**fields:** `String` — A comma separated list of fields to include or exclude (depending on include_fields) from the result, empty to retrieve all fields + +
+
+ +
+
+ +**include_fields:** `Internal::Types::Boolean` — Whether specified fields are to be included (true) or excluded (false). + +
+
+ +
+
+ +**from:** `String` — Optional Id from which to start selection. + +
+
+ +
+
+ +**take:** `Integer` — Number of results per page. Defaults to 50. + +
+
+ +
+
+ +**request_options:** `Auth0::Groups::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.groups.get(id) -> Auth0::Types::GetGroupResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve a group by its ID. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.groups.get(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — Unique identifier for the group (service-generated). + +
+
+ +
+
+ +**request_options:** `Auth0::Groups::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.groups.delete(id) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Delete a group by its ID. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.groups.delete(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — Unique identifier for the group (service-generated). + +
+
+ +
+
+ +**request_options:** `Auth0::Groups::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Hooks +
client.hooks.list() -> Auth0::Types::ListHooksOffsetPaginatedResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve all hooks. Accepts a list of fields to include or exclude in the result. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.hooks.list( + page: 1, + per_page: 1, + include_totals: true, + enabled: true, + fields: "fields", + trigger_id: "credentials-exchange" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**page:** `Integer` — Page index of the results to return. First page is 0. + +
+
+ +
+
+ +**per_page:** `Integer` — Number of results per page. + +
+
+ +
+
+ +**include_totals:** `Internal::Types::Boolean` — Return results inside an object that contains the total result count (true) or as a direct array of results (false, default). + +
+
+ +
+
+ +**enabled:** `Internal::Types::Boolean` — Optional filter on whether a hook is enabled (true) or disabled (false). + +
+
+ +
+
+ +**fields:** `String` — Comma-separated list of fields to include in the result. Leave empty to retrieve all fields. + +
+
+ +
+
+ +**trigger_id:** `Auth0::Types::HookTriggerIDEnum` — Retrieves hooks that match the trigger + +
+
+ +
+
+ +**request_options:** `Auth0::Hooks::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.hooks.create(request) -> Auth0::Types::CreateHookResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Create a new hook. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.hooks.create( + name: "name", + script: "script", + trigger_id: "credentials-exchange" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**name:** `String` — Name of this hook. + +
+
+ +
+
+ +**script:** `String` — Code to be executed when this hook runs. + +
+
+ +
+
+ +**enabled:** `Internal::Types::Boolean` — Whether this hook will be executed (true) or ignored (false). + +
+
+ +
+
+ +**dependencies:** `Internal::Types::Hash[String, String]` + +
+
+ +
+
+ +**trigger_id:** `Auth0::Types::HookTriggerIDEnum` — Execution stage of this rule. Can be `credentials-exchange`, `pre-user-registration`, `post-user-registration`, `post-change-password`, or `send-phone-message`. + +
+
+ +
+
+ +**request_options:** `Auth0::Hooks::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.hooks.get(id) -> Auth0::Types::GetHookResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve a hook by its ID. Accepts a list of fields to include in the result. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.hooks.get( + id: "id", + fields: "fields" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the hook to retrieve. + +
+
+ +
+
+ +**fields:** `String` — Comma-separated list of fields to include in the result. Leave empty to retrieve all fields. + +
+
+ +
+
+ +**request_options:** `Auth0::Hooks::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.hooks.delete(id) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Delete a hook. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.hooks.delete(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the hook to delete. + +
+
+ +
+
+ +**request_options:** `Auth0::Hooks::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.hooks.update(id, request) -> Auth0::Types::UpdateHookResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Update an existing hook. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.hooks.update(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the hook to update. + +
+
+ +
+
+ +**name:** `String` — Name of this hook. + +
+
+ +
+
+ +**script:** `String` — Code to be executed when this hook runs. + +
+
+ +
+
+ +**enabled:** `Internal::Types::Boolean` — Whether this hook will be executed (true) or ignored (false). + +
+
+ +
+
+ +**dependencies:** `Internal::Types::Hash[String, String]` + +
+
+ +
+
+ +**request_options:** `Auth0::Hooks::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Jobs +
client.jobs.get(id) -> Auth0::Types::GetJobResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieves a job. Useful to check its status. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.jobs.get(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the job. + +
+
+ +
+
+ +**request_options:** `Auth0::Jobs::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## LogStreams +
client.log_streams.list() -> Internal::Types::Array[Auth0::Types::LogStreamResponseSchema] +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve details on log streams. +
Sample Response
[{
+	"id": "string",
+	"name": "string",
+	"type": "eventbridge",
+	"status": "active|paused|suspended",
+	"sink": {
+		"awsAccountId": "string",
+		"awsRegion": "string",
+		"awsPartnerEventSource": "string"
+	}
+}, {
+	"id": "string",
+	"name": "string",
+	"type": "http",
+	"status": "active|paused|suspended",
+	"sink": {
+		"httpContentFormat": "JSONLINES|JSONARRAY",
+		"httpContentType": "string",
+		"httpEndpoint": "string",
+		"httpAuthorization": "string"
+	}
+},
+{
+	"id": "string",
+	"name": "string",
+	"type": "eventgrid",
+	"status": "active|paused|suspended",
+	"sink": {
+		"azureSubscriptionId": "string",
+		"azureResourceGroup": "string",
+		"azureRegion": "string",
+		"azurePartnerTopic": "string"
+	}
+},
+{
+	"id": "string",
+	"name": "string",
+	"type": "splunk",
+	"status": "active|paused|suspended",
+	"sink": {
+		"splunkDomain": "string",
+		"splunkToken": "string",
+		"splunkPort": "string",
+		"splunkSecure": "boolean"
+	}
+},
+{
+	"id": "string",
+	"name": "string",
+	"type": "sumo",
+	"status": "active|paused|suspended",
+	"sink": {
+		"sumoSourceAddress": "string",
+	}
+},
+{
+	"id": "string",
+	"name": "string",
+	"type": "datadog",
+	"status": "active|paused|suspended",
+	"sink": {
+		"datadogRegion": "string",
+		"datadogApiKey": "string"
+	}
+}]
+
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.log_streams.list +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request_options:** `Auth0::LogStreams::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.log_streams.create(request) -> Auth0::Types::CreateLogStreamResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Create a log stream. +
Log Stream Types
The type of log stream being created determines the properties required in the sink payload. +
HTTP Stream
For an http Stream, the sink properties are listed in the payload below +Request:
{
+	"name": "string",
+	"type": "http",
+	"sink": {
+		"httpEndpoint": "string",
+		"httpContentType": "string",
+		"httpContentFormat": "JSONLINES|JSONARRAY",
+		"httpAuthorization": "string"
+	}
+}
+Response:
{
+	"id": "string",
+	"name": "string",
+	"type": "http",
+	"status": "active",
+	"sink": {
+		"httpEndpoint": "string",
+		"httpContentType": "string",
+		"httpContentFormat": "JSONLINES|JSONARRAY",
+		"httpAuthorization": "string"
+	}
+}
+
Amazon EventBridge Stream
For an eventbridge Stream, the sink properties are listed in the payload below +Request:
{
+	"name": "string",
+	"type": "eventbridge",
+	"sink": {
+		"awsRegion": "string",
+		"awsAccountId": "string"
+	}
+}
+The response will include an additional field awsPartnerEventSource in the sink:
{
+	"id": "string",
+	"name": "string",
+	"type": "eventbridge",
+	"status": "active",
+	"sink": {
+		"awsAccountId": "string",
+		"awsRegion": "string",
+		"awsPartnerEventSource": "string"
+	}
+}
+
Azure Event Grid Stream
For an Azure Event Grid Stream, the sink properties are listed in the payload below +Request:
{
+	"name": "string",
+	"type": "eventgrid",
+	"sink": {
+		"azureSubscriptionId": "string",
+		"azureResourceGroup": "string",
+		"azureRegion": "string"
+	}
+}
+Response:
{
+	"id": "string",
+	"name": "string",
+	"type": "http",
+	"status": "active",
+	"sink": {
+		"azureSubscriptionId": "string",
+		"azureResourceGroup": "string",
+		"azureRegion": "string",
+		"azurePartnerTopic": "string"
+	}
+}
+
Datadog Stream
For a Datadog Stream, the sink properties are listed in the payload below +Request:
{
+	"name": "string",
+	"type": "datadog",
+	"sink": {
+		"datadogRegion": "string",
+		"datadogApiKey": "string"
+	}
+}
+Response:
{
+	"id": "string",
+	"name": "string",
+	"type": "datadog",
+	"status": "active",
+	"sink": {
+		"datadogRegion": "string",
+		"datadogApiKey": "string"
+	}
+}
+
Splunk Stream
For a Splunk Stream, the sink properties are listed in the payload below +Request:
{
+	"name": "string",
+	"type": "splunk",
+	"sink": {
+		"splunkDomain": "string",
+		"splunkToken": "string",
+		"splunkPort": "string",
+		"splunkSecure": "boolean"
+	}
+}
+Response:
{
+	"id": "string",
+	"name": "string",
+	"type": "splunk",
+	"status": "active",
+	"sink": {
+		"splunkDomain": "string",
+		"splunkToken": "string",
+		"splunkPort": "string",
+		"splunkSecure": "boolean"
+	}
+}
+
Sumo Logic Stream
For a Sumo Logic Stream, the sink properties are listed in the payload below +Request:
{
+	"name": "string",
+	"type": "sumo",
+	"sink": {
+		"sumoSourceAddress": "string",
+	}
+}
+Response:
{
+	"id": "string",
+	"name": "string",
+	"type": "sumo",
+	"status": "active",
+	"sink": {
+		"sumoSourceAddress": "string",
+	}
+}
+
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.log_streams.create( + type: "http", + sink: { + http_endpoint: "httpEndpoint" + } +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request:** `Auth0::Types::CreateLogStreamRequestContent` + +
+
+ +
+
+ +**request_options:** `Auth0::LogStreams::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.log_streams.get(id) -> Auth0::Types::GetLogStreamResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve a log stream configuration and status. +
Sample responses
Amazon EventBridge Log Stream
{
+	"id": "string",
+	"name": "string",
+	"type": "eventbridge",
+	"status": "active|paused|suspended",
+	"sink": {
+		"awsAccountId": "string",
+		"awsRegion": "string",
+		"awsPartnerEventSource": "string"
+	}
+}
HTTP Log Stream
{
+	"id": "string",
+	"name": "string",
+	"type": "http",
+	"status": "active|paused|suspended",
+	"sink": {
+		"httpContentFormat": "JSONLINES|JSONARRAY",
+		"httpContentType": "string",
+		"httpEndpoint": "string",
+		"httpAuthorization": "string"
+	}
+}
Datadog Log Stream
{
+	"id": "string",
+	"name": "string",
+	"type": "datadog",
+	"status": "active|paused|suspended",
+	"sink": {
+		"datadogRegion": "string",
+		"datadogApiKey": "string"
+	}
+
+}
Mixpanel
+ + Request:
{
+	  "name": "string",
+	  "type": "mixpanel",
+	  "sink": {
+		"mixpanelRegion": "string", // "us" | "eu",
+		"mixpanelProjectId": "string",
+		"mixpanelServiceAccountUsername": "string",
+		"mixpanelServiceAccountPassword": "string"
+	  }
+	} 
+ + + Response:
{
+		"id": "string",
+		"name": "string",
+		"type": "mixpanel",
+		"status": "active",
+		"sink": {
+		  "mixpanelRegion": "string", // "us" | "eu",
+		  "mixpanelProjectId": "string",
+		  "mixpanelServiceAccountUsername": "string",
+		  "mixpanelServiceAccountPassword": "string" // the following is redacted on return
+		}
+	  } 
+ +
Segment
+ + Request:
 {
+	  "name": "string",
+	  "type": "segment",
+	  "sink": {
+		"segmentWriteKey": "string"
+	  }
+	}
+ + Response:
{
+	  "id": "string",
+	  "name": "string",
+	  "type": "segment",
+	  "status": "active",
+	  "sink": {
+		"segmentWriteKey": "string"
+	  }
+	} 
+ +
Splunk Log Stream
{
+	"id": "string",
+	"name": "string",
+	"type": "splunk",
+	"status": "active|paused|suspended",
+	"sink": {
+		"splunkDomain": "string",
+		"splunkToken": "string",
+		"splunkPort": "string",
+		"splunkSecure": "boolean"
+	}
+}
Sumo Logic Log Stream
{
+	"id": "string",
+	"name": "string",
+	"type": "sumo",
+	"status": "active|paused|suspended",
+	"sink": {
+		"sumoSourceAddress": "string",
+	}
+}
Status
The status of a log stream maybe any of the following: +1. active - Stream is currently enabled. +2. paused - Stream is currently user disabled and will not attempt log delivery. +3. suspended - Stream is currently disabled because of errors and will not attempt log delivery. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.log_streams.get(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The id of the log stream to get + +
+
+ +
+
+ +**request_options:** `Auth0::LogStreams::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.log_streams.delete(id) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Delete a log stream. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.log_streams.delete(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The id of the log stream to delete + +
+
+ +
+
+ +**request_options:** `Auth0::LogStreams::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.log_streams.update(id, request) -> Auth0::Types::UpdateLogStreamResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Update a log stream. +

Examples of how to use the PATCH endpoint.

The following fields may be updated in a PATCH operation:
  • name
  • status
  • sink
Note: For log streams of type eventbridge and eventgrid, updating the sink is not permitted. +
Update the status of a log stream
{
+	"status": "active|paused"
+}
+
Update the name of a log stream
{
+	"name": "string"
+}
+
Update the sink properties of a stream of type http
{
+  "sink": {
+    "httpEndpoint": "string",
+    "httpContentType": "string",
+    "httpContentFormat": "JSONARRAY|JSONLINES",
+    "httpAuthorization": "string"
+  }
+}
+
Update the sink properties of a stream of type datadog
{
+  "sink": {
+		"datadogRegion": "string",
+		"datadogApiKey": "string"
+  }
+}
+
Update the sink properties of a stream of type splunk
{
+  "sink": {
+    "splunkDomain": "string",
+    "splunkToken": "string",
+    "splunkPort": "string",
+    "splunkSecure": "boolean"
+  }
+}
+
Update the sink properties of a stream of type sumo
{
+  "sink": {
+    "sumoSourceAddress": "string"
+  }
+}
+
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.log_streams.update(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The id of the log stream to get + +
+
+ +
+
+ +**name:** `String` — log stream name + +
+
+ +
+
+ +**status:** `Auth0::Types::LogStreamStatusEnum` + +
+
+ +
+
+ +**is_priority:** `Internal::Types::Boolean` — True for priority log streams, false for non-priority + +
+
+ +
+
+ +**filters:** `Internal::Types::Array[Auth0::Types::LogStreamFilter]` — Only logs events matching these filters will be delivered by the stream. If omitted or empty, all events will be delivered. + +
+
+ +
+
+ +**pii_config:** `Auth0::Types::LogStreamPiiConfig` + +
+
+ +
+
+ +**sink:** `Auth0::Types::LogStreamSinkPatch` + +
+
+ +
+
+ +**request_options:** `Auth0::LogStreams::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Logs +
client.logs.list() -> Auth0::Types::ListLogOffsetPaginatedResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve log entries that match the specified search criteria (or all log entries if no criteria specified). + +Set custom search criteria using the q parameter, or search from a specific log ID ("search from checkpoint"). + +For more information on all possible event types, their respective acronyms, and descriptions, see Log Event Type Codes. + +
To set custom search criteria, use the following parameters:
+ +
    +
  • q: Search Criteria using Query String Syntax
  • +
  • page: Page index of the results to return. First page is 0.
  • +
  • per_page: Number of results per page.
  • +
  • sort: Field to use for sorting appended with `:1` for ascending and `:-1` for descending. e.g. `date:-1`
  • +
  • fields: Comma-separated list of fields to include or exclude (depending on include_fields) from the result, empty to retrieve all fields.
  • +
  • include_fields: Whether specified fields are to be included (true) or excluded (false).
  • +
  • include_totals: Return results inside an object that contains the total result count (true) or as a direct array of results (false, default). Deprecated: this field is deprecated and should be removed from use. See Search Engine V3 Breaking Changes
  • +
+ +For more information on the list of fields that can be used in fields and sort, see Searchable Fields. + +Auth0 limits the number of logs you can return by search criteria to 100 logs per request. Furthermore, you may paginate only through 1,000 search results. If you exceed this threshold, please redefine your search or use the get logs by checkpoint method. + +
To search from a checkpoint log ID, use the following parameters:
+
    +
  • from: Log Event ID from which to start retrieving logs. You can limit the number of logs returned using the take parameter. If you use from at the same time as q, from takes precedence and q is ignored.
  • +
  • take: Number of entries to retrieve when using the from parameter.
  • +
+ +Important: When fetching logs from a checkpoint log ID, any parameter other than from and take will be ignored, and date ordering is not guaranteed. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.logs.list( + page: 1, + per_page: 1, + sort: "sort", + fields: "fields", + include_fields: true, + include_totals: true, + search: "search" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**page:** `Integer` — Page index of the results to return. First page is 0. + +
+
+ +
+
+ +**per_page:** `Integer` — Number of results per page. Paging is disabled if parameter not sent. Default: 50. Max value: 100 + +
+
+ +
+
+ +**sort:** `String` — Field to use for sorting appended with :1 for ascending and :-1 for descending. e.g. date:-1 + +
+
+ +
+
+ +**fields:** `String` — Comma-separated list of fields to include or exclude (based on value provided for include_fields) in the result. Leave empty to retrieve all fields. + +
+
+ +
+
+ +**include_fields:** `Internal::Types::Boolean` — Whether specified fields are to be included (true) or excluded (false) + +
+
+ +
+
+ +**include_totals:** `Internal::Types::Boolean` — Return results as an array when false (default). Return results inside an object that also contains a total result count when true. + +
+
+ +
+
+ +**search:** `String` + +Retrieves logs that match the specified search criteria. This parameter can be combined with all the others in the /api/logs endpoint but is specified separately for clarity. +If no fields are provided a case insensitive 'starts with' search is performed on all of the following fields: client_name, connection, user_name. Otherwise, you can specify multiple fields and specify the search using the %field%:%search%, for example: application:node user:"John@contoso.com". +Values specified without quotes are matched using a case insensitive 'starts with' search. If quotes are used a case insensitve exact search is used. If multiple fields are used, the AND operator is used to join the clauses. + +
+
+ +
+
+ +**request_options:** `Auth0::Logs::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.logs.get(id) -> Auth0::Types::GetLogResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve an individual log event. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.logs.get(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — log_id of the log to retrieve. + +
+
+ +
+
+ +**request_options:** `Auth0::Logs::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## NetworkACLs +
client.network_acls.list() -> Auth0::Types::ListNetworkACLsOffsetPaginatedResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Get all access control list entries for your client. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.network_acls.list( + page: 1, + per_page: 1, + include_totals: true +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**page:** `Integer` — Use this field to request a specific page of the list results. + +
+
+ +
+
+ +**per_page:** `Integer` — The amount of results per page. + +
+
+ +
+
+ +**include_totals:** `Internal::Types::Boolean` — Return results inside an object that contains the total result count (true) or as a direct array of results (false, default). + +
+
+ +
+
+ +**request_options:** `Auth0::NetworkACLs::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.network_acls.create(request) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Create a new access control list for your client. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.network_acls.create( + description: "description", + active: true, + rule: { + action: {}, + scope: "management" + } +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**description:** `String` + +
+
+ +
+
+ +**active:** `Internal::Types::Boolean` — Indicates whether or not this access control list is actively being used + +
+
+ +
+
+ +**priority:** `Integer` — Indicates the order in which the ACL will be evaluated relative to other ACL rules. + +
+
+ +
+
+ +**rule:** `Auth0::Types::NetworkACLRule` + +
+
+ +
+
+ +**request_options:** `Auth0::NetworkACLs::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.network_acls.get(id) -> Auth0::Types::GetNetworkACLsResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Get a specific access control list entry for your client. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.network_acls.get(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The id of the access control list to retrieve. + +
+
+ +
+
+ +**request_options:** `Auth0::NetworkACLs::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.network_acls.set(id, request) -> Auth0::Types::SetNetworkACLsResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Update existing access control list for your client. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.network_acls.set( + id: "id", + description: "description", + active: true, + rule: { + action: {}, + scope: "management" + } +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The id of the ACL to update. + +
+
+ +
+
+ +**description:** `String` + +
+
+ +
+
+ +**active:** `Internal::Types::Boolean` — Indicates whether or not this access control list is actively being used + +
+
+ +
+
+ +**priority:** `Integer` — Indicates the order in which the ACL will be evaluated relative to other ACL rules. + +
+
+ +
+
+ +**rule:** `Auth0::Types::NetworkACLRule` + +
+
+ +
+
+ +**request_options:** `Auth0::NetworkACLs::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.network_acls.delete(id) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Delete existing access control list for your client. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.network_acls.delete(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The id of the ACL to delete + +
+
+ +
+
+ +**request_options:** `Auth0::NetworkACLs::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.network_acls.update(id, request) -> Auth0::Types::UpdateNetworkACLResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Update existing access control list for your client. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.network_acls.update(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The id of the ACL to update. + +
+
+ +
+
+ +**description:** `String` + +
+
+ +
+
+ +**active:** `Internal::Types::Boolean` — Indicates whether or not this access control list is actively being used + +
+
+ +
+
+ +**priority:** `Integer` — Indicates the order in which the ACL will be evaluated relative to other ACL rules. + +
+
+ +
+
+ +**rule:** `Auth0::Types::NetworkACLRule` + +
+
+ +
+
+ +**request_options:** `Auth0::NetworkACLs::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Organizations +
client.organizations.list() -> Auth0::Types::ListOrganizationsPaginatedResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve detailed list of all Organizations available in your tenant. For more information, see Auth0 Organizations. + +This endpoint supports two types of pagination: +
    +
  • Offset pagination
  • +
  • Checkpoint pagination
  • +
+ +Checkpoint pagination must be used if you need to retrieve more than 1000 organizations. + +

Checkpoint Pagination

+ +To search by checkpoint, use the following parameters: +
    +
  • from: Optional id from which to start selection.
  • +
  • take: The total number of entries to retrieve when using the from parameter. Defaults to 50.
  • +
+ +Note: The first time you call this endpoint using checkpoint pagination, omit the from parameter. If there are more results, a next value is included in the response. You can use this for subsequent API calls. When next is no longer included in the response, no pages are remaining. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.organizations.list( + from: "from", + take: 1, + sort: "sort" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**from:** `String` — Optional Id from which to start selection. + +
+
+ +
+
+ +**take:** `Integer` — Number of results per page. Defaults to 50. + +
+
+ +
+
+ +**sort:** `String` — Field to sort by. Use field:order where order is 1 for ascending and -1 for descending. e.g. created_at:1. We currently support sorting by the following fields: name, display_name and created_at. + +
+
+ +
+
+ +**request_options:** `Auth0::Organizations::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.organizations.create(request) -> Auth0::Types::CreateOrganizationResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Create a new Organization within your tenant. To learn more about Organization settings, behavior, and configuration options, review Create Your First Organization. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.organizations.create(name: "name") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**name:** `String` — The name of this organization. + +
+
+ +
+
+ +**display_name:** `String` — Friendly name of this organization. + +
+
+ +
+
+ +**branding:** `Auth0::Types::OrganizationBranding` + +
+
+ +
+
+ +**metadata:** `Internal::Types::Hash[String, String]` + +
+
+ +
+
+ +**enabled_connections:** `Internal::Types::Array[Auth0::Types::ConnectionForOrganization]` — Connections that will be enabled for this organization. See POST enabled_connections endpoint for the object format. (Max of 10 connections allowed) + +
+
+ +
+
+ +**token_quota:** `Auth0::Types::CreateTokenQuota` + +
+
+ +
+
+ +**request_options:** `Auth0::Organizations::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.organizations.get_by_name(name) -> Auth0::Types::GetOrganizationByNameResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve details about a single Organization specified by name. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.organizations.get_by_name(name: "name") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**name:** `String` — name of the organization to retrieve. + +
+
+ +
+
+ +**request_options:** `Auth0::Organizations::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.organizations.get(id) -> Auth0::Types::GetOrganizationResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve details about a single Organization specified by ID. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.organizations.get(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the organization to retrieve. + +
+
+ +
+
+ +**request_options:** `Auth0::Organizations::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.organizations.delete(id) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Remove an Organization from your tenant. This action cannot be undone. + +Note: Members are automatically disassociated from an Organization when it is deleted. However, this action does not delete these users from your tenant. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.organizations.delete(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — Organization identifier. + +
+
+ +
+
+ +**request_options:** `Auth0::Organizations::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.organizations.update(id, request) -> Auth0::Types::UpdateOrganizationResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Update the details of a specific Organization, such as name and display name, branding options, and metadata. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.organizations.update(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the organization to update. + +
+
+ +
+
+ +**display_name:** `String` — Friendly name of this organization. + +
+
+ +
+
+ +**name:** `String` — The name of this organization. + +
+
+ +
+
+ +**branding:** `Auth0::Types::OrganizationBranding` + +
+
+ +
+
+ +**metadata:** `Internal::Types::Hash[String, String]` + +
+
+ +
+
+ +**token_quota:** `Auth0::Types::UpdateTokenQuota` + +
+
+ +
+
+ +**request_options:** `Auth0::Organizations::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Prompts +
client.prompts.get_settings() -> Auth0::Types::GetSettingsResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve details of the Universal Login configuration of your tenant. This includes the Identifier First Authentication and WebAuthn with Device Biometrics for MFA features. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.prompts.get_settings +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request_options:** `Auth0::Prompts::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.prompts.update_settings(request) -> Auth0::Types::UpdateSettingsResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Update the Universal Login configuration of your tenant. This includes the Identifier First Authentication and WebAuthn with Device Biometrics for MFA features. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.prompts.update_settings +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**universal_login_experience:** `Auth0::Types::UniversalLoginExperienceEnum` + +
+
+ +
+
+ +**identifier_first:** `Internal::Types::Boolean` — Whether identifier first is enabled or not + +
+
+ +
+
+ +**webauthn_platform_first_factor:** `Internal::Types::Boolean` — Use WebAuthn with Device Biometrics as the first authentication factor + +
+
+ +
+
+ +**request_options:** `Auth0::Prompts::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## RefreshTokens +
client.refresh_tokens.list() -> Auth0::Types::GetRefreshTokensPaginatedResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve a paginated list of refresh tokens for a specific user, with optional filtering by client ID. Results are sorted by credential_id ascending. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.refresh_tokens.list( + user_id: "user_id", + client_id: "client_id", + from: "from", + take: 1, + fields: "fields", + include_fields: true +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**user_id:** `String` — ID of the user whose refresh tokens to retrieve. Required. + +
+
+ +
+
+ +**client_id:** `String` — Filter results by client ID. Only valid when user_id is provided. + +
+
+ +
+
+ +**from:** `String` — An opaque cursor from which to start the selection (exclusive). Expires after 24 hours. Obtained from the next property of a previous response. + +
+
+ +
+
+ +**take:** `Integer` — Number of results per page. Defaults to 50. + +
+
+ +
+
+ +**fields:** `String` — Comma-separated list of fields to include or exclude (based on value provided for include_fields) in the result. Leave empty to retrieve all fields. + +
+
+ +
+
+ +**include_fields:** `Internal::Types::Boolean` — Whether specified fields are to be included (true) or excluded (false). + +
+
+ +
+
+ +**request_options:** `Auth0::RefreshTokens::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.refresh_tokens.get(id) -> Auth0::Types::GetRefreshTokenResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve refresh token information. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.refresh_tokens.get(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID refresh token to retrieve + +
+
+ +
+
+ +**request_options:** `Auth0::RefreshTokens::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.refresh_tokens.delete(id) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Delete a refresh token by its ID. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.refresh_tokens.delete(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the refresh token to delete. + +
+
+ +
+
+ +**request_options:** `Auth0::RefreshTokens::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.refresh_tokens.update(id, request) -> Auth0::Types::UpdateRefreshTokenResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Update a refresh token by its ID. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.refresh_tokens.update(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the refresh token to update. + +
+
+ +
+
+ +**refresh_token_metadata:** `Internal::Types::Hash[String, Object]` — Metadata associated with the refresh token. Pass null or {} to remove all metadata. + +
+
+ +
+
+ +**request_options:** `Auth0::RefreshTokens::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## ResourceServers +
client.resource_servers.list() -> Auth0::Types::ListResourceServerOffsetPaginatedResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve details of all APIs associated with your tenant. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.resource_servers.list( + page: 1, + per_page: 1, + include_totals: true, + include_fields: true +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**identifiers:** `String` — An optional filter on the resource server identifier. Must be URL encoded and may be specified multiple times (max 10).
e.g. ../resource-servers?identifiers=id1&identifiers=id2 + +
+
+ +
+
+ +**page:** `Integer` — Page index of the results to return. First page is 0. + +
+
+ +
+
+ +**per_page:** `Integer` — Number of results per page. + +
+
+ +
+
+ +**include_totals:** `Internal::Types::Boolean` — Return results inside an object that contains the total result count (true) or as a direct array of results (false, default). + +
+
+ +
+
+ +**include_fields:** `Internal::Types::Boolean` — Whether specified fields are to be included (true) or excluded (false). + +
+
+ +
+
+ +**request_options:** `Auth0::ResourceServers::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.resource_servers.create(request) -> Auth0::Types::CreateResourceServerResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Create a new API associated with your tenant. Note that all new APIs must be registered with Auth0. For more information, read APIs. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.resource_servers.create(identifier: "identifier") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**name:** `String` — Friendly name for this resource server. Can not contain `<` or `>` characters. + +
+
+ +
+
+ +**identifier:** `String` — Unique identifier for the API used as the audience parameter on authorization calls. Can not be changed once set. + +
+
+ +
+
+ +**scopes:** `Internal::Types::Array[Auth0::Types::ResourceServerScope]` — List of permissions (scopes) that this API uses. + +
+
+ +
+
+ +**signing_alg:** `Auth0::Types::SigningAlgorithmEnum` + +
+
+ +
+
+ +**signing_secret:** `String` — Secret used to sign tokens when using symmetric algorithms (HS256). + +
+
+ +
+
+ +**allow_offline_access:** `Internal::Types::Boolean` — Whether refresh tokens can be issued for this API (true) or not (false). + +
+
+ +
+
+ +**allow_online_access:** `Internal::Types::Boolean` — Whether Online Refresh Tokens can be issued for this API (true) or not (false). + +
+
+ +
+
+ +**token_lifetime:** `Integer` — Expiration value (in seconds) for access tokens issued for this API from the token endpoint. + +
+
+ +
+
+ +**token_dialect:** `Auth0::Types::ResourceServerTokenDialectSchemaEnum` + +
+
+ +
+
+ +**skip_consent_for_verifiable_first_party_clients:** `Internal::Types::Boolean` — Whether to skip user consent for applications flagged as first party (true) or not (false). + +
+
+ +
+
+ +**enforce_policies:** `Internal::Types::Boolean` — Whether to enforce authorization policies (true) or to ignore them (false). + +
+
+ +
+
+ +**token_encryption:** `Auth0::Types::ResourceServerTokenEncryption` + +
+
+ +
+
+ +**consent_policy:** `Auth0::Types::ResourceServerConsentPolicyEnum` + +
+
+ +
+
+ +**authorization_details:** `Internal::Types::Array[Object]` + +
+
+ +
+
+ +**proof_of_possession:** `Auth0::Types::ResourceServerProofOfPossession` + +
+
+ +
+
+ +**subject_type_authorization:** `Auth0::Types::ResourceServerSubjectTypeAuthorization` + +
+
+ +
+
+ +**request_options:** `Auth0::ResourceServers::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.resource_servers.get(id) -> Auth0::Types::GetResourceServerResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve API details with the given ID. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.resource_servers.get( + id: "id", + include_fields: true +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID or audience of the resource server to retrieve. + +
+
+ +
+
+ +**include_fields:** `Internal::Types::Boolean` — Whether specified fields are to be included (true) or excluded (false). + +
+
+ +
+
+ +**request_options:** `Auth0::ResourceServers::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.resource_servers.delete(id) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Delete an existing API by ID. For more information, read API Settings. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.resource_servers.delete(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID or the audience of the resource server to delete. + +
+
+ +
+
+ +**request_options:** `Auth0::ResourceServers::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.resource_servers.update(id, request) -> Auth0::Types::UpdateResourceServerResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Change an existing API setting by resource server ID. For more information, read API Settings. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.resource_servers.update(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID or audience of the resource server to update. + +
+
+ +
+
+ +**name:** `String` — Friendly name for this resource server. Can not contain `<` or `>` characters. + +
+
+ +
+
+ +**scopes:** `Internal::Types::Array[Auth0::Types::ResourceServerScope]` — List of permissions (scopes) that this API uses. + +
+
+ +
+
+ +**signing_alg:** `Auth0::Types::SigningAlgorithmEnum` + +
+
+ +
+
+ +**signing_secret:** `String` — Secret used to sign tokens when using symmetric algorithms (HS256). + +
+
+ +
+
+ +**skip_consent_for_verifiable_first_party_clients:** `Internal::Types::Boolean` — Whether to skip user consent for applications flagged as first party (true) or not (false). + +
+
+ +
+
+ +**allow_offline_access:** `Internal::Types::Boolean` — Whether refresh tokens can be issued for this API (true) or not (false). + +
+
+ +
+
+ +**allow_online_access:** `Internal::Types::Boolean` — Whether Online Refresh Tokens can be issued for this API (true) or not (false). + +
+
+ +
+
+ +**token_lifetime:** `Integer` — Expiration value (in seconds) for access tokens issued for this API from the token endpoint. + +
+
+ +
+
+ +**token_dialect:** `Auth0::Types::ResourceServerTokenDialectSchemaEnum` + +
+
+ +
+
+ +**enforce_policies:** `Internal::Types::Boolean` — Whether authorization policies are enforced (true) or not enforced (false). + +
+
+ +
+
+ +**token_encryption:** `Auth0::Types::ResourceServerTokenEncryption` + +
+
+ +
+
+ +**consent_policy:** `Auth0::Types::ResourceServerConsentPolicyEnum` + +
+
+ +
+
+ +**authorization_details:** `Internal::Types::Array[Object]` + +
+
+ +
+
+ +**proof_of_possession:** `Auth0::Types::ResourceServerProofOfPossession` + +
+
+ +
+
+ +**subject_type_authorization:** `Auth0::Types::ResourceServerSubjectTypeAuthorization` + +
+
+ +
+
+ +**request_options:** `Auth0::ResourceServers::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Roles +
client.roles.list() -> Auth0::Types::ListRolesOffsetPaginatedResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve detailed list of user roles created in your tenant. + +Note: The returned list does not include standard roles available for tenant members, such as Admin or Support Access. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.roles.list( + per_page: 1, + page: 1, + include_totals: true, + name_filter: "name_filter" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**per_page:** `Integer` — Number of results per page. Defaults to 50. + +
+
+ +
+
+ +**page:** `Integer` — Page index of the results to return. First page is 0. + +
+
+ +
+
+ +**include_totals:** `Internal::Types::Boolean` — Return results inside an object that contains the total result count (true) or as a direct array of results (false, default). + +
+
+ +
+
+ +**name_filter:** `String` — Optional filter on name (case-insensitive). + +
+
+ +
+
+ +**request_options:** `Auth0::Roles::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.roles.create(request) -> Auth0::Types::CreateRoleResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Create a user role for Role-Based Access Control. + +Note: New roles are not associated with any permissions by default. To assign existing permissions to your role, review Associate Permissions with a Role. To create new permissions, review Add API Permissions. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.roles.create(name: "name") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**name:** `String` — Name of the role. + +
+
+ +
+
+ +**description:** `String` — Description of the role. + +
+
+ +
+
+ +**request_options:** `Auth0::Roles::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.roles.get(id) -> Auth0::Types::GetRoleResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve details about a specific user role specified by ID. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.roles.get(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the role to retrieve. + +
+
+ +
+
+ +**request_options:** `Auth0::Roles::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.roles.delete(id) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Delete a specific user role from your tenant. Once deleted, it is removed from any user who was previously assigned that role. This action cannot be undone. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.roles.delete(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the role to delete. + +
+
+ +
+
+ +**request_options:** `Auth0::Roles::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.roles.update(id, request) -> Auth0::Types::UpdateRoleResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Modify the details of a specific user role specified by ID. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.roles.update(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the role to update. + +
+
+ +
+
+ +**name:** `String` — Name of this role. + +
+
+ +
+
+ +**description:** `String` — Description of this role. + +
+
+ +
+
+ +**request_options:** `Auth0::Roles::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Rules +
client.rules.list() -> Auth0::Types::ListRulesOffsetPaginatedResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve a filtered list of rules. Accepts a list of fields to include or exclude. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.rules.list( + page: 1, + per_page: 1, + include_totals: true, + enabled: true, + fields: "fields", + include_fields: true +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**page:** `Integer` — Page index of the results to return. First page is 0. + +
+
+ +
+
+ +**per_page:** `Integer` — Number of results per page. + +
+
+ +
+
+ +**include_totals:** `Internal::Types::Boolean` — Return results inside an object that contains the total result count (true) or as a direct array of results (false, default). + +
+
+ +
+
+ +**enabled:** `Internal::Types::Boolean` — Optional filter on whether a rule is enabled (true) or disabled (false). + +
+
+ +
+
+ +**fields:** `String` — Comma-separated list of fields to include or exclude (based on value provided for include_fields) in the result. Leave empty to retrieve all fields. + +
+
+ +
+
+ +**include_fields:** `Internal::Types::Boolean` — Whether specified fields are to be included (true) or excluded (false). + +
+
+ +
+
+ +**request_options:** `Auth0::Rules::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.rules.create(request) -> Auth0::Types::CreateRuleResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Create a new rule. + +Note: Changing a rule's stage of execution from the default login_success can change the rule's function signature to have user omitted. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.rules.create( + name: "name", + script: "script" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**name:** `String` — Name of this rule. + +
+
+ +
+
+ +**script:** `String` — Code to be executed when this rule runs. + +
+
+ +
+
+ +**order:** `Integer` — Order that this rule should execute in relative to other rules. Lower-valued rules execute first. + +
+
+ +
+
+ +**enabled:** `Internal::Types::Boolean` — Whether the rule is enabled (true), or disabled (false). + +
+
+ +
+
+ +**request_options:** `Auth0::Rules::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.rules.get(id) -> Auth0::Types::GetRuleResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve rule details. Accepts a list of fields to include or exclude in the result. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.rules.get( + id: "id", + fields: "fields", + include_fields: true +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the rule to retrieve. + +
+
+ +
+
+ +**fields:** `String` — Comma-separated list of fields to include or exclude (based on value provided for include_fields) in the result. Leave empty to retrieve all fields. + +
+
+ +
+
+ +**include_fields:** `Internal::Types::Boolean` — Whether specified fields are to be included (true) or excluded (false). + +
+
+ +
+
+ +**request_options:** `Auth0::Rules::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.rules.delete(id) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Delete a rule. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.rules.delete(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the rule to delete. + +
+
+ +
+
+ +**request_options:** `Auth0::Rules::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.rules.update(id, request) -> Auth0::Types::UpdateRuleResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Update an existing rule. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.rules.update(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the rule to retrieve. + +
+
+ +
+
+ +**script:** `String` — Code to be executed when this rule runs. + +
+
+ +
+
+ +**name:** `String` — Name of this rule. + +
+
+ +
+
+ +**order:** `Integer` — Order that this rule should execute in relative to other rules. Lower-valued rules execute first. + +
+
+ +
+
+ +**enabled:** `Internal::Types::Boolean` — Whether the rule is enabled (true), or disabled (false). + +
+
+ +
+
+ +**request_options:** `Auth0::Rules::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## RulesConfigs +
client.rules_configs.list() -> Internal::Types::Array[Auth0::Types::RulesConfig] +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve rules config variable keys. + + Note: For security, config variable values cannot be retrieved outside rule execution. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.rules_configs.list +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request_options:** `Auth0::RulesConfigs::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.rules_configs.set(key, request) -> Auth0::Types::SetRulesConfigResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Sets a rules config variable. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.rules_configs.set( + key: "key", + value: "value" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**key:** `String` — Key of the rules config variable to set (max length: 127 characters). + +
+
+ +
+
+ +**value:** `String` — Value for a rules config variable. + +
+
+ +
+
+ +**request_options:** `Auth0::RulesConfigs::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.rules_configs.delete(key) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Delete a rules config variable identified by its key. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.rules_configs.delete(key: "key") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**key:** `String` — Key of the rules config variable to delete. + +
+
+ +
+
+ +**request_options:** `Auth0::RulesConfigs::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## SelfServiceProfiles +
client.self_service_profiles.list() -> Auth0::Types::ListSelfServiceProfilesPaginatedResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieves self-service profiles. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.self_service_profiles.list( + page: 1, + per_page: 1, + include_totals: true +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**page:** `Integer` — Page index of the results to return. First page is 0. + +
+
+ +
+
+ +**per_page:** `Integer` — Number of results per page. Defaults to 50. + +
+
+ +
+
+ +**include_totals:** `Internal::Types::Boolean` — Return results inside an object that contains the total result count (true) or as a direct array of results (false, default). + +
+
+ +
+
+ +**request_options:** `Auth0::SelfServiceProfiles::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.self_service_profiles.create(request) -> Auth0::Types::CreateSelfServiceProfileResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Creates a self-service profile. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.self_service_profiles.create(name: "name") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**name:** `String` — The name of the self-service Profile. + +
+
+ +
+
+ +**description:** `String` — The description of the self-service Profile. + +
+
+ +
+
+ +**branding:** `Auth0::Types::SelfServiceProfileBrandingProperties` + +
+
+ +
+
+ +**allowed_strategies:** `Internal::Types::Array[Auth0::Types::SelfServiceProfileAllowedStrategyEnum]` — List of IdP strategies that will be shown to users during the Self-Service SSO flow. Possible values: [`oidc`, `samlp`, `waad`, `google-apps`, `adfs`, `okta`, `auth0-samlp`, `okta-samlp`, `keycloak-samlp`, `pingfederate`] + +
+
+ +
+
+ +**user_attributes:** `Internal::Types::Array[Auth0::Types::SelfServiceProfileUserAttribute]` — List of attributes to be mapped that will be shown to the user during the SS-SSO flow. + +
+
+ +
+
+ +**user_attribute_profile_id:** `String` — ID of the user-attribute-profile to associate with this self-service profile. + +
+
+ +
+
+ +**request_options:** `Auth0::SelfServiceProfiles::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.self_service_profiles.get(id) -> Auth0::Types::GetSelfServiceProfileResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieves a self-service profile by Id. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.self_service_profiles.get(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The id of the self-service profile to retrieve + +
+
+ +
+
+ +**request_options:** `Auth0::SelfServiceProfiles::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.self_service_profiles.delete(id) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Deletes a self-service profile by Id. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.self_service_profiles.delete(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The id of the self-service profile to delete + +
+
+ +
+
+ +**request_options:** `Auth0::SelfServiceProfiles::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.self_service_profiles.update(id, request) -> Auth0::Types::UpdateSelfServiceProfileResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Updates a self-service profile. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.self_service_profiles.update(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The id of the self-service profile to update + +
+
+ +
+
+ +**name:** `String` — The name of the self-service Profile. + +
+
+ +
+
+ +**description:** `String` + +
+
+ +
+
+ +**branding:** `Auth0::Types::SelfServiceProfileBrandingProperties` + +
+
+ +
+
+ +**allowed_strategies:** `Internal::Types::Array[Auth0::Types::SelfServiceProfileAllowedStrategyEnum]` — List of IdP strategies that will be shown to users during the Self-Service SSO flow. Possible values: [`oidc`, `samlp`, `waad`, `google-apps`, `adfs`, `okta`, `auth0-samlp`, `okta-samlp`, `keycloak-samlp`, `pingfederate`] + +
+
+ +
+
+ +**user_attributes:** `Internal::Types::Array[Auth0::Types::SelfServiceProfileUserAttribute]` + +
+
+ +
+
+ +**user_attribute_profile_id:** `String` — ID of the user-attribute-profile to associate with this self-service profile. + +
+
+ +
+
+ +**request_options:** `Auth0::SelfServiceProfiles::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Sessions +
client.sessions.get(id) -> Auth0::Types::GetSessionResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve session information. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.sessions.get(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of session to retrieve + +
+
+ +
+
+ +**request_options:** `Auth0::Sessions::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.sessions.delete(id) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Delete a session by ID. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.sessions.delete(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the session to delete. + +
+
+ +
+
+ +**request_options:** `Auth0::Sessions::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.sessions.update(id, request) -> Auth0::Types::UpdateSessionResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Update session information. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.sessions.update(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the session to update. + +
+
+ +
+
+ +**session_metadata:** `Internal::Types::Hash[String, Object]` — Metadata associated with the session. Pass null or {} to remove all session_metadata. + +
+
+ +
+
+ +**request_options:** `Auth0::Sessions::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.sessions.revoke(id) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Revokes a session by ID and all associated refresh tokens. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.sessions.revoke(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the session to revoke. + +
+
+ +
+
+ +**request_options:** `Auth0::Sessions::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Stats +
client.stats.get_active_users_count() -> Integer +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve the number of active users that logged in during the last 30 days. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.stats.get_active_users_count +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request_options:** `Auth0::Stats::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.stats.get_daily() -> Internal::Types::Array[Auth0::Types::DailyStats] +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve the number of logins, signups and breached-password detections (subscription required) that occurred each day within a specified date range. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.stats.get_daily( + from: "from", + to: "to" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**from:** `String` — Optional first day of the date range (inclusive) in YYYYMMDD format. + +
+
+ +
+
+ +**to:** `String` — Optional last day of the date range (inclusive) in YYYYMMDD format. + +
+
+ +
+
+ +**request_options:** `Auth0::Stats::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## SupplementalSignals +
client.supplemental_signals.get() -> Auth0::Types::GetSupplementalSignalsResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Get the supplemental signals configuration for a tenant. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.supplemental_signals.get +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request_options:** `Auth0::SupplementalSignals::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.supplemental_signals.patch(request) -> Auth0::Types::PatchSupplementalSignalsResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Update the supplemental signals configuration for a tenant. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.supplemental_signals.patch(akamai_enabled: true) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**akamai_enabled:** `Internal::Types::Boolean` — Indicates if incoming Akamai Headers should be processed + +
+
+ +
+
+ +**request_options:** `Auth0::SupplementalSignals::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Tickets +
client.tickets.verify_email(request) -> Auth0::Types::VerifyEmailTicketResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Create an email verification ticket for a given user. An email verification ticket is a generated URL that the user can consume to verify their email address. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.tickets.verify_email(user_id: "user_id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**result_url:** `String` — URL the user will be redirected to in the classic Universal Login experience once the ticket is used. Cannot be specified when using client_id or organization_id. + +
+
+ +
+
+ +**user_id:** `String` — user_id of for whom the ticket should be created. + +
+
+ +
+
+ +**client_id:** `String` — ID of the client (application). If provided for tenants using the New Universal Login experience, the email template and UI displays application details, and the user is prompted to redirect to the application's default login route after the ticket is used. client_id is required to use the Password Reset Post Challenge trigger. + +
+
+ +
+
+ +**organization_id:** `String` — (Optional) Organization ID – the ID of the Organization. If provided, organization parameters will be made available to the email template and organization branding will be applied to the prompt. In addition, the redirect link in the prompt will include organization_id and organization_name query string parameters. + +
+
+ +
+
+ +**ttl_sec:** `Integer` — Number of seconds for which the ticket is valid before expiration. If unspecified or set to 0, this value defaults to 432000 seconds (5 days). + +
+
+ +
+
+ +**include_email_in_redirect:** `Internal::Types::Boolean` — Whether to include the email address as part of the returnUrl in the reset_email (true), or not (false). + +
+
+ +
+
+ +**identity:** `Auth0::Types::Identity` + +
+
+ +
+
+ +**request_options:** `Auth0::Tickets::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.tickets.change_password(request) -> Auth0::Types::ChangePasswordTicketResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Create a password change ticket for a given user. A password change ticket is a generated URL that the user can consume to start a reset password flow. + +Note: This endpoint does not verify the given user’s identity. If you call this endpoint within your application, you must design your application to verify the user’s identity. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.tickets.change_password +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**result_url:** `String` — URL the user will be redirected to in the classic Universal Login experience once the ticket is used. Cannot be specified when using client_id or organization_id. + +
+
+ +
+
+ +**user_id:** `String` — user_id of for whom the ticket should be created. + +
+
+ +
+
+ +**client_id:** `String` — ID of the client (application). If provided for tenants using the New Universal Login experience, the email template and UI displays application details, and the user is prompted to redirect to the application's default login route after the ticket is used. client_id is required to use the Password Reset Post Challenge trigger. + +
+
+ +
+
+ +**organization_id:** `String` — (Optional) Organization ID – the ID of the Organization. If provided, organization parameters will be made available to the email template and organization branding will be applied to the prompt. In addition, the redirect link in the prompt will include organization_id and organization_name query string parameters. + +
+
+ +
+
+ +**connection_id:** `String` — ID of the connection. If provided, allows the user to be specified using email instead of user_id. If you set this value, you must also send the email parameter. You cannot send user_id when specifying a connection_id. + +
+
+ +
+
+ +**email:** `String` — Email address of the user for whom the tickets should be created. Requires the connection_id parameter. Cannot be specified when using user_id. + +
+
+ +
+
+ +**ttl_sec:** `Integer` — Number of seconds for which the ticket is valid before expiration. If unspecified or set to 0, this value defaults to 432000 seconds (5 days). + +
+
+ +
+
+ +**mark_email_as_verified:** `Internal::Types::Boolean` — Whether to set the email_verified attribute to true (true) or whether it should not be updated (false). + +
+
+ +
+
+ +**include_email_in_redirect:** `Internal::Types::Boolean` — Whether to include the email address as part of the returnUrl in the reset_email (true), or not (false). + +
+
+ +
+
+ +**identity:** `Auth0::Types::ChangePasswordTicketIdentity` + +
+
+ +
+
+ +**request_options:** `Auth0::Tickets::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## TokenExchangeProfiles +
client.token_exchange_profiles.list() -> Auth0::Types::ListTokenExchangeProfileResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve a list of all Token Exchange Profiles available in your tenant. + +By using this feature, you agree to the applicable Free Trial terms in Okta’s Master Subscription Agreement. It is your responsibility to securely validate the user’s subject_token. See User Guide for more details. + +This endpoint supports Checkpoint pagination. To search by checkpoint, use the following parameters: +
    +
  • from: Optional id from which to start selection.
  • +
  • take: The total amount of entries to retrieve when using the from parameter. Defaults to 50.
  • +
+ +Note: The first time you call this endpoint using checkpoint pagination, omit the from parameter. If there are more results, a next value is included in the response. You can use this for subsequent API calls. When next is no longer included in the response, no pages are remaining. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.token_exchange_profiles.list( + from: "from", + take: 1 +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**from:** `String` — Optional Id from which to start selection. + +
+
+ +
+
+ +**take:** `Integer` — Number of results per page. Defaults to 50. + +
+
+ +
+
+ +**request_options:** `Auth0::TokenExchangeProfiles::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.token_exchange_profiles.create(request) -> Auth0::Types::CreateTokenExchangeProfileResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Create a new Token Exchange Profile within your tenant. + +By using this feature, you agree to the applicable Free Trial terms in Okta’s Master Subscription Agreement. It is your responsibility to securely validate the user’s subject_token. See User Guide for more details. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.token_exchange_profiles.create( + name: "name", + subject_token_type: "subject_token_type", + action_id: "action_id", + type: "custom_authentication" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**name:** `String` — Friendly name of this profile. + +
+
+ +
+
+ +**subject_token_type:** `String` — Subject token type for this profile. When receiving a token exchange request on the Authentication API, the corresponding token exchange profile with a matching subject_token_type will be executed. This must be a URI. + +
+
+ +
+
+ +**action_id:** `String` — The ID of the Custom Token Exchange action to execute for this profile, in order to validate the subject_token. The action must use the custom-token-exchange trigger. + +
+
+ +
+
+ +**type:** `Auth0::Types::TokenExchangeProfileTypeEnum` + +
+
+ +
+
+ +**request_options:** `Auth0::TokenExchangeProfiles::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.token_exchange_profiles.get(id) -> Auth0::Types::GetTokenExchangeProfileResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve details about a single Token Exchange Profile specified by ID. + +By using this feature, you agree to the applicable Free Trial terms in Okta’s Master Subscription Agreement. It is your responsibility to securely validate the user’s subject_token. See User Guide for more details. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.token_exchange_profiles.get(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the Token Exchange Profile to retrieve. + +
+
+ +
+
+ +**request_options:** `Auth0::TokenExchangeProfiles::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.token_exchange_profiles.delete(id) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Delete a Token Exchange Profile within your tenant. + +By using this feature, you agree to the applicable Free Trial terms in Okta's Master Subscription Agreement. It is your responsibility to securely validate the user's subject_token. See User Guide for more details. + +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.token_exchange_profiles.delete(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the Token Exchange Profile to delete. + +
+
+ +
+
+ +**request_options:** `Auth0::TokenExchangeProfiles::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.token_exchange_profiles.update(id, request) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Update a Token Exchange Profile within your tenant. + +By using this feature, you agree to the applicable Free Trial terms in Okta's Master Subscription Agreement. It is your responsibility to securely validate the user's subject_token. See User Guide for more details. + +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.token_exchange_profiles.update(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the Token Exchange Profile to update. + +
+
+ +
+
+ +**name:** `String` — Friendly name of this profile. + +
+
+ +
+
+ +**subject_token_type:** `String` — Subject token type for this profile. When receiving a token exchange request on the Authentication API, the corresponding token exchange profile with a matching subject_token_type will be executed. This must be a URI. + +
+
+ +
+
+ +**request_options:** `Auth0::TokenExchangeProfiles::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## UserAttributeProfiles +
client.user_attribute_profiles.list() -> Auth0::Types::ListUserAttributeProfilesPaginatedResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve a list of User Attribute Profiles. This endpoint supports Checkpoint pagination. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.user_attribute_profiles.list( + from: "from", + take: 1 +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**from:** `String` — Optional Id from which to start selection. + +
+
+ +
+
+ +**take:** `Integer` — Number of results per page. Defaults to 5. + +
+
+ +
+
+ +**request_options:** `Auth0::UserAttributeProfiles::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.user_attribute_profiles.create(request) -> Auth0::Types::CreateUserAttributeProfileResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve details about a single User Attribute Profile specified by ID. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.user_attribute_profiles.create( + name: "name", + user_attributes: { + key: { + description: "description", + label: "label", + profile_required: true, + auth0mapping: "auth0_mapping" + } + } +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**name:** `String` + +
+
+ +
+
+ +**user_id:** `Auth0::Types::UserAttributeProfileUserID` + +
+
+ +
+
+ +**user_attributes:** `Internal::Types::Hash[String, Auth0::Types::UserAttributeProfileUserAttributeAdditionalProperties]` + +
+
+ +
+
+ +**request_options:** `Auth0::UserAttributeProfiles::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.user_attribute_profiles.list_templates() -> Auth0::Types::ListUserAttributeProfileTemplateResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve a list of User Attribute Profile Templates. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.user_attribute_profiles.list_templates +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request_options:** `Auth0::UserAttributeProfiles::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.user_attribute_profiles.get_template(id) -> Auth0::Types::GetUserAttributeProfileTemplateResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve a User Attribute Profile Template. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.user_attribute_profiles.get_template(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the user-attribute-profile-template to retrieve. + +
+
+ +
+
+ +**request_options:** `Auth0::UserAttributeProfiles::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.user_attribute_profiles.get(id) -> Auth0::Types::GetUserAttributeProfileResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve details about a single User Attribute Profile specified by ID. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.user_attribute_profiles.get(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the user-attribute-profile to retrieve. + +
+
+ +
+
+ +**request_options:** `Auth0::UserAttributeProfiles::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.user_attribute_profiles.delete(id) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Delete a single User Attribute Profile specified by ID. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.user_attribute_profiles.delete(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the user-attribute-profile to delete. + +
+
+ +
+
+ +**request_options:** `Auth0::UserAttributeProfiles::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.user_attribute_profiles.update(id, request) -> Auth0::Types::UpdateUserAttributeProfileResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Update the details of a specific User attribute profile, such as name, user_id and user_attributes. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.user_attribute_profiles.update(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the user attribute profile to update. + +
+
+ +
+
+ +**name:** `String` + +
+
+ +
+
+ +**user_id:** `Auth0::Types::UserAttributeProfileUserID` + +
+
+ +
+
+ +**user_attributes:** `Internal::Types::Hash[String, Auth0::Types::UserAttributeProfileUserAttributeAdditionalProperties]` + +
+
+ +
+
+ +**request_options:** `Auth0::UserAttributeProfiles::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## UserBlocks +
client.user_blocks.list_by_identifier() -> Auth0::Types::ListUserBlocksByIdentifierResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve details of all Brute-force Protection blocks for a user with the given identifier (username, phone number, or email). +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.user_blocks.list_by_identifier( + identifier: "identifier", + consider_brute_force_enablement: true +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**identifier:** `String` — Should be any of a username, phone number, or email. + +
+
+ +
+
+ +**consider_brute_force_enablement:** `Internal::Types::Boolean` + + + If true and Brute Force Protection is enabled and configured to block logins, will return a list of blocked IP addresses. + If true and Brute Force Protection is disabled, will return an empty list. + + +
+
+ +
+
+ +**request_options:** `Auth0::UserBlocks::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.user_blocks.delete_by_identifier() -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Remove all Brute-force Protection blocks for the user with the given identifier (username, phone number, or email). + +Note: This endpoint does not unblock users that were blocked by a tenant administrator. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.user_blocks.delete_by_identifier(identifier: "identifier") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**identifier:** `String` — Should be any of a username, phone number, or email. + +
+
+ +
+
+ +**request_options:** `Auth0::UserBlocks::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.user_blocks.list(id) -> Auth0::Types::ListUserBlocksResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve details of all Brute-force Protection blocks for the user with the given ID. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.user_blocks.list( + id: "id", + consider_brute_force_enablement: true +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — user_id of the user blocks to retrieve. + +
+
+ +
+
+ +**consider_brute_force_enablement:** `Internal::Types::Boolean` + + + If true and Brute Force Protection is enabled and configured to block logins, will return a list of blocked IP addresses. + If true and Brute Force Protection is disabled, will return an empty list. + + +
+
+ +
+
+ +**request_options:** `Auth0::UserBlocks::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.user_blocks.delete(id) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Remove all Brute-force Protection blocks for the user with the given ID. + +Note: This endpoint does not unblock users that were blocked by a tenant administrator. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.user_blocks.delete(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The user_id of the user to update. + +
+
+ +
+
+ +**request_options:** `Auth0::UserBlocks::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Users +
client.users.list() -> Auth0::Types::ListUsersOffsetPaginatedResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve details of users. It is possible to: + +- Specify a search criteria for users +- Sort the users to be returned +- Select the fields to be returned +- Specify the number of users to retrieve per page and the page index + +The q query parameter can be used to get users that match the specified criteria using query string syntax. + +Learn more about searching for users. + +Read about best practices when working with the API endpoints for retrieving users. + +Auth0 limits the number of users you can return. If you exceed this threshold, please redefine your search, use the export job, or the User Import / Export extension. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.users.list( + page: 1, + per_page: 1, + include_totals: true, + sort: "sort", + connection: "connection", + fields: "fields", + include_fields: true, + q: "q", + search_engine: "v1", + primary_order: true +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**page:** `Integer` — Page index of the results to return. First page is 0. + +
+
+ +
+
+ +**per_page:** `Integer` — Number of results per page. + +
+
+ +
+
+ +**include_totals:** `Internal::Types::Boolean` — Return results inside an object that contains the total result count (true) or as a direct array of results (false, default). + +
+
+ +
+
+ +**sort:** `String` — Field to sort by. Use field:order where order is 1 for ascending and -1 for descending. e.g. created_at:1 + +
+
+ +
+
+ +**connection:** `String` — Connection filter. Only applies when using search_engine=v1. To filter by connection with search_engine=v2|v3, use q=identities.connection:"connection_name" + +
+
+ +
+
+ +**fields:** `String` — Comma-separated list of fields to include or exclude (based on value provided for include_fields) in the result. Leave empty to retrieve all fields. + +
+
+ +
+
+ +**include_fields:** `Internal::Types::Boolean` — Whether specified fields are to be included (true) or excluded (false). + +
+
+ +
+
+ +**q:** `String` — Query in Lucene query string syntax. Some query types cannot be used on metadata fields, for details see Searchable Fields. + +
+
+ +
+
+ +**search_engine:** `Auth0::Types::SearchEngineVersionsEnum` — The version of the search engine + +
+
+ +
+
+ +**primary_order:** `Internal::Types::Boolean` — If true (default), results are returned in a deterministic order. If false, results may be returned in a non-deterministic order, which can enhance performance for complex queries targeting a small number of users. Set to false only when consistent ordering and pagination is not required. + +
+
+ +
+
+ +**request_options:** `Auth0::Users::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.users.create(request) -> Auth0::Types::CreateUserResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Create a new user for a given database or passwordless connection. + +Note: connection is required but other parameters such as email and password are dependent upon the type of connection. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.users.create(connection: "connection") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**email:** `String` — The user's email. + +
+
+ +
+
+ +**phone_number:** `String` — The user's phone number (following the E.164 recommendation). + +
+
+ +
+
+ +**user_metadata:** `Internal::Types::Hash[String, Object]` + +
+
+ +
+
+ +**blocked:** `Internal::Types::Boolean` — Whether this user was blocked by an administrator (true) or not (false). + +
+
+ +
+
+ +**email_verified:** `Internal::Types::Boolean` — Whether this email address is verified (true) or unverified (false). User will receive a verification email after creation if `email_verified` is false or not specified + +
+
+ +
+
+ +**phone_verified:** `Internal::Types::Boolean` — Whether this phone number has been verified (true) or not (false). + +
+
+ +
+
+ +**app_metadata:** `Internal::Types::Hash[String, Object]` + +
+
+ +
+
+ +**given_name:** `String` — The user's given name(s). + +
+
+ +
+
+ +**family_name:** `String` — The user's family name(s). + +
+
+ +
+
+ +**name:** `String` — The user's full name. + +
+
+ +
+
+ +**nickname:** `String` — The user's nickname. + +
+
+ +
+
+ +**picture:** `String` — A URI pointing to the user's picture. + +
+
+ +
+
+ +**user_id:** `String` — The external user's id provided by the identity provider. + +
+
+ +
+
+ +**connection:** `String` — Name of the connection this user should be created in. + +
+
+ +
+
+ +**password:** `String` — Initial password for this user. Only valid for auth0 connection strategy. + +
+
+ +
+
+ +**verify_email:** `Internal::Types::Boolean` — Whether the user will receive a verification email after creation (true) or no email (false). Overrides behavior of `email_verified` parameter. + +
+
+ +
+
+ +**username:** `String` — The user's username. Only valid if the connection requires a username. + +
+
+ +
+
+ +**request_options:** `Auth0::Users::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.users.list_users_by_email() -> Internal::Types::Array[Auth0::Types::UserResponseSchema] +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Find users by email. If Auth0 is the identity provider (idP), the email address associated with a user is saved in lower case, regardless of how you initially provided it. + +For example, if you register a user as JohnSmith@example.com, Auth0 saves the user's email as johnsmith@example.com. + +Therefore, when using this endpoint, make sure that you are searching for users via email addresses using the correct case. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.users.list_users_by_email( + fields: "fields", + include_fields: true, + email: "email" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**fields:** `String` — Comma-separated list of fields to include or exclude (based on value provided for include_fields) in the result. Leave empty to retrieve all fields. + +
+
+ +
+
+ +**include_fields:** `Internal::Types::Boolean` — Whether specified fields are to be included (true) or excluded (false). Defaults to true. + +
+
+ +
+
+ +**email:** `String` — Email address to search for (case-sensitive). + +
+
+ +
+
+ +**request_options:** `Auth0::Users::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.users.get(id) -> Auth0::Types::GetUserResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve user details. A list of fields to include or exclude may also be specified. For more information, see Retrieve Users with the Get Users Endpoint. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.users.get( + id: "id", + fields: "fields", + include_fields: true +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the user to retrieve. + +
+
+ +
+
+ +**fields:** `String` — Comma-separated list of fields to include or exclude (based on value provided for include_fields) in the result. Leave empty to retrieve all fields. + +
+
+ +
+
+ +**include_fields:** `Internal::Types::Boolean` — Whether specified fields are to be included (true) or excluded (false). + +
+
+ +
+
+ +**request_options:** `Auth0::Users::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.users.delete(id) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Delete a user by user ID. This action cannot be undone. For Auth0 Dashboard instructions, see Delete Users. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.users.delete(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the user to delete. + +
+
+ +
+
+ +**request_options:** `Auth0::Users::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.users.update(id, request) -> Auth0::Types::UpdateUserResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Update a user. + +These are the attributes that can be updated at the root level: + +
    +
  • app_metadata
  • +
  • blocked
  • +
  • email
  • +
  • email_verified
  • +
  • family_name
  • +
  • given_name
  • +
  • name
  • +
  • nickname
  • +
  • password
  • +
  • phone_number
  • +
  • phone_verified
  • +
  • picture
  • +
  • username
  • +
  • user_metadata
  • +
  • verify_email
  • +
+ +Some considerations: +
    +
  • The properties of the new object will replace the old ones.
  • +
  • The metadata fields are an exception to this rule (user_metadata and app_metadata). These properties are merged instead of being replaced but be careful, the merge only occurs on the first level.
  • +
  • If you are updating email, email_verified, phone_number, phone_verified, username or password of a secondary identity, you need to specify the connection property too.
  • +
  • If you are updating email or phone_number you can specify, optionally, the client_id property.
  • +
  • Updating email_verified is not supported for enterprise and passwordless sms connections.
  • +
  • Updating the blocked to false does not affect the user's blocked state from an excessive amount of incorrectly provided credentials. Use the "Unblock a user" endpoint from the "User Blocks" API to change the user's state.
  • +
  • Supported attributes can be unset by supplying null as the value.
  • +
+ +
Updating a field (non-metadata property)
+To mark the email address of a user as verified, the body to send should be: +
{ "email_verified": true }
+ +
Updating a user metadata root property
Let's assume that our test user has the following user_metadata: +
{ "user_metadata" : { "profileCode": 1479 } }
+ +To add the field addresses the body to send should be: +
{ "user_metadata" : { "addresses": {"work_address": "100 Industrial Way"} }}
+ +The modified object ends up with the following user_metadata property:
{
+  "user_metadata": {
+    "profileCode": 1479,
+    "addresses": { "work_address": "100 Industrial Way" }
+  }
+}
+ +
Updating an inner user metadata property
If there's existing user metadata to which we want to add "home_address": "742 Evergreen Terrace" (using the addresses property) we should send the whole addresses object. Since this is a first-level object, the object will be merged in, but its own properties will not be. The body to send should be: +
{
+  "user_metadata": {
+    "addresses": {
+      "work_address": "100 Industrial Way",
+      "home_address": "742 Evergreen Terrace"
+    }
+  }
+}
+ +The modified object ends up with the following user_metadata property: +
{
+  "user_metadata": {
+    "profileCode": 1479,
+    "addresses": {
+      "work_address": "100 Industrial Way",
+      "home_address": "742 Evergreen Terrace"
+    }
+  }
+}
+
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.users.update(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the user to update. + +
+
+ +
+
+ +**blocked:** `Internal::Types::Boolean` — Whether this user was blocked by an administrator (true) or not (false). + +
+
+ +
+
+ +**email_verified:** `Internal::Types::Boolean` — Whether this email address is verified (true) or unverified (false). If set to false the user will not receive a verification email unless `verify_email` is set to true. + +
+
+ +
+
+ +**email:** `String` — Email address of this user. + +
+
+ +
+
+ +**phone_number:** `String` — The user's phone number (following the E.164 recommendation). + +
+
+ +
+
+ +**phone_verified:** `Internal::Types::Boolean` — Whether this phone number has been verified (true) or not (false). + +
+
+ +
+
+ +**user_metadata:** `Internal::Types::Hash[String, Object]` — User metadata to which this user has read/write access. + +
+
+ +
+
+ +**app_metadata:** `Internal::Types::Hash[String, Object]` — User metadata to which this user has read-only access. + +
+
+ +
+
+ +**given_name:** `String` — Given name/first name/forename of this user. + +
+
+ +
+
+ +**family_name:** `String` — Family name/last name/surname of this user. + +
+
+ +
+
+ +**name:** `String` — Name of this user. + +
+
+ +
+
+ +**nickname:** `String` — Preferred nickname or alias of this user. + +
+
+ +
+
+ +**picture:** `String` — URL to picture, photo, or avatar of this user. + +
+
+ +
+
+ +**verify_email:** `Internal::Types::Boolean` — Whether this user will receive a verification email after creation (true) or no email (false). Overrides behavior of `email_verified` parameter. + +
+
+ +
+
+ +**verify_phone_number:** `Internal::Types::Boolean` — Whether this user will receive a text after changing the phone number (true) or no text (false). Only valid when changing phone number for SMS connections. + +
+
+ +
+
+ +**password:** `String` — New password for this user. Only valid for database connections. + +
+
+ +
+
+ +**connection:** `String` — Name of the connection to target for this user update. + +
+
+ +
+
+ +**client_id:** `String` — Auth0 client ID. Only valid when updating email address. + +
+
+ +
+
+ +**username:** `String` — The user's username. Only valid if the connection requires a username. + +
+
+ +
+
+ +**request_options:** `Auth0::Users::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.users.regenerate_recovery_code(id) -> Auth0::Types::RegenerateUsersRecoveryCodeResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Remove an existing multi-factor authentication (MFA) recovery code and generate a new one. If a user cannot access the original device or account used for MFA enrollment, they can use a recovery code to authenticate. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.users.regenerate_recovery_code(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the user to regenerate a multi-factor authentication recovery code for. + +
+
+ +
+
+ +**request_options:** `Auth0::Users::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.users.revoke_access(id, request) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Revokes selected resources related to a user (sessions, refresh tokens, ...). +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.users.revoke_access(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the user. + +
+
+ +
+
+ +**session_id:** `String` — ID of the session to revoke. + +
+
+ +
+
+ +**preserve_refresh_tokens:** `Internal::Types::Boolean` — Whether to preserve the refresh tokens associated with the session. + +
+
+ +
+
+ +**request_options:** `Auth0::Users::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Actions Versions +
client.actions.versions.list(action_id) -> Auth0::Types::ListActionVersionsPaginatedResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve all of an action's versions. An action version is created whenever an action is deployed. An action version is immutable, once created. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.actions.versions.list( + action_id: "actionId", + page: 1, + per_page: 1 +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**action_id:** `String` — The ID of the action. + +
+
+ +
+
+ +**page:** `Integer` — Use this field to request a specific page of the list results. + +
+
+ +
+
+ +**per_page:** `Integer` — This field specify the maximum number of results to be returned by the server. 20 by default + +
+
+ +
+
+ +**request_options:** `Auth0::Actions::Versions::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.actions.versions.get(action_id, id) -> Auth0::Types::GetActionVersionResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve a specific version of an action. An action version is created whenever an action is deployed. An action version is immutable, once created. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.actions.versions.get( + action_id: "actionId", + id: "id" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**action_id:** `String` — The ID of the action. + +
+
+ +
+
+ +**id:** `String` — The ID of the action version. + +
+
+ +
+
+ +**request_options:** `Auth0::Actions::Versions::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.actions.versions.deploy(action_id, id, request) -> Auth0::Types::DeployActionVersionResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Performs the equivalent of a roll-back of an action to an earlier, specified version. Creates a new, deployed action version that is identical to the specified version. If this action is currently bound to a trigger, the system will begin executing the newly-created version immediately. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.actions.versions.deploy( + action_id: "actionId", + id: "id", + request: {} +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**action_id:** `String` — The ID of an action. + +
+
+ +
+
+ +**id:** `String` — The ID of an action version. + +
+
+ +
+
+ +**request:** `Auth0::Types::DeployActionVersionRequestContent` + +
+
+ +
+
+ +**request_options:** `Auth0::Actions::Versions::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Actions Executions +
client.actions.executions.get(id) -> Auth0::Types::GetActionExecutionResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve information about a specific execution of a trigger. Relevant execution IDs will be included in tenant logs generated as part of that authentication flow. Executions will only be stored for 10 days after their creation. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.actions.executions.get(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The ID of the execution to retrieve. + +
+
+ +
+
+ +**request_options:** `Auth0::Actions::Executions::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Actions Modules +
client.actions.modules.list() -> Auth0::Types::GetActionModulesResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve a paginated list of all Actions Modules with optional filtering and totals. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.actions.modules.list( + page: 1, + per_page: 1 +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**page:** `Integer` — Page index of the results to return. First page is 0. + +
+
+ +
+
+ +**per_page:** `Integer` — Number of results per page. Paging is disabled if parameter not sent. + +
+
+ +
+
+ +**request_options:** `Auth0::Actions::Modules::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.actions.modules.create(request) -> Auth0::Types::CreateActionModuleResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Create a new Actions Module for reusable code across actions. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.actions.modules.create( + name: "name", + code: "code" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**name:** `String` — The name of the action module. + +
+
+ +
+
+ +**code:** `String` — The source code of the action module. + +
+
+ +
+
+ +**secrets:** `Internal::Types::Array[Auth0::Types::ActionModuleSecretRequest]` — The secrets to associate with the action module. + +
+
+ +
+
+ +**dependencies:** `Internal::Types::Array[Auth0::Types::ActionModuleDependencyRequest]` — The npm dependencies of the action module. + +
+
+ +
+
+ +**api_version:** `String` — The API version of the module. + +
+
+ +
+
+ +**publish:** `Internal::Types::Boolean` — Whether to publish the module immediately after creation. + +
+
+ +
+
+ +**request_options:** `Auth0::Actions::Modules::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.actions.modules.get(id) -> Auth0::Types::GetActionModuleResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve details of a specific Actions Module by its unique identifier. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.actions.modules.get(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The ID of the action module to retrieve. + +
+
+ +
+
+ +**request_options:** `Auth0::Actions::Modules::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.actions.modules.delete(id) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Permanently delete an Actions Module. This will fail if the module is still in use by any actions. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.actions.modules.delete(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The ID of the Actions Module to delete. + +
+
+ +
+
+ +**request_options:** `Auth0::Actions::Modules::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.actions.modules.update(id, request) -> Auth0::Types::UpdateActionModuleResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Update properties of an existing Actions Module, such as code, dependencies, or secrets. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.actions.modules.update(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The ID of the action module to update. + +
+
+ +
+
+ +**code:** `String` — The source code of the action module. + +
+
+ +
+
+ +**secrets:** `Internal::Types::Array[Auth0::Types::ActionModuleSecretRequest]` — The secrets to associate with the action module. + +
+
+ +
+
+ +**dependencies:** `Internal::Types::Array[Auth0::Types::ActionModuleDependencyRequest]` — The npm dependencies of the action module. + +
+
+ +
+
+ +**request_options:** `Auth0::Actions::Modules::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.actions.modules.list_actions(id) -> Auth0::Types::GetActionModuleActionsResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Lists all actions that are using a specific Actions Module, showing which deployed action versions reference this Actions Module. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.actions.modules.list_actions( + id: "id", + page: 1, + per_page: 1 +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The unique ID of the module. + +
+
+ +
+
+ +**page:** `Integer` — Page index of the results to return. First page is 0. + +
+
+ +
+
+ +**per_page:** `Integer` — Number of results per page. + +
+
+ +
+
+ +**request_options:** `Auth0::Actions::Modules::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.actions.modules.rollback(id, request) -> Auth0::Types::RollbackActionModuleResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Rolls back an Actions Module's draft to a previously created version. This action copies the code, dependencies, and secrets from the specified version into the current draft. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.actions.modules.rollback( + id: "id", + module_version_id: "module_version_id" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The unique ID of the module to roll back. + +
+
+ +
+
+ +**module_version_id:** `String` — The unique ID of the module version to roll back to. + +
+
+ +
+
+ +**request_options:** `Auth0::Actions::Modules::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Actions Triggers +
client.actions.triggers.list() -> Auth0::Types::ListActionTriggersResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve the set of triggers currently available within actions. A trigger is an extensibility point to which actions can be bound. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.actions.triggers.list +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request_options:** `Auth0::Actions::Triggers::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Actions Modules Versions +
client.actions.modules.versions.list(id) -> Auth0::Types::GetActionModuleVersionsResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +List all published versions of a specific Actions Module. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.actions.modules.versions.list( + id: "id", + page: 1, + per_page: 1 +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The unique ID of the module. + +
+
+ +
+
+ +**page:** `Integer` — Use this field to request a specific page of the list results. + +
+
+ +
+
+ +**per_page:** `Integer` — The maximum number of results to be returned by the server in a single response. 20 by default. + +
+
+ +
+
+ +**request_options:** `Auth0::Actions::Modules::Versions::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.actions.modules.versions.create(id) -> Auth0::Types::CreateActionModuleVersionResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Creates a new immutable version of an Actions Module from the current draft version. This publishes the draft as a new version that can be referenced by actions, while maintaining the existing draft for continued development. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.actions.modules.versions.create(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The ID of the action module to create a version for. + +
+
+ +
+
+ +**request_options:** `Auth0::Actions::Modules::Versions::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.actions.modules.versions.get(id, version_id) -> Auth0::Types::GetActionModuleVersionResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve the details of a specific, immutable version of an Actions Module. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.actions.modules.versions.get( + id: "id", + version_id: "versionId" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The unique ID of the module. + +
+
+ +
+
+ +**version_id:** `String` — The unique ID of the module version to retrieve. + +
+
+ +
+
+ +**request_options:** `Auth0::Actions::Modules::Versions::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Actions Triggers Bindings +
client.actions.triggers.bindings.list(trigger_id) -> Auth0::Types::ListActionBindingsPaginatedResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve the actions that are bound to a trigger. Once an action is created and deployed, it must be attached (i.e. bound) to a trigger so that it will be executed as part of a flow. The list of actions returned reflects the order in which they will be executed during the appropriate flow. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.actions.triggers.bindings.list( + trigger_id: "post-login", + page: 1, + per_page: 1 +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**trigger_id:** `Auth0::Types::ActionTriggerTypeEnum` — An actions extensibility point. + +
+
+ +
+
+ +**page:** `Integer` — Use this field to request a specific page of the list results. + +
+
+ +
+
+ +**per_page:** `Integer` — The maximum number of results to be returned in a single request. 20 by default + +
+
+ +
+
+ +**request_options:** `Auth0::Actions::Triggers::Bindings::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.actions.triggers.bindings.update_many(trigger_id, request) -> Auth0::Types::UpdateActionBindingsResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Update the actions that are bound (i.e. attached) to a trigger. Once an action is created and deployed, it must be attached (i.e. bound) to a trigger so that it will be executed as part of a flow. The order in which the actions are provided will determine the order in which they are executed. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.actions.triggers.bindings.update_many(trigger_id: "post-login") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**trigger_id:** `Auth0::Types::ActionTriggerTypeEnum` — An actions extensibility point. + +
+
+ +
+
+ +**bindings:** `Internal::Types::Array[Auth0::Types::ActionBindingWithRef]` — The actions that will be bound to this trigger. The order in which they are included will be the order in which they are executed. + +
+
+ +
+
+ +**request_options:** `Auth0::Actions::Triggers::Bindings::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Anomaly Blocks +
client.anomaly.blocks.check_ip(id) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Check if the given IP address is blocked via the Suspicious IP Throttling due to multiple suspicious attempts. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.anomaly.blocks.check_ip(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — IP address to check. + +
+
+ +
+
+ +**request_options:** `Auth0::Anomaly::Blocks::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.anomaly.blocks.unblock_ip(id) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Remove a block imposed by Suspicious IP Throttling for the given IP address. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.anomaly.blocks.unblock_ip(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — IP address to unblock. + +
+
+ +
+
+ +**request_options:** `Auth0::Anomaly::Blocks::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## AttackProtection BotDetection +
client.attack_protection.bot_detection.get() -> Auth0::Types::GetBotDetectionSettingsResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Get the Bot Detection configuration of your tenant. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.attack_protection.bot_detection.get +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request_options:** `Auth0::AttackProtection::BotDetection::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.attack_protection.bot_detection.update(request) -> Auth0::Types::UpdateBotDetectionSettingsResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Update the Bot Detection configuration of your tenant. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.attack_protection.bot_detection.update +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**bot_detection_level:** `Auth0::Types::BotDetectionLevelEnum` + +
+
+ +
+
+ +**challenge_password_policy:** `Auth0::Types::BotDetectionChallengePolicyPasswordFlowEnum` + +
+
+ +
+
+ +**challenge_passwordless_policy:** `Auth0::Types::BotDetectionChallengePolicyPasswordlessFlowEnum` + +
+
+ +
+
+ +**challenge_password_reset_policy:** `Auth0::Types::BotDetectionChallengePolicyPasswordResetFlowEnum` + +
+
+ +
+
+ +**allowlist:** `Internal::Types::Array[String]` + +
+
+ +
+
+ +**monitoring_mode_enabled:** `Internal::Types::Boolean` + +
+
+ +
+
+ +**request_options:** `Auth0::AttackProtection::BotDetection::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## AttackProtection BreachedPasswordDetection +
client.attack_protection.breached_password_detection.get() -> Auth0::Types::GetBreachedPasswordDetectionSettingsResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve details of the Breached Password Detection configuration of your tenant. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.attack_protection.breached_password_detection.get +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request_options:** `Auth0::AttackProtection::BreachedPasswordDetection::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.attack_protection.breached_password_detection.update(request) -> Auth0::Types::UpdateBreachedPasswordDetectionSettingsResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Update details of the Breached Password Detection configuration of your tenant. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.attack_protection.breached_password_detection.update +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**enabled:** `Internal::Types::Boolean` — Whether or not breached password detection is active. + +
+
+ +
+
+ +**shields:** `Internal::Types::Array[Auth0::Types::BreachedPasswordDetectionShieldsEnum]` + +Action to take when a breached password is detected during a login. + Possible values: block, user_notification, admin_notification. + +
+
+ +
+
+ +**admin_notification_frequency:** `Internal::Types::Array[Auth0::Types::BreachedPasswordDetectionAdminNotificationFrequencyEnum]` + +When "admin_notification" is enabled, determines how often email notifications are sent. + Possible values: immediately, daily, weekly, monthly. + +
+
+ +
+
+ +**method_:** `Auth0::Types::BreachedPasswordDetectionMethodEnum` + +
+
+ +
+
+ +**stage:** `Auth0::Types::BreachedPasswordDetectionStage` + +
+
+ +
+
+ +**request_options:** `Auth0::AttackProtection::BreachedPasswordDetection::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## AttackProtection BruteForceProtection +
client.attack_protection.brute_force_protection.get() -> Auth0::Types::GetBruteForceSettingsResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve details of the Brute-force Protection configuration of your tenant. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.attack_protection.brute_force_protection.get +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request_options:** `Auth0::AttackProtection::BruteForceProtection::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.attack_protection.brute_force_protection.update(request) -> Auth0::Types::UpdateBruteForceSettingsResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Update the Brute-force Protection configuration of your tenant. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.attack_protection.brute_force_protection.update +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**enabled:** `Internal::Types::Boolean` — Whether or not brute force attack protections are active. + +
+
+ +
+
+ +**shields:** `Internal::Types::Array[Auth0::Types::BruteForceProtectionShieldsEnum]` + +Action to take when a brute force protection threshold is violated. + Possible values: block, user_notification. + +
+
+ +
+
+ +**allowlist:** `Internal::Types::Array[String]` — List of trusted IP addresses that will not have attack protection enforced against them. + +
+
+ +
+
+ +**mode:** `Auth0::Types::BruteForceProtectionModeEnum` + +
+
+ +
+
+ +**max_attempts:** `Integer` — Maximum number of unsuccessful attempts. + +
+
+ +
+
+ +**request_options:** `Auth0::AttackProtection::BruteForceProtection::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## AttackProtection Captcha +
client.attack_protection.captcha.get() -> Auth0::Types::GetAttackProtectionCaptchaResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Get the CAPTCHA configuration for your client. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.attack_protection.captcha.get +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request_options:** `Auth0::AttackProtection::Captcha::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.attack_protection.captcha.update(request) -> Auth0::Types::UpdateAttackProtectionCaptchaResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Update existing CAPTCHA configuration for your client. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.attack_protection.captcha.update +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**active_provider_id:** `Auth0::Types::AttackProtectionCaptchaProviderID` + +
+
+ +
+
+ +**arkose:** `Auth0::Types::AttackProtectionUpdateCaptchaArkose` + +
+
+ +
+
+ +**auth_challenge:** `Auth0::Types::AttackProtectionCaptchaAuthChallengeRequest` + +
+
+ +
+
+ +**hcaptcha:** `Auth0::Types::AttackProtectionUpdateCaptchaHcaptcha` + +
+
+ +
+
+ +**friendly_captcha:** `Auth0::Types::AttackProtectionUpdateCaptchaFriendlyCaptcha` + +
+
+ +
+
+ +**recaptcha_enterprise:** `Auth0::Types::AttackProtectionUpdateCaptchaRecaptchaEnterprise` + +
+
+ +
+
+ +**recaptcha_v2:** `Auth0::Types::AttackProtectionUpdateCaptchaRecaptchaV2` + +
+
+ +
+
+ +**simple_captcha:** `Internal::Types::Hash[String, Object]` + +
+
+ +
+
+ +**request_options:** `Auth0::AttackProtection::Captcha::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## AttackProtection SuspiciousIPThrottling +
client.attack_protection.suspicious_ip_throttling.get() -> Auth0::Types::GetSuspiciousIPThrottlingSettingsResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve details of the Suspicious IP Throttling configuration of your tenant. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.attack_protection.suspicious_ip_throttling.get +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request_options:** `Auth0::AttackProtection::SuspiciousIPThrottling::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.attack_protection.suspicious_ip_throttling.update(request) -> Auth0::Types::UpdateSuspiciousIPThrottlingSettingsResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Update the details of the Suspicious IP Throttling configuration of your tenant. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.attack_protection.suspicious_ip_throttling.update +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**enabled:** `Internal::Types::Boolean` — Whether or not suspicious IP throttling attack protections are active. + +
+
+ +
+
+ +**shields:** `Internal::Types::Array[Auth0::Types::SuspiciousIPThrottlingShieldsEnum]` + +Action to take when a suspicious IP throttling threshold is violated. + Possible values: block, admin_notification. + +
+
+ +
+
+ +**allowlist:** `Internal::Types::Array[String]` + +
+
+ +
+
+ +**stage:** `Auth0::Types::SuspiciousIPThrottlingStage` + +
+
+ +
+
+ +**request_options:** `Auth0::AttackProtection::SuspiciousIPThrottling::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Branding Templates +
client.branding.templates.get_universal_login() -> Auth0::Types::GetUniversalLoginTemplateResponseContent +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.branding.templates.get_universal_login +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request_options:** `Auth0::Branding::Templates::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.branding.templates.update_universal_login(request) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Update the Universal Login branding template. + +

When content-type header is set to application/json:

+
+{
+  "template": "<!DOCTYPE html>{% assign resolved_dir = dir | default: "auto" %}<html lang="{{locale}}" dir="{{resolved_dir}}"><head>{%- auth0:head -%}</head><body class="_widget-auto-layout">{%- auth0:widget -%}</body></html>"
+}
+
+ +

+ When content-type header is set to text/html: +

+
+<!DOCTYPE html>
+{% assign resolved_dir = dir | default: "auto" %}
+<html lang="{{locale}}" dir="{{resolved_dir}}">
+  <head>
+    {%- auth0:head -%}
+  </head>
+  <body class="_widget-auto-layout">
+    {%- auth0:widget -%}
+  </body>
+</html>
+
+
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.branding.templates.update_universal_login(request: "string") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request:** `Auth0::Types::UpdateUniversalLoginTemplateRequestContent` + +
+
+ +
+
+ +**request_options:** `Auth0::Branding::Templates::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.branding.templates.delete_universal_login() -> +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.branding.templates.delete_universal_login +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request_options:** `Auth0::Branding::Templates::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Branding Themes +
client.branding.themes.create(request) -> Auth0::Types::CreateBrandingThemeResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Create branding theme. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.branding.themes.create( + borders: { + button_border_radius: 1.1, + button_border_weight: 1.1, + buttons_style: "pill", + input_border_radius: 1.1, + input_border_weight: 1.1, + inputs_style: "pill", + show_widget_shadow: true, + widget_border_weight: 1.1, + widget_corner_radius: 1.1 + }, + colors: { + body_text: "body_text", + error: "error", + header: "header", + icons: "icons", + input_background: "input_background", + input_border: "input_border", + input_filled_text: "input_filled_text", + input_labels_placeholders: "input_labels_placeholders", + links_focused_components: "links_focused_components", + primary_button: "primary_button", + primary_button_label: "primary_button_label", + secondary_button_border: "secondary_button_border", + secondary_button_label: "secondary_button_label", + success: "success", + widget_background: "widget_background", + widget_border: "widget_border" + }, + fonts: { + body_text: { + bold: true, + size: 1.1 + }, + buttons_text: { + bold: true, + size: 1.1 + }, + font_url: "font_url", + input_labels: { + bold: true, + size: 1.1 + }, + links: { + bold: true, + size: 1.1 + }, + links_style: "normal", + reference_text_size: 1.1, + subtitle: { + bold: true, + size: 1.1 + }, + title: { + bold: true, + size: 1.1 + } + }, + page_background: { + background_color: "background_color", + background_image_url: "background_image_url", + page_layout: "center" + }, + widget: { + header_text_alignment: "center", + logo_height: 1.1, + logo_position: "center", + logo_url: "logo_url", + social_buttons_layout: "bottom" + } +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**borders:** `Auth0::Types::BrandingThemeBorders` + +
+
+ +
+
+ +**colors:** `Auth0::Types::BrandingThemeColors` + +
+
+ +
+
+ +**display_name:** `String` — Display Name + +
+
+ +
+
+ +**fonts:** `Auth0::Types::BrandingThemeFonts` + +
+
+ +
+
+ +**page_background:** `Auth0::Types::BrandingThemePageBackground` + +
+
+ +
+
+ +**widget:** `Auth0::Types::BrandingThemeWidget` + +
+
+ +
+
+ +**request_options:** `Auth0::Branding::Themes::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.branding.themes.get_default() -> Auth0::Types::GetBrandingDefaultThemeResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve default branding theme. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.branding.themes.get_default +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request_options:** `Auth0::Branding::Themes::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.branding.themes.get(theme_id) -> Auth0::Types::GetBrandingThemeResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve branding theme. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.branding.themes.get(theme_id: "themeId") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**theme_id:** `String` — The ID of the theme + +
+
+ +
+
+ +**request_options:** `Auth0::Branding::Themes::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.branding.themes.delete(theme_id) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Delete branding theme. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.branding.themes.delete(theme_id: "themeId") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**theme_id:** `String` — The ID of the theme + +
+
+ +
+
+ +**request_options:** `Auth0::Branding::Themes::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.branding.themes.update(theme_id, request) -> Auth0::Types::UpdateBrandingThemeResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Update branding theme. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.branding.themes.update( + theme_id: "themeId", + borders: { + button_border_radius: 1.1, + button_border_weight: 1.1, + buttons_style: "pill", + input_border_radius: 1.1, + input_border_weight: 1.1, + inputs_style: "pill", + show_widget_shadow: true, + widget_border_weight: 1.1, + widget_corner_radius: 1.1 + }, + colors: { + body_text: "body_text", + error: "error", + header: "header", + icons: "icons", + input_background: "input_background", + input_border: "input_border", + input_filled_text: "input_filled_text", + input_labels_placeholders: "input_labels_placeholders", + links_focused_components: "links_focused_components", + primary_button: "primary_button", + primary_button_label: "primary_button_label", + secondary_button_border: "secondary_button_border", + secondary_button_label: "secondary_button_label", + success: "success", + widget_background: "widget_background", + widget_border: "widget_border" + }, + fonts: { + body_text: { + bold: true, + size: 1.1 + }, + buttons_text: { + bold: true, + size: 1.1 + }, + font_url: "font_url", + input_labels: { + bold: true, + size: 1.1 + }, + links: { + bold: true, + size: 1.1 + }, + links_style: "normal", + reference_text_size: 1.1, + subtitle: { + bold: true, + size: 1.1 + }, + title: { + bold: true, + size: 1.1 + } + }, + page_background: { + background_color: "background_color", + background_image_url: "background_image_url", + page_layout: "center" + }, + widget: { + header_text_alignment: "center", + logo_height: 1.1, + logo_position: "center", + logo_url: "logo_url", + social_buttons_layout: "bottom" + } +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**theme_id:** `String` — The ID of the theme + +
+
+ +
+
+ +**borders:** `Auth0::Types::BrandingThemeBorders` + +
+
+ +
+
+ +**colors:** `Auth0::Types::BrandingThemeColors` + +
+
+ +
+
+ +**display_name:** `String` — Display Name + +
+
+ +
+
+ +**fonts:** `Auth0::Types::BrandingThemeFonts` + +
+
+ +
+
+ +**page_background:** `Auth0::Types::BrandingThemePageBackground` + +
+
+ +
+
+ +**widget:** `Auth0::Types::BrandingThemeWidget` + +
+
+ +
+
+ +**request_options:** `Auth0::Branding::Themes::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Branding Phone Providers +
client.branding.phone.providers.list() -> Auth0::Types::ListBrandingPhoneProvidersResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve a list of phone providers details set for a Tenant. A list of fields to include or exclude may also be specified. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.branding.phone.providers.list(disabled: true) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**disabled:** `Internal::Types::Boolean` — Whether the provider is enabled (false) or disabled (true). + +
+
+ +
+
+ +**request_options:** `Auth0::Branding::Phone::Providers::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.branding.phone.providers.create(request) -> Auth0::Types::CreateBrandingPhoneProviderResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Create a phone provider. +The credentials object requires different properties depending on the phone provider (which is specified using the name property). +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.branding.phone.providers.create( + name: "twilio", + credentials: { + auth_token: "auth_token" + } +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**name:** `Auth0::Types::PhoneProviderNameEnum` + +
+
+ +
+
+ +**disabled:** `Internal::Types::Boolean` — Whether the provider is enabled (false) or disabled (true). + +
+
+ +
+
+ +**configuration:** `Auth0::Types::PhoneProviderConfiguration` + +
+
+ +
+
+ +**credentials:** `Auth0::Types::PhoneProviderCredentials` + +
+
+ +
+
+ +**request_options:** `Auth0::Branding::Phone::Providers::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.branding.phone.providers.get(id) -> Auth0::Types::GetBrandingPhoneProviderResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve phone provider details. A list of fields to include or exclude may also be specified. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.branding.phone.providers.get(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` + +
+
+ +
+
+ +**request_options:** `Auth0::Branding::Phone::Providers::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.branding.phone.providers.delete(id) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Delete the configured phone provider. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.branding.phone.providers.delete(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` + +
+
+ +
+
+ +**request_options:** `Auth0::Branding::Phone::Providers::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.branding.phone.providers.update(id, request) -> Auth0::Types::UpdateBrandingPhoneProviderResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Update a phone provider. +The credentials object requires different properties depending on the phone provider (which is specified using the name property). +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.branding.phone.providers.update(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` + +
+
+ +
+
+ +**name:** `Auth0::Types::PhoneProviderNameEnum` + +
+
+ +
+
+ +**disabled:** `Internal::Types::Boolean` — Whether the provider is enabled (false) or disabled (true). + +
+
+ +
+
+ +**credentials:** `Auth0::Types::PhoneProviderCredentials` + +
+
+ +
+
+ +**configuration:** `Auth0::Types::PhoneProviderConfiguration` + +
+
+ +
+
+ +**request_options:** `Auth0::Branding::Phone::Providers::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.branding.phone.providers.test(id, request) -> Auth0::Types::CreatePhoneProviderSendTestResponseContent +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.branding.phone.providers.test( + id: "id", + to: "to" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` + +
+
+ +
+
+ +**to:** `String` — The recipient phone number to receive a given notification. + +
+
+ +
+
+ +**delivery_method:** `Auth0::Types::PhoneProviderDeliveryMethodEnum` + +
+
+ +
+
+ +**request_options:** `Auth0::Branding::Phone::Providers::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Branding Phone Templates +
client.branding.phone.templates.list() -> Auth0::Types::ListPhoneTemplatesResponseContent +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.branding.phone.templates.list(disabled: true) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**disabled:** `Internal::Types::Boolean` — Whether the template is enabled (false) or disabled (true). + +
+
+ +
+
+ +**request_options:** `Auth0::Branding::Phone::Templates::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.branding.phone.templates.create(request) -> Auth0::Types::CreatePhoneTemplateResponseContent +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.branding.phone.templates.create +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**type:** `Auth0::Types::PhoneTemplateNotificationTypeEnum` + +
+
+ +
+
+ +**disabled:** `Internal::Types::Boolean` — Whether the template is enabled (false) or disabled (true). + +
+
+ +
+
+ +**content:** `Auth0::Types::PhoneTemplateContent` + +
+
+ +
+
+ +**request_options:** `Auth0::Branding::Phone::Templates::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.branding.phone.templates.get(id) -> Auth0::Types::GetPhoneTemplateResponseContent +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.branding.phone.templates.get(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` + +
+
+ +
+
+ +**request_options:** `Auth0::Branding::Phone::Templates::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.branding.phone.templates.delete(id) -> +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.branding.phone.templates.delete(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` + +
+
+ +
+
+ +**request_options:** `Auth0::Branding::Phone::Templates::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.branding.phone.templates.update(id, request) -> Auth0::Types::UpdatePhoneTemplateResponseContent +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.branding.phone.templates.update(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` + +
+
+ +
+
+ +**content:** `Auth0::Types::PartialPhoneTemplateContent` + +
+
+ +
+
+ +**disabled:** `Internal::Types::Boolean` — Whether the template is enabled (false) or disabled (true). + +
+
+ +
+
+ +**request_options:** `Auth0::Branding::Phone::Templates::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.branding.phone.templates.reset(id, request) -> Auth0::Types::ResetPhoneTemplateResponseContent +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.branding.phone.templates.reset(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` + +
+
+ +
+
+ +**request:** `Object` + +
+
+ +
+
+ +**request_options:** `Auth0::Branding::Phone::Templates::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.branding.phone.templates.test(id, request) -> Auth0::Types::CreatePhoneTemplateTestNotificationResponseContent +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.branding.phone.templates.test( + id: "id", + to: "to" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` + +
+
+ +
+
+ +**to:** `String` — Destination of the testing phone notification + +
+
+ +
+
+ +**delivery_method:** `Auth0::Types::PhoneProviderDeliveryMethodEnum` — Medium to use to send the notification + +
+
+ +
+
+ +**request_options:** `Auth0::Branding::Phone::Templates::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## ClientGrants Organizations +
client.client_grants.organizations.list(id) -> Auth0::Types::ListClientGrantOrganizationsPaginatedResponseContent +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.client_grants.organizations.list( + id: "id", + from: "from", + take: 1 +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the client grant + +
+
+ +
+
+ +**from:** `String` — Optional Id from which to start selection. + +
+
+ +
+
+ +**take:** `Integer` — Number of results per page. Defaults to 50. + +
+
+ +
+
+ +**request_options:** `Auth0::ClientGrants::Organizations::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Clients Credentials +
client.clients.credentials.list(client_id) -> Internal::Types::Array[Auth0::Types::ClientCredential] +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Get the details of a client credential. + +Important: To enable credentials to be used for a client authentication method, set the client_authentication_methods property on the client. To enable credentials to be used for JWT-Secured Authorization requests set the signed_request_object property on the client. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.clients.credentials.list(client_id: "client_id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**client_id:** `String` — ID of the client. + +
+
+ +
+
+ +**request_options:** `Auth0::Clients::Credentials::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.clients.credentials.create(client_id, request) -> Auth0::Types::PostClientCredentialResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Create a client credential associated to your application. Credentials can be used to configure Private Key JWT and mTLS authentication methods, as well as for JWT-secured Authorization requests. + +
Public Key
Public Key credentials can be used to set up Private Key JWT client authentication and JWT-secured Authorization requests. + +Sample:
{
+  "credential_type": "public_key",
+  "name": "string",
+  "pem": "string",
+  "alg": "RS256",
+  "parse_expiry_from_cert": false,
+  "expires_at": "2022-12-31T23:59:59Z"
+}
+
Certificate (CA-signed & self-signed)
Certificate credentials can be used to set up mTLS client authentication. CA-signed certificates can be configured either with a signed certificate or with just the certificate Subject DN. + +CA-signed Certificate Sample (pem):
{
+  "credential_type": "x509_cert",
+  "name": "string",
+  "pem": "string"
+}
CA-signed Certificate Sample (subject_dn):
{
+  "credential_type": "cert_subject_dn",
+  "name": "string",
+  "subject_dn": "string"
+}
Self-signed Certificate Sample:
{
+  "credential_type": "cert_subject_dn",
+  "name": "string",
+  "pem": "string"
+}
+ +The credential will be created but not yet enabled for use until you set the corresponding properties in the client: + +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.clients.credentials.create( + client_id: "client_id", + credential_type: "public_key" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**client_id:** `String` — ID of the client. + +
+
+ +
+
+ +**credential_type:** `Auth0::Types::ClientCredentialTypeEnum` + +
+
+ +
+
+ +**name:** `String` — Friendly name for a credential. + +
+
+ +
+
+ +**subject_dn:** `String` — Subject Distinguished Name. Mutually exclusive with `pem` property. Applies to `cert_subject_dn` credential type. + +
+
+ +
+
+ +**pem:** `String` — PEM-formatted public key (SPKI and PKCS1) or X509 certificate. Must be JSON escaped. + +
+
+ +
+
+ +**alg:** `Auth0::Types::PublicKeyCredentialAlgorithmEnum` + +
+
+ +
+
+ +**parse_expiry_from_cert:** `Internal::Types::Boolean` — Parse expiry from x509 certificate. If true, attempts to parse the expiry date from the provided PEM. Applies to `public_key` credential type. + +
+
+ +
+
+ +**expires_at:** `String` — The ISO 8601 formatted date representing the expiration of the credential. If not specified (not recommended), the credential never expires. Applies to `public_key` credential type. + +
+
+ +
+
+ +**kid:** `String` — Optional kid (Key ID), used to uniquely identify the credential. If not specified, a kid value will be auto-generated. The kid header parameter in JWTs sent by your client should match this value. Valid format is [0-9a-zA-Z-_]{10,64} + +
+
+ +
+
+ +**request_options:** `Auth0::Clients::Credentials::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.clients.credentials.get(client_id, credential_id) -> Auth0::Types::GetClientCredentialResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Get the details of a client credential. + +Important: To enable credentials to be used for a client authentication method, set the client_authentication_methods property on the client. To enable credentials to be used for JWT-Secured Authorization requests set the signed_request_object property on the client. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.clients.credentials.get( + client_id: "client_id", + credential_id: "credential_id" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**client_id:** `String` — ID of the client. + +
+
+ +
+
+ +**credential_id:** `String` — ID of the credential. + +
+
+ +
+
+ +**request_options:** `Auth0::Clients::Credentials::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.clients.credentials.delete(client_id, credential_id) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Delete a client credential you previously created. May be enabled or disabled. For more information, read Client Credential Flow. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.clients.credentials.delete( + client_id: "client_id", + credential_id: "credential_id" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**client_id:** `String` — ID of the client. + +
+
+ +
+
+ +**credential_id:** `String` — ID of the credential to delete. + +
+
+ +
+
+ +**request_options:** `Auth0::Clients::Credentials::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.clients.credentials.update(client_id, credential_id, request) -> Auth0::Types::PatchClientCredentialResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Change a client credential you previously created. May be enabled or disabled. For more information, read Client Credential Flow. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.clients.credentials.update( + client_id: "client_id", + credential_id: "credential_id" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**client_id:** `String` — ID of the client. + +
+
+ +
+
+ +**credential_id:** `String` — ID of the credential. + +
+
+ +
+
+ +**expires_at:** `String` — The ISO 8601 formatted date representing the expiration of the credential. + +
+
+ +
+
+ +**request_options:** `Auth0::Clients::Credentials::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Clients Connections +
client.clients.connections.get(id) -> Auth0::Types::ListClientConnectionsResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve all connections that are enabled for the specified Application, using checkpoint pagination. A list of fields to include or exclude for each connection may also be specified. +
    +
  • + This endpoint requires the read:connections scope and any one of read:clients or read:client_summary. +
  • +
  • + Note: The first time you call this endpoint, omit the from parameter. If there are more results, a next value is included in the response. You can use this for subsequent API calls. When next is no longer included in the response, no further results are remaining. +
  • +
+
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.clients.connections.get( + id: "id", + from: "from", + take: 1, + fields: "fields", + include_fields: true +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the client for which to retrieve enabled connections. + +
+
+ +
+
+ +**strategy:** `Auth0::Types::ConnectionStrategyEnum` — Provide strategies to only retrieve connections with such strategies + +
+
+ +
+
+ +**from:** `String` — Optional Id from which to start selection. + +
+
+ +
+
+ +**take:** `Integer` — Number of results per page. Defaults to 50. + +
+
+ +
+
+ +**fields:** `String` — A comma separated list of fields to include or exclude (depending on include_fields) from the result, empty to retrieve all fields + +
+
+ +
+
+ +**include_fields:** `Internal::Types::Boolean` — true if the fields specified are to be included in the result, false otherwise (defaults to true) + +
+
+ +
+
+ +**request_options:** `Auth0::Clients::Connections::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Connections DirectoryProvisioning +
client.connections.directory_provisioning.list() -> Auth0::Types::ListDirectoryProvisioningsResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve a list of directory provisioning configurations of a tenant. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.connections.directory_provisioning.list( + from: "from", + take: 1 +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**from:** `String` — Optional Id from which to start selection. + +
+
+ +
+
+ +**take:** `Integer` — Number of results per page. Defaults to 50. + +
+
+ +
+
+ +**request_options:** `Auth0::Connections::DirectoryProvisioning::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.connections.directory_provisioning.get(id) -> Auth0::Types::GetDirectoryProvisioningResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve the directory provisioning configuration of a connection. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.connections.directory_provisioning.get(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The id of the connection to retrieve its directory provisioning configuration + +
+
+ +
+
+ +**request_options:** `Auth0::Connections::DirectoryProvisioning::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.connections.directory_provisioning.create(id, request) -> Auth0::Types::CreateDirectoryProvisioningResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Create a directory provisioning configuration for a connection. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.connections.directory_provisioning.create( + id: "id", + request: {} +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The id of the connection to create its directory provisioning configuration + +
+
+ +
+
+ +**request:** `Auth0::Types::CreateDirectoryProvisioningRequestContent` + +
+
+ +
+
+ +**request_options:** `Auth0::Connections::DirectoryProvisioning::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.connections.directory_provisioning.delete(id) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Delete the directory provisioning configuration of a connection. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.connections.directory_provisioning.delete(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The id of the connection to delete its directory provisioning configuration + +
+
+ +
+
+ +**request_options:** `Auth0::Connections::DirectoryProvisioning::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.connections.directory_provisioning.update(id, request) -> Auth0::Types::UpdateDirectoryProvisioningResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Update the directory provisioning configuration of a connection. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.connections.directory_provisioning.update( + id: "id", + request: {} +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The id of the connection to create its directory provisioning configuration + +
+
+ +
+
+ +**request:** `Auth0::Types::UpdateDirectoryProvisioningRequestContent` + +
+
+ +
+
+ +**request_options:** `Auth0::Connections::DirectoryProvisioning::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.connections.directory_provisioning.get_default_mapping(id) -> Auth0::Types::GetDirectoryProvisioningDefaultMappingResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve the directory provisioning default attribute mapping of a connection. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.connections.directory_provisioning.get_default_mapping(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The id of the connection to retrieve its directory provisioning configuration + +
+
+ +
+
+ +**request_options:** `Auth0::Connections::DirectoryProvisioning::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.connections.directory_provisioning.list_synchronized_groups(id) -> Auth0::Types::ListSynchronizedGroupsResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve the configured synchronized groups for a connection directory provisioning configuration. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.connections.directory_provisioning.list_synchronized_groups( + id: "id", + from: "from", + take: 1 +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The id of the connection to list synchronized groups for. + +
+
+ +
+
+ +**from:** `String` — Optional Id from which to start selection. + +
+
+ +
+
+ +**take:** `Integer` — Number of results per page. Defaults to 50. + +
+
+ +
+
+ +**request_options:** `Auth0::Connections::DirectoryProvisioning::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.connections.directory_provisioning.set(id, request) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Create or replace the selected groups for a connection directory provisioning configuration. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.connections.directory_provisioning.set( + id: "id", + groups: [{ + id: "id" + }] +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The id of the connection to create or replace synchronized groups for + +
+
+ +
+
+ +**groups:** `Internal::Types::Array[Auth0::Types::SynchronizedGroupPayload]` — Array of Google Workspace Directory group objects to synchronize. + +
+
+ +
+
+ +**request_options:** `Auth0::Connections::DirectoryProvisioning::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Connections SCIMConfiguration +
client.connections.scim_configuration.list() -> Auth0::Types::ListSCIMConfigurationsResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve a list of SCIM configurations of a tenant. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.connections.scim_configuration.list( + from: "from", + take: 1 +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**from:** `String` — Optional Id from which to start selection. + +
+
+ +
+
+ +**take:** `Integer` — Number of results per page. Defaults to 50. + +
+
+ +
+
+ +**request_options:** `Auth0::Connections::SCIMConfiguration::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.connections.scim_configuration.get(id) -> Auth0::Types::GetSCIMConfigurationResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieves a scim configuration by its connectionId. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.connections.scim_configuration.get(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The id of the connection to retrieve its SCIM configuration + +
+
+ +
+
+ +**request_options:** `Auth0::Connections::SCIMConfiguration::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.connections.scim_configuration.create(id, request) -> Auth0::Types::CreateSCIMConfigurationResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Create a scim configuration for a connection. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.connections.scim_configuration.create( + id: "id", + request: {} +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The id of the connection to create its SCIM configuration + +
+
+ +
+
+ +**request:** `Auth0::Types::CreateSCIMConfigurationRequestContent` + +
+
+ +
+
+ +**request_options:** `Auth0::Connections::SCIMConfiguration::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.connections.scim_configuration.delete(id) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Deletes a scim configuration by its connectionId. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.connections.scim_configuration.delete(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The id of the connection to delete its SCIM configuration + +
+
+ +
+
+ +**request_options:** `Auth0::Connections::SCIMConfiguration::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.connections.scim_configuration.update(id, request) -> Auth0::Types::UpdateSCIMConfigurationResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Update a scim configuration by its connectionId. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.connections.scim_configuration.update( + id: "id", + user_id_attribute: "user_id_attribute", + mapping: [{}] +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The id of the connection to update its SCIM configuration + +
+
+ +
+
+ +**user_id_attribute:** `String` — User ID attribute for generating unique user ids + +
+
+ +
+
+ +**mapping:** `Internal::Types::Array[Auth0::Types::SCIMMappingItem]` — The mapping between auth0 and SCIM + +
+
+ +
+
+ +**request_options:** `Auth0::Connections::SCIMConfiguration::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.connections.scim_configuration.get_default_mapping(id) -> Auth0::Types::GetSCIMConfigurationDefaultMappingResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieves a scim configuration's default mapping by its connectionId. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.connections.scim_configuration.get_default_mapping(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The id of the connection to retrieve its default SCIM mapping + +
+
+ +
+
+ +**request_options:** `Auth0::Connections::SCIMConfiguration::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Connections Clients +
client.connections.clients.get(id) -> Auth0::Types::GetConnectionEnabledClientsResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve all clients that have the specified connection enabled. + +Note: The first time you call this endpoint, omit the from parameter. If there are more results, a next value is included in the response. You can use this for subsequent API calls. When next is no longer included in the response, no further results are remaining. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.connections.clients.get( + id: "id", + take: 1, + from: "from" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The id of the connection for which enabled clients are to be retrieved + +
+
+ +
+
+ +**take:** `Integer` — Number of results per page. Defaults to 50. + +
+
+ +
+
+ +**from:** `String` — Optional Id from which to start selection. + +
+
+ +
+
+ +**request_options:** `Auth0::Connections::Clients::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.connections.clients.update(id, request) -> +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.connections.clients.update( + id: "id", + request: [{ + client_id: "client_id", + status: true + }] +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The id of the connection to modify + +
+
+ +
+
+ +**request:** `Internal::Types::Array[Auth0::Types::UpdateEnabledClientConnectionsRequestContentItem]` + +
+
+ +
+
+ +**request_options:** `Auth0::Connections::Clients::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Connections Keys +
client.connections.keys.get(id) -> Internal::Types::Array[Auth0::Types::ConnectionKey] +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Gets the connection keys for the Okta or OIDC connection strategy. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.connections.keys.get(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the connection + +
+
+ +
+
+ +**request_options:** `Auth0::Connections::Keys::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.connections.keys.create(id, request) -> Internal::Types::Array[Auth0::Types::PostConnectionsKeysResponseContentItem] +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Provision initial connection keys for Okta or OIDC connection strategies. This endpoint allows you to create keys before configuring the connection to use Private Key JWT authentication, enabling zero-downtime transitions. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.connections.keys.create( + id: "id", + request: {} +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the connection + +
+
+ +
+
+ +**request:** `Auth0::Types::PostConnectionKeysRequestContent` + +
+
+ +
+
+ +**request_options:** `Auth0::Connections::Keys::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.connections.keys.rotate(id, request) -> Auth0::Types::RotateConnectionsKeysResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Rotates the connection keys for the Okta or OIDC connection strategies. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.connections.keys.rotate( + id: "id", + request: {} +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the connection + +
+
+ +
+
+ +**request:** `Auth0::Types::RotateConnectionKeysRequestContent` + +
+
+ +
+
+ +**request_options:** `Auth0::Connections::Keys::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Connections Users +
client.connections.users.delete_by_email(id) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Deletes a specified connection user by its email (you cannot delete all users from specific connection). Currently, only Database Connections are supported. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.connections.users.delete_by_email( + id: "id", + email: "email" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The id of the connection (currently only database connections are supported) + +
+
+ +
+
+ +**email:** `String` — The email of the user to delete + +
+
+ +
+
+ +**request_options:** `Auth0::Connections::Users::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Connections DirectoryProvisioning Synchronizations +
client.connections.directory_provisioning.synchronizations.create(id) -> Auth0::Types::CreateDirectorySynchronizationResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Request an on-demand synchronization of the directory. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.connections.directory_provisioning.synchronizations.create(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The id of the connection to trigger synchronization for + +
+
+ +
+
+ +**request_options:** `Auth0::Connections::DirectoryProvisioning::Synchronizations::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Connections SCIMConfiguration Tokens +
client.connections.scim_configuration.tokens.get(id) -> Internal::Types::Array[Auth0::Types::SCIMTokenItem] +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieves all scim tokens by its connection id. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.connections.scim_configuration.tokens.get(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The id of the connection to retrieve its SCIM configuration + +
+
+ +
+
+ +**request_options:** `Auth0::Connections::SCIMConfiguration::Tokens::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.connections.scim_configuration.tokens.create(id, request) -> Auth0::Types::CreateSCIMTokenResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Create a scim token for a scim client. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.connections.scim_configuration.tokens.create(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The id of the connection to create its SCIM token + +
+
+ +
+
+ +**scopes:** `Internal::Types::Array[String]` — The scopes of the scim token + +
+
+ +
+
+ +**token_lifetime:** `Integer` — Lifetime of the token in seconds. Must be greater than 900 + +
+
+ +
+
+ +**request_options:** `Auth0::Connections::SCIMConfiguration::Tokens::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.connections.scim_configuration.tokens.delete(id, token_id) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Deletes a scim token by its connection id and tokenId. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.connections.scim_configuration.tokens.delete( + id: "id", + token_id: "tokenId" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The connection id that owns the SCIM token to delete + +
+
+ +
+
+ +**token_id:** `String` — The id of the scim token to delete + +
+
+ +
+
+ +**request_options:** `Auth0::Connections::SCIMConfiguration::Tokens::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Emails Provider +
client.emails.provider.get() -> Auth0::Types::GetEmailProviderResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve details of the email provider configuration in your tenant. A list of fields to include or exclude may also be specified. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.emails.provider.get( + fields: "fields", + include_fields: true +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**fields:** `String` — Comma-separated list of fields to include or exclude (dependent upon include_fields) from the result. Leave empty to retrieve `name` and `enabled`. Additional fields available include `credentials`, `default_from_address`, and `settings`. + +
+
+ +
+
+ +**include_fields:** `Internal::Types::Boolean` — Whether specified fields are to be included (true) or excluded (false). + +
+
+ +
+
+ +**request_options:** `Auth0::Emails::Provider::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.emails.provider.create(request) -> Auth0::Types::CreateEmailProviderResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Create an email provider. The credentials object +requires different properties depending on the email provider (which is specified using the name property): +
    +
  • mandrill requires api_key
  • +
  • sendgrid requires api_key
  • +
  • + sparkpost requires api_key. Optionally, set region to eu to use + the SparkPost service hosted in Western Europe; set to null to use the SparkPost service hosted in + North America. eu or null are the only valid values for region. +
  • +
  • + mailgun requires api_key and domain. Optionally, set region to + eu to use the Mailgun service hosted in Europe; set to null otherwise. eu or + null are the only valid values for region. +
  • +
  • ses requires accessKeyId, secretAccessKey, and region
  • +
  • + smtp requires smtp_host, smtp_port, smtp_user, and + smtp_pass +
  • +
+Depending on the type of provider it is possible to specify settings object with different configuration +options, which will be used when sending an email: +
    +
  • + smtp provider, settings may contain headers object. +
      +
    • + When using AWS SES SMTP host, you may provide a name of configuration set in + X-SES-Configuration-Set header. Value must be a string. +
    • +
    • + When using Sparkpost host, you may provide value for + X-MSYS_API header. Value must be an object. +
    • +
    +
  • +
  • + for ses provider, settings may contain message object, where you can provide + a name of configuration set in configuration_set_name property. Value must be a string. +
  • +
+
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.emails.provider.create( + name: "mailgun", + credentials: { + api_key: "api_key" + } +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**name:** `Auth0::Types::EmailProviderNameEnum` + +
+
+ +
+
+ +**enabled:** `Internal::Types::Boolean` — Whether the provider is enabled (true) or disabled (false). + +
+
+ +
+
+ +**default_from_address:** `String` — Email address to use as "from" when no other address specified. + +
+
+ +
+
+ +**credentials:** `Auth0::Types::EmailProviderCredentialsSchema` + +
+
+ +
+
+ +**settings:** `Internal::Types::Hash[String, Object]` + +
+
+ +
+
+ +**request_options:** `Auth0::Emails::Provider::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.emails.provider.delete() -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Delete the email provider. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.emails.provider.delete +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request_options:** `Auth0::Emails::Provider::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.emails.provider.update(request) -> Auth0::Types::UpdateEmailProviderResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Update an email provider. The credentials object +requires different properties depending on the email provider (which is specified using the name property): +
    +
  • mandrill requires api_key
  • +
  • sendgrid requires api_key
  • +
  • + sparkpost requires api_key. Optionally, set region to eu to use + the SparkPost service hosted in Western Europe; set to null to use the SparkPost service hosted in + North America. eu or null are the only valid values for region. +
  • +
  • + mailgun requires api_key and domain. Optionally, set region to + eu to use the Mailgun service hosted in Europe; set to null otherwise. eu or + null are the only valid values for region. +
  • +
  • ses requires accessKeyId, secretAccessKey, and region
  • +
  • + smtp requires smtp_host, smtp_port, smtp_user, and + smtp_pass +
  • +
+Depending on the type of provider it is possible to specify settings object with different configuration +options, which will be used when sending an email: +
    +
  • + smtp provider, settings may contain headers object. +
      +
    • + When using AWS SES SMTP host, you may provide a name of configuration set in + X-SES-Configuration-Set header. Value must be a string. +
    • +
    • + When using Sparkpost host, you may provide value for + X-MSYS_API header. Value must be an object. +
    • +
    + for ses provider, settings may contain message object, where you can provide + a name of configuration set in configuration_set_name property. Value must be a string. +
  • +
+
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.emails.provider.update +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**name:** `Auth0::Types::EmailProviderNameEnum` + +
+
+ +
+
+ +**enabled:** `Internal::Types::Boolean` — Whether the provider is enabled (true) or disabled (false). + +
+
+ +
+
+ +**default_from_address:** `String` — Email address to use as "from" when no other address specified. + +
+
+ +
+
+ +**credentials:** `Auth0::Types::EmailProviderCredentialsSchema` + +
+
+ +
+
+ +**settings:** `Internal::Types::Hash[String, Object]` + +
+
+ +
+
+ +**request_options:** `Auth0::Emails::Provider::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## EventStreams Deliveries +
client.event_streams.deliveries.list(id) -> Internal::Types::Array[Auth0::Types::EventStreamDelivery] +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.event_streams.deliveries.list( + id: "id", + statuses: "statuses", + event_types: "event_types", + date_from: "date_from", + date_to: "date_to", + from: "from", + take: 1 +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — Unique identifier for the event stream. + +
+
+ +
+
+ +**statuses:** `String` — Comma-separated list of statuses by which to filter + +
+
+ +
+
+ +**event_types:** `String` — Comma-separated list of event types by which to filter + +
+
+ +
+
+ +**date_from:** `String` — An RFC-3339 date-time for redelivery start, inclusive. Does not allow sub-second precision. + +
+
+ +
+
+ +**date_to:** `String` — An RFC-3339 date-time for redelivery end, exclusive. Does not allow sub-second precision. + +
+
+ +
+
+ +**from:** `String` — Optional Id from which to start selection. + +
+
+ +
+
+ +**take:** `Integer` — Number of results per page. Defaults to 50. + +
+
+ +
+
+ +**request_options:** `Auth0::EventStreams::Deliveries::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.event_streams.deliveries.get_history(id, event_id) -> Auth0::Types::GetEventStreamDeliveryHistoryResponseContent +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.event_streams.deliveries.get_history( + id: "id", + event_id: "event_id" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — Unique identifier for the event stream. + +
+
+ +
+
+ +**event_id:** `String` — Unique identifier for the event + +
+
+ +
+
+ +**request_options:** `Auth0::EventStreams::Deliveries::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## EventStreams Redeliveries +
client.event_streams.redeliveries.create(id, request) -> Auth0::Types::CreateEventStreamRedeliveryResponseContent +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.event_streams.redeliveries.create(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — Unique identifier for the event stream. + +
+
+ +
+
+ +**date_from:** `String` — An RFC-3339 date-time for redelivery start, inclusive. Does not allow sub-second precision. + +
+
+ +
+
+ +**date_to:** `String` — An RFC-3339 date-time for redelivery end, exclusive. Does not allow sub-second precision. + +
+
+ +
+
+ +**statuses:** `Internal::Types::Array[Auth0::Types::EventStreamDeliveryStatusEnum]` — Filter by status + +
+
+ +
+
+ +**event_types:** `Internal::Types::Array[Auth0::Types::EventStreamEventTypeEnum]` — Filter by event type + +
+
+ +
+
+ +**request_options:** `Auth0::EventStreams::Redeliveries::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.event_streams.redeliveries.create_by_id(id, event_id) -> +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.event_streams.redeliveries.create_by_id( + id: "id", + event_id: "event_id" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — Unique identifier for the event stream. + +
+
+ +
+
+ +**event_id:** `String` — Unique identifier for the event + +
+
+ +
+
+ +**request_options:** `Auth0::EventStreams::Redeliveries::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Flows Executions +
client.flows.executions.list(flow_id) -> Auth0::Types::ListFlowExecutionsPaginatedResponseContent +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.flows.executions.list( + flow_id: "flow_id", + from: "from", + take: 1 +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**flow_id:** `String` — Flow id + +
+
+ +
+
+ +**from:** `String` — Optional Id from which to start selection. + +
+
+ +
+
+ +**take:** `Integer` — Number of results per page. Defaults to 50. + +
+
+ +
+
+ +**request_options:** `Auth0::Flows::Executions::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.flows.executions.get(flow_id, execution_id) -> Auth0::Types::GetFlowExecutionResponseContent +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.flows.executions.get( + flow_id: "flow_id", + execution_id: "execution_id" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**flow_id:** `String` — Flow id + +
+
+ +
+
+ +**execution_id:** `String` — Flow execution id + +
+
+ +
+
+ +**hydrate:** `Auth0::Types::GetFlowExecutionRequestParametersHydrateEnum` — Hydration param + +
+
+ +
+
+ +**request_options:** `Auth0::Flows::Executions::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.flows.executions.delete(flow_id, execution_id) -> +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.flows.executions.delete( + flow_id: "flow_id", + execution_id: "execution_id" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**flow_id:** `String` — Flows id + +
+
+ +
+
+ +**execution_id:** `String` — Flow execution identifier + +
+
+ +
+
+ +**request_options:** `Auth0::Flows::Executions::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Flows Vault Connections +
client.flows.vault.connections.list() -> Auth0::Types::ListFlowsVaultConnectionsOffsetPaginatedResponseContent +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.flows.vault.connections.list( + page: 1, + per_page: 1, + include_totals: true +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**page:** `Integer` — Page index of the results to return. First page is 0. + +
+
+ +
+
+ +**per_page:** `Integer` — Number of results per page. Defaults to 50. + +
+
+ +
+
+ +**include_totals:** `Internal::Types::Boolean` — Return results inside an object that contains the total result count (true) or as a direct array of results (false, default). + +
+
+ +
+
+ +**request_options:** `Auth0::Flows::Vault::Connections::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.flows.vault.connections.create(request) -> Auth0::Types::CreateFlowsVaultConnectionResponseContent +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.flows.vault.connections.create(request: { + name: "name", + app_id: "ACTIVECAMPAIGN", + setup: { + type: "API_KEY", + api_key: "api_key", + base_url: "base_url" + } +}) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request:** `Auth0::Types::CreateFlowsVaultConnectionRequestContent` + +
+
+ +
+
+ +**request_options:** `Auth0::Flows::Vault::Connections::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.flows.vault.connections.get(id) -> Auth0::Types::GetFlowsVaultConnectionResponseContent +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.flows.vault.connections.get(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — Flows Vault connection ID + +
+
+ +
+
+ +**request_options:** `Auth0::Flows::Vault::Connections::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.flows.vault.connections.delete(id) -> +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.flows.vault.connections.delete(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — Vault connection id + +
+
+ +
+
+ +**request_options:** `Auth0::Flows::Vault::Connections::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.flows.vault.connections.update(id, request) -> Auth0::Types::UpdateFlowsVaultConnectionResponseContent +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.flows.vault.connections.update(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — Flows Vault connection ID + +
+
+ +
+
+ +**name:** `String` — Flows Vault Connection name. + +
+
+ +
+
+ +**setup:** `Auth0::Types::UpdateFlowsVaultConnectionSetup` + +
+
+ +
+
+ +**request_options:** `Auth0::Flows::Vault::Connections::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Groups Members +
client.groups.members.get(id) -> Auth0::Types::GetGroupMembersResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +List all users that are a member of this group. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.groups.members.get( + id: "id", + fields: "fields", + include_fields: true, + from: "from", + take: 1 +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — Unique identifier for the group (service-generated). + +
+
+ +
+
+ +**fields:** `String` — A comma separated list of fields to include or exclude (depending on include_fields) from the result, empty to retrieve all fields + +
+
+ +
+
+ +**include_fields:** `Internal::Types::Boolean` — Whether specified fields are to be included (true) or excluded (false). + +
+
+ +
+
+ +**from:** `String` — Optional Id from which to start selection. + +
+
+ +
+
+ +**take:** `Integer` — Number of results per page. Defaults to 50. + +
+
+ +
+
+ +**request_options:** `Auth0::Groups::Members::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Guardian Enrollments +
client.guardian.enrollments.create_ticket(request) -> Auth0::Types::CreateGuardianEnrollmentTicketResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Create a multi-factor authentication (MFA) enrollment ticket, and optionally send an email with the created ticket, to a given user. +Create a multi-factor authentication (MFA) enrollment ticket, and optionally send an email with the created ticket to a given user. Enrollment tickets can specify which factor users must enroll with or allow existing MFA users to enroll in additional factors.
+ +Note: Users cannot enroll in Email as a factor through custom enrollment tickets. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.guardian.enrollments.create_ticket(user_id: "user_id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**user_id:** `String` — user_id for the enrollment ticket + +
+
+ +
+
+ +**email:** `String` — alternate email to which the enrollment email will be sent. Optional - by default, the email will be sent to the user's default address + +
+
+ +
+
+ +**send_mail:** `Internal::Types::Boolean` — Send an email to the user to start the enrollment + +
+
+ +
+
+ +**email_locale:** `String` — Optional. Specify the locale of the enrollment email. Used with send_email. + +
+
+ +
+
+ +**factor:** `Auth0::Types::GuardianEnrollmentFactorEnum` + +
+
+ +
+
+ +**allow_multiple_enrollments:** `Internal::Types::Boolean` — Optional. Allows a user who has previously enrolled in MFA to enroll with additional factors.
Note: Parameter can only be used with Universal Login; it cannot be used with Classic Login or custom MFA pages. + +
+
+ +
+
+ +**request_options:** `Auth0::Guardian::Enrollments::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.guardian.enrollments.get(id) -> Auth0::Types::GetGuardianEnrollmentResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve details, such as status and type, for a specific multi-factor authentication enrollment registered to a user account. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.guardian.enrollments.get(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the enrollment to be retrieve. + +
+
+ +
+
+ +**request_options:** `Auth0::Guardian::Enrollments::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.guardian.enrollments.delete(id) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Remove a specific multi-factor authentication (MFA) enrollment from a user's account. This allows the user to re-enroll with MFA. For more information, review Reset User Multi-Factor Authentication and Recovery Codes. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.guardian.enrollments.delete(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the enrollment to be deleted. + +
+
+ +
+
+ +**request_options:** `Auth0::Guardian::Enrollments::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Guardian Factors +
client.guardian.factors.list() -> Internal::Types::Array[Auth0::Types::GuardianFactor] +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve details of all multi-factor authentication factors associated with your tenant. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.guardian.factors.list +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request_options:** `Auth0::Guardian::Factors::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.guardian.factors.set(name, request) -> Auth0::Types::SetGuardianFactorResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Update the status (i.e., enabled or disabled) of a specific multi-factor authentication factor. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.guardian.factors.set( + name: "push-notification", + enabled: true +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**name:** `Auth0::Types::GuardianFactorNameEnum` — Factor name. Can be `sms`, `push-notification`, `email`, `duo` `otp` `webauthn-roaming`, `webauthn-platform`, or `recovery-code`. + +
+
+ +
+
+ +**enabled:** `Internal::Types::Boolean` — Whether this factor is enabled (true) or disabled (false). + +
+
+ +
+
+ +**request_options:** `Auth0::Guardian::Factors::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Guardian Policies +
client.guardian.policies.list() -> Internal::Types::Array[Auth0::Types::MfaPolicyEnum] +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve the multi-factor authentication (MFA) policies configured for your tenant. + +The following policies are supported: +
    +
  • all-applications policy prompts with MFA for all logins.
  • +
  • confidence-score policy prompts with MFA only for low confidence logins.
  • +
+ +Note: The confidence-score policy is part of the Adaptive MFA feature. Adaptive MFA requires an add-on for the Enterprise plan; review Auth0 Pricing for more details. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.guardian.policies.list +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request_options:** `Auth0::Guardian::Policies::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.guardian.policies.set(request) -> Internal::Types::Array[Auth0::Types::MfaPolicyEnum] +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Set multi-factor authentication (MFA) policies for your tenant. + +The following policies are supported: +
    +
  • all-applications policy prompts with MFA for all logins.
  • +
  • confidence-score policy prompts with MFA only for low confidence logins.
  • +
+ +Note: The confidence-score policy is part of the Adaptive MFA feature. Adaptive MFA requires an add-on for the Enterprise plan; review Auth0 Pricing for more details. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.guardian.policies.set(request: ["all-applications"]) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request:** `Internal::Types::Array[Auth0::Types::MfaPolicyEnum]` + +
+
+ +
+
+ +**request_options:** `Auth0::Guardian::Policies::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Guardian Factors Phone +
client.guardian.factors.phone.get_message_types() -> Auth0::Types::GetGuardianFactorPhoneMessageTypesResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve list of phone-type MFA factors (i.e., sms and voice) that are enabled for your tenant. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.guardian.factors.phone.get_message_types +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request_options:** `Auth0::Guardian::Factors::Phone::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.guardian.factors.phone.set_message_types(request) -> Auth0::Types::SetGuardianFactorPhoneMessageTypesResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Replace the list of phone-type MFA factors (i.e., sms and voice) that are enabled for your tenant. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.guardian.factors.phone.set_message_types(message_types: ["sms"]) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**message_types:** `Internal::Types::Array[Auth0::Types::GuardianFactorPhoneFactorMessageTypeEnum]` — The list of phone factors to enable on the tenant. Can include `sms` and `voice`. + +
+
+ +
+
+ +**request_options:** `Auth0::Guardian::Factors::Phone::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.guardian.factors.phone.get_twilio_provider() -> Auth0::Types::GetGuardianFactorsProviderPhoneTwilioResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve configuration details for a Twilio phone provider that has been set up in your tenant. To learn more, review Configure SMS and Voice Notifications for MFA. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.guardian.factors.phone.get_twilio_provider +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request_options:** `Auth0::Guardian::Factors::Phone::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.guardian.factors.phone.set_twilio_provider(request) -> Auth0::Types::SetGuardianFactorsProviderPhoneTwilioResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Update the configuration of a Twilio phone provider that has been set up in your tenant. To learn more, review Configure SMS and Voice Notifications for MFA. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.guardian.factors.phone.set_twilio_provider +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**from:** `String` — From number + +
+
+ +
+
+ +**messaging_service_sid:** `String` — Copilot SID + +
+
+ +
+
+ +**auth_token:** `String` — Twilio Authentication token + +
+
+ +
+
+ +**sid:** `String` — Twilio SID + +
+
+ +
+
+ +**request_options:** `Auth0::Guardian::Factors::Phone::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.guardian.factors.phone.get_selected_provider() -> Auth0::Types::GetGuardianFactorsProviderPhoneResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve details of the multi-factor authentication phone provider configured for your tenant. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.guardian.factors.phone.get_selected_provider +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request_options:** `Auth0::Guardian::Factors::Phone::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.guardian.factors.phone.set_provider(request) -> Auth0::Types::SetGuardianFactorsProviderPhoneResponseContent +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.guardian.factors.phone.set_provider(provider: "auth0") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**provider:** `Auth0::Types::GuardianFactorsProviderSmsProviderEnum` + +
+
+ +
+
+ +**request_options:** `Auth0::Guardian::Factors::Phone::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.guardian.factors.phone.get_templates() -> Auth0::Types::GetGuardianFactorPhoneTemplatesResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve details of the multi-factor authentication enrollment and verification templates for phone-type factors available in your tenant. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.guardian.factors.phone.get_templates +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request_options:** `Auth0::Guardian::Factors::Phone::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.guardian.factors.phone.set_templates(request) -> Auth0::Types::SetGuardianFactorPhoneTemplatesResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Customize the messages sent to complete phone enrollment and verification (subscription required). +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.guardian.factors.phone.set_templates( + enrollment_message: "enrollment_message", + verification_message: "verification_message" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**enrollment_message:** `String` — Message sent to the user when they are invited to enroll with a phone number. + +
+
+ +
+
+ +**verification_message:** `String` — Message sent to the user when they are prompted to verify their account. + +
+
+ +
+
+ +**request_options:** `Auth0::Guardian::Factors::Phone::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Guardian Factors PushNotification +
client.guardian.factors.push_notification.get_apns_provider() -> Auth0::Types::GetGuardianFactorsProviderApnsResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve configuration details for the multi-factor authentication APNS provider associated with your tenant. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.guardian.factors.push_notification.get_apns_provider +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request_options:** `Auth0::Guardian::Factors::PushNotification::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.guardian.factors.push_notification.set_apns_provider(request) -> Auth0::Types::SetGuardianFactorsProviderPushNotificationApnsResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Overwrite all configuration details of the multi-factor authentication APNS provider associated with your tenant. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.guardian.factors.push_notification.set_apns_provider +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**sandbox:** `Internal::Types::Boolean` + +
+
+ +
+
+ +**bundle_id:** `String` + +
+
+ +
+
+ +**p12:** `String` + +
+
+ +
+
+ +**request_options:** `Auth0::Guardian::Factors::PushNotification::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.guardian.factors.push_notification.update_apns_provider(request) -> Auth0::Types::UpdateGuardianFactorsProviderPushNotificationApnsResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Modify configuration details of the multi-factor authentication APNS provider associated with your tenant. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.guardian.factors.push_notification.update_apns_provider +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**sandbox:** `Internal::Types::Boolean` + +
+
+ +
+
+ +**bundle_id:** `String` + +
+
+ +
+
+ +**p12:** `String` + +
+
+ +
+
+ +**request_options:** `Auth0::Guardian::Factors::PushNotification::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.guardian.factors.push_notification.set_fcm_provider(request) -> Internal::Types::Hash[String, Object] +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Overwrite all configuration details of the multi-factor authentication FCM provider associated with your tenant. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.guardian.factors.push_notification.set_fcm_provider +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**server_key:** `String` + +
+
+ +
+
+ +**request_options:** `Auth0::Guardian::Factors::PushNotification::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.guardian.factors.push_notification.update_fcm_provider(request) -> Internal::Types::Hash[String, Object] +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Modify configuration details of the multi-factor authentication FCM provider associated with your tenant. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.guardian.factors.push_notification.update_fcm_provider +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**server_key:** `String` + +
+
+ +
+
+ +**request_options:** `Auth0::Guardian::Factors::PushNotification::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.guardian.factors.push_notification.set_fcmv1provider(request) -> Internal::Types::Hash[String, Object] +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Overwrite all configuration details of the multi-factor authentication FCMV1 provider associated with your tenant. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.guardian.factors.push_notification.set_fcmv1provider +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**server_credentials:** `String` + +
+
+ +
+
+ +**request_options:** `Auth0::Guardian::Factors::PushNotification::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.guardian.factors.push_notification.update_fcmv1provider(request) -> Internal::Types::Hash[String, Object] +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Modify configuration details of the multi-factor authentication FCMV1 provider associated with your tenant. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.guardian.factors.push_notification.update_fcmv1provider +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**server_credentials:** `String` + +
+
+ +
+
+ +**request_options:** `Auth0::Guardian::Factors::PushNotification::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.guardian.factors.push_notification.get_sns_provider() -> Auth0::Types::GetGuardianFactorsProviderSnsResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve configuration details for an AWS SNS push notification provider that has been enabled for MFA. To learn more, review Configure Push Notifications for MFA. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.guardian.factors.push_notification.get_sns_provider +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request_options:** `Auth0::Guardian::Factors::PushNotification::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.guardian.factors.push_notification.set_sns_provider(request) -> Auth0::Types::SetGuardianFactorsProviderPushNotificationSnsResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Configure the AWS SNS push notification provider configuration (subscription required). +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.guardian.factors.push_notification.set_sns_provider +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**aws_access_key_id:** `String` + +
+
+ +
+
+ +**aws_secret_access_key:** `String` + +
+
+ +
+
+ +**aws_region:** `String` + +
+
+ +
+
+ +**sns_apns_platform_application_arn:** `String` + +
+
+ +
+
+ +**sns_gcm_platform_application_arn:** `String` + +
+
+ +
+
+ +**request_options:** `Auth0::Guardian::Factors::PushNotification::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.guardian.factors.push_notification.update_sns_provider(request) -> Auth0::Types::UpdateGuardianFactorsProviderPushNotificationSnsResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Configure the AWS SNS push notification provider configuration (subscription required). +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.guardian.factors.push_notification.update_sns_provider +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**aws_access_key_id:** `String` + +
+
+ +
+
+ +**aws_secret_access_key:** `String` + +
+
+ +
+
+ +**aws_region:** `String` + +
+
+ +
+
+ +**sns_apns_platform_application_arn:** `String` + +
+
+ +
+
+ +**sns_gcm_platform_application_arn:** `String` + +
+
+ +
+
+ +**request_options:** `Auth0::Guardian::Factors::PushNotification::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.guardian.factors.push_notification.get_selected_provider() -> Auth0::Types::GetGuardianFactorsProviderPushNotificationResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Modify the push notification provider configured for your tenant. For more information, review Configure Push Notifications for MFA. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.guardian.factors.push_notification.get_selected_provider +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request_options:** `Auth0::Guardian::Factors::PushNotification::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.guardian.factors.push_notification.set_provider(request) -> Auth0::Types::SetGuardianFactorsProviderPushNotificationResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Modify the push notification provider configured for your tenant. For more information, review Configure Push Notifications for MFA. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.guardian.factors.push_notification.set_provider(provider: "guardian") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**provider:** `Auth0::Types::GuardianFactorsProviderPushNotificationProviderDataEnum` + +
+
+ +
+
+ +**request_options:** `Auth0::Guardian::Factors::PushNotification::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Guardian Factors Sms +
client.guardian.factors.sms.get_twilio_provider() -> Auth0::Types::GetGuardianFactorsProviderSmsTwilioResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve the Twilio SMS provider configuration (subscription required). + + A new endpoint is available to retrieve the Twilio configuration related to phone factors (phone Twilio configuration). It has the same payload as this one. Please use it instead. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.guardian.factors.sms.get_twilio_provider +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request_options:** `Auth0::Guardian::Factors::Sms::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.guardian.factors.sms.set_twilio_provider(request) -> Auth0::Types::SetGuardianFactorsProviderSmsTwilioResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +This endpoint has been deprecated. To complete this action, use the Update Twilio phone configuration endpoint. + + Previous functionality: Update the Twilio SMS provider configuration. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.guardian.factors.sms.set_twilio_provider +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**from:** `String` — From number + +
+
+ +
+
+ +**messaging_service_sid:** `String` — Copilot SID + +
+
+ +
+
+ +**auth_token:** `String` — Twilio Authentication token + +
+
+ +
+
+ +**sid:** `String` — Twilio SID + +
+
+ +
+
+ +**request_options:** `Auth0::Guardian::Factors::Sms::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.guardian.factors.sms.get_selected_provider() -> Auth0::Types::GetGuardianFactorsProviderSmsResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +This endpoint has been deprecated. To complete this action, use the Retrieve phone configuration endpoint instead. + + Previous functionality: Retrieve details for the multi-factor authentication SMS provider configured for your tenant. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.guardian.factors.sms.get_selected_provider +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request_options:** `Auth0::Guardian::Factors::Sms::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.guardian.factors.sms.set_provider(request) -> Auth0::Types::SetGuardianFactorsProviderSmsResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +This endpoint has been deprecated. To complete this action, use the Update phone configuration endpoint instead. + + Previous functionality: Update the multi-factor authentication SMS provider configuration in your tenant. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.guardian.factors.sms.set_provider(provider: "auth0") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**provider:** `Auth0::Types::GuardianFactorsProviderSmsProviderEnum` + +
+
+ +
+
+ +**request_options:** `Auth0::Guardian::Factors::Sms::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.guardian.factors.sms.get_templates() -> Auth0::Types::GetGuardianFactorSmsTemplatesResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +This endpoint has been deprecated. To complete this action, use the Retrieve enrollment and verification phone templates endpoint instead. + + Previous function: Retrieve details of SMS enrollment and verification templates configured for your tenant. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.guardian.factors.sms.get_templates +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request_options:** `Auth0::Guardian::Factors::Sms::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.guardian.factors.sms.set_templates(request) -> Auth0::Types::SetGuardianFactorSmsTemplatesResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +This endpoint has been deprecated. To complete this action, use the Update enrollment and verification phone templates endpoint instead. + + Previous functionality: Customize the messages sent to complete SMS enrollment and verification. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.guardian.factors.sms.set_templates( + enrollment_message: "enrollment_message", + verification_message: "verification_message" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**enrollment_message:** `String` — Message sent to the user when they are invited to enroll with a phone number. + +
+
+ +
+
+ +**verification_message:** `String` — Message sent to the user when they are prompted to verify their account. + +
+
+ +
+
+ +**request_options:** `Auth0::Guardian::Factors::Sms::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Guardian Factors Duo Settings +
client.guardian.factors.duo.settings.get() -> Auth0::Types::GetGuardianFactorDuoSettingsResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieves the DUO account and factor configuration. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.guardian.factors.duo.settings.get +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request_options:** `Auth0::Guardian::Factors::Duo::Settings::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.guardian.factors.duo.settings.set(request) -> Auth0::Types::SetGuardianFactorDuoSettingsResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Set the DUO account configuration and other properties specific to this factor. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.guardian.factors.duo.settings.set +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**ikey:** `String` + +
+
+ +
+
+ +**skey:** `String` + +
+
+ +
+
+ +**host:** `String` + +
+
+ +
+
+ +**request_options:** `Auth0::Guardian::Factors::Duo::Settings::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.guardian.factors.duo.settings.update(request) -> Auth0::Types::UpdateGuardianFactorDuoSettingsResponseContent +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.guardian.factors.duo.settings.update +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**ikey:** `String` + +
+
+ +
+
+ +**skey:** `String` + +
+
+ +
+
+ +**host:** `String` + +
+
+ +
+
+ +**request_options:** `Auth0::Guardian::Factors::Duo::Settings::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Hooks Secrets +
client.hooks.secrets.get(id) -> Internal::Types::Hash[String, String] +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve a hook's secrets by the ID of the hook. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.hooks.secrets.get(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the hook to retrieve secrets from. + +
+
+ +
+
+ +**request_options:** `Auth0::Hooks::Secrets::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.hooks.secrets.create(id, request) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Add one or more secrets to an existing hook. Accepts an object of key-value pairs, where the key is the name of the secret. A hook can have a maximum of 20 secrets. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.hooks.secrets.create( + id: "id", + request: { + key: "value" + } +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The id of the hook to retrieve + +
+
+ +
+
+ +**request:** `Internal::Types::Hash[String, String]` + +
+
+ +
+
+ +**request_options:** `Auth0::Hooks::Secrets::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.hooks.secrets.delete(id, request) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Delete one or more existing secrets for a given hook. Accepts an array of secret names to delete. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.hooks.secrets.delete( + id: "id", + request: ["string"] +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the hook whose secrets to delete. + +
+
+ +
+
+ +**request:** `Internal::Types::Array[String]` + +
+
+ +
+
+ +**request_options:** `Auth0::Hooks::Secrets::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.hooks.secrets.update(id, request) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Update one or more existing secrets for an existing hook. Accepts an object of key-value pairs, where the key is the name of the existing secret. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.hooks.secrets.update( + id: "id", + request: { + key: "value" + } +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the hook whose secrets to update. + +
+
+ +
+
+ +**request:** `Internal::Types::Hash[String, String]` + +
+
+ +
+
+ +**request_options:** `Auth0::Hooks::Secrets::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Jobs UsersExports +
client.jobs.users_exports.create(request) -> Auth0::Types::CreateExportUsersResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Export all users to a file via a long-running job. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.jobs.users_exports.create +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**connection_id:** `String` — connection_id of the connection from which users will be exported. + +
+
+ +
+
+ +**format:** `Auth0::Types::JobFileFormatEnum` + +
+
+ +
+
+ +**limit:** `Integer` — Limit the number of records. + +
+
+ +
+
+ +**fields:** `Internal::Types::Array[Auth0::Types::CreateExportUsersFields]` — List of fields to be included in the CSV. Defaults to a predefined set of fields. + +
+
+ +
+
+ +**request_options:** `Auth0::Jobs::UsersExports::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Jobs UsersImports +
client.jobs.users_imports.create(request) -> Auth0::Types::CreateImportUsersResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Import users from a formatted file into a connection via a long-running job. When importing users, with or without upsert, the `email_verified` is set to `false` when the email address is added or updated. Users must verify their email address. To avoid this behavior, set `email_verified` to `true` in the imported data. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.jobs.users_imports.create +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request_options:** `Auth0::Jobs::UsersImports::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Jobs VerificationEmail +
client.jobs.verification_email.create(request) -> Auth0::Types::CreateVerificationEmailResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Send an email to the specified user that asks them to click a link to verify their email address. + +Note: You must have the `Status` toggle enabled for the verification email template for the email to be sent. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.jobs.verification_email.create(user_id: "user_id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**user_id:** `String` — user_id of the user to send the verification email to. + +
+
+ +
+
+ +**client_id:** `String` — client_id of the client (application). If no value provided, the global Client ID will be used. + +
+
+ +
+
+ +**identity:** `Auth0::Types::Identity` + +
+
+ +
+
+ +**organization_id:** `String` — (Optional) Organization ID – the ID of the Organization. If provided, organization parameters will be made available to the email template and organization branding will be applied to the prompt. In addition, the redirect link in the prompt will include organization_id and organization_name query string parameters. + +
+
+ +
+
+ +**request_options:** `Auth0::Jobs::VerificationEmail::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Jobs Errors +
client.jobs.errors.get(id) -> Auth0::Jobs::Errors::Types::ErrorsGetResponse +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve error details of a failed job. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.jobs.errors.get(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the job. + +
+
+ +
+
+ +**request_options:** `Auth0::Jobs::Errors::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Keys CustomSigning +
client.keys.custom_signing.get() -> Auth0::Types::GetCustomSigningKeysResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Get entire jwks representation of custom signing keys. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.keys.custom_signing.get +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request_options:** `Auth0::Keys::CustomSigning::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.keys.custom_signing.set(request) -> Auth0::Types::SetCustomSigningKeysResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Create or replace entire jwks representation of custom signing keys. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.keys.custom_signing.set(keys: [{ + kty: "EC" +}]) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**keys:** `Internal::Types::Array[Auth0::Types::CustomSigningKeyJwk]` — An array of custom public signing keys. + +
+
+ +
+
+ +**request_options:** `Auth0::Keys::CustomSigning::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.keys.custom_signing.delete() -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Delete entire jwks representation of custom signing keys. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.keys.custom_signing.delete +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request_options:** `Auth0::Keys::CustomSigning::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Keys Encryption +
client.keys.encryption.list() -> Auth0::Types::ListEncryptionKeyOffsetPaginatedResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve details of all the encryption keys associated with your tenant. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.keys.encryption.list( + page: 1, + per_page: 1, + include_totals: true +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**page:** `Integer` — Page index of the results to return. First page is 0. + +
+
+ +
+
+ +**per_page:** `Integer` — Number of results per page. Default value is 50, maximum value is 100. + +
+
+ +
+
+ +**include_totals:** `Internal::Types::Boolean` — Return results inside an object that contains the total result count (true) or as a direct array of results (false, default). + +
+
+ +
+
+ +**request_options:** `Auth0::Keys::Encryption::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.keys.encryption.create(request) -> Auth0::Types::CreateEncryptionKeyResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Create the new, pre-activated encryption key, without the key material. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.keys.encryption.create(type: "customer-provided-root-key") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**type:** `Auth0::Types::CreateEncryptionKeyType` + +
+
+ +
+
+ +**request_options:** `Auth0::Keys::Encryption::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.keys.encryption.rekey() -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Perform rekeying operation on the key hierarchy. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.keys.encryption.rekey +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request_options:** `Auth0::Keys::Encryption::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.keys.encryption.get(kid) -> Auth0::Types::GetEncryptionKeyResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve details of the encryption key with the given ID. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.keys.encryption.get(kid: "kid") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**kid:** `String` — Encryption key ID + +
+
+ +
+
+ +**request_options:** `Auth0::Keys::Encryption::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.keys.encryption.import(kid, request) -> Auth0::Types::ImportEncryptionKeyResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Import wrapped key material and activate encryption key. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.keys.encryption.import( + kid: "kid", + wrapped_key: "wrapped_key" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**kid:** `String` — Encryption key ID + +
+
+ +
+
+ +**wrapped_key:** `String` — Base64 encoded ciphertext of key material wrapped by public wrapping key. + +
+
+ +
+
+ +**request_options:** `Auth0::Keys::Encryption::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.keys.encryption.delete(kid) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Delete the custom provided encryption key with the given ID and move back to using native encryption key. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.keys.encryption.delete(kid: "kid") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**kid:** `String` — Encryption key ID + +
+
+ +
+
+ +**request_options:** `Auth0::Keys::Encryption::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.keys.encryption.create_public_wrapping_key(kid) -> Auth0::Types::CreateEncryptionKeyPublicWrappingResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Create the public wrapping key to wrap your own encryption key material. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.keys.encryption.create_public_wrapping_key(kid: "kid") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**kid:** `String` — Encryption key ID + +
+
+ +
+
+ +**request_options:** `Auth0::Keys::Encryption::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Keys Signing +
client.keys.signing.list() -> Internal::Types::Array[Auth0::Types::SigningKeys] +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve details of all the application signing keys associated with your tenant. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.keys.signing.list +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request_options:** `Auth0::Keys::Signing::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.keys.signing.rotate() -> Auth0::Types::RotateSigningKeysResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Rotate the application signing key of your tenant. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.keys.signing.rotate +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request_options:** `Auth0::Keys::Signing::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.keys.signing.get(kid) -> Auth0::Types::GetSigningKeysResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve details of the application signing key with the given ID. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.keys.signing.get(kid: "kid") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**kid:** `String` — Key id of the key to retrieve + +
+
+ +
+
+ +**request_options:** `Auth0::Keys::Signing::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.keys.signing.revoke(kid) -> Auth0::Types::RevokedSigningKeysResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Revoke the application signing key with the given ID. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.keys.signing.revoke(kid: "kid") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**kid:** `String` — Key id of the key to revoke + +
+
+ +
+
+ +**request_options:** `Auth0::Keys::Signing::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Organizations ClientGrants +
client.organizations.client_grants.list(id) -> Auth0::Types::ListOrganizationClientGrantsOffsetPaginatedResponseContent +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.organizations.client_grants.list( + id: "id", + audience: "audience", + client_id: "client_id", + page: 1, + per_page: 1, + include_totals: true +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — Organization identifier. + +
+
+ +
+
+ +**audience:** `String` — Optional filter on audience of the client grant. + +
+
+ +
+
+ +**client_id:** `String` — Optional filter on client_id of the client grant. + +
+
+ +
+
+ +**grant_ids:** `String` — Optional filter on the ID of the client grant. Must be URL encoded and may be specified multiple times (max 10).
e.g. ../client-grants?grant_ids=id1&grant_ids=id2 + +
+
+ +
+
+ +**page:** `Integer` — Page index of the results to return. First page is 0. + +
+
+ +
+
+ +**per_page:** `Integer` — Number of results per page. Defaults to 50. + +
+
+ +
+
+ +**include_totals:** `Internal::Types::Boolean` — Return results inside an object that contains the total result count (true) or as a direct array of results (false, default). + +
+
+ +
+
+ +**request_options:** `Auth0::Organizations::ClientGrants::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.organizations.client_grants.create(id, request) -> Auth0::Types::AssociateOrganizationClientGrantResponseContent +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.organizations.client_grants.create( + id: "id", + grant_id: "grant_id" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — Organization identifier. + +
+
+ +
+
+ +**grant_id:** `String` — A Client Grant ID to add to the organization. + +
+
+ +
+
+ +**request_options:** `Auth0::Organizations::ClientGrants::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.organizations.client_grants.delete(id, grant_id) -> +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.organizations.client_grants.delete( + id: "id", + grant_id: "grant_id" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — Organization identifier. + +
+
+ +
+
+ +**grant_id:** `String` — The Client Grant ID to remove from the organization + +
+
+ +
+
+ +**request_options:** `Auth0::Organizations::ClientGrants::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Organizations Connections +
client.organizations.connections.list(id) -> Auth0::Types::ListOrganizationAllConnectionsOffsetPaginatedResponseContent +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.organizations.connections.list( + id: "id", + page: 1, + per_page: 1, + include_totals: true, + is_enabled: true +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — Organization identifier. + +
+
+ +
+
+ +**page:** `Integer` — Page index of the results to return. First page is 0. + +
+
+ +
+
+ +**per_page:** `Integer` — Number of results per page. Defaults to 50. + +
+
+ +
+
+ +**include_totals:** `Internal::Types::Boolean` — Return results inside an object that contains the total result count (true) or as a direct array of results (false, default). + +
+
+ +
+
+ +**is_enabled:** `Internal::Types::Boolean` — Filter connections by enabled status. + +
+
+ +
+
+ +**request_options:** `Auth0::Organizations::Connections::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.organizations.connections.create(id, request) -> Auth0::Types::CreateOrganizationAllConnectionResponseContent +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.organizations.connections.create( + id: "id", + connection_id: "connection_id" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — Organization identifier. + +
+
+ +
+
+ +**organization_connection_name:** `String` — Name of the connection in the scope of this organization. + +
+
+ +
+
+ +**assign_membership_on_login:** `Internal::Types::Boolean` — When true, all users that log in with this connection will be automatically granted membership in the organization. When false, users must be granted membership in the organization before logging in with this connection. + +
+
+ +
+
+ +**show_as_button:** `Internal::Types::Boolean` — Determines whether a connection should be displayed on this organization’s login prompt. Only applicable for enterprise connections. Default: true. + +
+
+ +
+
+ +**is_signup_enabled:** `Internal::Types::Boolean` — Determines whether organization signup should be enabled for this organization connection. Only applicable for database connections. Default: false. + +
+
+ +
+
+ +**organization_access_level:** `Auth0::Types::OrganizationAccessLevelEnum` + +
+
+ +
+
+ +**is_enabled:** `Internal::Types::Boolean` — Whether the connection is enabled for the organization. + +
+
+ +
+
+ +**connection_id:** `String` — Connection identifier. + +
+
+ +
+
+ +**request_options:** `Auth0::Organizations::Connections::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.organizations.connections.get(id, connection_id) -> Auth0::Types::GetOrganizationAllConnectionResponseContent +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.organizations.connections.get( + id: "id", + connection_id: "connection_id" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — Organization identifier. + +
+
+ +
+
+ +**connection_id:** `String` — Connection identifier. + +
+
+ +
+
+ +**request_options:** `Auth0::Organizations::Connections::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.organizations.connections.delete(id, connection_id) -> +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.organizations.connections.delete( + id: "id", + connection_id: "connection_id" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — Organization identifier. + +
+
+ +
+
+ +**connection_id:** `String` — Connection identifier. + +
+
+ +
+
+ +**request_options:** `Auth0::Organizations::Connections::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.organizations.connections.update(id, connection_id, request) -> Auth0::Types::UpdateOrganizationAllConnectionResponseContent +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.organizations.connections.update( + id: "id", + connection_id: "connection_id" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — Organization identifier. + +
+
+ +
+
+ +**connection_id:** `String` — Connection identifier. + +
+
+ +
+
+ +**organization_connection_name:** `String` — Name of the connection in the scope of this organization. + +
+
+ +
+
+ +**assign_membership_on_login:** `Internal::Types::Boolean` — When true, all users that log in with this connection will be automatically granted membership in the organization. When false, users must be granted membership in the organization before logging in with this connection. + +
+
+ +
+
+ +**show_as_button:** `Internal::Types::Boolean` — Determines whether a connection should be displayed on this organization’s login prompt. Only applicable for enterprise connections. Default: true. + +
+
+ +
+
+ +**is_signup_enabled:** `Internal::Types::Boolean` — Determines whether organization signup should be enabled for this organization connection. Only applicable for database connections. Default: false. + +
+
+ +
+
+ +**organization_access_level:** `Auth0::Types::OrganizationAccessLevelEnumWithNull` + +
+
+ +
+
+ +**is_enabled:** `Internal::Types::Boolean` — Whether the connection is enabled for the organization. + +
+
+ +
+
+ +**request_options:** `Auth0::Organizations::Connections::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Organizations DiscoveryDomains +
client.organizations.discovery_domains.list(id) -> Auth0::Types::ListOrganizationDiscoveryDomainsResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve list of all organization discovery domains associated with the specified organization. +This endpoint is subject to eventual consistency; newly created, updated, or deleted discovery domains may not immediately appear in the response. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.organizations.discovery_domains.list( + id: "id", + from: "from", + take: 1 +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the organization. + +
+
+ +
+
+ +**from:** `String` — Optional Id from which to start selection. + +
+
+ +
+
+ +**take:** `Integer` — Number of results per page. Defaults to 50. + +
+
+ +
+
+ +**request_options:** `Auth0::Organizations::DiscoveryDomains::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.organizations.discovery_domains.create(id, request) -> Auth0::Types::CreateOrganizationDiscoveryDomainResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Create a new discovery domain for an organization. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.organizations.discovery_domains.create( + id: "id", + domain: "domain" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the organization. + +
+
+ +
+
+ +**domain:** `String` — The domain name to associate with the organization e.g. acme.com. + +
+
+ +
+
+ +**status:** `Auth0::Types::OrganizationDiscoveryDomainStatus` + +
+
+ +
+
+ +**use_for_organization_discovery:** `Internal::Types::Boolean` — Indicates whether this domain should be used for organization discovery. + +
+
+ +
+
+ +**request_options:** `Auth0::Organizations::DiscoveryDomains::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.organizations.discovery_domains.get_by_name(id, discovery_domain) -> Auth0::Types::GetOrganizationDiscoveryDomainByNameResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve details about a single organization discovery domain specified by domain name. +This endpoint is subject to eventual consistency; newly created, updated, or deleted discovery domains may not immediately appear in the response. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.organizations.discovery_domains.get_by_name( + id: "id", + discovery_domain: "discovery_domain" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the organization. + +
+
+ +
+
+ +**discovery_domain:** `String` — Domain name of the discovery domain. + +
+
+ +
+
+ +**request_options:** `Auth0::Organizations::DiscoveryDomains::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.organizations.discovery_domains.get(id, discovery_domain_id) -> Auth0::Types::GetOrganizationDiscoveryDomainResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve details about a single organization discovery domain specified by ID. +This endpoint is subject to eventual consistency; newly created, updated, or deleted discovery domains may not immediately appear in the response. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.organizations.discovery_domains.get( + id: "id", + discovery_domain_id: "discovery_domain_id" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the organization. + +
+
+ +
+
+ +**discovery_domain_id:** `String` — ID of the discovery domain. + +
+
+ +
+
+ +**request_options:** `Auth0::Organizations::DiscoveryDomains::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.organizations.discovery_domains.delete(id, discovery_domain_id) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Remove a discovery domain from an organization. This action cannot be undone. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.organizations.discovery_domains.delete( + id: "id", + discovery_domain_id: "discovery_domain_id" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the organization. + +
+
+ +
+
+ +**discovery_domain_id:** `String` — ID of the discovery domain. + +
+
+ +
+
+ +**request_options:** `Auth0::Organizations::DiscoveryDomains::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.organizations.discovery_domains.update(id, discovery_domain_id, request) -> Auth0::Types::UpdateOrganizationDiscoveryDomainResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Update the verification status and/or use_for_organization_discovery for an organization discovery domain. The status field must be either pending or verified. The use_for_organization_discovery field can be true or false (default: true). +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.organizations.discovery_domains.update( + id: "id", + discovery_domain_id: "discovery_domain_id" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the organization. + +
+
+ +
+
+ +**discovery_domain_id:** `String` — ID of the discovery domain to update. + +
+
+ +
+
+ +**status:** `Auth0::Types::OrganizationDiscoveryDomainStatus` + +
+
+ +
+
+ +**use_for_organization_discovery:** `Internal::Types::Boolean` — Indicates whether this domain should be used for organization discovery. + +
+
+ +
+
+ +**request_options:** `Auth0::Organizations::DiscoveryDomains::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Organizations EnabledConnections +
client.organizations.enabled_connections.list(id) -> Auth0::Types::ListOrganizationConnectionsOffsetPaginatedResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve details about a specific connection currently enabled for an Organization. Information returned includes details such as connection ID, name, strategy, and whether the connection automatically grants membership upon login. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.organizations.enabled_connections.list( + id: "id", + page: 1, + per_page: 1, + include_totals: true +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — Organization identifier. + +
+
+ +
+
+ +**page:** `Integer` — Page index of the results to return. First page is 0. + +
+
+ +
+
+ +**per_page:** `Integer` — Number of results per page. Defaults to 50. + +
+
+ +
+
+ +**include_totals:** `Internal::Types::Boolean` — Return results inside an object that contains the total result count (true) or as a direct array of results (false, default). + +
+
+ +
+
+ +**request_options:** `Auth0::Organizations::EnabledConnections::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.organizations.enabled_connections.add(id, request) -> Auth0::Types::AddOrganizationConnectionResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Enable a specific connection for a given Organization. To enable a connection, it must already exist within your tenant; connections cannot be created through this action. + +Connections represent the relationship between Auth0 and a source of users. Available types of connections include database, enterprise, and social. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.organizations.enabled_connections.add( + id: "id", + connection_id: "connection_id" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — Organization identifier. + +
+
+ +
+
+ +**connection_id:** `String` — Single connection ID to add to the organization. + +
+
+ +
+
+ +**assign_membership_on_login:** `Internal::Types::Boolean` — When true, all users that log in with this connection will be automatically granted membership in the organization. When false, users must be granted membership in the organization before logging in with this connection. + +
+
+ +
+
+ +**is_signup_enabled:** `Internal::Types::Boolean` — Determines whether organization signup should be enabled for this organization connection. Only applicable for database connections. Default: false. + +
+
+ +
+
+ +**show_as_button:** `Internal::Types::Boolean` — Determines whether a connection should be displayed on this organization’s login prompt. Only applicable for enterprise connections. Default: true. + +
+
+ +
+
+ +**request_options:** `Auth0::Organizations::EnabledConnections::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.organizations.enabled_connections.get(id, connection_id) -> Auth0::Types::GetOrganizationConnectionResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve details about a specific connection currently enabled for an Organization. Information returned includes details such as connection ID, name, strategy, and whether the connection automatically grants membership upon login. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.organizations.enabled_connections.get( + id: "id", + connection_id: "connectionId" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — Organization identifier. + +
+
+ +
+
+ +**connection_id:** `String` — Connection identifier. + +
+
+ +
+
+ +**request_options:** `Auth0::Organizations::EnabledConnections::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.organizations.enabled_connections.delete(id, connection_id) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Disable a specific connection for an Organization. Once disabled, Organization members can no longer use that connection to authenticate. + +Note: This action does not remove the connection from your tenant. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.organizations.enabled_connections.delete( + id: "id", + connection_id: "connectionId" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — Organization identifier. + +
+
+ +
+
+ +**connection_id:** `String` — Connection identifier. + +
+
+ +
+
+ +**request_options:** `Auth0::Organizations::EnabledConnections::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.organizations.enabled_connections.update(id, connection_id, request) -> Auth0::Types::UpdateOrganizationConnectionResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Modify the details of a specific connection currently enabled for an Organization. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.organizations.enabled_connections.update( + id: "id", + connection_id: "connectionId" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — Organization identifier. + +
+
+ +
+
+ +**connection_id:** `String` — Connection identifier. + +
+
+ +
+
+ +**assign_membership_on_login:** `Internal::Types::Boolean` — When true, all users that log in with this connection will be automatically granted membership in the organization. When false, users must be granted membership in the organization before logging in with this connection. + +
+
+ +
+
+ +**is_signup_enabled:** `Internal::Types::Boolean` — Determines whether organization signup should be enabled for this organization connection. Only applicable for database connections. Default: false. + +
+
+ +
+
+ +**show_as_button:** `Internal::Types::Boolean` — Determines whether a connection should be displayed on this organization’s login prompt. Only applicable for enterprise connections. Default: true. + +
+
+ +
+
+ +**request_options:** `Auth0::Organizations::EnabledConnections::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Organizations Invitations +
client.organizations.invitations.list(id) -> Auth0::Types::ListOrganizationInvitationsOffsetPaginatedResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve a detailed list of invitations sent to users for a specific Organization. The list includes details such as inviter and invitee information, invitation URLs, and dates of creation and expiration. To learn more about Organization invitations, review Invite Organization Members. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.organizations.invitations.list( + id: "id", + page: 1, + per_page: 1, + include_totals: true, + fields: "fields", + include_fields: true, + sort: "sort" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — Organization identifier. + +
+
+ +
+
+ +**page:** `Integer` — Page index of the results to return. First page is 0. + +
+
+ +
+
+ +**per_page:** `Integer` — Number of results per page. Defaults to 50. + +
+
+ +
+
+ +**include_totals:** `Internal::Types::Boolean` — When true, return results inside an object that also contains the start and limit. When false (default), a direct array of results is returned. We do not yet support returning the total invitations count. + +
+
+ +
+
+ +**fields:** `String` — Comma-separated list of fields to include or exclude (based on value provided for include_fields) in the result. Leave empty to retrieve all fields. + +
+
+ +
+
+ +**include_fields:** `Internal::Types::Boolean` — Whether specified fields are to be included (true) or excluded (false). Defaults to true. + +
+
+ +
+
+ +**sort:** `String` — Field to sort by. Use field:order where order is 1 for ascending and -1 for descending Defaults to created_at:-1. + +
+
+ +
+
+ +**request_options:** `Auth0::Organizations::Invitations::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.organizations.invitations.create(id, request) -> Auth0::Types::CreateOrganizationInvitationResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Create a user invitation for a specific Organization. Upon creation, the listed user receives an email inviting them to join the Organization. To learn more about Organization invitations, review Invite Organization Members. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.organizations.invitations.create( + id: "id", + inviter: { + name: "name" + }, + invitee: { + email: "email" + }, + client_id: "client_id" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — Organization identifier. + +
+
+ +
+
+ +**inviter:** `Auth0::Types::OrganizationInvitationInviter` + +
+
+ +
+
+ +**invitee:** `Auth0::Types::OrganizationInvitationInvitee` + +
+
+ +
+
+ +**client_id:** `String` — Auth0 client ID. Used to resolve the application's login initiation endpoint. + +
+
+ +
+
+ +**connection_id:** `String` — The id of the connection to force invitee to authenticate with. + +
+
+ +
+
+ +**app_metadata:** `Internal::Types::Hash[String, Object]` + +
+
+ +
+
+ +**user_metadata:** `Internal::Types::Hash[String, Object]` + +
+
+ +
+
+ +**ttl_sec:** `Integer` — Number of seconds for which the invitation is valid before expiration. If unspecified or set to 0, this value defaults to 604800 seconds (7 days). Max value: 2592000 seconds (30 days). + +
+
+ +
+
+ +**roles:** `Internal::Types::Array[String]` — List of roles IDs to associated with the user. + +
+
+ +
+
+ +**send_invitation_email:** `Internal::Types::Boolean` — Whether the user will receive an invitation email (true) or no email (false), true by default + +
+
+ +
+
+ +**request_options:** `Auth0::Organizations::Invitations::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.organizations.invitations.get(id, invitation_id) -> Auth0::Types::GetOrganizationInvitationResponseContent +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.organizations.invitations.get( + id: "id", + invitation_id: "invitation_id", + fields: "fields", + include_fields: true +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — Organization identifier. + +
+
+ +
+
+ +**invitation_id:** `String` — The id of the user invitation. + +
+
+ +
+
+ +**fields:** `String` — Comma-separated list of fields to include or exclude (based on value provided for include_fields) in the result. Leave empty to retrieve all fields. + +
+
+ +
+
+ +**include_fields:** `Internal::Types::Boolean` — Whether specified fields are to be included (true) or excluded (false). Defaults to true. + +
+
+ +
+
+ +**request_options:** `Auth0::Organizations::Invitations::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.organizations.invitations.delete(id, invitation_id) -> +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.organizations.invitations.delete( + id: "id", + invitation_id: "invitation_id" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — Organization identifier. + +
+
+ +
+
+ +**invitation_id:** `String` — The id of the user invitation. + +
+
+ +
+
+ +**request_options:** `Auth0::Organizations::Invitations::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Organizations Members +
client.organizations.members.list(id) -> Auth0::Types::ListOrganizationMembersPaginatedResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +List organization members. +This endpoint is subject to eventual consistency. New users may not be immediately included in the response and deleted users may not be immediately removed from it. + +
    +
  • + Use the fields parameter to optionally define the specific member details retrieved. If fields is left blank, all fields (except roles) are returned. +
  • +
  • + Member roles are not sent by default. Use fields=roles to retrieve the roles assigned to each listed member. To use this parameter, you must include the read:organization_member_roles scope in the token. +
  • +
+ +This endpoint supports two types of pagination: + +- Offset pagination +- Checkpoint pagination + +Checkpoint pagination must be used if you need to retrieve more than 1000 organization members. + +

Checkpoint Pagination

+ +To search by checkpoint, use the following parameters: - from: Optional id from which to start selection. - take: The total amount of entries to retrieve when using the from parameter. Defaults to 50. Note: The first time you call this endpoint using Checkpoint Pagination, you should omit the from parameter. If there are more results, a next value will be included in the response. You can use this for subsequent API calls. When next is no longer included in the response, this indicates there are no more pages remaining. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.organizations.members.list( + id: "id", + from: "from", + take: 1, + fields: "fields", + include_fields: true +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — Organization identifier. + +
+
+ +
+
+ +**from:** `String` — Optional Id from which to start selection. + +
+
+ +
+
+ +**take:** `Integer` — Number of results per page. Defaults to 50. + +
+
+ +
+
+ +**fields:** `String` — Comma-separated list of fields to include or exclude (based on value provided for include_fields) in the result. Leave empty to retrieve all fields. + +
+
+ +
+
+ +**include_fields:** `Internal::Types::Boolean` — Whether specified fields are to be included (true) or excluded (false). + +
+
+ +
+
+ +**request_options:** `Auth0::Organizations::Members::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.organizations.members.create(id, request) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Set one or more existing users as members of a specific Organization. + +To add a user to an Organization through this action, the user must already exist in your tenant. If a user does not yet exist, you can invite them to create an account, manually create them through the Auth0 Dashboard, or use the Management API. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.organizations.members.create( + id: "id", + members: ["members"] +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — Organization identifier. + +
+
+ +
+
+ +**members:** `Internal::Types::Array[String]` — List of user IDs to add to the organization as members. + +
+
+ +
+
+ +**request_options:** `Auth0::Organizations::Members::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.organizations.members.delete(id, request) -> +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.organizations.members.delete( + id: "id", + members: ["members"] +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — Organization identifier. + +
+
+ +
+
+ +**members:** `Internal::Types::Array[String]` — List of user IDs to remove from the organization. + +
+
+ +
+
+ +**request_options:** `Auth0::Organizations::Members::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Organizations Members Roles +
client.organizations.members.roles.list(id, user_id) -> Auth0::Types::ListOrganizationMemberRolesOffsetPaginatedResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve detailed list of roles assigned to a given user within the context of a specific Organization. + +Users can be members of multiple Organizations with unique roles assigned for each membership. This action only returns the roles associated with the specified Organization; any roles assigned to the user within other Organizations are not included. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.organizations.members.roles.list( + id: "id", + user_id: "user_id", + page: 1, + per_page: 1, + include_totals: true +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — Organization identifier. + +
+
+ +
+
+ +**user_id:** `String` — ID of the user to associate roles with. + +
+
+ +
+
+ +**page:** `Integer` — Page index of the results to return. First page is 0. + +
+
+ +
+
+ +**per_page:** `Integer` — Number of results per page. Defaults to 50. + +
+
+ +
+
+ +**include_totals:** `Internal::Types::Boolean` — Return results inside an object that contains the total result count (true) or as a direct array of results (false, default). + +
+
+ +
+
+ +**request_options:** `Auth0::Organizations::Members::Roles::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.organizations.members.roles.assign(id, user_id, request) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Assign one or more roles to a user to determine their access for a specific Organization. + +Users can be members of multiple Organizations with unique roles assigned for each membership. This action assigns roles to a user only for the specified Organization. Roles cannot be assigned to a user across multiple Organizations in the same call. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.organizations.members.roles.assign( + id: "id", + user_id: "user_id", + roles: ["roles"] +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — Organization identifier. + +
+
+ +
+
+ +**user_id:** `String` — ID of the user to associate roles with. + +
+
+ +
+
+ +**roles:** `Internal::Types::Array[String]` — List of roles IDs to associated with the user. + +
+
+ +
+
+ +**request_options:** `Auth0::Organizations::Members::Roles::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.organizations.members.roles.delete(id, user_id, request) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Remove one or more Organization-specific roles from a given user. + +Users can be members of multiple Organizations with unique roles assigned for each membership. This action removes roles from a user in relation to the specified Organization. Roles assigned to the user within a different Organization cannot be managed in the same call. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.organizations.members.roles.delete( + id: "id", + user_id: "user_id", + roles: ["roles"] +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — Organization identifier. + +
+
+ +
+
+ +**user_id:** `String` — User ID of the organization member to remove roles from. + +
+
+ +
+
+ +**roles:** `Internal::Types::Array[String]` — List of roles IDs associated with the organization member to remove. + +
+
+ +
+
+ +**request_options:** `Auth0::Organizations::Members::Roles::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Prompts Rendering +
client.prompts.rendering.list() -> Auth0::Types::ListAculsOffsetPaginatedResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Get render setting configurations for all screens. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.prompts.rendering.list( + fields: "fields", + include_fields: true, + page: 1, + per_page: 1, + include_totals: true, + prompt: "prompt", + screen: "screen", + rendering_mode: "advanced" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**fields:** `String` — Comma-separated list of fields to include or exclude (based on value provided for include_fields) in the result. Leave empty to retrieve all fields. + +
+
+ +
+
+ +**include_fields:** `Internal::Types::Boolean` — Whether specified fields are to be included (default: true) or excluded (false). + +
+
+ +
+
+ +**page:** `Integer` — Page index of the results to return. First page is 0. + +
+
+ +
+
+ +**per_page:** `Integer` — Number of results per page. Maximum value is 100, default value is 50. + +
+
+ +
+
+ +**include_totals:** `Internal::Types::Boolean` — Return results inside an object that contains the total configuration count (true) or as a direct array of results (false, default). + +
+
+ +
+
+ +**prompt:** `String` — Name of the prompt to filter by + +
+
+ +
+
+ +**screen:** `String` — Name of the screen to filter by + +
+
+ +
+
+ +**rendering_mode:** `Auth0::Types::AculRenderingModeEnum` — Rendering mode to filter by + +
+
+ +
+
+ +**request_options:** `Auth0::Prompts::Rendering::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.prompts.rendering.bulk_update(request) -> Auth0::Types::BulkUpdateAculResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Learn more about configuring render settings for advanced customization. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.prompts.rendering.bulk_update(configs: [{ + prompt: "login", + screen: "login" +}]) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**configs:** `Internal::Types::Array[Auth0::Types::AculConfigsItem]` + +
+
+ +
+
+ +**request_options:** `Auth0::Prompts::Rendering::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.prompts.rendering.get(prompt, screen) -> Auth0::Types::GetAculResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Get render settings for a screen. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.prompts.rendering.get( + prompt: "login", + screen: "login" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**prompt:** `Auth0::Types::PromptGroupNameEnum` — Name of the prompt + +
+
+ +
+
+ +**screen:** `Auth0::Types::ScreenGroupNameEnum` — Name of the screen + +
+
+ +
+
+ +**request_options:** `Auth0::Prompts::Rendering::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.prompts.rendering.update(prompt, screen, request) -> Auth0::Types::UpdateAculResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Learn more about configuring render settings for advanced customization. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.prompts.rendering.update( + prompt: "login", + screen: "login" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**prompt:** `Auth0::Types::PromptGroupNameEnum` — Name of the prompt + +
+
+ +
+
+ +**screen:** `Auth0::Types::ScreenGroupNameEnum` — Name of the screen + +
+
+ +
+
+ +**rendering_mode:** `Auth0::Types::AculRenderingModeEnum` — Rendering mode + +
+
+ +
+
+ +**context_configuration:** `Internal::Types::Array[Auth0::Types::AculContextConfigurationItem]` + +
+
+ +
+
+ +**default_head_tags_disabled:** `Internal::Types::Boolean` — Override Universal Login default head tags + +
+
+ +
+
+ +**use_page_template:** `Internal::Types::Boolean` — Use page template with ACUL + +
+
+ +
+
+ +**head_tags:** `Internal::Types::Array[Auth0::Types::AculHeadTag]` — An array of head tags + +
+
+ +
+
+ +**filters:** `Auth0::Types::AculFilters` + +
+
+ +
+
+ +**request_options:** `Auth0::Prompts::Rendering::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Prompts CustomText +
client.prompts.custom_text.get(prompt, language) -> Internal::Types::Hash[String, Object] +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve custom text for a specific prompt and language. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.prompts.custom_text.get( + prompt: "login", + language: "am" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**prompt:** `Auth0::Types::PromptGroupNameEnum` — Name of the prompt. + +
+
+ +
+
+ +**language:** `Auth0::Types::PromptLanguageEnum` — Language to update. + +
+
+ +
+
+ +**request_options:** `Auth0::Prompts::CustomText::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.prompts.custom_text.set(prompt, language, request) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Set custom text for a specific prompt. Existing texts will be overwritten. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.prompts.custom_text.set( + prompt: "login", + language: "am", + request: {} +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**prompt:** `Auth0::Types::PromptGroupNameEnum` — Name of the prompt. + +
+
+ +
+
+ +**language:** `Auth0::Types::PromptLanguageEnum` — Language to update. + +
+
+ +
+
+ +**request:** `Internal::Types::Hash[String, Object]` + +
+
+ +
+
+ +**request_options:** `Auth0::Prompts::CustomText::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Prompts Partials +
client.prompts.partials.get(prompt) -> Internal::Types::Hash[String, Object] +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Get template partials for a prompt +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.prompts.partials.get(prompt: "login") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**prompt:** `Auth0::Types::PartialGroupsEnum` — Name of the prompt. + +
+
+ +
+
+ +**request_options:** `Auth0::Prompts::Partials::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.prompts.partials.set(prompt, request) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Set template partials for a prompt +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.prompts.partials.set( + prompt: "login", + request: {} +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**prompt:** `Auth0::Types::PartialGroupsEnum` — Name of the prompt. + +
+
+ +
+
+ +**request:** `Internal::Types::Hash[String, Object]` + +
+
+ +
+
+ +**request_options:** `Auth0::Prompts::Partials::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## RiskAssessments Settings +
client.risk_assessments.settings.get() -> Auth0::Types::GetRiskAssessmentsSettingsResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Gets the tenant settings for risk assessments +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.risk_assessments.settings.get +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request_options:** `Auth0::RiskAssessments::Settings::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.risk_assessments.settings.update(request) -> Auth0::Types::UpdateRiskAssessmentsSettingsResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Updates the tenant settings for risk assessments +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.risk_assessments.settings.update(enabled: true) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**enabled:** `Internal::Types::Boolean` — Whether or not risk assessment is enabled. + +
+
+ +
+
+ +**request_options:** `Auth0::RiskAssessments::Settings::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## RiskAssessments Settings NewDevice +
client.risk_assessments.settings.new_device.get() -> Auth0::Types::GetRiskAssessmentsSettingsNewDeviceResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Gets the risk assessment settings for the new device assessor +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.risk_assessments.settings.new_device.get +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request_options:** `Auth0::RiskAssessments::Settings::NewDevice::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.risk_assessments.settings.new_device.update(request) -> Auth0::Types::UpdateRiskAssessmentsSettingsNewDeviceResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Updates the risk assessment settings for the new device assessor +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.risk_assessments.settings.new_device.update(remember_for: 1) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**remember_for:** `Integer` — Length of time to remember devices for, in days. + +
+
+ +
+
+ +**request_options:** `Auth0::RiskAssessments::Settings::NewDevice::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Roles Permissions +
client.roles.permissions.list(id) -> Auth0::Types::ListRolePermissionsOffsetPaginatedResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve detailed list (name, description, resource server) of permissions granted by a specified user role. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.roles.permissions.list( + id: "id", + per_page: 1, + page: 1, + include_totals: true +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the role to list granted permissions. + +
+
+ +
+
+ +**per_page:** `Integer` — Number of results per page. Defaults to 50. + +
+
+ +
+
+ +**page:** `Integer` — Page index of the results to return. First page is 0. + +
+
+ +
+
+ +**include_totals:** `Internal::Types::Boolean` — Return results inside an object that contains the total result count (true) or as a direct array of results (false, default). + +
+
+ +
+
+ +**request_options:** `Auth0::Roles::Permissions::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.roles.permissions.add(id, request) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Add one or more permissions to a specified user role. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.roles.permissions.add( + id: "id", + permissions: [{ + resource_server_identifier: "resource_server_identifier", + permission_name: "permission_name" + }] +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the role to add permissions to. + +
+
+ +
+
+ +**permissions:** `Internal::Types::Array[Auth0::Types::PermissionRequestPayload]` — array of resource_server_identifier, permission_name pairs. + +
+
+ +
+
+ +**request_options:** `Auth0::Roles::Permissions::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.roles.permissions.delete(id, request) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Remove one or more permissions from a specified user role. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.roles.permissions.delete( + id: "id", + permissions: [{ + resource_server_identifier: "resource_server_identifier", + permission_name: "permission_name" + }] +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the role to remove permissions from. + +
+
+ +
+
+ +**permissions:** `Internal::Types::Array[Auth0::Types::PermissionRequestPayload]` — array of resource_server_identifier, permission_name pairs. + +
+
+ +
+
+ +**request_options:** `Auth0::Roles::Permissions::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Roles Users +
client.roles.users.list(id) -> Auth0::Types::ListRoleUsersPaginatedResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve list of users associated with a specific role. For Dashboard instructions, review View Users Assigned to Roles. + +This endpoint supports two types of pagination: +
    +
  • Offset pagination
  • +
  • Checkpoint pagination
  • +
+ +Checkpoint pagination must be used if you need to retrieve more than 1000 organization members. + +

Checkpoint Pagination

+ +To search by checkpoint, use the following parameters: +
    +
  • from: Optional id from which to start selection.
  • +
  • take: The total amount of entries to retrieve when using the from parameter. Defaults to 50.
  • +
+ +Note: The first time you call this endpoint using checkpoint pagination, omit the from parameter. If there are more results, a next value is included in the response. You can use this for subsequent API calls. When next is no longer included in the response, no pages are remaining. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.roles.users.list( + id: "id", + from: "from", + take: 1 +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the role to retrieve a list of users associated with. + +
+
+ +
+
+ +**from:** `String` — Optional Id from which to start selection. + +
+
+ +
+
+ +**take:** `Integer` — Number of results per page. Defaults to 50. + +
+
+ +
+
+ +**request_options:** `Auth0::Roles::Users::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.roles.users.assign(id, request) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Assign one or more users to an existing user role. To learn more, review Role-Based Access Control. + +Note: New roles cannot be created through this action. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.roles.users.assign( + id: "id", + users: ["users"] +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the role to assign users to. + +
+
+ +
+
+ +**users:** `Internal::Types::Array[String]` — user_id's of the users to assign the role to. + +
+
+ +
+
+ +**request_options:** `Auth0::Roles::Users::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## SelfServiceProfiles CustomText +
client.self_service_profiles.custom_text.list(id, language, page) -> Internal::Types::Hash[String, String] +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieves text customizations for a given self-service profile, language and Self Service SSO Flow page. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.self_service_profiles.custom_text.list( + id: "id", + language: "en", + page: "get-started" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The id of the self-service profile. + +
+
+ +
+
+ +**language:** `Auth0::Types::SelfServiceProfileCustomTextLanguageEnum` — The language of the custom text. + +
+
+ +
+
+ +**page:** `Auth0::Types::SelfServiceProfileCustomTextPageEnum` — The page where the custom text is shown. + +
+
+ +
+
+ +**request_options:** `Auth0::SelfServiceProfiles::CustomText::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.self_service_profiles.custom_text.set(id, language, page, request) -> Internal::Types::Hash[String, String] +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Updates text customizations for a given self-service profile, language and Self Service SSO Flow page. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.self_service_profiles.custom_text.set( + id: "id", + language: "en", + page: "get-started", + request: { + key: "value" + } +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The id of the self-service profile. + +
+
+ +
+
+ +**language:** `Auth0::Types::SelfServiceProfileCustomTextLanguageEnum` — The language of the custom text. + +
+
+ +
+
+ +**page:** `Auth0::Types::SelfServiceProfileCustomTextPageEnum` — The page where the custom text is shown. + +
+
+ +
+
+ +**request:** `Internal::Types::Hash[String, String]` + +
+
+ +
+
+ +**request_options:** `Auth0::SelfServiceProfiles::CustomText::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## SelfServiceProfiles SSOTicket +
client.self_service_profiles.sso_ticket.create(id, request) -> Auth0::Types::CreateSelfServiceProfileSSOTicketResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Creates an SSO access ticket to initiate the Self Service SSO Flow using a self-service profile. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.self_service_profiles.sso_ticket.create(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The id of the self-service profile to retrieve + +
+
+ +
+
+ +**connection_id:** `String` — If provided, this will allow editing of the provided connection during the SSO Flow + +
+
+ +
+
+ +**connection_config:** `Auth0::Types::SelfServiceProfileSSOTicketConnectionConfig` + +
+
+ +
+
+ +**enabled_clients:** `Internal::Types::Array[String]` — List of client_ids that the connection will be enabled for. + +
+
+ +
+
+ +**enabled_organizations:** `Internal::Types::Array[Auth0::Types::SelfServiceProfileSSOTicketEnabledOrganization]` — List of organizations that the connection will be enabled for. + +
+
+ +
+
+ +**ttl_sec:** `Integer` — Number of seconds for which the ticket is valid before expiration. If unspecified or set to 0, this value defaults to 432000 seconds (5 days). + +
+
+ +
+
+ +**domain_aliases_config:** `Auth0::Types::SelfServiceProfileSSOTicketDomainAliasesConfig` + +
+
+ +
+
+ +**provisioning_config:** `Auth0::Types::SelfServiceProfileSSOTicketProvisioningConfig` + +
+
+ +
+
+ +**use_for_organization_discovery:** `Internal::Types::Boolean` — Indicates whether a verified domain should be used for organization discovery during authentication. + +
+
+ +
+
+ +**enabled_features:** `Auth0::Types::SelfServiceProfileSSOTicketEnabledFeatures` + +
+
+ +
+
+ +**request_options:** `Auth0::SelfServiceProfiles::SSOTicket::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.self_service_profiles.sso_ticket.revoke(profile_id, id) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Revokes an SSO access ticket and invalidates associated sessions. The ticket will no longer be accepted to initiate a Self-Service SSO session. If any users have already started a session through this ticket, their session will be terminated. Clients should expect a `202 Accepted` response upon successful processing, indicating that the request has been acknowledged and that the revocation is underway but may not be fully completed at the time of response. If the specified ticket does not exist, a `202 Accepted` response is also returned, signaling that no further action is required. +Clients should treat these `202` responses as an acknowledgment that the request has been accepted and is in progress, even if the ticket was not found. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.self_service_profiles.sso_ticket.revoke( + profile_id: "profileId", + id: "id" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**profile_id:** `String` — The id of the self-service profile + +
+
+ +
+
+ +**id:** `String` — The id of the ticket to revoke + +
+
+ +
+
+ +**request_options:** `Auth0::SelfServiceProfiles::SSOTicket::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Tenants Settings +
client.tenants.settings.get() -> Auth0::Types::GetTenantSettingsResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve tenant settings. A list of fields to include or exclude may also be specified. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.tenants.settings.get( + fields: "fields", + include_fields: true +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**fields:** `String` — Comma-separated list of fields to include or exclude (based on value provided for include_fields) in the result. Leave empty to retrieve all fields. + +
+
+ +
+
+ +**include_fields:** `Internal::Types::Boolean` — Whether specified fields are to be included (true) or excluded (false). + +
+
+ +
+
+ +**request_options:** `Auth0::Tenants::Settings::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.tenants.settings.update(request) -> Auth0::Types::UpdateTenantSettingsResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Update settings for a tenant. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.tenants.settings.update +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**change_password:** `Auth0::Types::TenantSettingsPasswordPage` + +
+
+ +
+
+ +**device_flow:** `Auth0::Types::TenantSettingsDeviceFlow` — Device Flow configuration. + +
+
+ +
+
+ +**guardian_mfa_page:** `Auth0::Types::TenantSettingsGuardianPage` + +
+
+ +
+
+ +**default_audience:** `String` — Default audience for API Authorization. + +
+
+ +
+
+ +**default_directory:** `String` — Name of connection used for password grants at the `/token` endpoint. The following connection types are supported: LDAP, AD, Database Connections, Passwordless, Windows Azure Active Directory, ADFS. + +
+
+ +
+
+ +**error_page:** `Auth0::Types::TenantSettingsErrorPage` + +
+
+ +
+
+ +**default_token_quota:** `Auth0::Types::DefaultTokenQuota` + +
+
+ +
+
+ +**flags:** `Auth0::Types::TenantSettingsFlags` + +
+
+ +
+
+ +**friendly_name:** `String` — Friendly name for this tenant. + +
+
+ +
+
+ +**picture_url:** `String` — URL of logo to be shown for this tenant (recommended size: 150x150) + +
+
+ +
+
+ +**support_email:** `String` — End-user support email. + +
+
+ +
+
+ +**support_url:** `String` — End-user support url. + +
+
+ +
+
+ +**allowed_logout_urls:** `Internal::Types::Array[String]` — URLs that are valid to redirect to after logout from Auth0. + +
+
+ +
+
+ +**session_lifetime:** `Integer` — Number of hours a session will stay valid. + +
+
+ +
+
+ +**idle_session_lifetime:** `Integer` — Number of hours for which a session can be inactive before the user must log in again. + +
+
+ +
+
+ +**ephemeral_session_lifetime:** `Integer` — Number of hours an ephemeral (non-persistent) session will stay valid. + +
+
+ +
+
+ +**idle_ephemeral_session_lifetime:** `Integer` — Number of hours for which an ephemeral (non-persistent) session can be inactive before the user must log in again. + +
+
+ +
+
+ +**sandbox_version:** `String` — Selected sandbox version for the extensibility environment + +
+
+ +
+
+ +**legacy_sandbox_version:** `String` — Selected legacy sandbox version for the extensibility environment + +
+
+ +
+
+ +**default_redirection_uri:** `String` — The default absolute redirection uri, must be https + +
+
+ +
+
+ +**enabled_locales:** `Internal::Types::Array[Auth0::Types::TenantSettingsSupportedLocalesEnum]` — Supported locales for the user interface + +
+
+ +
+
+ +**session_cookie:** `Auth0::Types::SessionCookieSchema` + +
+
+ +
+
+ +**sessions:** `Auth0::Types::TenantSettingsSessions` + +
+
+ +
+
+ +**oidc_logout:** `Auth0::Types::TenantOidcLogoutSettings` + +
+
+ +
+
+ +**customize_mfa_in_postlogin_action:** `Internal::Types::Boolean` — Whether to enable flexible factors for MFA in the PostLogin action + +
+
+ +
+
+ +**allow_organization_name_in_authentication_api:** `Internal::Types::Boolean` — Whether to accept an organization name instead of an ID on auth endpoints + +
+
+ +
+
+ +**acr_values_supported:** `Internal::Types::Array[String]` — Supported ACR values + +
+
+ +
+
+ +**mtls:** `Auth0::Types::TenantSettingsMtls` + +
+
+ +
+
+ +**pushed_authorization_requests_supported:** `Internal::Types::Boolean` — Enables the use of Pushed Authorization Requests + +
+
+ +
+
+ +**authorization_response_iss_parameter_supported:** `Internal::Types::Boolean` — Supports iss parameter in authorization responses + +
+
+ +
+
+ +**skip_non_verifiable_callback_uri_confirmation_prompt:** `Internal::Types::Boolean` + +Controls whether a confirmation prompt is shown during login flows when the redirect URI uses non-verifiable callback URIs (for example, a custom URI schema such as `myapp://`, or `localhost`). +If set to true, a confirmation prompt will not be shown. We recommend that this is set to false for improved protection from malicious apps. +See https://auth0.com/docs/secure/security-guidance/measures-against-app-impersonation for more information. + +
+
+ +
+
+ +**resource_parameter_profile:** `Auth0::Types::TenantSettingsResourceParameterProfile` + +
+
+ +
+
+ +**client_id_metadata_document_supported:** `Internal::Types::Boolean` — Whether the authorization server supports retrieving client metadata from a client_id URL. + +
+
+ +
+
+ +**enable_ai_guide:** `Internal::Types::Boolean` — Whether Auth0 Guide (AI-powered assistance) is enabled for this tenant. + +
+
+ +
+
+ +**phone_consolidated_experience:** `Internal::Types::Boolean` — Whether Phone Consolidated Experience is enabled for this tenant. + +
+
+ +
+
+ +**dynamic_client_registration_security_mode:** `Auth0::Types::TenantSettingsDynamicClientRegistrationSecurityMode` + +
+
+ +
+
+ +**request_options:** `Auth0::Tenants::Settings::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Users AuthenticationMethods +
client.users.authentication_methods.list(id) -> Auth0::Types::ListUserAuthenticationMethodsOffsetPaginatedResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve detailed list of authentication methods associated with a specified user. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.users.authentication_methods.list( + id: "id", + page: 1, + per_page: 1, + include_totals: true +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The ID of the user in question. + +
+
+ +
+
+ +**page:** `Integer` — Page index of the results to return. First page is 0. Default is 0. + +
+
+ +
+
+ +**per_page:** `Integer` — Number of results per page. Default is 50. + +
+
+ +
+
+ +**include_totals:** `Internal::Types::Boolean` — Return results inside an object that contains the total result count (true) or as a direct array of results (false, default). + +
+
+ +
+
+ +**request_options:** `Auth0::Users::AuthenticationMethods::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.users.authentication_methods.create(id, request) -> Auth0::Types::CreateUserAuthenticationMethodResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Create an authentication method. Authentication methods created via this endpoint will be auto confirmed and should already have verification completed. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.users.authentication_methods.create( + id: "id", + type: "phone" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The ID of the user to whom the new authentication method will be assigned. + +
+
+ +
+
+ +**type:** `Auth0::Types::CreatedUserAuthenticationMethodTypeEnum` + +
+
+ +
+
+ +**name:** `String` — A human-readable label to identify the authentication method. + +
+
+ +
+
+ +**totp_secret:** `String` — Base32 encoded secret for TOTP generation. + +
+
+ +
+
+ +**phone_number:** `String` — Applies to phone authentication methods only. The destination phone number used to send verification codes via text and voice. + +
+
+ +
+
+ +**email:** `String` — Applies to email authentication methods only. The email address used to send verification messages. + +
+
+ +
+
+ +**preferred_authentication_method:** `Auth0::Types::PreferredAuthenticationMethodEnum` + +
+
+ +
+
+ +**key_id:** `String` — Applies to webauthn authentication methods only. The id of the credential. + +
+
+ +
+
+ +**public_key:** `String` — Applies to webauthn authentication methods only. The public key, which is encoded as base64. + +
+
+ +
+
+ +**relying_party_identifier:** `String` — Applies to webauthn authentication methods only. The relying party identifier. + +
+
+ +
+
+ +**request_options:** `Auth0::Users::AuthenticationMethods::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.users.authentication_methods.set(id, request) -> Internal::Types::Array[Auth0::Types::SetUserAuthenticationMethodResponseContent] +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Replace the specified user authentication methods with supplied values. + + Note: Authentication methods supplied through this action do not iterate on existing methods. Instead, any methods passed will overwrite the user’s existing settings. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.users.authentication_methods.set( + id: "id", + request: [{ + type: "phone" + }] +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The ID of the user in question. + +
+
+ +
+
+ +**request:** `Internal::Types::Array[Auth0::Types::SetUserAuthenticationMethods]` + +
+
+ +
+
+ +**request_options:** `Auth0::Users::AuthenticationMethods::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.users.authentication_methods.delete_all(id) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Remove all authentication methods (i.e., enrolled MFA factors) from the specified user account. This action cannot be undone. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.users.authentication_methods.delete_all(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The ID of the user in question. + +
+
+ +
+
+ +**request_options:** `Auth0::Users::AuthenticationMethods::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.users.authentication_methods.get(id, authentication_method_id) -> Auth0::Types::GetUserAuthenticationMethodResponseContent +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.users.authentication_methods.get( + id: "id", + authentication_method_id: "authentication_method_id" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The ID of the user in question. + +
+
+ +
+
+ +**authentication_method_id:** `String` — The ID of the authentication methods in question. + +
+
+ +
+
+ +**request_options:** `Auth0::Users::AuthenticationMethods::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.users.authentication_methods.delete(id, authentication_method_id) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Remove the authentication method with the given ID from the specified user. For more information, review Manage Authentication Methods with Management API. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.users.authentication_methods.delete( + id: "id", + authentication_method_id: "authentication_method_id" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The ID of the user in question. + +
+
+ +
+
+ +**authentication_method_id:** `String` — The ID of the authentication method to delete. + +
+
+ +
+
+ +**request_options:** `Auth0::Users::AuthenticationMethods::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.users.authentication_methods.update(id, authentication_method_id, request) -> Auth0::Types::UpdateUserAuthenticationMethodResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Modify the authentication method with the given ID from the specified user. For more information, review Manage Authentication Methods with Management API. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.users.authentication_methods.update( + id: "id", + authentication_method_id: "authentication_method_id" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — The ID of the user in question. + +
+
+ +
+
+ +**authentication_method_id:** `String` — The ID of the authentication method to update. + +
+
+ +
+
+ +**name:** `String` — A human-readable label to identify the authentication method. + +
+
+ +
+
+ +**preferred_authentication_method:** `Auth0::Types::PreferredAuthenticationMethodEnum` — Preferred phone authentication method + +
+
+ +
+
+ +**request_options:** `Auth0::Users::AuthenticationMethods::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Users Authenticators +
client.users.authenticators.delete_all(id) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Remove all authenticators registered to a given user ID, such as OTP, email, phone, and push-notification. This action cannot be undone. For more information, review Manage Authentication Methods with Management API. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.users.authenticators.delete_all(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the user to delete. + +
+
+ +
+
+ +**request_options:** `Auth0::Users::Authenticators::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Users ConnectedAccounts +
client.users.connected_accounts.list(id) -> Auth0::Types::ListUserConnectedAccountsResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve all connected accounts associated with the user. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.users.connected_accounts.list( + id: "id", + from: "from", + take: 1 +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the user to list connected accounts for. + +
+
+ +
+
+ +**from:** `String` — Optional Id from which to start selection. + +
+
+ +
+
+ +**take:** `Integer` — Number of results to return. Defaults to 10 with a maximum of 20 + +
+
+ +
+
+ +**request_options:** `Auth0::Users::ConnectedAccounts::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Users Enrollments +
client.users.enrollments.get(id) -> Internal::Types::Array[Auth0::Types::UsersEnrollment] +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve the first multi-factor authentication enrollment that a specific user has confirmed. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.users.enrollments.get(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the user to list enrollments for. + +
+
+ +
+
+ +**request_options:** `Auth0::Users::Enrollments::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Users FederatedConnectionsTokensets +
client.users.federated_connections_tokensets.list(id) -> Internal::Types::Array[Auth0::Types::FederatedConnectionTokenSet] +
+
+ +#### 📝 Description + +
+
+ +
+
+ +List active federated connections tokensets for a provided user +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.users.federated_connections_tokensets.list(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — User identifier + +
+
+ +
+
+ +**request_options:** `Auth0::Users::FederatedConnectionsTokensets::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.users.federated_connections_tokensets.delete(id, tokenset_id) -> +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.users.federated_connections_tokensets.delete( + id: "id", + tokenset_id: "tokenset_id" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — Id of the user that owns the tokenset + +
+
+ +
+
+ +**tokenset_id:** `String` — The tokenset id + +
+
+ +
+
+ +**request_options:** `Auth0::Users::FederatedConnectionsTokensets::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Users Groups +
client.users.groups.get(id) -> Auth0::Types::GetUserGroupsPaginatedResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +List all groups to which this user belongs. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.users.groups.get( + id: "id", + fields: "fields", + include_fields: true, + from: "from", + take: 1 +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the user to list groups for. + +
+
+ +
+
+ +**fields:** `String` — A comma separated list of fields to include or exclude (depending on include_fields) from the result, empty to retrieve all fields + +
+
+ +
+
+ +**include_fields:** `Internal::Types::Boolean` — Whether specified fields are to be included (true) or excluded (false). + +
+
+ +
+
+ +**from:** `String` — Optional Id from which to start selection. + +
+
+ +
+
+ +**take:** `Integer` — Number of results per page. Defaults to 50. + +
+
+ +
+
+ +**request_options:** `Auth0::Users::Groups::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Users Identities +
client.users.identities.link(id, request) -> Internal::Types::Array[Auth0::Types::UserIdentity] +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Link two user accounts together forming a primary and secondary relationship. On successful linking, the endpoint returns the new array of the primary account identities. + +Note: There are two ways of invoking the endpoint: + +
    +
  • With the authenticated primary account's JWT in the Authorization header, which has the update:current_user_identities scope: +
    +      POST /api/v2/users/PRIMARY_ACCOUNT_USER_ID/identities
    +      Authorization: "Bearer PRIMARY_ACCOUNT_JWT"
    +      {
    +        "link_with": "SECONDARY_ACCOUNT_JWT"
    +      }
    +    
    + In this case, only the link_with param is required in the body, which also contains the JWT obtained upon the secondary account's authentication. +
  • +
  • With a token generated by the API V2 containing the update:users scope: +
    +    POST /api/v2/users/PRIMARY_ACCOUNT_USER_ID/identities
    +    Authorization: "Bearer YOUR_API_V2_TOKEN"
    +    {
    +      "provider": "SECONDARY_ACCOUNT_PROVIDER",
    +      "connection_id": "SECONDARY_ACCOUNT_CONNECTION_ID(OPTIONAL)",
    +      "user_id": "SECONDARY_ACCOUNT_USER_ID"
    +    }
    +    
    + In this case you need to send provider and user_id in the body. Optionally you can also send the connection_id param which is suitable for identifying a particular database connection for the 'auth0' provider. +
  • +
+
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.users.identities.link(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the primary user account to link a second user account to. + +
+
+ +
+
+ +**provider:** `Auth0::Types::UserIdentityProviderEnum` — Identity provider of the secondary user account being linked. + +
+
+ +
+
+ +**connection_id:** `String` — connection_id of the secondary user account being linked when more than one `auth0` database provider exists. + +
+
+ +
+
+ +**user_id:** `Auth0::Types::UserID` + +
+
+ +
+
+ +**link_with:** `String` — JWT for the secondary account being linked. If sending this parameter, `provider`, `user_id`, and `connection_id` must not be sent. + +
+
+ +
+
+ +**request_options:** `Auth0::Users::Identities::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.users.identities.delete(id, provider, user_id) -> Internal::Types::Array[Auth0::Types::DeleteUserIdentityResponseContentItem] +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Unlink a specific secondary account from a target user. This action requires the ID of both the target user and the secondary account. + +Unlinking the secondary account removes it from the identities array of the target user and creates a new standalone profile for the secondary account. To learn more, review Unlink User Accounts. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.users.identities.delete( + id: "id", + provider: "ad", + user_id: "user_id" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the primary user account. + +
+
+ +
+
+ +**provider:** `Auth0::Types::UserIdentityProviderEnum` — Identity provider name of the secondary linked account (e.g. `google-oauth2`). + +
+
+ +
+
+ +**user_id:** `String` — ID of the secondary linked account (e.g. `123456789081523216417` part after the `|` in `google-oauth2|123456789081523216417`). + +
+
+ +
+
+ +**request_options:** `Auth0::Users::Identities::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Users Logs +
client.users.logs.list(id) -> Auth0::Types::UserListLogOffsetPaginatedResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve log events for a specific user. + +Note: For more information on all possible event types, their respective acronyms and descriptions, see Log Event Type Codes. + +For more information on the list of fields that can be used in `sort`, see Searchable Fields. + +Auth0 limits the number of logs you can return by search criteria to 100 logs per request. Furthermore, you may only paginate through up to 1,000 search results. If you exceed this threshold, please redefine your search. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.users.logs.list( + id: "id", + page: 1, + per_page: 1, + sort: "sort", + include_totals: true +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the user of the logs to retrieve + +
+
+ +
+
+ +**page:** `Integer` — Page index of the results to return. First page is 0. + +
+
+ +
+
+ +**per_page:** `Integer` — Number of results per page. Paging is disabled if parameter not sent. + +
+
+ +
+
+ +**sort:** `String` — Field to sort by. Use `fieldname:1` for ascending order and `fieldname:-1` for descending. + +
+
+ +
+
+ +**include_totals:** `Internal::Types::Boolean` — Return results inside an object that contains the total result count (true) or as a direct array of results (false, default). + +
+
+ +
+
+ +**request_options:** `Auth0::Users::Logs::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Users Multifactor +
client.users.multifactor.invalidate_remember_browser(id) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Invalidate all remembered browsers across all authentication factors for a user. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.users.multifactor.invalidate_remember_browser(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the user to invalidate all remembered browsers and authentication factors for. + +
+
+ +
+
+ +**request_options:** `Auth0::Users::Multifactor::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.users.multifactor.delete_provider(id, provider) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Remove a multifactor authentication configuration from a user's account. This forces the user to manually reconfigure the multi-factor provider. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.users.multifactor.delete_provider( + id: "id", + provider: "duo" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the user to remove a multifactor configuration from. + +
+
+ +
+
+ +**provider:** `Auth0::Types::UserMultifactorProviderEnum` — The multi-factor provider. Supported values 'duo' or 'google-authenticator' + +
+
+ +
+
+ +**request_options:** `Auth0::Users::Multifactor::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Users Organizations +
client.users.organizations.list(id) -> Auth0::Types::ListUserOrganizationsOffsetPaginatedResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve list of the specified user's current Organization memberships. User must be specified by user ID. For more information, review Auth0 Organizations. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.users.organizations.list( + id: "id", + page: 1, + per_page: 1, + include_totals: true +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the user to retrieve the organizations for. + +
+
+ +
+
+ +**page:** `Integer` — Page index of the results to return. First page is 0. + +
+
+ +
+
+ +**per_page:** `Integer` — Number of results per page. Defaults to 50. + +
+
+ +
+
+ +**include_totals:** `Internal::Types::Boolean` — Return results inside an object that contains the total result count (true) or as a direct array of results (false, default). + +
+
+ +
+
+ +**request_options:** `Auth0::Users::Organizations::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Users Permissions +
client.users.permissions.list(id) -> Auth0::Types::ListUserPermissionsOffsetPaginatedResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve all permissions associated with the user. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.users.permissions.list( + id: "id", + per_page: 1, + page: 1, + include_totals: true +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the user to retrieve the permissions for. + +
+
+ +
+
+ +**per_page:** `Integer` — Number of results per page. + +
+
+ +
+
+ +**page:** `Integer` — Page index of the results to return. First page is 0. + +
+
+ +
+
+ +**include_totals:** `Internal::Types::Boolean` — Return results inside an object that contains the total result count (true) or as a direct array of results (false, default). + +
+
+ +
+
+ +**request_options:** `Auth0::Users::Permissions::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.users.permissions.create(id, request) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Assign permissions to a user. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.users.permissions.create( + id: "id", + permissions: [{ + resource_server_identifier: "resource_server_identifier", + permission_name: "permission_name" + }] +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the user to assign permissions to. + +
+
+ +
+
+ +**permissions:** `Internal::Types::Array[Auth0::Types::PermissionRequestPayload]` — List of permissions to add to this user. + +
+
+ +
+
+ +**request_options:** `Auth0::Users::Permissions::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.users.permissions.delete(id, request) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Remove permissions from a user. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.users.permissions.delete( + id: "id", + permissions: [{ + resource_server_identifier: "resource_server_identifier", + permission_name: "permission_name" + }] +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the user to remove permissions from. + +
+
+ +
+
+ +**permissions:** `Internal::Types::Array[Auth0::Types::PermissionRequestPayload]` — List of permissions to remove from this user. + +
+
+ +
+
+ +**request_options:** `Auth0::Users::Permissions::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Users RiskAssessments +
client.users.risk_assessments.clear(id, request) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Clear risk assessment assessors for a specific user +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.users.risk_assessments.clear( + id: "id", + connection: "connection", + assessors: ["new-device"] +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the user to clear assessors for. + +
+
+ +
+
+ +**connection:** `String` — The name of the connection containing the user whose assessors should be cleared. + +
+
+ +
+
+ +**assessors:** `Internal::Types::Array[Auth0::Types::AssessorsTypeEnum]` — List of assessors to clear. + +
+
+ +
+
+ +**request_options:** `Auth0::Users::RiskAssessments::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Users Roles +
client.users.roles.list(id) -> Auth0::Types::ListUserRolesOffsetPaginatedResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve detailed list of all user roles currently assigned to a user. + +Note: This action retrieves all roles assigned to a user in the context of your whole tenant. To retrieve Organization-specific roles, use the following endpoint: Get user roles assigned to an Organization member. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.users.roles.list( + id: "id", + per_page: 1, + page: 1, + include_totals: true +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the user to list roles for. + +
+
+ +
+
+ +**per_page:** `Integer` — Number of results per page. + +
+
+ +
+
+ +**page:** `Integer` — Page index of the results to return. First page is 0. + +
+
+ +
+
+ +**include_totals:** `Internal::Types::Boolean` — Return results inside an object that contains the total result count (true) or as a direct array of results (false, default). + +
+
+ +
+
+ +**request_options:** `Auth0::Users::Roles::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.users.roles.assign(id, request) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Assign one or more existing user roles to a user. For more information, review Role-Based Access Control. + +Note: New roles cannot be created through this action. Additionally, this action is used to assign roles to a user in the context of your whole tenant. To assign roles in the context of a specific Organization, use the following endpoint: Assign user roles to an Organization member. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.users.roles.assign( + id: "id", + roles: ["roles"] +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the user to associate roles with. + +
+
+ +
+
+ +**roles:** `Internal::Types::Array[String]` — List of roles IDs to associated with the user. + +
+
+ +
+
+ +**request_options:** `Auth0::Users::Roles::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.users.roles.delete(id, request) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Remove one or more specified user roles assigned to a user. + +Note: This action removes a role from a user in the context of your whole tenant. If you want to unassign a role from a user in the context of a specific Organization, use the following endpoint: Delete user roles from an Organization member. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.users.roles.delete( + id: "id", + roles: ["roles"] +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the user to remove roles from. + +
+
+ +
+
+ +**roles:** `Internal::Types::Array[String]` — List of roles IDs to remove from the user. + +
+
+ +
+
+ +**request_options:** `Auth0::Users::Roles::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Users RefreshToken +
client.users.refresh_token.list(user_id) -> Auth0::Types::ListRefreshTokensPaginatedResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve details for a user's refresh tokens. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.users.refresh_token.list( + user_id: "user_id", + from: "from", + take: 1 +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**user_id:** `String` — ID of the user to get refresh tokens for + +
+
+ +
+
+ +**from:** `String` — An optional cursor from which to start the selection (exclusive). + +
+
+ +
+
+ +**take:** `Integer` — Number of results per page. Defaults to 50. + +
+
+ +
+
+ +**request_options:** `Auth0::Users::RefreshToken::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.users.refresh_token.delete(user_id) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Delete all refresh tokens for a user. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.users.refresh_token.delete(user_id: "user_id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**user_id:** `String` — ID of the user to get remove refresh tokens for + +
+
+ +
+
+ +**request_options:** `Auth0::Users::RefreshToken::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## Users Sessions +
client.users.sessions.list(user_id) -> Auth0::Types::ListUserSessionsPaginatedResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Retrieve details for a user's sessions. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.users.sessions.list( + user_id: "user_id", + from: "from", + take: 1 +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**user_id:** `String` — ID of the user to get sessions for + +
+
+ +
+
+ +**from:** `String` — An optional cursor from which to start the selection (exclusive). + +
+
+ +
+
+ +**take:** `Integer` — Number of results per page. Defaults to 50. + +
+
+ +
+
+ +**request_options:** `Auth0::Users::Sessions::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.users.sessions.delete(user_id) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Delete all sessions for a user. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.users.sessions.delete(user_id: "user_id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**user_id:** `String` — ID of the user to get sessions for + +
+
+ +
+
+ +**request_options:** `Auth0::Users::Sessions::RequestOptions` + +
+
+
+
+ + +
+
+
+ +## VerifiableCredentials Verification Templates +
client.verifiable_credentials.verification.templates.list() -> Auth0::Types::ListVerifiableCredentialTemplatesPaginatedResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +List a verifiable credential templates. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.verifiable_credentials.verification.templates.list( + from: "from", + take: 1 +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**from:** `String` — Optional Id from which to start selection. + +
+
+ +
+
+ +**take:** `Integer` — Number of results per page. Defaults to 50. + +
+
+ +
+
+ +**request_options:** `Auth0::VerifiableCredentials::Verification::Templates::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.verifiable_credentials.verification.templates.create(request) -> Auth0::Types::CreateVerifiableCredentialTemplateResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Create a verifiable credential template. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.verifiable_credentials.verification.templates.create( + name: "name", + type: "type", + dialect: "dialect", + presentation: { + org_iso1801351m_dl: { + org_iso1801351: {} + } + }, + well_known_trusted_issuers: "well_known_trusted_issuers" +) +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**name:** `String` + +
+
+ +
+
+ +**type:** `String` + +
+
+ +
+
+ +**dialect:** `String` + +
+
+ +
+
+ +**presentation:** `Auth0::Types::MdlPresentationRequest` + +
+
+ +
+
+ +**custom_certificate_authority:** `String` + +
+
+ +
+
+ +**well_known_trusted_issuers:** `String` + +
+
+ +
+
+ +**request_options:** `Auth0::VerifiableCredentials::Verification::Templates::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.verifiable_credentials.verification.templates.get(id) -> Auth0::Types::GetVerifiableCredentialTemplateResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Get a verifiable credential template. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.verifiable_credentials.verification.templates.get(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the template to retrieve. + +
+
+ +
+
+ +**request_options:** `Auth0::VerifiableCredentials::Verification::Templates::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.verifiable_credentials.verification.templates.delete(id) -> +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Delete a verifiable credential template. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.verifiable_credentials.verification.templates.delete(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the template to retrieve. + +
+
+ +
+
+ +**request_options:** `Auth0::VerifiableCredentials::Verification::Templates::RequestOptions` + +
+
+
+
+ + +
+
+
+ +
client.verifiable_credentials.verification.templates.update(id, request) -> Auth0::Types::UpdateVerifiableCredentialTemplateResponseContent +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Update a verifiable credential template. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```ruby +client.verifiable_credentials.verification.templates.update(id: "id") +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**id:** `String` — ID of the template to retrieve. + +
+
+ +
+
+ +**name:** `String` + +
+
+ +
+
+ +**type:** `String` + +
+
+ +
+
+ +**dialect:** `String` + +
+
+ +
+
+ +**presentation:** `Auth0::Types::MdlPresentationRequest` + +
+
+ +
+
+ +**well_known_trusted_issuers:** `String` + +
+
+ +
+
+ +**version:** `Integer` + +
+
+ +
+
+ +**request_options:** `Auth0::VerifiableCredentials::Verification::Templates::RequestOptions` + +
+
+
+
+ + +
+
+
+ diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_change_password/should_trigger_a_password_reset.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_change_password/should_trigger_a_password_reset.yml deleted file mode 100644 index c201d2462..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_change_password/should_trigger_a_password_reset.yml +++ /dev/null @@ -1,93 +0,0 @@ ---- -http_interactions: -- request: - method: post - uri: https://auth0-sdk-tests.auth0.com/dbconnections/change_password - body: - encoding: UTF-8 - string: '{"email":"rubytest-210908-username-1@auth0.com","password":"","connection":"Username-Password-Authentication","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI"}' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '157' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:11 GMT - Content-Type: - - text/html; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a783fa1aeb79-LAX - Access-Control-Allow-Origin: - - "*" - Cache-Control: - - private, no-store, no-cache, must-revalidate, post-check=0, pre-check=0, no-transform - Etag: - - W/"34-isurgRF3drpbztqj/kuLX3wcQN4" - Set-Cookie: - - did=s%3Av0%3Ac7c670e0-0cf3-11ec-8fcc-b1ac7dd7e8e6.SMKCwsFbZxS1wgznun%2Bc4MrNN8Yb7eXSJYergKRIbm4; - Max-Age=31557600; Path=/; Expires=Sun, 04 Sep 2022 02:16:10 GMT; HttpOnly; - Secure; SameSite=None - - did_compat=s%3Av0%3Ac7c670e0-0cf3-11ec-8fcc-b1ac7dd7e8e6.SMKCwsFbZxS1wgznun%2Bc4MrNN8Yb7eXSJYergKRIbm4; - Max-Age=31557600; Path=/; Expires=Sun, 04 Sep 2022 02:16:11 GMT; HttpOnly; - Secure - Strict-Transport-Security: - - max-age=31536000 - Vary: - - Accept-Encoding, Origin - Cf-Cache-Status: - - DYNAMIC - Access-Control-Allow-Credentials: - - 'false' - Access-Control-Expose-Headers: - - X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a783fa1aeb79 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 73ed236e3e952604 - Ot-Tracer-Traceid: - - 75dde96b4f4143d1 - X-Auth0-Requestid: - - 46bd91e5c530f4b3a9f7 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '10' - X-Ratelimit-Remaining: - - '9' - X-Ratelimit-Reset: - - '1630700231' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: We've just sent you an email to reset your password. - recorded_at: Fri, 03 Sep 2021 20:16:10 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_fail_with_an_incorrect_email.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_fail_with_an_incorrect_email.yml deleted file mode 100644 index fdb3561c0..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_fail_with_an_incorrect_email.yml +++ /dev/null @@ -1,85 +0,0 @@ ---- -http_interactions: -- request: - method: post - uri: https://auth0-sdk-tests.auth0.com/oauth/token - body: - encoding: UTF-8 - string: '{"username":"rubytest-210908-username-1@auth0.com_invalid","password":"23kejn2jk3en2jke2jk3be2jk3ber","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_secret":"CLIENT_SECRET","scope":"openid","grant_type":"password"}' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '273' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 403 - message: Forbidden - headers: - Date: - - Fri, 03 Sep 2021 20:16:12 GMT - Content-Type: - - application/json - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a78eaa9d04b4-LAX - Cache-Control: - - private, no-store, no-cache, must-revalidate, post-check=0, pre-check=0, no-transform - Set-Cookie: - - did=s%3Av0%3Ac8c67bc0-0cf3-11ec-a06b-fb16f7884f9b.SifCcrmcjM8PKlpAAH8qLYoWeyeN%2FqvtDC0ZweexKDY; - Max-Age=31557600; Path=/; Expires=Sun, 04 Sep 2022 02:16:12 GMT; HttpOnly; - Secure; SameSite=None - - did_compat=s%3Av0%3Ac8c67bc0-0cf3-11ec-a06b-fb16f7884f9b.SifCcrmcjM8PKlpAAH8qLYoWeyeN%2FqvtDC0ZweexKDY; - Max-Age=31557600; Path=/; Expires=Sun, 04 Sep 2022 02:16:12 GMT; HttpOnly; - Secure - Strict-Transport-Security: - - max-age=31536000 - Vary: - - Accept-Encoding, Origin - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a78eaa9d04b4 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 238a8dd0640d43a0 - Ot-Tracer-Traceid: - - 431cac8f77136f2c - X-Auth0-Requestid: - - b0a5dc12c514c43e1e72 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '100' - X-Ratelimit-Remaining: - - '97' - X-Ratelimit-Reset: - - '1630702765' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"error":"invalid_grant","error_description":"Wrong email or password."}' - recorded_at: Fri, 03 Sep 2021 20:16:12 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_fail_with_an_incorrect_password.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_fail_with_an_incorrect_password.yml deleted file mode 100644 index c8a3d0983..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_fail_with_an_incorrect_password.yml +++ /dev/null @@ -1,85 +0,0 @@ ---- -http_interactions: -- request: - method: post - uri: https://auth0-sdk-tests.auth0.com/oauth/token - body: - encoding: UTF-8 - string: '{"username":"rubytest-210908-username-1@auth0.com","password":"23kejn2jk3en2jke2jk3be2jk3ber_invalid","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_secret":"CLIENT_SECRET","scope":"openid","grant_type":"password"}' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '273' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 403 - message: Forbidden - headers: - Date: - - Fri, 03 Sep 2021 20:16:13 GMT - Content-Type: - - application/json - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a7909a3d0530-LAX - Cache-Control: - - private, no-store, no-cache, must-revalidate, post-check=0, pre-check=0, no-transform - Set-Cookie: - - did=s%3Av0%3Ac8f6b380-0cf3-11ec-9d25-4bf507f98d94.d6L80rutoTPSmv9XC2R7DPJl5KSUnlZAB%2FcTap6lKm4; - Max-Age=31557600; Path=/; Expires=Sun, 04 Sep 2022 02:16:12 GMT; HttpOnly; - Secure; SameSite=None - - did_compat=s%3Av0%3Ac8f6b380-0cf3-11ec-9d25-4bf507f98d94.d6L80rutoTPSmv9XC2R7DPJl5KSUnlZAB%2FcTap6lKm4; - Max-Age=31557600; Path=/; Expires=Sun, 04 Sep 2022 02:16:13 GMT; HttpOnly; - Secure - Strict-Transport-Security: - - max-age=31536000 - Vary: - - Accept-Encoding, Origin - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7909a3d0530 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 16bebfba4e1fa102 - Ot-Tracer-Traceid: - - 13743fb227610c73 - X-Auth0-Requestid: - - 6cf36d3579971bd6c4b9 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '100' - X-Ratelimit-Remaining: - - '96' - X-Ratelimit-Reset: - - '1630703629' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"error":"invalid_grant","error_description":"Wrong email or password."}' - recorded_at: Fri, 03 Sep 2021 20:16:13 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_fail_with_an_invalid_audience.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_fail_with_an_invalid_audience.yml deleted file mode 100644 index 0e255f5b0..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_fail_with_an_invalid_audience.yml +++ /dev/null @@ -1,86 +0,0 @@ ---- -http_interactions: -- request: - method: post - uri: https://auth0-sdk-tests.auth0.com/oauth/token - body: - encoding: UTF-8 - string: '{"username":"rubytest-210908-username-1@auth0.com","password":"23kejn2jk3en2jke2jk3be2jk3ber","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_secret":"CLIENT_SECRET","scope":"test:scope","audience":"https://brucke.club/invalid/api/v1/","grant_type":"password"}' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '318' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 400 - message: Bad Request - headers: - Date: - - Fri, 03 Sep 2021 20:16:13 GMT - Content-Type: - - application/json - Content-Length: - - '104' - Connection: - - keep-alive - Cf-Ray: - - 6891a794fdc45251-LAX - Cache-Control: - - private, no-store, no-cache, must-revalidate, post-check=0, pre-check=0, no-transform - Set-Cookie: - - did=s%3Av0%3Ac9613520-0cf3-11ec-8999-619415867d7d.ko8DJYu1RDBGsrmNAoLhW%2Fzzg4uXXxVhAGlZqlMFJfQ; - Max-Age=31557600; Path=/; Expires=Sun, 04 Sep 2022 02:16:13 GMT; HttpOnly; - Secure; SameSite=None - - did_compat=s%3Av0%3Ac9613520-0cf3-11ec-8999-619415867d7d.ko8DJYu1RDBGsrmNAoLhW%2Fzzg4uXXxVhAGlZqlMFJfQ; - Max-Age=31557600; Path=/; Expires=Sun, 04 Sep 2022 02:16:13 GMT; HttpOnly; - Secure - Strict-Transport-Security: - - max-age=31536000 - Vary: - - Origin, Accept-Encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a794fdc45251 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 544dccce2b60c403 - Ot-Tracer-Traceid: - - 4de0c0937ff7c4ed - X-Auth0-Requestid: - - 25d6b1d98c7216c1d4ec - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '100' - X-Ratelimit-Remaining: - - '95' - X-Ratelimit-Reset: - - '1630704494' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: UTF-8 - string: '{"error":"invalid_request","error_description":"invalid audience specified - for password grant exchange"}' - recorded_at: Fri, 03 Sep 2021 20:16:13 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_login_successfully_with_a_custom_audience.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_login_successfully_with_a_custom_audience.yml deleted file mode 100644 index be0187450..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_login_successfully_with_a_custom_audience.yml +++ /dev/null @@ -1,87 +0,0 @@ ---- -http_interactions: -- request: - method: post - uri: https://auth0-sdk-tests.auth0.com/oauth/token - body: - encoding: UTF-8 - string: '{"username":"rubytest-210908-username-1@auth0.com","password":"23kejn2jk3en2jke2jk3be2jk3ber","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_secret":"CLIENT_SECRET","scope":"test:scope","audience":"https://brucke.club/custom/api/v1/","grant_type":"password"}' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '317' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:14 GMT - Content-Type: - - application/json - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a7970af50d54-LAX - Cache-Control: - - no-store - Set-Cookie: - - did=s%3Av0%3Ac99cb780-0cf3-11ec-86df-6d45ff24e154.p2QWc%2BSpGZ7AKfiCBAqs%2Bi35A0N1P1v0a4mZmrG8duI; - Max-Age=31557600; Path=/; Expires=Sun, 04 Sep 2022 02:16:14 GMT; HttpOnly; - Secure; SameSite=None - - did_compat=s%3Av0%3Ac99cb780-0cf3-11ec-86df-6d45ff24e154.p2QWc%2BSpGZ7AKfiCBAqs%2Bi35A0N1P1v0a4mZmrG8duI; - Max-Age=31557600; Path=/; Expires=Sun, 04 Sep 2022 02:16:14 GMT; HttpOnly; - Secure - Strict-Transport-Security: - - max-age=31536000 - Vary: - - Accept-Encoding, Origin - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7970af50d54 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 230c3516298cd465 - Ot-Tracer-Traceid: - - 6d26f2773b54cd0b - Pragma: - - no-cache - X-Auth0-Requestid: - - 9142575d183e082d8781 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '100' - X-Ratelimit-Remaining: - - '94' - X-Ratelimit-Reset: - - '1630705359' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"access_token":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6Ik56QkZRa0pGT1VKQk1rRTBOekF6TWtWQk1EUkZSVU5DUlRaQ01rTXhOVFV5UVRCR1EwUXpNUSJ9.eyJpc3MiOiJodHRwczovL2F1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20vIiwic3ViIjoiYXV0aDB8NjEzMjgyOGE0MDdlYzYwMDY5MzVhODU4IiwiYXVkIjoiaHR0cHM6Ly9icnVja2UuY2x1Yi9jdXN0b20vYXBpL3YxLyIsImlhdCI6MTYzMDcwMDE3NCwiZXhwIjoxNjMwNzg2NTc0LCJhenAiOiIyY25XdXVnNnphRlgxajBnZTFQOTlqQVVuMEY0WFN1SSIsInNjb3BlIjoidGVzdDpzY29wZSIsImd0eSI6InBhc3N3b3JkIn0.HeJYUUUxJfAWd6oTSYBKj4dzo7jNIFT7TTNs1Y3fnKQmMZFJ5J6FnPpbWXiDvukLJfEGirGmfITNCirgsV-bYo8RuAL0NAV5wbDLW5EU0YD22cmf7JQQ4QH9m4tyYY26kU_aKmN6I2kg5KCEO6J2qdp8fpXSdWw-X5-S1Pwpo1MvpR_pbIjrUdYwaTkk_VTIpBlUKOj3mfPSpJ7Eoa_PoreqJ0_5-FvpPIp8uHdC_tD0GBZ0xJpsb7joR160dsqCVMXy-KPrhs3B4h14rctMzlY9wAKC1HV9g6ti8MK7Dboscl53fIYc22PxkYjJUBEkDEzem7kvZBX2NyXxSSwctQ","scope":"test:scope","expires_in":86400,"token_type":"Bearer"}' - recorded_at: Fri, 03 Sep 2021 20:16:14 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_login_successfully_with_a_default_scope.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_login_successfully_with_a_default_scope.yml deleted file mode 100644 index ec312d059..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_login_with_resource_owner/should_login_successfully_with_a_default_scope.yml +++ /dev/null @@ -1,88 +0,0 @@ ---- -http_interactions: -- request: - method: post - uri: https://auth0-sdk-tests.auth0.com/oauth/token - body: - encoding: UTF-8 - string: '{"username":"rubytest-210908-username-1@auth0.com","password":"23kejn2jk3en2jke2jk3be2jk3ber","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_secret":"CLIENT_SECRET","scope":"openid","grant_type":"password"}' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '265' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:13 GMT - Content-Type: - - application/json - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a7927c93eadb-LAX - Cache-Control: - - no-store - Set-Cookie: - - did=s%3Av0%3Ac92c4270-0cf3-11ec-9769-a5abdd7a9990.6kGZWl%2Fd%2FcT5PTgp0aTFB%2BWCc0hnBg1vX6wC6nI%2ByMY; - Max-Age=31557600; Path=/; Expires=Sun, 04 Sep 2022 02:16:13 GMT; HttpOnly; - Secure; SameSite=None - - did_compat=s%3Av0%3Ac92c4270-0cf3-11ec-9769-a5abdd7a9990.6kGZWl%2Fd%2FcT5PTgp0aTFB%2BWCc0hnBg1vX6wC6nI%2ByMY; - Max-Age=31557600; Path=/; Expires=Sun, 04 Sep 2022 02:16:13 GMT; HttpOnly; - Secure - Strict-Transport-Security: - - max-age=31536000 - Vary: - - Accept-Encoding, Origin - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7927c93eadb - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 7a53b6c865ebc42d - Ot-Tracer-Traceid: - - 16429f0f08982981 - Pragma: - - no-cache - X-Auth0-Requestid: - - d07579c158f08da90e7a - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '100' - X-Ratelimit-Remaining: - - '95' - X-Ratelimit-Reset: - - '1630704494' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"access_token":"PPlGNh1wLQbJznsdLCx5XFb04ZPKzPxL","id_token":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6Ik56QkZRa0pGT1VKQk1rRTBOekF6TWtWQk1EUkZSVU5DUlRaQ01rTXhOVFV5UVRCR1EwUXpNUSJ9.eyJuaWNrbmFtZSI6InJ1Ynl0ZXN0LTIxMDkwOC11c2VybmFtZS0xIiwibmFtZSI6InJ1Ynl0ZXN0LTIxMDkwOC11c2VybmFtZS0xQGF1dGgwLmNvbSIsInBpY3R1cmUiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci85ZjNkNTJmZDA3Mjc5MjkwMzQ2MmZiYjAwNjc2YTZjNT9zPTQ4MCZyPXBnJmQ9aHR0cHMlM0ElMkYlMkZjZG4uYXV0aDAuY29tJTJGYXZhdGFycyUyRnJ1LnBuZyIsInVwZGF0ZWRfYXQiOiIyMDIxLTA5LTAzVDIwOjE2OjEzLjQyN1oiLCJlbWFpbCI6InJ1Ynl0ZXN0LTIxMDkwOC11c2VybmFtZS0xQGF1dGgwLmNvbSIsImVtYWlsX3ZlcmlmaWVkIjpmYWxzZSwiaXNzIjoiaHR0cHM6Ly9hdXRoMC1zZGstdGVzdHMuYXV0aDAuY29tLyIsInN1YiI6ImF1dGgwfDYxMzI4MjhhNDA3ZWM2MDA2OTM1YTg1OCIsImF1ZCI6IjJjbld1dWc2emFGWDFqMGdlMVA5OWpBVW4wRjRYU3VJIiwiaWF0IjoxNjMwNzAwMTczLCJleHAiOjE2MzA3MzYxNzN9.rTIqucbfo_ftiDHM_l12Saas3OGIrxmZAsGKIHPkbYKC24Tx2aoB6uctPQA5kMIus31bii3Uhr4hqv6qmLuKeiQUYtGe7piUQ1JFz9gxHLqCT6EFT_PRueUiH6E4KJJ6TnXRCPzvvwsUBgUnTyLVbFS0LDDzvzgRU24f0ctoe2g2y4BsBEDJ1sHFxn8W8RxhgSmWJDJUzW-mTktbojywzivT9cun0B_ptcoUXY63ZlUzAhHc0BuJFgJiCUn88id6taYhCxokuUn5KAmX3ZHcVkodEaeeB0If_z9OrKl3jjRr9qx5tc8kmBkggBqSsAqHrFg6mu7bvDvJpYmUn18wUQ","scope":"openid - profile email address phone","expires_in":86400,"token_type":"Bearer"}' - recorded_at: Fri, 03 Sep 2021 20:16:13 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_saml_metadata/should_retrieve_SAML_metadata.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_saml_metadata/should_retrieve_SAML_metadata.yml deleted file mode 100644 index fd8306a50..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_saml_metadata/should_retrieve_SAML_metadata.yml +++ /dev/null @@ -1,110 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/samlp/metadata/2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:11 GMT - Content-Type: - - application/xml; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a7858af95371-LAX - Cache-Control: - - private, no-store, no-cache, must-revalidate, post-check=0, pre-check=0, no-transform - Content-Disposition: - - attachment; filename="auth0-sdk-tests_auth0_com-metadata.xml" - Etag: - - W/"ddc-QAFQXB4gmA9zvcgzXuOGTsv019o" - Set-Cookie: - - did=s%3Av0%3Ac7e877d0-0cf3-11ec-8236-31d73f477009.ivDCeyWDcjHFz3Ua9lFzycgG2Y01%2B20JnCLA3vDYkc8; - Max-Age=31557600; Path=/; Expires=Sun, 04 Sep 2022 02:16:11 GMT; HttpOnly; - Secure; SameSite=None - - did_compat=s%3Av0%3Ac7e877d0-0cf3-11ec-8236-31d73f477009.ivDCeyWDcjHFz3Ua9lFzycgG2Y01%2B20JnCLA3vDYkc8; - Max-Age=31557600; Path=/; Expires=Sun, 04 Sep 2022 02:16:11 GMT; HttpOnly; - Secure - Strict-Transport-Security: - - max-age=31536000 - Vary: - - Accept-Encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7858af95371 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 2090f6c0773871b2 - Ot-Tracer-Traceid: - - 0f1847b070de64f7 - X-Auth0-Requestid: - - dd19086c7c8610f0a34e - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '1000' - X-Ratelimit-Remaining: - - '999' - X-Ratelimit-Reset: - - '1630700172' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: |- - - - - - - MIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/BtxleksOTDF0s2t+AQleiJZnY= - - - - - - urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress - urn:oasis:names:tc:SAML:2.0:nameid-format:persistent - urn:oasis:names:tc:SAML:2.0:nameid-format:transient - - - - - - - - - - recorded_at: Fri, 03 Sep 2021 20:16:11 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_userinfo/should_fail_as_not_authorized.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_userinfo/should_fail_as_not_authorized.yml deleted file mode 100644 index 289b4c147..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_userinfo/should_fail_as_not_authorized.yml +++ /dev/null @@ -1,94 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/userinfo - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer invalid_token - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 401 - message: Unauthorized - headers: - Date: - - Fri, 03 Sep 2021 20:16:11 GMT - Content-Length: - - '12' - Connection: - - keep-alive - Cf-Ray: - - 6891a78868f23684-LAX - Access-Control-Allow-Origin: - - "*" - Cache-Control: - - private, no-store, no-cache, must-revalidate, post-check=0, pre-check=0, no-transform - Set-Cookie: - - did=s%3Av0%3Ac82d9720-0cf3-11ec-b24f-5b72afee6347.LHqhbJG1OPzEnwWI4nCbr6GP3cOK4iM8Tq51N9x9tys; - Max-Age=31557600; Path=/; Expires=Sun, 04 Sep 2022 02:16:11 GMT; HttpOnly; - Secure; SameSite=None - - did_compat=s%3Av0%3Ac82d9720-0cf3-11ec-b24f-5b72afee6347.LHqhbJG1OPzEnwWI4nCbr6GP3cOK4iM8Tq51N9x9tys; - Max-Age=31557600; Path=/; Expires=Sun, 04 Sep 2022 02:16:11 GMT; HttpOnly; - Secure - Strict-Transport-Security: - - max-age=31536000 - Vary: - - Origin, Accept-Encoding - Www-Authenticate: - - Bearer realm="Users", error="invalid_token", error_description="The access - token signature could not be validated. A common cause of this is requesting - multiple audiences for an access token signed with HS256, as that signature - scheme requires only a single recipient for its security. Please change your - API to employ RS256 if you wish to have multiple audiences for your access - tokens" - Cf-Cache-Status: - - DYNAMIC - Access-Control-Allow-Credentials: - - 'false' - Access-Control-Expose-Headers: - - X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a78868f23684 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 683fea2a5a32d53e - Ot-Tracer-Traceid: - - 2fc815f05373a807 - X-Auth0-Requestid: - - f44749ff28a010f70802 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '1000' - X-Ratelimit-Remaining: - - '999' - X-Ratelimit-Reset: - - '1630700172' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: UTF-8 - string: Unauthorized - recorded_at: Fri, 03 Sep 2021 20:16:11 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_userinfo/should_return_the_userinfo.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_userinfo/should_return_the_userinfo.yml deleted file mode 100644 index b7f743dee..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_userinfo/should_return_the_userinfo.yml +++ /dev/null @@ -1,176 +0,0 @@ ---- -http_interactions: -- request: - method: post - uri: https://auth0-sdk-tests.auth0.com/oauth/token - body: - encoding: UTF-8 - string: '{"username":"rubytest-210908-username-1@auth0.com","password":"23kejn2jk3en2jke2jk3be2jk3ber","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_secret":"CLIENT_SECRET","scope":"openid","grant_type":"password"}' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '265' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:12 GMT - Content-Type: - - application/json - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a789aab335ec-LAX - Cache-Control: - - no-store - Set-Cookie: - - did=s%3Av0%3Ac855b890-0cf3-11ec-9307-d930b0dd9517.HfDD99WIwJB%2Fq%2BeMy5YKl3jt6HoztY60OBO33nLIt4A; - Max-Age=31557600; Path=/; Expires=Sun, 04 Sep 2022 02:16:11 GMT; HttpOnly; - Secure; SameSite=None - - did_compat=s%3Av0%3Ac855b890-0cf3-11ec-9307-d930b0dd9517.HfDD99WIwJB%2Fq%2BeMy5YKl3jt6HoztY60OBO33nLIt4A; - Max-Age=31557600; Path=/; Expires=Sun, 04 Sep 2022 02:16:12 GMT; HttpOnly; - Secure - Strict-Transport-Security: - - max-age=31536000 - Vary: - - Accept-Encoding, Origin - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a789aab335ec - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 33afbaa96c6fbb6f - Ot-Tracer-Traceid: - - 70b5703717ee5187 - Pragma: - - no-cache - X-Auth0-Requestid: - - 7378b5d7fd1d2312bf0a - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '100' - X-Ratelimit-Remaining: - - '97' - X-Ratelimit-Reset: - - '1630702764' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"access_token":"z7xFtk3YVjjmtlncdYH9JD2raHngvpiQ","id_token":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6Ik56QkZRa0pGT1VKQk1rRTBOekF6TWtWQk1EUkZSVU5DUlRaQ01rTXhOVFV5UVRCR1EwUXpNUSJ9.eyJuaWNrbmFtZSI6InJ1Ynl0ZXN0LTIxMDkwOC11c2VybmFtZS0xIiwibmFtZSI6InJ1Ynl0ZXN0LTIxMDkwOC11c2VybmFtZS0xQGF1dGgwLmNvbSIsInBpY3R1cmUiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci85ZjNkNTJmZDA3Mjc5MjkwMzQ2MmZiYjAwNjc2YTZjNT9zPTQ4MCZyPXBnJmQ9aHR0cHMlM0ElMkYlMkZjZG4uYXV0aDAuY29tJTJGYXZhdGFycyUyRnJ1LnBuZyIsInVwZGF0ZWRfYXQiOiIyMDIxLTA5LTAzVDIwOjE2OjEyLjAyOVoiLCJlbWFpbCI6InJ1Ynl0ZXN0LTIxMDkwOC11c2VybmFtZS0xQGF1dGgwLmNvbSIsImVtYWlsX3ZlcmlmaWVkIjpmYWxzZSwiaXNzIjoiaHR0cHM6Ly9hdXRoMC1zZGstdGVzdHMuYXV0aDAuY29tLyIsInN1YiI6ImF1dGgwfDYxMzI4MjhhNDA3ZWM2MDA2OTM1YTg1OCIsImF1ZCI6IjJjbld1dWc2emFGWDFqMGdlMVA5OWpBVW4wRjRYU3VJIiwiaWF0IjoxNjMwNzAwMTcyLCJleHAiOjE2MzA3MzYxNzJ9.DCwwRO7P1KbV279P_9vgI6rZfV1PdYlGWMV91qloVmgo08CNBH0z0_0zIJqzi2tnwmBTXSxPgIahSU6lrwrxEoYUwbSJhKXlWeJ7I-VRaQc4bonMLIPpEp9HOifO2nQ59Ar-QlramV9k8v8FhzsGkp80ddT1SM-8eKOiP7NJ7i27FJFn4z1xskoDTHoJKObYYIScE2WGQSjVpRCAvv0Re5EO5iHZVJAgXHcx5Kvl63XM4doYUHve89p6a3eUDXJGjkDuiGxEI2uNrmGvFCPPmBROzzXLUxcN_iPEf2asJeWXfUKj_sfbG_r0PLeiekBVmW7eH8Dnq7zeUfBrjtywQg","scope":"openid - profile email address phone","expires_in":86400,"token_type":"Bearer"}' - recorded_at: Fri, 03 Sep 2021 20:16:12 GMT -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/userinfo - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer z7xFtk3YVjjmtlncdYH9JD2raHngvpiQ - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:12 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a78ce8f6058d-LAX - Access-Control-Allow-Origin: - - "*" - Cache-Control: - - private, no-store, no-cache, must-revalidate, post-check=0, pre-check=0, no-transform - Etag: - - W/"173-nhv1o7vxeuidrVp4r3jIW/zfwfU" - Set-Cookie: - - did=s%3Av0%3Ac8a1b5b0-0cf3-11ec-89d4-81c3fc4f1116.a4OZZtan83eKDQGbVuAamYhFnxUxCmSxaywhlpxym%2FI; - Max-Age=31557600; Path=/; Expires=Sun, 04 Sep 2022 02:16:12 GMT; HttpOnly; - Secure; SameSite=None - - did_compat=s%3Av0%3Ac8a1b5b0-0cf3-11ec-89d4-81c3fc4f1116.a4OZZtan83eKDQGbVuAamYhFnxUxCmSxaywhlpxym%2FI; - Max-Age=31557600; Path=/; Expires=Sun, 04 Sep 2022 02:16:12 GMT; HttpOnly; - Secure - Strict-Transport-Security: - - max-age=31536000 - Vary: - - Accept-Encoding, Origin - Cf-Cache-Status: - - DYNAMIC - Access-Control-Allow-Credentials: - - 'false' - Access-Control-Expose-Headers: - - X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a78ce8f6058d - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 2760a25361e78876 - Ot-Tracer-Traceid: - - 7353e8bd7cf953c2 - X-Auth0-Requestid: - - 691d95625950532f6b1e - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '10' - X-Ratelimit-Remaining: - - '9' - X-Ratelimit-Reset: - - '1630700185' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"sub":"auth0|6132828a407ec6006935a858","nickname":"rubytest-210908-username-1","name":"rubytest-210908-username-1@auth0.com","picture":"https://s.gravatar.com/avatar/9f3d52fd072792903462fbb00676a6c5?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fru.png","updated_at":"2021-09-03T20:16:12.029Z","email":"rubytest-210908-username-1@auth0.com","email_verified":false}' - recorded_at: Fri, 03 Sep 2021 20:16:12 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_wsfed_metadata/should_retrieve_WSFED_metadata.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_wsfed_metadata/should_retrieve_WSFED_metadata.yml deleted file mode 100644 index 1af2201d1..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/_wsfed_metadata/should_retrieve_WSFED_metadata.yml +++ /dev/null @@ -1,98 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/wsfed/FederationMetadata/2007-06/FederationMetadata.xml - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:11 GMT - Content-Type: - - application/xml; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a787099eeaec-LAX - Cache-Control: - - private, no-store, no-cache, must-revalidate, post-check=0, pre-check=0, no-transform - Etag: - - W/"1288-nyG3YT/S2RvnHR+Y2UN7iraUe50" - Set-Cookie: - - did=s%3Av0%3Ac80cc8b0-0cf3-11ec-b965-1350af3d7915.dcN26n9CYwn7n8pERtrxk8u7AzWxUS1WurysMFR%2BAPs; - Max-Age=31557600; Path=/; Expires=Sun, 04 Sep 2022 02:16:11 GMT; HttpOnly; - Secure; SameSite=None - - did_compat=s%3Av0%3Ac80cc8b0-0cf3-11ec-b965-1350af3d7915.dcN26n9CYwn7n8pERtrxk8u7AzWxUS1WurysMFR%2BAPs; - Max-Age=31557600; Path=/; Expires=Sun, 04 Sep 2022 02:16:11 GMT; HttpOnly; - Secure - Strict-Transport-Security: - - max-age=31536000 - Vary: - - Accept-Encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a787099eeaec - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 5dbc184a6b4da3bf - Ot-Tracer-Traceid: - - 5039f1ff291e9eaa - X-Auth0-Requestid: - - '09ff369bd4cf60e379c0' - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '1000' - X-Ratelimit-Remaining: - - '999' - X-Ratelimit-Reset: - - '1630700172' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: MIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/BtxleksOTDF0s2t+AQleiJZnY= E-Mail - Address The e-mail address of - the user Given - Name The given name of the user Name The - unique name of the user Surname The - surname of the user Name - ID The SAML name identifier of - the user UPN The - user principal name (UPN) of the user Group A - group that the user is a member of
https://auth0-sdk-tests.auth0.com/wsfed
- recorded_at: Fri, 03 Sep 2021 20:16:11 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/create_test_user.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/create_test_user.yml deleted file mode 100644 index 141d47ca6..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/create_test_user.yml +++ /dev/null @@ -1,93 +0,0 @@ ---- -http_interactions: -- request: - method: post - uri: https://auth0-sdk-tests.auth0.com/dbconnections/signup - body: - encoding: UTF-8 - string: '{"email":"rubytest-210908-username-1@auth0.com","password":"23kejn2jk3en2jke2jk3be2jk3ber","connection":"Username-Password-Authentication","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI"}' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '186' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:10 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a7814f260d3c-LAX - Access-Control-Allow-Origin: - - "*" - Cache-Control: - - private, no-store, no-cache, must-revalidate, post-check=0, pre-check=0, no-transform - Etag: - - W/"68-P6s284boszZ0JEXSXqoN6Xq3XSE" - Set-Cookie: - - did=s%3Av0%3Ac78dada0-0cf3-11ec-ba29-7f8a5486a79f.V9rDE%2F5keDd2A0QXZ%2BlumrIzRhDrvAqnQo1qpIog%2B48; - Max-Age=31557600; Path=/; Expires=Sun, 04 Sep 2022 02:16:10 GMT; HttpOnly; - Secure; SameSite=None - - did_compat=s%3Av0%3Ac78dada0-0cf3-11ec-ba29-7f8a5486a79f.V9rDE%2F5keDd2A0QXZ%2BlumrIzRhDrvAqnQo1qpIog%2B48; - Max-Age=31557600; Path=/; Expires=Sun, 04 Sep 2022 02:16:10 GMT; HttpOnly; - Secure - Strict-Transport-Security: - - max-age=31536000 - Vary: - - Accept-Encoding, Origin - Cf-Cache-Status: - - DYNAMIC - Access-Control-Allow-Credentials: - - 'false' - Access-Control-Expose-Headers: - - X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7814f260d3c - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 05e2c0e600c6e89a - Ot-Tracer-Traceid: - - 3e94592948180616 - X-Auth0-Requestid: - - 7697ff952c7488416624 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700172' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"_id":"6132828a407ec6006935a858","email_verified":false,"email":"rubytest-210908-username-1@auth0.com"}' - recorded_at: Fri, 03 Sep 2021 20:16:10 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/delete_test_user.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/delete_test_user.yml deleted file mode 100644 index 1c657c301..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_AuthenticationEndpoints/delete_test_user.yml +++ /dev/null @@ -1,72 +0,0 @@ ---- -http_interactions: -- request: - method: delete - uri: https://auth0-sdk-tests.auth0.com/api/v2/users/auth0%7C6132828a407ec6006935a858 - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 204 - message: No Content - headers: - Date: - - Fri, 03 Sep 2021 20:16:14 GMT - Content-Type: - - application/json; charset=utf-8 - Connection: - - keep-alive - Cf-Ray: - - 6891a7997c2a3609-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7997c2a3609 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 1fd625fa368da82f - Ot-Tracer-Traceid: - - 239112363e8b8a0a - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700175' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: UTF-8 - string: '' - recorded_at: Fri, 03 Sep 2021 20:16:14 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Blacklists/_add_token_to_blacklist/should_add_a_token_to_the_blacklist.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Blacklists/_add_token_to_blacklist/should_add_a_token_to_the_blacklist.yml deleted file mode 100644 index dc7117880..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Blacklists/_add_token_to_blacklist/should_add_a_token_to_the_blacklist.yml +++ /dev/null @@ -1,74 +0,0 @@ ---- -http_interactions: -- request: - method: post - uri: https://auth0-sdk-tests.auth0.com/api/v2/blacklists/tokens - body: - encoding: UTF-8 - string: '{"jti":"faketoken","aud":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI"}' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '60' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 204 - message: No Content - headers: - Date: - - Fri, 03 Sep 2021 20:16:14 GMT - Content-Type: - - application/json; charset=utf-8 - Connection: - - keep-alive - Cf-Ray: - - 6891a79b2d730d50-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a79b2d730d50 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 7ad121b85ac87789 - Ot-Tracer-Traceid: - - 42b446981bf821d1 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700175' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: UTF-8 - string: '' - recorded_at: Fri, 03 Sep 2021 20:16:14 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Blacklists/_blacklisted_tokens/should_get_the_added_token_from_the_blacklist.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Blacklists/_blacklisted_tokens/should_get_the_added_token_from_the_blacklist.yml deleted file mode 100644 index cad6a453a..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Blacklists/_blacklisted_tokens/should_get_the_added_token_from_the_blacklist.yml +++ /dev/null @@ -1,74 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/blacklists/tokens - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:14 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a79c8a02eb49-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a79c8a02eb49 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 66ccbc0a19687b1c - Ot-Tracer-Traceid: - - 6fae2cfb0d35abcf - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700175' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '[{"aud":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","jti":"faketoken"},{"aud":"B4oPHl007Va1GBdZXiSHaECUqVWkd9Xk","jti":"faketoken"},{"aud":"WrzucugfsIb3oXl0Hnc8kq3BXkPFp7Hd","jti":"faketoken"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8059c9961cd5d8059c9961fe5d8059c99620a"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d805c8d7b6fa5d805c8d7b7165d805c8d7b71e"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d805cecc24625d805cecc24925d805cecc249f"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d805d0f7bab05d805d0f7baed5d805d0f7bb0e"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d805d2df14055d805d2df14375d805d2df146b"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d805eafa41115d805eafa411e5d805eafa412a"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d805ec1346295d805ec1346365d805ec13463f"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d805f22ad7835d805f22ad7ab5d805f22ad7b4"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d805f9fa51ed5d805f9fa521e5d805f9fa522a"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8061a94f4fc5d8061a94f5375d8061a94f572"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8061b1309245d8061b1309615d8061b13099c"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8061ce1a97a5d8061ce1a9b65d8061ce1a9f1"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d806218df4a25d806218df4e25d806218df522"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d813b6b848b45d813b6b848ca5d813b6b848d2"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d813cd0c82045d813cd0c82405d813cd0c827b"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d813cdaabac15d813cdaabafe5d813cdaabb39"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d813cdb3d55e5d813cdb3d59a5d813cdb3d5d4"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d813d993e5b65d813d993e5f25d813d993e62d"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d813d9ec555c5d813d9ec55985d813d9ec55d2"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d813da0d0bbf5d813da0d0bfb5d813da0d0c35"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d813ebe5ef6f5d813ebe5efaf5d813ebe5efef"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d813f6bafd585d813f6bafd945d813f6bafdcf"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d814430c86ed5d814430c87295d814430c8764"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d814508de1b45d814508de1ef5d814508de229"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d81450d46e2d5d81450d46e6a5d81450d46ea5"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8145139b73e5d8145139b77a5d8145139b7b4"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8147fdc445f5d8147fdc449c5d8147fdc44d8"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d81487e87b195d81487e87d8b5d81487e87dd4"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d81489c62d2f5d81489c62d6b5d81489c62da6"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d827567121ac5d827567121ec5d8275671222a"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d827573e444c5d827573e44895d827573e44c3"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d827582d05aa5d827582d05e65d827582d0621"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8275dbe9f085d8275dbe9f445d8275dbe9f7e"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d82763a3c7f65d82763a3c8325d82763a3c86d"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d82939b295d35d82939b2960f5d82939b29649"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8293a9c9e545d8293a9c9e925d8293a9c9ece"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8293b21143d5d8293b2114785d8293b2114b2"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8293f085fcb5d8293f0860075d8293f086041"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8293f6ecc6c5d8293f6eccab5d8293f6ecce9"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d82940a5a18f5d82940a5a1cc5d82940a5a209"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d82940fdcabd5d82940fdcaf95d82940fdcb33"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d829449929615d8294499299d5d829449929d8"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d82944e079b55d82944e079f65d82944e07a35"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8295f2ddd255d8295f2ddd615d8295f2ddd9e"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d82964fa4b095d82964fa4b445d82964fa4b7f"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8296ca845655d8296ca845a15d8296ca845db"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d82992e9ab6e5d82992e9abb05d82992e9abf0"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d83fade6d70e5d83fade6d74a5d83fade6d785"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d83fae1a5ab55d83fae1a5af15d83fae1a5b2b"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d83faf9eeba05d83faf9eebdc5d83faf9eec17"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d83fb39365c35d83fb39365fe5d83fb3936638"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d83fb448497c5d83fb44849b95d83fb44849f3"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d83fb53759775d83fb53759b35d83fb53759ed"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d83fd5c6b5af5d83fd5c6b5d55d83fd5c6b5e4"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8400433d6875d8400433d6a75d8400433d6b8"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8401ba2ad295d8401ba2ad535d8401ba2ad5b"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8402551762f5d840255176375d8402551764c"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d84032d5d7945d84032d5d7d25d84032d5d80d"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d84033684b575d84033684b925d84033684bce"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d84038d081505d84038d0818c5d84038d081c7"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d840eebe3fee5d840eebe40175d840eebe4020"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d84163765e795d84163765e965d84163765e9d"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d841724d88325d841724d88725d841724d88b1"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d841777e18ce5d841777e19275d841777e194a"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d841781882865d841781882c45d841781882ff"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8417cb341335d8417cb3416f5d8417cb341aa"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d851797a82c35d851797a82ed5d851797a82f5"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8519e33493e5d8519e33497a5d8519e3349b6"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8519e9bc2b55d8519e9bc2f15d8519e9bc32b"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8519eb1007f5d8519eb100bb5d8519eb100f5"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d851a75567f95d851a75568365d851a7556871"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d851b4c2c3825d851b4c2c3be5d851b4c2c3f8"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d851b50ed05e5d851b50ed09a5d851b50ed0d5"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d851b549365f5d851b549369a5d851b54936d4"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d851bc026a265d851bc026a655d851bc026aa3"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d851cae739505d851cae739925d851cae739eb"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d851f64d52de5d851f64d531a5d851f64d5355"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d851f6c560e45d851f6c5611f5d851f6c56159"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d851f77135545d851f77135905d851f77135cb"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8520078ebc35d8520078ebff5d8520078ec39"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d85200c5f8265d85200c5f8635d85200c5f89e"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8520dab0c135d8520dab0c4f5d8520dab0c8a"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8520fb2c9c65d8520fb2ca015d8520fb2ca3c"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d852112dd0da5d852112dd1165d852112dd150"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d852161783a35d852161783df5d8521617841a"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8521b71fdcc5d8521b71fe085d8521b71fe42"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d85248e8d3895d85248e8d3c55d85248e8d400"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d85249865b8d5d85249865bc95d85249865c03"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8524afd37fd5d8524afd38395d8524afd3874"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d852507d2ff15d852507d302d5d852507d3068"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d85259d1cfc05d85259d1cffc5d85259d1d037"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8525ab3f9ad5d8525ab3f9f35d8525ab3fa3b"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8525adade7a5d8525adadeb55d8525adadef0"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8525db6d8b55d8525db6d8f35d8525db6d92e"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8525db8f4305d8525db8f46b5d8525db8f4a5"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8525f57df1b5d8525f57df575d8525f57df92"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d85263c237de5d85263c2381b5d85263c23855"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d85272ba2f2f5d85272ba2f6a5d85272ba2fa5"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d85287e371865d85287e371c25d85287e371fd"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d85291e85cd75d85291e85d135d85291e85d4d"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d85291edc49e5d85291edc4dc5d85291edc517"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d85292727c0d5d85292727c485d85292727c83"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d852f664da3f5d852f664da485d852f664da50"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d852f66e66655d852f66e66715d852f66e6681"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d852fc20bc075d852fc20bc335d852fc20bc5c"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d852fcb13a6d5d852fcb13a895d852fcb13a9e"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d852fcc7ab395d852fcc7ab425d852fcc7ab4c"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d852fe3b2b305d852fe3b2b385d852fe3b2b41"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d852fe502b105d852fe502b2c5d852fe502b43"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8530a48d4fa5d8530a48d5275d8530a48d551"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d853102d56ad5d853102d56d75d853102d56df"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d853152d103e5d853152d10685d853152d1071"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d853153f2cb55d853153f2cbd5d853153f2cc6"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8531aa3781e5d8531aa3782b5d8531aa37839"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8531aaf31e85d8531aaf32125d8531aaf3219"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8531f8b8a285d8531f8b8a305d8531f8b8a38"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8531f976f325d8531f976f665d8531f976fa0"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d85328e944625d85328e944a45d85328e944e4"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d853296446075d853296446435d8532964467d"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d85329aef5b35d85329aef5f45d85329aef634"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8532bcdfd215d8532bcdfd5d5d8532bcdfd98"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d85332b5484d5d85332b548885d85332b548c3"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8533ab5d34b5d8533ab5d3875d8533ab5d3c2"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8533ad2db6f5d8533ad2dbb05d8533ad2dbef"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8533b52442b5d8533b5244665d8533b5244a1"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d853450e85a05d853450e85db5d853450e8615"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d85358be51935d85358be519f5d85358be51a8"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d85358c8f9b75d85358c8f9e15d85358c8f9ea"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8535f38c6565d8535f38c6635d8535f38c678"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8535f4272165d8535f4272365d8535f427297"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d85361ba6d875d85361ba6d8f5d85361ba6d97"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d85361c5058f5d85361c505b15d85361c505ba"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8536df852cb5d8536df8530d5d8536df85357"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8536dfc35fe5d8536dfc36405d8536dfc367f"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8536e01fd535d8536e01fd8e5d8536e01fdc9"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8538194121c5d853819412595d85381941293"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d85381ec14365d85381ec14725d85381ec14ad"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d853820df5415d853820df57d5d853820df5b7"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8538f9e0baa5d8538f9e0be65d8538f9e0c20"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d87acae476805d87acae476bb5d87acae476f6"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d87acb148e255d87acb148e615d87acb148e9b"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d87acbfd2c915d87acbfd2ccd5d87acbfd2d07"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d88f0d7516ee5d88f0d75172a5d88f0d751765"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d89061c1cadb5d89061c1cae45d89061c1caed"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d892a051c3615d892a051c39d5d892a051c3d7"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d892a0aa0efd5d892a0aa0f3a5d892a0aa0f75"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d892a11a8b785d892a11a8bb35d892a11a8bed"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d892a98d35585d892a98d35945d892a98d35cf"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d892aa582b295d892aa582b655d892aa582ba0"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d892aaed3ea35d892aaed3ee55d892aaed3f25"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d892bcbb47965d892bcbb479e5d892bcbb47a7"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d892c314940a5d892c31494205d892c3149431"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d892ee18a94b5d892ee18a9885d892ee18a9c2"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d892eec6f5225d892eec6f55e5d892eec6f599"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d892ef34cdff5d892ef34ce3b5d892ef34ce75"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8930407ed8f5d8930407edcc5d8930407ee08"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d893040afade5d893040afb195d893040afb53"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d893058d9d245d893058d9d605d893058d9d9a"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8931915575e5d893191557995d893191557b5"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8931c49af8d5d8931c49afc95d8931c49b003"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d89389d5dacd5d89389d5dad95d89389d5dae1"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8938f6f29465d8938f6f29865d8938f6f29c3"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d89393c738fd5d89393c7393a5d89393c73975"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8948c3eb86c5d8948c3eb8ac5d8948c3eb8eb"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8948fcce39e5d8948fcce3da5d8948fcce415"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d894a88173ae5d894a88173b65d894a88173be"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d894baa92ce95d894baa92d315d894baa92d6c"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d894bde3a80e5d894bde3a8495d894bde3a884"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8a1c0db5eb65d8a1c0db5ede5d8a1c0db5ef5"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8a1c851d4b25d8a1c851d4ed5d8a1c851d528"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8a1cc8bf3585d8a1cc8bf3945d8a1cc8bf3ce"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8a390ac48f05d8a390ac492b5d8a390ac4965"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8a3947236a95d8a3947236e55d8a394723727"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8a3986845c95d8a3986846055d8a398684640"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8a39cbcce0d5d8a39cbcce4a5d8a39cbcce85"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8a9ab0625a75d8a9ab0625e85d8a9ab0625fd"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8a9b1a656d85d8a9b1a657145d8a9b1a6574e"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8a9b5a2f2405d8a9b5a2f27d5d8a9b5a2f2b8"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8cd0f2e4e3b5d8cd0f2e4e765d8cd0f2e4eb0"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8cd128897a75d8cd128897e35d8cd1288981d"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8cd31e032385d8cd31e032755d8cd31e032af"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8cd3534ba1d5d8cd3534ba595d8cd3534ba94"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8cdbd8d284d5d8cdbd8d28895d8cdbd8d28c3"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8cdc0d376c25d8cdc0d376ff5d8cdc0d37739"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8cdc3ad06235d8cdc3ad064c5d8cdc3ad065c"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8cde52bc5995d8cde52bc5c35d8cde52bc5cb"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8cdeeaa56375d8cdeeaa56465d8cdeeaa5661"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8cdf58ba16e5d8cdf58ba1845d8cdf58ba193"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8ce0d3d71915d8ce0d3d71cc5d8ce0d3d7206"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8ce111d661a5d8ce111d665b5d8ce111d669a"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8ceb02456705d8ceb02456ab5d8ceb02456e5"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8ceb3b641995d8ceb3b641d55d8ceb3b6420f"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8ceb457b13d5d8ceb457b1795d8ceb457b1b4"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8ceb8c2df015d8ceb8c2df3c5d8ceb8c2df76"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8cebcc952735d8cebcc952af5d8cebcc952e9"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8cec65ab1755d8cec65ab1b05d8cec65ab1ea"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8cec866e7c25d8cec866e7fd5d8cec866e837"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8cec9d38ac85d8cec9d38b045d8cec9d38b3f"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8cecc0e4f805d8cecc0e4fbc5d8cecc0e4ff7"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8ceeea8cd2b5d8ceeea8cd665d8ceeea8cda3"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8cef2430cd75d8cef2430d135d8cef2430d54"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8cf8f6c6ad95d8cf8f6c6b145d8cf8f6c6b38"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d8cf935d559f5d8cf935d55db5d8cf935d5616"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d9cc504386785d9cc504386b45d9cc504386ee"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d9cc7198009a5d9cc719800d65d9cc71980111"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d9cdec3bbb5b5d9cdec3bbb975d9cdec3bbbd2"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d9cdf22ebfb95d9cdf22ebffa5d9cdf22ec039"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d9ce0dec1d205d9ce0dec1d5c5d9ce0dec1d97"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5d9ce1053edcf5d9ce1053ee0a5d9ce1053ee45"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5da5064cad7d55da5064cad8115da5064cad84a"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5da5067f52b1d5da5067f52b585da5067f52b93"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5da5076fb7d685da5076fb7d6b5da5076fb7d6f"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5da507baf0aab5da507baf0ab35da507baf0abc"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5da509d167d395da509d167d475da509d167d56"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5da50b3c3dccd5da50b3c3dced5da50b3c3dcf6"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5da50be92f7485da50be92f7645da50be92f76d"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5da50edd453975da50edd453d25da50edd4540d"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5da50f4b378b75da50f4b378c05da50f4b378c8"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5da50f696cea45da50f696cece5da50f696ced7"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5da50fb38902d5da50fb3890685da50fb3890a3"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5da5136039c025da5136039c2d5da5136039c69"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5da5139b88c085da5139b88c435da5139b88c7e"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5da51663444255da51663444365da5166344442"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5da51736757745da51736757915da51736757a8"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5da5182e5f51a5da5182e5f5555da5182e5f590"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5da51a1fddfac5da51a1fddfb45da51a1fddfbc"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5da5c6929ea065da5c6929ea455da5c6929ea82"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5da5c6e1941365da5c6e1941795da5c6e1941b4"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5da5df4db9da55da5df4db9dae5da5df4db9db7"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5da5e476d30295da5e476d30655da5e476d309f"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5da5e54dc47f45da5e54dc48185da5e54dc4820"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5da5eb37c5d835da5eb37c5dc05da5eb37c5dfb"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5da6598fab6d05da6598fab6ef5da6598fab706"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5da71913970ab5da71913970e75da7191397122"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5da719eaec56b5da719eaec5875da719eaec58f"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5da71b1c7d4905da71b1c7d49b5da71b1c7d4a3"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5da71d39345165da71d39345405da71d3934549"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5da71d9fa8b825da71d9fa8b8a5da71d9fa8b93"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5da72c028f2c25da72c028f2f65da72c028f309"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5da72dc5b0fbe5da72dc5b0fdc5da72dc5b0fe3"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5da72f391ebe75da72f391ebef5da72f391ebf6"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5da73016de65c5da73016de66d5da73016de67c"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5da78a718de0c5da78a718de2b5da78a718de32"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5da78b78026d25da78b78026db5da78b78026e4"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5da78cb3149115da78cb3149305da78cb314939"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5da78dd3af9fc5da78dd3afa005da78dd3afa04"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5da78ebdf22765da78ebdf22b25da78ebdf22ec"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5da79260b16c95da79260b16e35da79260b16f5"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5da7931be22b25da7931be22be5da7931be22c7"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5da795127e91c5da795127e9585da795127e992"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5da796d7b45445da796d7b45525da796d7b455f"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5da797e60decc5da797e60df085da797e60df43"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5da7b16088a5e5da7b16088a7c5da7b16088a85"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5da7b1e9dddb95da7b1e9dddf55da7b1e9dde30"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5da8ecbf76dac5da8ecbf76df05da8ecbf76df8"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5da8ed973202f5da8ed97320615da8ed973206e"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5da8ef3ab19045da8ef3ab190c5da8ef3ab1914"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5da8f08ad6c215da8f08ad6c5d5da8f08ad6c98"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5da8f52d930cb5da8f52d930f55da8f52d930fd"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5da8faf0d4ff35da8faf0d50115da8faf0d5018"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5da8fd00bbff15da8fd00bc0025da8fd00bc021"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5da8fd6978cbf5da8fd6978ccf5da8fd6978ce5"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5da8fdfaae26c5da8fdfaae27b5da8fdfaae287"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5da8fe1abddc25da8fe1abddd45da8fe1abdde1"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5da900d7a8bc45da900d7a8be45da900d7a8bec"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5da9016a34fbe5da9016a34feb5da9016a34ff2"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5da90428975a85da90428975e55da9042897620"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5daa5aadd2cd05daa5aadd2cfa5daa5aadd2d03"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dab2ffab4b985dab2ffab4bb75dab2ffab4bbf"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dac756fa41f65dac756fa421d5dac756fa423a"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dac92e8d8f765dac92e8d8f915dac92e8d8f99"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dac943a5e36a5dac943a5e3985dac943a5e3a5"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dac9981beec55dac9981beee45dac9981beeec"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dacb45e8cfef5dacb45e8d02b5dacb45e8d066"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dacb820291245dacb8202913f5dacb82029148"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dacb8a7361ad5dacb8a7361e85dacb8a736223"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dace002b4d4a5dace002b4d7f5dace002b4da1"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dace091386d65dace091387025dace09138722"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dace265d59355dace265d595a5dace265d5979"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dace2f837c4b5dace2f837c6f5dace2f837c8e"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dace3d4156935dace3d4156ce5dace3d415708"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dadcf2195cf75dadcf2195d005dadcf2195d07"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dadcf822bf915dadcf822bfce5dadcf822c009"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5db36ef1d56875db36ef1d56b15db36ef1d56b9"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5db36fcbf05e05db36fcbf06095db36fcbf0612"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5db36fe881cc15db36fe881ccf5db36fe881cdc"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5db3733465ab55db3733465ad05db3733465ad8"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5db3738b9ea3d5db3738b9ea795db3738b9eab3"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5db38d36814445db38d36814805db38d36814ba"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5db38e0b24e0b5db38e0b24e475db38e0b24e82"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5db89ee3d090c5db89ee3d09285db89ee3d0940"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5db89f304b5ad5db89f304b5e85db89f304b623"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5db89fd9bbd955db89fd9bbda15db89fd9bbdb1"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5db8a0bd959ec5db8a0bd959f25db8a0bd959f8"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5db8a13def9115db8a13def9515db8a13def991"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5db8a25bc30bd5db8a25bc30c15db8a25bc30c5"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5db8a2fdaa61d5db8a2fdaa6215db8a2fdaa625"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5db8a3cf80fba5db8a3cf80fca5db8a3cf80fd7"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5db8a4a2980bd5db8a4a2980fb5db8a4a298138"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5db8af416e41d5db8af416e45a5db8af416e495"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5db8c049503035db8c049503125db8c04950321"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5db8c20da98e55db8c20da98fd5db8c20da9932"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5db8c2864d26a5db8c2864d2755db8c2864d281"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5db8c3566dd445db8c3566dd815db8c3566ddbc"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5db9da10242085db9da10242465db9da1024281"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5db9dc0a3e5065db9dc0a3e5255db9dc0a3e561"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dba5455242795dba5455242b65dba5455242f2"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dba545d7765b5dba545d776965dba545d776d1"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dba560819b405dba560819b445dba560819b48"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dba565533c1d5dba565533c5e5dba565533c9a"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dba579cc6ad45dba579cc6ad85dba579cc6ade"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dbb34c257fdf5dbb34c25801b5dbb34c258056"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dbb3516cb5d55dbb3516cb6115dbb3516cb64b"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dbb356d4f10b5dbb356d4f1485dbb356d4f183"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dbb3b223a32e5dbb3b223a3335dbb3b223a336"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dbb3ba18342e5dbb3ba18346a5dbb3ba1834a5"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dbb3d60da0385dbb3d60da0625dbb3d60da068"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dbb430f9e9105dbb430f9e9175dbb430f9e91d"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dbb4338eabb45dbb4338eabb85dbb4338eabbb"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dbb4bfa2bd9f5dbb4bfa2bda45dbb4bfa2bda8"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dbb4f3c1d5a85dbb4f3c1d5b35dbb4f3c1d5ba"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dbb5053c52885dbb5053c52c45dbb5053c52ff"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dbb584c576365dbb584c5763c5dbb584c5763f"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dbb58d32f5065dbb58d32f50a5dbb58d32f50e"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dbc4ad71ebe25dbc4ad71ec1c5dbc4ad71ec56"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dbc4b1c3a2c15dbc4b1c3a30b5dbc4b1c3a348"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dc99476d54a15dc99476d54df5dc99476d551c"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dc9a605e01615dc9a605e01a05dc9a605e01dc"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dc9a6f4a8cde5dc9a6f4a8d1e5dc9a6f4a8d5c"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dc9be565be335dc9be565be385dc9be565be3b"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dc9c1e1ecf195dc9c1e1ecf575dc9c1e1ecf93"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dc9d3e96e78a5dc9d3e96e78e5dc9d3e96e792"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dc9db90328de5dc9db90328e35dc9db90328e6"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dc9dc0127dc35dc9dc0127e015dc9dc0127e3c"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dc9e2f5cef6e5dc9e2f5cef725dc9e2f5cef76"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dc9e3a2ac5005dc9e3a2ac5045dc9e3a2ac508"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dc9e518ef9e35dc9e518efa215dc9e518efa5d"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dc9e924565905dc9e924565955dc9e92456598"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dc9e971dc5605dc9e971dc59d5dc9e971dc5d8"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dc9eb45b92705dc9eb45b92785dc9eb45b927f"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dc9f05ccb6665dc9f05ccb68a5dc9f05ccb6a2"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dc9f182ac1305dc9f182ac1555dc9f182ac180"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dc9f246bfe145dc9f246bfe525dc9f246bfe91"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dcb58b26a82d5dcb58b26a8565dcb58b26a85d"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dcb5afbc3fb75dcb5afbc3ff45dcb5afbc402f"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dcc56a44eaa95dcc56a44eab15dcc56a44eab8"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dcc5f005f0485dcc5f005f0675dcc5f005f070"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dcc5f5990ccb5dcc5f5990d075dcc5f5990d49"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dcc6eca51c395dcc6eca51c545dcc6eca51c5c"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dcc6f89e35145dcc6f89e35515dcc6f89e358b"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dcc7091b24a15dcc7091b24e05dcc7091b251d"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dcc7d8a2aa525dcc7d8a2aa935dcc7d8a2aab1"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dcc7f416dd085dcc7f416dd395dcc7f416dd50"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dcc7faf8f2e75dcc7faf8f3265dcc7faf8f364"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dcc7fcb6ce6d5dcc7fcb6ceab5dcc7fcb6cee6"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dcc809a79d475dcc809a79d8a5dcc809a79dc9"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dcd662007ede5dcd662007f1d5dcd662007f59"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dcd745b83a315dcd745b83a6c5dcd745b83ab3"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dcd9ea4266c35dcd9ea4266ed5dcd9ea4266f4"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dcdb3504e7025dcdb3504e7275dcdb3504e748"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dcdb3de122be5dcdb3de122fd5dcdb3de1233a"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dcdb66841f3f5dcdb66841f5d5dcdb66841f79"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dcdb6ae8b33e5dcdb6ae8b37d5dcdb6ae8b3ba"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dcdc74f944805dcdc74f9449e5dcdc74f944a7"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dcdc79dd2ae25dcdc79dd2aeb5dcdc79dd2af3"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dcdc7c95700c5dcdc7c9570355dcdc7c95703d"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dcdc7f69110d5dcdc7f6911295dcdc7f691131"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dcdc8e1e1a565dcdc8e1e1a9a5dcdc8e1e1ada"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dcdca08e606f5dcdca08e60ae5dcdca08e60ea"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dcdcaff366e65dcdcaff367105dcdcaff36719"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dcdcfbe137085dcdcfbe137325dcdcfbe1373b"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dcdd01d3f8245dcdd01d3f8305dcdd01d3f842"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dcdd0ad8de795dcdd0ad8de845dcdd0ad8de8b"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dcdd1014371e5dcdd101437285dcdd10143730"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dcdd136e6fd95dcdd136e70585dcdd136e732a"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dcdd1d4190cc5dcdd1d4191085dcdd1d419143"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dcdd91df3c055dcdd91df3c305dcdd91df3c38"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dcde27e19e765dcde27e19eb35dcde27e19eee"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dcde4e2a85f65dcde4e2a85fb5dcde4e2a85fe"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dcdf0616a5945dcdf0616a5995dcdf0616a59d"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dcdf07ca14025dcdf07ca14045dcdf07ca1405"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dce06de438855dce06de438895dce06de4388d"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dce071a2ed0a5dce071a2ed0f5dce071a2ed12"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dcf1c3bf1ddb5dcf1c3bf1de05dcf1c3bf1de3"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dcf1c9503a725dcf1c9503ab15dcf1c9503aed"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dd305d039d6d5dd305d039d715dd305d039d75"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dd318c8324195dd318c83241d5dd318c832421"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dd3312fbd5405dd3312fbd5445dd3312fbd548"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dd46ca37ee215dd46ca37ee265dd46ca37ee2a"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dd46e8f852e75dd46e8f853255dd46e8f85362"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dd4719ccb94d5dd4719ccb9515dd4719ccb955"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dd471cfdd6cd5dd471cfdd6d25dd471cfdd6d5"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dd472384763b5dd472384763f5dd4723847643"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dd472907d5935dd472907d5d25dd472907d60e"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dd47323cf42e5dd47323cf46e5dd47323cf4aa"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dd475e4750435dd475e4750845dd475e4750c0"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dd57319a78315dd57319a786f5dd57319a78ac"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dd57a4bf41665dd57a4bf416a5dd57a4bf416d"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dd57ac15f1775dd57ac15f17c5dd57ac15f180"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dd57ae6537745dd57ae6537b35dd57ae6537f0"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dd57c4a7f6b85dd57c4a7f6db5dd57c4a7f6f2"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dd5def2b98685dd5def2b98705dd5def2b9877"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5dd5e53e222ca5dd5e53e222e65dd5e53e222ed"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5ddc0e515b7665ddc0e515b7a35ddc0e515b7df"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5ddc3b58473b55ddc3b58473f45ddc3b5847431"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5de572c5a71b15de572c5a71e85de572c5a71f4"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5de577c2f3f085de577c2f3f335de577c2f3f3b"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5de57849567e25de57849568205de578495685c"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5de5a8908813d5de5a890881495de5a89088152"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5de5a93fed2445de5a93fed2805de5a93fed2bb"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5de5a993e4a5e5de5a993e4a9c5de5a993e4ad8"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5de5b0a97eb015de5b0a97eb0a5de5b0a97eb13"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5de5b0cbc45e55de5b0cbc46065de5b0cbc462c"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5de5b1aac99935de5b1aac99cf5de5b1aac9a0a"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5de5b525a06ab5de5b525a06ca5de5b525a06d2"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5de5b975f1ea25de5b975f1ec75de5b975f1ede"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5de5ba104cb265de5ba104cb2e5de5ba104cb37"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5de5bb60d45b05de5bb60d45ba5de5bb60d45c3"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5de5bbc1332225de5bbc13322a5de5bbc133231"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5de5e7d248dbb5de5e7d248dc35de5e7d248dca"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5de5eb05a72855de5eb05a72a45de5eb05a72ad"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5de5ebf00127c5de5ebf0012965de5ebf00129f"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5de5edc2c70045de5edc2c70405de5edc2c707d"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5de5ee3751c6b5de5ee3751c795de5ee3751c81"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5de5f519b6c5d5de5f519b6c7a5de5f519b6c81"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5de5f56686d765de5f56686db25de5f56686dec"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5de7049bacfd95de7049bad0165de7049bad050"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5de70507e460e5de70507e464c5de70507e4688"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5deabeb2e16c75deabeb2e17025deabeb2e173c"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5deabef79200b5deabef7920485deabef792085"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5deae0b1d76e85deae0b1d77275deae0b1d7773"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5deae0fe08d0f5deae0fe08d4d5deae0fe08d89"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5deae54ef175e5deae54ef179b5deae54ef17d7"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5deae5529caf45deae5529cb305deae5529cb6b"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5deaec59db88d5deaec59db8ca5deaec59db905"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5deaec9ab02ed5deaec9ab032b5deaec9ab0369"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5deeb060aa96a5deeb060aa96f5deeb060aa972"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5deeb08fd55595deeb08fd555d5deeb08fd5561"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5deeb0d1205f85deeb0d1206175deeb0d120641"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5deeb15eb1f3d5deeb15eb1f7b5deeb15eb1fb7"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5deeb196229da5deeb19622a165deeb19622a52"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5deeb851d88485deeb851d88855deeb851d88c1"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5deeb895ed6fe5deeb895ed7395deeb895ed774"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5deeccabe0cae5deeccabe0d0e5deeccabe0d67"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5deeccebca18c5deeccebca1ca5deeccebca207"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e13d472c2f385e13d472c2f3d5e13d472c2f42"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e13d49cb17465e13d49cb174a5e13d49cb174e"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e13d4ce7ae335e13d4ce7ae375e13d4ce7ae3b"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e13d4f8f12305e13d4f8f12355e13d4f8f1239"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e13d71209dc25e13d71209dc65e13d71209dca"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e13d7e678d845e13d7e678dc25e13d7e678e00"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e13d85cd29f25e13d85cd2a2e5e13d85cd2a69"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e150494a8b985e150494a8b9c5e150494a8b9f"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e1504c6554b05e1504c6554b45e1504c6554b8"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e1504f38979b5e1504f38979d5e1504f38979e"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e1505e9b81e95e1505e9b82265e1505e9b8261"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e1b692c0d2805e1b692c0d2845e1b692c0d288"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e1d4e88d296f5e1d4e88d29985e1d4e88d29a0"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e1d4f8c6b3e25e1d4f8c6b4115e1d4f8c6b41a"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e1d521f05e485e1d521f05e845e1d521f05ebf"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e1d53189845d5e1d5318984995e1d5318984d4"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e1e686c09d015e1e686c09d095e1e686c09d11"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e1e6a90854dd5e1e6a90854ed5e1e6a9085505"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e1e6b70886a95e1e6b70886e85e1e6b7088725"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e1e8609107ca5e1e8609107dd5e1e8609107ef"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e1e86f46badc5e1e86f46bae45e1e86f46baec"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e1e9538b0b5d5e1e9538b0b6d5e1e9538b0b80"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e1f337bd12175e1f337bd12335e1f337bd123a"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e1f34ee170985e1f34ee170d55e1f34ee17113"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e1f3d76d00565e1f3d76d005f5e1f3d76d0066"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e1f3dcacce225e1f3dcacce5e5e1f3dcacce99"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e1fa6d1bff265e1fa6d1bff2e5e1fa6d1bff35"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e1fa7de232f55e1fa7de233145e1fa7de2331c"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e1fa8fe707bc5e1fa8fe707d85e1fa8fe707e0"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e1fa9ca15a865e1fa9ca15a8e5e1fa9ca15a96"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e1faa583cbd65e1faa583cc085e1faa583cc27"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e1fac445412f5e1fac445416b5e1fac44541a6"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e20956e382dd5e20956e383195e20956e38354"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e2b96bb38d565e2b96bb38d635e2b96bb38d70"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e2b97077f10a5e2b97077f1175e2b97077f126"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e2b9770f1aa95e2b9770f1ae75e2b9770f1b22"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e2ba970bbdc25e2ba970bbe085e2ba970bbe53"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e397f37701da5e397f37701ef5e397f37701fc"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e397fb0d3e5d5e397fb0d3e875e397fb0d3e8f"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e398078e3d0c5e398078e3d495e398078e3d84"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e3980e85da505e3980e85da8c5e3980e85dac7"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e39de42b21ab5e39de42b21e85e39de42b2224"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e3a08108441e5e3a0810844265e3a08108442f"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e3a103661e7c5e3a103661e8d5e3a103661e9b"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e3a10c74864a5e3a10c7486665e3a10c74866d"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e3d820614a8d5e3d820614aa85e3d820614ab1"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e3d82a30bb385e3d82a30bb455e3d82a30bb4d"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e3d837eb76e65e3d837eb770e5e3d837eb7717"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e3d858d3211a5e3d858d321575e3d858d32193"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e3d9323a50ff5e3d9323a51105e3d9323a511d"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e3d934225eb85e3d934225ee65e3d934225eee"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e3d93bc7e5e95e3d93bc7e6265e3d93bc7e661"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e3d95823dee65e3d95823df225e3d95823df5d"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e3db5ffbe6a15e3db5ffbe6c25e3db5ffbe6c9"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e3db64b51bd05e3db64b51beb5e3db64b51bf3"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e3dcdeb426fd5e3dcdeb427225e3dcdeb42729"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e3dce1b474555e3dce1b474825e3dce1b4748e"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e3dcec17c9815e3dcec17c9d35e3dcec17ca14"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e3dede0e47935e3dede0e47b45e3dede0e47e2"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e3df10b3d24e5e3df10b3d26c5e3df10b3d296"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e3df1e9159fe5e3df1e915a065e3df1e915a0e"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e3df23a72c945e3df23a72cb25e3df23a72cbb"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e3df2dd2e5e95e3df2dd2e6175e3df2dd2e61f"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e3df369964845e3df369964bf5e3df369964fa"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e3efa7c388f35e3efa7c389095e3efa7c3891f"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e3efae7d6d215e3efae7d6d5e5e3efae7d6d9a"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e41d56a956e95e41d56a957255e41d56a95760"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e41d624bb19d5e41d624bb1d95e41d624bb216"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e42ebc59ab815e42ebc59abbd5e42ebc59abf8"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e471eb45babe5e471eb45baca5e471eb45bad2"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e471fa2af40f5e471fa2af4375e471fa2af443"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e47208fd84885e47208fd84905e47208fd8497"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e472343e06675e472343e06835e472343e068c"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e47346a4f6945e47346a4f6d05e47346a4f70b"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e4d5c4abea395e4d5c4abea755e4d5c4abeab0"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e4d5e2fa35c25e4d5e2fa35fd5e4d5e2fa3638"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e4d74e90daba5e4d74e90dad65e4d74e90dade"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e4d75337e57f5e4d75337e59e5e4d75337e5a6"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e4d76bfcdd585e4d76bfcdd945e4d76bfcddcf"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e4d7c34491d45e4d7c34492115e4d7c344924c"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e986745553a55e986745553d45e986745553dd"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e986b7850a5b5e986b7850a775e986b7850a7f"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e986c08f06205e986c08f06565e986c08f0666"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e986d4890f8a5e986d4890fc85e986d4891008"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e9f207165d475e9f207165d665e9f207165d6f"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e9f20de552075e9f20de552245e9f20de55233"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e9f23c3780495e9f23c3780575e9f23c378066"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e9f26377a2685e9f26377a2705e9f26377a279"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e9f27e916aea5e9f27e916b1a5e9f27e916b22"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e9f2a267f1df5e9f2a267f21a5e9f2a267f255"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e9f2b7f7265d5e9f2b7f726675e9f2b7f7266f"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e9f3053159855e9f3053159945e9f3053159a4"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e9f8f9f441e95e9f8f9f4421f5e9f8f9f44252"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e9f900da7e1b5e9f900da7e565e9f900da7e91"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e9f932f8d1d05e9f932f8d1f05e9f932f8d1f9"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5e9f93bb036855e9f93bb036c65e9f93bb03704"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5ea0586e7088d5ea0586e708c85ea0586e70903"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5ea068a92578c5ea068a9257c15ea068a9257e1"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5ea06a6d470775ea06a6d470815ea06a6d47089"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5ea06a7f6ab435ea06a7f6ab645ea06a7f6ab6c"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5ea074bb2bff25ea074bb2c0095ea074bb2c01b"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5ea0751916c495ea0751916c8c5ea0751916cf6"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5ea0df703d2695ea0df703d2ad5ea0df703d2ef"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5ea0e0b709a9a5ea0e0b709aa35ea0e0b709aaa"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5ea0e18c5a0465ea0e18c5a0825ea0e18c5a0bd"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5ea1cf02e45b15ea1cf02e45ef5ea1cf02e462b"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5f2c5c0cdec5a5f2c5c0cdec975f2c5c0cdecd2"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5f2c5c1aa29025f2c5c1aa29405f2c5c1aa297c"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5f31a1bc492115f31a1bc492505f31a1bc4928c"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5f47b62aa41725f47b62aa41bc5f47b62aa4201"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5f47fd37a8fe15f47fd37a90245f47fd37a9063"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5f5921dfc85b55f5921dfc85f15f5921dfc862f"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5f6dfdbe299a55f6dfdbe299e65f6dfdbe29a26"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5f71f64ec31b85f71f64ec32195f71f64ec325c"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5f980b4bee0a75f980b4bee0e55f980b4bee121"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5f981270814a45f981270814e05f9812708151b"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5fa858cab6a355fa858cab6a715fa858cab6aac"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5fa97cbfaf1125fa97cbfaf14f5fa97cbfaf18a"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5fa99dbcbcc5e5fa99dbcbcc9a5fa99dbcbccd5"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5faeed12e92ff5faeed12e933b5faeed12e9376"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5fb27856877c75fb27856878075fb2785687844"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5fb528ba4ccff5fb528ba4cd3b5fb528ba4cd76"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5feb6ce07e8d95feb6ce07e8db5feb6ce07e8dc"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5feb6f0f3f5345feb6f0f3f5365feb6f0f3f537"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5ff347070fbc55ff347070fbc65ff347070fbc7"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5ff38d8e08de85ff38d8e08dea5ff38d8e08deb"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"5ff49f833b9a55ff49f833b9a85ff49f833b9a9"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"6000598b18f2b6000598b18f2d6000598b18f2e"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"60102cccd2c1560102cccd2c1860102cccd2c19"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"60181870c00c160181870c00c660181870c00c7"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"6053b9cca2c836053b9cca2c866053b9cca2c87"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"6054fd206be9a6054fd206be9c6054fd206be9d"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"605503c47fd38605503c47fd3b605503c47fd3c"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"__test_jti__"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1022357182"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1035210523"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1035410630"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1062269748"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1089415378"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1100862057"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1108315448"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1109595287"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1114454844"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1114799097"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1125692090"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1137753064"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1152517583"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1160139795"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1177807658"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1184250847"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1184786768"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1218259203"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1232779373"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1248989105"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1253011281"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1260307909"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1300912008"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI130229198"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1319675582"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1331237892"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1335466702"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1357204467"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI13609172"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1361735389"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1365536854"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1367429737"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI139983410"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1401560729"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1418448991"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1440529822"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1450582261"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1460491222"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1474568908"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1479624706"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1486863091"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1498545363"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1535767637"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1541310996"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1552385507"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1561282189"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1568676613"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1573632827"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1589696924"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1595643100"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1646524331"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1660013861"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1678302700"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1682294081"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI168286286"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1710750453"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1747321557"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1775387996"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1788899135"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1790061"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1794237701"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1798345162"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1801574749"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1802599293"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1809349063"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1818627995"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1822425227"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1839437264"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1842791157"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1863289835"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1873993334"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1884888076"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1886659026"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1911530357"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1917240496"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1930915757"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1950402032"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1965197551"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI1992722947"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI202343795"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI2071492155"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI2076451205"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI2095668263"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI2107897062"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI2122961407"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI217709763"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI220074016"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI231020629"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI238996139"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI244699995"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI245648264"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI257258070"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI297217988"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI305064789"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI329533251"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI351383433"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI354822120"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI370392806"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI377086444"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI384856344"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI390614927"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI392286439"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI398562424"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI401059711"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI401293198"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI413317604"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI418048519"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI434613081"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI469765809"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI490003396"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI490582924"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI499275154"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI500576312"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI504276106"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI5067119"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI51087588"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI534444085"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI545313046"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI549728812"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI551914564"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI556784615"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI577015488"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI577408692"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI591914143"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI596474020"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI608354822"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI615823658"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI620106692"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI627762429"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI684580325"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI687873002"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI708302697"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI713465653"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI725776183"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI744813644"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI745659653"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI768388698"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI769295915"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI788956459"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI793828781"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI795475813"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI795919584"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI808562275"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI817939284"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI830335384"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI845362004"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI855171053"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI858564264"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI86723701"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI877531833"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI881017310"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI89145674"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI898176003"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI909265632"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI909277941"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI913049323"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI922021496"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI927083122"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI930680436"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI956609557"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI965757322"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI968606858"},{"aud":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","jti":"somerandomJTI989937094"}]' - recorded_at: Fri, 03 Sep 2021 20:16:14 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/_client_grants/should_return_at_least_1_result.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/_client_grants/should_return_at_least_1_result.yml deleted file mode 100644 index 26efda0a3..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/_client_grants/should_return_at_least_1_result.yml +++ /dev/null @@ -1,78 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/client-grants - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:15 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a7a29f33eef6-LAX - Cache-Control: - - no-cache - Link: - - ; - rel="first", ; - rel="last" - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7a29f33eef6 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 0bc4ddf757f7dcaf - Ot-Tracer-Traceid: - - 04b6f1ba0b354990 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700176' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '[{"id":"cgr_1ZBeiylBn38cTQ1j","client_id":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","audience":"TEST_PHP_SDK_CLIENT_GRANT_API_5d2d0c6c38056","scope":["test:scope1","test:scope2"]},{"id":"cgr_1vESQ3QlIH8SRN4m","client_id":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","audience":"TEST_PHP_SDK_CLIENT_GRANT_API_5d851b55b30cd","scope":["test:scope1","test:scope2"]},{"id":"cgr_53mirnr9BAqb7wSc","client_id":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","audience":"TEST_PHP_SDK_CLIENT_GRANT_API_5d2d0c6c9a3b8","scope":["test:scope1"]},{"id":"cgr_6F9wUo4y2E1NKDY6","client_id":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","audience":"TEST_PHP_SDK_CLIENT_GRANT_API_5d2d0cad31d45","scope":["test:scope1","test:scope2"]},{"id":"cgr_6xzSSrT2Kr7l0EDl","client_id":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","audience":"TEST_PHP_SDK_CLIENT_GRANT_API_5d85361d8796b","scope":["test:scope1","test:scope2"]},{"id":"cgr_9FueNE8DUJ2dnxj1","client_id":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","audience":"TEST_PHP_SDK_CLIENT_GRANT_API_5d852fc2767e3","scope":["test:scope1"]},{"id":"cgr_BkK4yz21Xo0Qfpyq","client_id":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","audience":"TEST_PHP_SDK_CLIENT_GRANT_API_5d852f67569e3","scope":["test:scope1"]},{"id":"cgr_FZqmelQLwFYVIqll","client_id":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","audience":"TEST_PHP_SDK_CLIENT_GRANT_API_5d2d0bb874e34","scope":["test:scope1","test:scope2"]},{"id":"cgr_FkUMXXnxkvHP6xMt","client_id":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","audience":"TEST_PHP_SDK_CLIENT_GRANT_API_5d853154e0a66","scope":["test:scope1"]},{"id":"cgr_LZCn8gzBW9PEhFVD","client_id":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","audience":"TEST_PHP_SDK_CLIENT_GRANT_API_5d2d0cadee5d5","scope":["test:scope1"]},{"id":"cgr_N6dm8nVRQRyljc1x","client_id":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","audience":"TEST_PHP_SDK_CLIENT_GRANT_API_5d2d0c8c370de","scope":["test:scope1","test:scope2"]},{"id":"cgr_NSQAWcC9F03NaBCT","client_id":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","audience":"TEST_PHP_SDK_CLIENT_GRANT_API_5d2d0b4281fdf","scope":["test:scope1","test:scope2"]},{"id":"cgr_QhUNSABrWJrIL2Fy","client_id":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","audience":"TEST_PHP_SDK_CLIENT_GRANT_API_5d852fe41d2e6","scope":["test:scope1"]},{"id":"cgr_Scy1oh1dL38AAOYM","client_id":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","audience":"TEST_PHP_SDK_CLIENT_GRANT_API_5d852fcb73f66","scope":["test:scope1"]},{"id":"cgr_XnZ5X5QYmrJxCc5z","client_id":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","audience":"TEST_PHP_SDK_CLIENT_GRANT_API_5d8525aff3d8b","scope":["test:scope1"]},{"id":"cgr_j6Sld05vF0Sxr2Le","client_id":"qVx7qDuyruWWCfkTrxeNT74FI6mJc4Vy","audience":"https://auth0-sdk-tests.auth0.com/api/v2/","scope":["test:scope"]},{"id":"cgr_nvbRTliLhUEGzc7n","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","audience":"https://auth0-sdk-tests.auth0.com/api/v2/","scope":["read:client_grants","create:client_grants","delete:client_grants","update:client_grants","read:users","update:users","delete:users","create:users","read:users_app_metadata","update:users_app_metadata","delete:users_app_metadata","create:users_app_metadata","read:user_custom_blocks","create:user_custom_blocks","delete:user_custom_blocks","create:user_tickets","read:clients","update:clients","delete:clients","create:clients","read:client_keys","update:client_keys","delete:client_keys","create:client_keys","read:connections","update:connections","delete:connections","create:connections","read:resource_servers","update:resource_servers","delete:resource_servers","create:resource_servers","read:device_credentials","update:device_credentials","delete:device_credentials","create:device_credentials","read:rules","update:rules","delete:rules","create:rules","read:rules_configs","update:rules_configs","delete:rules_configs","read:hooks","update:hooks","delete:hooks","create:hooks","read:actions","update:actions","delete:actions","create:actions","read:email_provider","update:email_provider","delete:email_provider","create:email_provider","blacklist:tokens","read:stats","read:insights","read:tenant_settings","update:tenant_settings","read:logs","read:logs_users","read:shields","create:shields","update:shields","delete:shields","read:anomaly_blocks","delete:anomaly_blocks","update:triggers","read:triggers","read:grants","delete:grants","read:guardian_factors","update:guardian_factors","read:guardian_enrollments","delete:guardian_enrollments","create:guardian_enrollment_tickets","read:user_idp_tokens","create:passwords_checking_job","delete:passwords_checking_job","read:custom_domains","delete:custom_domains","create:custom_domains","update:custom_domains","read:email_templates","create:email_templates","update:email_templates","read:mfa_policies","update:mfa_policies","read:roles","create:roles","delete:roles","update:roles","read:prompts","update:prompts","read:branding","update:branding","delete:branding","read:log_streams","create:log_streams","delete:log_streams","update:log_streams","create:signing_keys","read:signing_keys","update:signing_keys","read:limits","update:limits","create:role_members","read:role_members","delete:role_members","read:entitlements","read:attack_protection","update:attack_protection","read:organizations","update:organizations","create:organizations","delete:organizations","create:organization_members","read:organization_members","delete:organization_members","create:organization_connections","read:organization_connections","update:organization_connections","delete:organization_connections","create:organization_member_roles","read:organization_member_roles","delete:organization_member_roles","create:organization_invitations","read:organization_invitations","delete:organization_invitations"]},{"id":"cgr_ozXl4T3AscJuh8Lp","client_id":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","audience":"TEST_PHP_SDK_CLIENT_GRANT_API_5d2d11e32ec64","scope":["test:scope1"]},{"id":"cgr_tglRt6RuPaQrmmLG","client_id":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","audience":"https://auth0-sdk-tests.auth0.com/api/v2/","scope":[]},{"id":"cgr_ul9r28U3LVzZyr17","client_id":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","audience":"TEST_PHP_SDK_CLIENT_GRANT_API_5d892eed7abd7","scope":["test:scope1"]},{"id":"cgr_ysqZVAc6d4u6y1PJ","client_id":"cDJqcgHCP8poqZyDfY1h0KUFI6vzPT9f","audience":"https://auth0-sdk-tests.auth0.com/api/v2/","scope":[]}]' - recorded_at: Fri, 03 Sep 2021 20:16:15 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/_client_grants/should_return_the_test_client_grant.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/_client_grants/should_return_the_test_client_grant.yml deleted file mode 100644 index f63931970..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/_client_grants/should_return_the_test_client_grant.yml +++ /dev/null @@ -1,78 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/client-grants - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:16 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a7a3ecb0eb9d-LAX - Cache-Control: - - no-cache - Link: - - ; - rel="first", ; - rel="last" - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7a3ecb0eb9d - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 53af561e521baf8d - Ot-Tracer-Traceid: - - 6644bba93bb63e9c - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700177' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '[{"id":"cgr_1ZBeiylBn38cTQ1j","client_id":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","audience":"TEST_PHP_SDK_CLIENT_GRANT_API_5d2d0c6c38056","scope":["test:scope1","test:scope2"]},{"id":"cgr_1vESQ3QlIH8SRN4m","client_id":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","audience":"TEST_PHP_SDK_CLIENT_GRANT_API_5d851b55b30cd","scope":["test:scope1","test:scope2"]},{"id":"cgr_53mirnr9BAqb7wSc","client_id":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","audience":"TEST_PHP_SDK_CLIENT_GRANT_API_5d2d0c6c9a3b8","scope":["test:scope1"]},{"id":"cgr_6F9wUo4y2E1NKDY6","client_id":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","audience":"TEST_PHP_SDK_CLIENT_GRANT_API_5d2d0cad31d45","scope":["test:scope1","test:scope2"]},{"id":"cgr_6xzSSrT2Kr7l0EDl","client_id":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","audience":"TEST_PHP_SDK_CLIENT_GRANT_API_5d85361d8796b","scope":["test:scope1","test:scope2"]},{"id":"cgr_9FueNE8DUJ2dnxj1","client_id":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","audience":"TEST_PHP_SDK_CLIENT_GRANT_API_5d852fc2767e3","scope":["test:scope1"]},{"id":"cgr_BkK4yz21Xo0Qfpyq","client_id":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","audience":"TEST_PHP_SDK_CLIENT_GRANT_API_5d852f67569e3","scope":["test:scope1"]},{"id":"cgr_FZqmelQLwFYVIqll","client_id":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","audience":"TEST_PHP_SDK_CLIENT_GRANT_API_5d2d0bb874e34","scope":["test:scope1","test:scope2"]},{"id":"cgr_FkUMXXnxkvHP6xMt","client_id":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","audience":"TEST_PHP_SDK_CLIENT_GRANT_API_5d853154e0a66","scope":["test:scope1"]},{"id":"cgr_LZCn8gzBW9PEhFVD","client_id":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","audience":"TEST_PHP_SDK_CLIENT_GRANT_API_5d2d0cadee5d5","scope":["test:scope1"]},{"id":"cgr_N6dm8nVRQRyljc1x","client_id":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","audience":"TEST_PHP_SDK_CLIENT_GRANT_API_5d2d0c8c370de","scope":["test:scope1","test:scope2"]},{"id":"cgr_NSQAWcC9F03NaBCT","client_id":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","audience":"TEST_PHP_SDK_CLIENT_GRANT_API_5d2d0b4281fdf","scope":["test:scope1","test:scope2"]},{"id":"cgr_QhUNSABrWJrIL2Fy","client_id":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","audience":"TEST_PHP_SDK_CLIENT_GRANT_API_5d852fe41d2e6","scope":["test:scope1"]},{"id":"cgr_Scy1oh1dL38AAOYM","client_id":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","audience":"TEST_PHP_SDK_CLIENT_GRANT_API_5d852fcb73f66","scope":["test:scope1"]},{"id":"cgr_XnZ5X5QYmrJxCc5z","client_id":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","audience":"TEST_PHP_SDK_CLIENT_GRANT_API_5d8525aff3d8b","scope":["test:scope1"]},{"id":"cgr_j6Sld05vF0Sxr2Le","client_id":"qVx7qDuyruWWCfkTrxeNT74FI6mJc4Vy","audience":"https://auth0-sdk-tests.auth0.com/api/v2/","scope":["test:scope"]},{"id":"cgr_nvbRTliLhUEGzc7n","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","audience":"https://auth0-sdk-tests.auth0.com/api/v2/","scope":["read:client_grants","create:client_grants","delete:client_grants","update:client_grants","read:users","update:users","delete:users","create:users","read:users_app_metadata","update:users_app_metadata","delete:users_app_metadata","create:users_app_metadata","read:user_custom_blocks","create:user_custom_blocks","delete:user_custom_blocks","create:user_tickets","read:clients","update:clients","delete:clients","create:clients","read:client_keys","update:client_keys","delete:client_keys","create:client_keys","read:connections","update:connections","delete:connections","create:connections","read:resource_servers","update:resource_servers","delete:resource_servers","create:resource_servers","read:device_credentials","update:device_credentials","delete:device_credentials","create:device_credentials","read:rules","update:rules","delete:rules","create:rules","read:rules_configs","update:rules_configs","delete:rules_configs","read:hooks","update:hooks","delete:hooks","create:hooks","read:actions","update:actions","delete:actions","create:actions","read:email_provider","update:email_provider","delete:email_provider","create:email_provider","blacklist:tokens","read:stats","read:insights","read:tenant_settings","update:tenant_settings","read:logs","read:logs_users","read:shields","create:shields","update:shields","delete:shields","read:anomaly_blocks","delete:anomaly_blocks","update:triggers","read:triggers","read:grants","delete:grants","read:guardian_factors","update:guardian_factors","read:guardian_enrollments","delete:guardian_enrollments","create:guardian_enrollment_tickets","read:user_idp_tokens","create:passwords_checking_job","delete:passwords_checking_job","read:custom_domains","delete:custom_domains","create:custom_domains","update:custom_domains","read:email_templates","create:email_templates","update:email_templates","read:mfa_policies","update:mfa_policies","read:roles","create:roles","delete:roles","update:roles","read:prompts","update:prompts","read:branding","update:branding","delete:branding","read:log_streams","create:log_streams","delete:log_streams","update:log_streams","create:signing_keys","read:signing_keys","update:signing_keys","read:limits","update:limits","create:role_members","read:role_members","delete:role_members","read:entitlements","read:attack_protection","update:attack_protection","read:organizations","update:organizations","create:organizations","delete:organizations","create:organization_members","read:organization_members","delete:organization_members","create:organization_connections","read:organization_connections","update:organization_connections","delete:organization_connections","create:organization_member_roles","read:organization_member_roles","delete:organization_member_roles","create:organization_invitations","read:organization_invitations","delete:organization_invitations"]},{"id":"cgr_ozXl4T3AscJuh8Lp","client_id":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","audience":"TEST_PHP_SDK_CLIENT_GRANT_API_5d2d11e32ec64","scope":["test:scope1"]},{"id":"cgr_tglRt6RuPaQrmmLG","client_id":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","audience":"https://auth0-sdk-tests.auth0.com/api/v2/","scope":[]},{"id":"cgr_ul9r28U3LVzZyr17","client_id":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","audience":"TEST_PHP_SDK_CLIENT_GRANT_API_5d892eed7abd7","scope":["test:scope1"]},{"id":"cgr_ysqZVAc6d4u6y1PJ","client_id":"cDJqcgHCP8poqZyDfY1h0KUFI6vzPT9f","audience":"https://auth0-sdk-tests.auth0.com/api/v2/","scope":[]}]' - recorded_at: Fri, 03 Sep 2021 20:16:16 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/_delete_client_grant/should_delete_the_test_client_grant.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/_delete_client_grant/should_delete_the_test_client_grant.yml deleted file mode 100644 index 1d62c1623..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/_delete_client_grant/should_delete_the_test_client_grant.yml +++ /dev/null @@ -1,72 +0,0 @@ ---- -http_interactions: -- request: - method: delete - uri: https://auth0-sdk-tests.auth0.com/api/v2/client-grants/cgr_j6Sld05vF0Sxr2Le - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 204 - message: No Content - headers: - Date: - - Fri, 03 Sep 2021 20:16:16 GMT - Content-Type: - - application/json; charset=utf-8 - Connection: - - keep-alive - Cf-Ray: - - 6891a7a6ced7ebc1-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7a6ced7ebc1 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 64d80a07711edb8b - Ot-Tracer-Traceid: - - 48ce7fbd2ff15944 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700177' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: UTF-8 - string: '' - recorded_at: Fri, 03 Sep 2021 20:16:16 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/_patch_client_grant/should_update_the_test_client_grant.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/_patch_client_grant/should_update_the_test_client_grant.yml deleted file mode 100644 index 5e7ca9bf7..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/_patch_client_grant/should_update_the_test_client_grant.yml +++ /dev/null @@ -1,76 +0,0 @@ ---- -http_interactions: -- request: - method: patch - uri: https://auth0-sdk-tests.auth0.com/api/v2/client-grants/cgr_j6Sld05vF0Sxr2Le - body: - encoding: UTF-8 - string: '{"scope":["new:scope"]}' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '23' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:16 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a7a59f87318b-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7a59f87318b - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 1c8f2e2d7f651fd5 - Ot-Tracer-Traceid: - - 7f9a6ad276f13e3e - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700177' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"id":"cgr_j6Sld05vF0Sxr2Le","client_id":"qVx7qDuyruWWCfkTrxeNT74FI6mJc4Vy","audience":"https://auth0-sdk-tests.auth0.com/api/v2/","scope":["new:scope"]}' - recorded_at: Fri, 03 Sep 2021 20:16:16 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/create_test_client.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/create_test_client.yml deleted file mode 100644 index 24a1627c0..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/create_test_client.yml +++ /dev/null @@ -1,80 +0,0 @@ ---- -http_interactions: -- request: - method: post - uri: https://auth0-sdk-tests.auth0.com/api/v2/clients - body: - encoding: UTF-8 - string: '{"name":"ClientGrantTestClient-rubytest-210908"}' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '48' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 201 - message: Created - headers: - Date: - - Fri, 03 Sep 2021 20:16:15 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a79e3af55239-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a79e3af55239 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 7216d2324b1ac69b - Ot-Tracer-Traceid: - - 1f77309d7415fa07 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700176' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"ClientGrantTestClient-rubytest-210908","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"expiration_type":"non-expiring","leeway":0,"infinite_token_lifetime":true,"infinite_idle_token_lifetime":true,"token_lifetime":2592000,"idle_token_lifetime":1296000,"rotation_type":"non-rotating"},"encrypted":true,"signing_keys":[{"key":"-----BEGIN - RSA PRIVATE KEY-----\r\nMIIEowIBAAKCAQEA0Undff9Qrf/esP3RkURZDdaNn48iB/n6EhNacNoub9jREjcT\r\nx3ICcXF9zMxg/ypoKR5dBRHRQ85PYc+4IAkpP2YpnwZcMZz4AoMF3KCddKg6aE2C\r\nG7160cDSFALc++fqK/jge6TMHOBcRuuOWDC9yh1x9MKBIVVVxKZJH/NFZRK/Y3L4\r\nmXXQ1A8atJtgMP2zYJyG1krUBhK0zxDR9qlT+hFfafqGRssSERScTAf2u0P9IUZX\r\n0v2EsYScb7JHviAznEwUW8Qz8OYzaMgl5vyRJgdI6rPy+wuTYGRU+01sORGdKUJn\r\nlwXWn8F0hTFqaYpRsjmAmErWD8Db2NDKTNmOEQIDAQABAoIBAD3RkakL5yreL0sc\r\nTfCYva1GuKJuxuCQR/ta2BYJfDnxUyAMQL1iwbH8keoSXHxCbG3o2BUNREDBCdWc\r\nY4ii7Bob9SNR352P/fnP9cVLc/bnUglJC6th9otKZ0Md7WRDBnpikvwym0/UPa19\r\nGpiWHRk8RVLEuRu9dw4VB/h2BQNrU3hcc5Oe2YD5iRELpeArl3DmXE1nCECLU5o/\r\nssPUV9yn8hp3ZAPK/RK1Esdsk2koskk3qfxE1ATOoXIoEgH5ejS+1F2uCovm4/Gs\r\nMwbfakCcgEcce/Dutod66WWaWA4QFrccHqiWw2o9bePW8Z47NyXmJ6I5vCAgqKZL\r\nrbgh44ECgYEA6kIxvU0Xuw4n2XluTOhWmXlUfEsfh2M7OIENnTXcXV8bx636HvIG\r\nqDZ0ENWwtjy75V0OoQPV43FNcg8/35qvCkepb8+0SJFEZpfkqikfxo7BZtf+QX3m\r\nAsn2cYzwUhkTS3tf/t0DjPBdax4He4DAqiIvTcwA7AH+hUy4rbfDxmkCgYEA5LZm\r\n3pEupahzrA0Q5RsxpXEi5BA+MEMMilQNWV1j/cKAz244wpdMuGKZfVu93PGVWePg\r\ntRdFP7z3hp7YtZtlJrWOqLgltd4ysJZhqZBI8/TyByjj8FAfMpyZaXEDEvp127os\r\nEplnqraZpaxlc2B8JARYahJH+pYRJVbmoBbgJWkCgYBJOs4ftiTP9bnhUwN3CT5h\r\nFbuiaz187jlKDZW66mZrzdp6TlmdKN2J4hPgW1y1a0D1j2SOUwue4QFrwXafKNTF\r\nKue9qzlZYgf25k62HsrvIBs3UhgKUxf/ETF4B63sjCgq9XNp0Z9VhKI/ZRDDu9j+\r\nllchQ7+aB3mQJA6rR4Hs2QKBgQCUErubESfAPMVW+MadbfPAhvTt7s40dNRjonNa\r\nDiq0mf7HTTcWVNpo7f0tuf28U/Q71FshI0XENFWVJLZtLYRZgWYxObfAfXEX/uSP\r\n4Ug6GbWwiPq6FUV9gQGZ0H8LBHjVnzz1dbg2QC5NosWz4x28O8v6MIfFZu8G27JI\r\np0bLMQKBgHB0K+FYu9pkiaWZ0bhgW6f24bSFbt+UmNUy7c7ajpjMyXTJpkOVd06E\r\nKEsCxsFJhV0IVoso9ZUcVk8Q80I9d94p//1YxTpvC79OtnoyM/t/vaWcPxno1lv8\r\nAqhZsYsGd0aUjfCZv6oubOBbY+gnKCoUS4nkRvILqaFMzDL9pAr8\r\n-----END - RSA PRIVATE KEY-----\r\n","cert":"-----BEGIN CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----\r\n","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"/CN=auth0-sdk-tests.auth0.com"}],"client_id":"qVx7qDuyruWWCfkTrxeNT74FI6mJc4Vy","callback_url_template":false,"client_secret":"VU0RRh7fFZD9eBoGwW05tRCFnNQ_qjTDLWsyafIuGXQyQAbpZY1rQXm3RYPURMRA","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true}' - recorded_at: Fri, 03 Sep 2021 20:16:15 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/create_test_client_grant.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/create_test_client_grant.yml deleted file mode 100644 index d74f4c84e..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/create_test_client_grant.yml +++ /dev/null @@ -1,76 +0,0 @@ ---- -http_interactions: -- request: - method: post - uri: https://auth0-sdk-tests.auth0.com/api/v2/client-grants - body: - encoding: UTF-8 - string: '{"client_id":"qVx7qDuyruWWCfkTrxeNT74FI6mJc4Vy","audience":"https://auth0-sdk-tests.auth0.com/api/v2/","scope":["test:scope"]}' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '126' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 201 - message: Created - headers: - Date: - - Fri, 03 Sep 2021 20:16:15 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a7a14f1a31a9-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7a14f1a31a9 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 01c148d90bd03faa - Ot-Tracer-Traceid: - - 4a1dee9e206d961d - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700176' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"id":"cgr_j6Sld05vF0Sxr2Le","client_id":"qVx7qDuyruWWCfkTrxeNT74FI6mJc4Vy","audience":"https://auth0-sdk-tests.auth0.com/api/v2/","scope":["test:scope"]}' - recorded_at: Fri, 03 Sep 2021 20:16:15 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/delete_test_client.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/delete_test_client.yml deleted file mode 100644 index c94f5c397..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/delete_test_client.yml +++ /dev/null @@ -1,72 +0,0 @@ ---- -http_interactions: -- request: - method: delete - uri: https://auth0-sdk-tests.auth0.com/api/v2/clients/qVx7qDuyruWWCfkTrxeNT74FI6mJc4Vy - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 204 - message: No Content - headers: - Date: - - Fri, 03 Sep 2021 20:16:16 GMT - Content-Type: - - application/json; charset=utf-8 - Connection: - - keep-alive - Cf-Ray: - - 6891a7a7edf352cb-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7a7edf352cb - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 732e9442637ae4b8 - Ot-Tracer-Traceid: - - 1800a0e44b1043dc - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700177' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: UTF-8 - string: '' - recorded_at: Fri, 03 Sep 2021 20:16:16 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/delete_test_client_grant.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/delete_test_client_grant.yml deleted file mode 100644 index 910667594..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ClientGrants/delete_test_client_grant.yml +++ /dev/null @@ -1,72 +0,0 @@ ---- -http_interactions: -- request: - method: delete - uri: https://auth0-sdk-tests.auth0.com/api/v2/client-grants/cgr_j6Sld05vF0Sxr2Le - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 204 - message: No Content - headers: - Date: - - Fri, 03 Sep 2021 20:16:17 GMT - Content-Type: - - application/json; charset=utf-8 - Connection: - - keep-alive - Cf-Ray: - - 6891a7a949250503-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7a949250503 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 0557cbf4350d96e4 - Ot-Tracer-Traceid: - - 42ea9a27427f41df - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700177' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: UTF-8 - string: '' - recorded_at: Fri, 03 Sep 2021 20:16:16 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_client/_filters/should_exclude_and_include_fields_properly.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_client/_filters/should_exclude_and_include_fields_properly.yml deleted file mode 100644 index 676655a6c..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_client/_filters/should_exclude_and_include_fields_properly.yml +++ /dev/null @@ -1,78 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/clients/SftKo9ySyHnMPezQUFd0C70GBoNFM21F?fields=jwt_configuration&include_fields=false - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:19 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a7b8691e35f1-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7b8691e35f1 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 07c257721daa9d43 - Ot-Tracer-Traceid: - - '047949e84401e241' - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700180' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"description":"Client - description","name":"TestClient-rubytest-210908","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"expiration_type":"non-expiring","leeway":0,"infinite_token_lifetime":true,"infinite_idle_token_lifetime":true,"token_lifetime":2592000,"idle_token_lifetime":1296000,"rotation_type":"non-rotating"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"SftKo9ySyHnMPezQUFd0C70GBoNFM21F","callback_url_template":false,"client_secret":"kJKYl705CStDbaeiBd9WgZafioFcbFNg0i4Ta7nakxxdGLUIdZvuRUXoY3MOe9xz","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":false}' - recorded_at: Fri, 03 Sep 2021 20:16:19 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_client/_filters/should_include_the_specified_fields.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_client/_filters/should_include_the_specified_fields.yml deleted file mode 100644 index d35120cf1..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_client/_filters/should_include_the_specified_fields.yml +++ /dev/null @@ -1,74 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/clients/SftKo9ySyHnMPezQUFd0C70GBoNFM21F?fields=name,client_secret,jwt_configuration&include_fields=true - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:19 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a7b71e590c9b-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7b71e590c9b - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 4fcfd0525265fff4 - Ot-Tracer-Traceid: - - 7cc24b861b3c2fb8 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700180' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"tenant":"auth0-sdk-tests","name":"TestClient-rubytest-210908","client_secret":"kJKYl705CStDbaeiBd9WgZafioFcbFNg0i4Ta7nakxxdGLUIdZvuRUXoY3MOe9xz","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false}}' - recorded_at: Fri, 03 Sep 2021 20:16:19 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_client/should_get_the_test_client.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_client/should_get_the_test_client.yml deleted file mode 100644 index d8fe012d9..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_client/should_get_the_test_client.yml +++ /dev/null @@ -1,78 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/clients/SftKo9ySyHnMPezQUFd0C70GBoNFM21F - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:18 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a7b589c142e4-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7b589c142e4 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 03df1bda25d2254d - Ot-Tracer-Traceid: - - 6e89a1b17ef9f08d - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700179' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"description":"Client - description","name":"TestClient-rubytest-210908","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"expiration_type":"non-expiring","leeway":0,"infinite_token_lifetime":true,"infinite_idle_token_lifetime":true,"token_lifetime":2592000,"idle_token_lifetime":1296000,"rotation_type":"non-rotating"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"SftKo9ySyHnMPezQUFd0C70GBoNFM21F","callback_url_template":false,"client_secret":"kJKYl705CStDbaeiBd9WgZafioFcbFNg0i4Ta7nakxxdGLUIdZvuRUXoY3MOe9xz","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":false}' - recorded_at: Fri, 03 Sep 2021 20:16:18 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/_filters/should_exclude_fields_not_specified.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/_filters/should_exclude_fields_not_specified.yml deleted file mode 100644 index dad5b0942..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/_filters/should_exclude_fields_not_specified.yml +++ /dev/null @@ -1,79 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/clients?fields=callbacks&include_fields=true - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:18 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a7b1288a321b-LAX - Cache-Control: - - no-cache - Link: - - ; - rel="first", ; - rel="next", ; - rel="last" - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7b1288a321b - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - '09626d214e2dfd13' - Ot-Tracer-Traceid: - - 491907c6300cc20e - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700179' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '[{"tenant":"auth0-sdk-tests","callbacks":null},{"tenant":"auth0-sdk-tests"},{"tenant":"auth0-sdk-tests"},{"tenant":"auth0-sdk-tests"},{"tenant":"auth0-sdk-tests"},{"tenant":"auth0-sdk-tests","callbacks":[]},{"tenant":"auth0-sdk-tests","callbacks":[]},{"tenant":"auth0-sdk-tests"},{"tenant":"auth0-sdk-tests"},{"tenant":"auth0-sdk-tests"},{"tenant":"auth0-sdk-tests"},{"tenant":"auth0-sdk-tests","callbacks":[]},{"tenant":"auth0-sdk-tests"},{"tenant":"auth0-sdk-tests","callbacks":[]},{"tenant":"auth0-sdk-tests"},{"tenant":"auth0-sdk-tests"},{"tenant":"auth0-sdk-tests"},{"tenant":"auth0-sdk-tests"},{"tenant":"auth0-sdk-tests"},{"tenant":"auth0-sdk-tests"},{"tenant":"auth0-sdk-tests"},{"tenant":"auth0-sdk-tests"},{"tenant":"auth0-sdk-tests"},{"tenant":"auth0-sdk-tests"},{"tenant":"auth0-sdk-tests"},{"tenant":"auth0-sdk-tests"},{"tenant":"auth0-sdk-tests"},{"tenant":"auth0-sdk-tests"},{"tenant":"auth0-sdk-tests"},{"tenant":"auth0-sdk-tests"},{"tenant":"auth0-sdk-tests"},{"tenant":"auth0-sdk-tests"},{"tenant":"auth0-sdk-tests"},{"tenant":"auth0-sdk-tests"},{"tenant":"auth0-sdk-tests"},{"tenant":"auth0-sdk-tests"},{"tenant":"auth0-sdk-tests"},{"tenant":"auth0-sdk-tests"},{"tenant":"auth0-sdk-tests"},{"tenant":"auth0-sdk-tests"},{"tenant":"auth0-sdk-tests"},{"tenant":"auth0-sdk-tests"},{"tenant":"auth0-sdk-tests"},{"tenant":"auth0-sdk-tests"},{"tenant":"auth0-sdk-tests"},{"tenant":"auth0-sdk-tests"},{"tenant":"auth0-sdk-tests"},{"tenant":"auth0-sdk-tests"},{"tenant":"auth0-sdk-tests"},{"tenant":"auth0-sdk-tests"}]' - recorded_at: Fri, 03 Sep 2021 20:16:18 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/_filters/should_exclude_the_specified_fields.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/_filters/should_exclude_the_specified_fields.yml deleted file mode 100644 index f5abfe55a..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/_filters/should_exclude_the_specified_fields.yml +++ /dev/null @@ -1,272 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/clients?fields=callbacks&include_fields=false - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:18 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a7b27b3252a7-LAX - Cache-Control: - - no-cache - Link: - - ; - rel="first", ; - rel="next", ; - rel="last" - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7b27b3252a7 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 484d97ee67cbf51d - Ot-Tracer-Traceid: - - 1d6fe1cf5d91eb87 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700179' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '[{"tenant":"auth0-sdk-tests","name":"Default App","global":false,"allowed_clients":null,"allowed_logout_urls":null,"is_first_party":true,"oidc_conformant":true,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"allowed_origins":null,"client_id":"3CwQ82ywfdqWNi1P1afA6ajdHFYGh4Is","callback_url_template":false,"config_route":null,"client_secret":"DtIIlkJFNyD6AzjYOtDZbEPfyihKMwarrLhySjB6t05KHZ_9YdsrHV63MCJlZ4vB","jwt_configuration":{"alg":"RS256","lifetime_in_seconds":36000,"secret_encoded":false},"grant_types":["implicit","authorization_code","client_credentials","refresh_token"],"custom_login_page_on":false},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"API - Explorer Client","description":"Test Client for API Explorer.","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"cDJqcgHCP8poqZyDfY1h0KUFI6vzPT9f","callback_url_template":false,"client_secret":"a1LLcy2QMyN_9mJMWKdu2Yb-lmcIhRwLw6xtOZXqaNG5otrCPmUpMHHuerUDMP8h","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"non_interactive","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"My - App","is_first_party":true,"oidc_conformant":true,"sso_disabled":false,"cross_origin_auth":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"GMNXS0Ctfm64JpVQWKJz72CNhUHiGAQb","callback_url_template":false,"client_secret":"TsZHOXcrU_5j6MGAvijxJyTbUl_c7T9in7Qlj6K059e5qVlJp_CmynSS2KgU-5tW","jwt_configuration":{"alg":"RS256","lifetime_in_seconds":36000,"secret_encoded":false},"token_endpoint_auth_method":"none","app_type":"native","grant_types":["authorization_code","implicit","refresh_token"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"My - App","is_first_party":true,"oidc_conformant":true,"sso_disabled":false,"cross_origin_auth":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"zRPBcafuUFNMa4qsJYQjfdKZU09Zl7Sq","callback_url_template":false,"client_secret":"CRSnDg-OF1pTqBNE6h2uPFBzxdeYTtBYS3_rn3woht5mmS4OajbS3duWZnvcIOwC","jwt_configuration":{"alg":"RS256","lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"non_interactive","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"My - App","is_first_party":true,"oidc_conformant":true,"sso_disabled":false,"cross_origin_auth":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"qzbD3sJyuTYC2X3IAq2vcY37lPcd9T0X","callback_url_template":false,"client_secret":"AYJsYe9ADJLvOPfUVEogugdkBRXtKmeak_A4kmm6O3LBVSHb3JgpOjLg1fCKV3Ev","jwt_configuration":{"alg":"RS256","lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"My - App Native","is_first_party":true,"oidc_conformant":true,"sso_disabled":false,"cross_origin_auth":false,"allowed_clients":[],"description":"","refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"3qAIUl8GMdGX1vcbrZZk2Id2zLUFaW79","callback_url_template":false,"client_secret":"joz6zLX4eE00NCPRo1cvGCSqajl-B12kVO4zVQpIU0aqadpH-9usnoQ5lM9Fdxm3","jwt_configuration":{"alg":"RS256","lifetime_in_seconds":36000,"secret_encoded":false},"client_aliases":[],"token_endpoint_auth_method":"none","app_type":"native","grant_types":["authorization_code","implicit","refresh_token"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"My - App","is_first_party":true,"oidc_conformant":true,"sso_disabled":false,"cross_origin_auth":false,"description":"","logo_uri":"","sso":true,"allowed_logout_urls":[],"allowed_clients":[],"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"allowed_origins":[],"client_id":"VdJ05g0v1yB0UdqiDKBLAfUxNq1B2cH4","callback_url_template":false,"client_secret":"6eBP-WJBcrQCvYfoun7VRiLfwkEKSYSZxSxMivRWm9BCQKhxTNgbDkFKUFX87w4K","jwt_configuration":{"alg":"RS256","lifetime_in_seconds":36000,"secret_encoded":false},"token_endpoint_auth_method":"none","app_type":"native","grant_types":["authorization_code","implicit","refresh_token"],"web_origins":[],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"API - Explorer Application","description":"Test Application for API Explorer.","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"custom_login_page_preview":"\n\n\n \n \n Sign In with Auth0\n \n\n\n\n \n\n \n\n \n \n\n","signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"np0ERu7GHFoN0WiWLAbFIfNjSzYKFs0y","callback_url_template":false,"client_secret":"qA_rwSPuT0P04vt-tkvLJsq-GdvGe1Syx0r7TvExHYu7wFKxGoUGaB5IFrPZNRc_","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"non_interactive","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"API - Explorer Application","description":"Test Application for API Explorer.","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"CsU413L8tfUiKqgaOBCiEAoYa0tQRC03","callback_url_template":false,"client_secret":"UI-qq26LImZVihkjSkO0jNdCOu-kuRPWePS2EHE5NvaZgi6X2yi4Hf1mJzSM0n21","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"non_interactive","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"API - Explorer Application","description":"Test Application for API Explorer.","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"80peYzeAZa6lRtxESoP0EFUXUkTqEk9V","callback_url_template":false,"client_secret":"7mQUEf2OvrqC0D5IU2LJnNPDR6biiQjAyBY89RLzVG4LO9b-k-EooDxSan2qSL7-","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"non_interactive","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"Auth0 - Management API (Test Application)","description":"Test Application for Auth0 - Management API API.","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"Ei5v5M8765EY6WNRztyAy77t1e2t5AvT","callback_url_template":false,"client_secret":"Jx_T88lsMrRrCI-FqBgYSHn3tBt58fO-puj9FwEzbWiArEeNUIdNxR-6YKkJGh6l","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"non_interactive","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"Ruby - SDK Integration Tests - DO NOT DELETE","is_first_party":true,"oidc_conformant":true,"sso_disabled":false,"cross_origin_auth":false,"description":"","logo_uri":"https://avatars2.githubusercontent.com/u/210414","sso":true,"allowed_logout_urls":[],"allowed_clients":[],"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"allowed_origins":[],"client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","callback_url_template":false,"client_secret":"CLIENT_SECRET","jwt_configuration":{"alg":"RS256","lifetime_in_seconds":36000,"secret_encoded":false},"client_aliases":[],"token_endpoint_auth_method":"client_secret_post","app_type":"regular_web","grant_types":["authorization_code","client_credentials","http://auth0.com/oauth/grant-type/password-realm","implicit","password","refresh_token"],"web_origins":[],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"API - Explorer Application","description":"Test Application for API Explorer.","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"1TstJOXxYpOWEx32FqjWXylN81C1RU7k","callback_url_template":false,"client_secret":"RvaJR8VaFwJzmf30V0liuW2bYzAN6Z70VVaYN9iSZ1eZZiGdu8eXJe-5G7KsqBIs","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"non_interactive","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"PHP - SDK Integration Tests - DO NOT DELETE","is_first_party":true,"oidc_conformant":true,"sso_disabled":false,"cross_origin_auth":false,"allowed_clients":[],"logo_uri":"https://avatars1.githubusercontent.com/u/25158","refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","callback_url_template":false,"client_secret":"9PjIiXiwWe_j-IOxQ-bqaNA7mOQfPeUi-k8BFwG_cRU6P8im1BXyegi_1A76j_XF","jwt_configuration":{"alg":"RS256","lifetime_in_seconds":36000,"secret_encoded":false},"client_aliases":[],"token_endpoint_auth_method":"client_secret_post","app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials","password","http://auth0.com/oauth/grant-type/password-realm"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-UPDATE-CLIENT-","sso":true,"description":"__Auth0_PHP_updated_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"Ni0H8rmaCeixc8sCP83vxsjkgHefb9fx","callback_url_template":false,"client_secret":"rodoRyatll2FQGeVnKgDVbEGz0yzBIUeqS8g_pLTx9xvx50jlfYaXujWPCHBMj6e","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"native","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-214084582","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"iveuuxUda6GkuwwCBVo95lACOfgqIk5g","callback_url_template":false,"client_secret":"DrK1uNj7_-KjSnPZ8Wyz3Mzzcbd-y-zFByG8epzwBz5YCrXlVC4-VcDOccO1UT5D","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-1247984963","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"Ze3m2RMqa0Gs6v0irfBdXFdf6V07Uy2P","callback_url_template":false,"client_secret":"d3SWyr4C2Tzwrz4m9ex6A7AmHmhC-Lau4aX1PNsVD62aRRluvHxEICgzpjSGbVGe","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-1793585255","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"Vp7CLh1bl7lAA733ewMhDaqLbqEwBkdt","callback_url_template":false,"client_secret":"FDSsgzdlwhyoykOi2xxiGIXruHNfY2MOE4uphRJUExxhb8X5w9ETSGHbVhrGhLnK","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-UPDATE-CLIENT-","sso":true,"description":"__Auth0_PHP_updated_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"UsBLvhAPeTQda7O4xlAxoRi2Hv6l83tz","callback_url_template":false,"client_secret":"Ftq4Pm8BP5Jp_6DlrEFliHCF4gZ06j2chGr1YKKltWJS7wJ7g09ndyC3xCkltD-h","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"native","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-2022282813","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"uBghc9IPQD8a7nT6V3D65vHAaIg5YAfs","callback_url_template":false,"client_secret":"g-7zPx7C7_Ib2mUmcSod9jQLvsPjS1um2smK1MhMxo1w9YqoQoMT9Hmdgb1YtRYs","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-578481471","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"nAqSFqv3QPV0S0KLSd2vyIOMMvo8Rztk","callback_url_template":false,"client_secret":"aXH-GJgFdT8AgyifRF2JQTG-S0TYkPKDh2L9uU1v6CSZfZ0a7QW_3qBq0kfA40yp","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-1163050537","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"3Prqy25OK9UwN8i9ua8cXlgHHGtQzTnr","callback_url_template":false,"client_secret":"8Ks8RiVedg2wLHGO7exJCioafoostNFibcn3anfrLfncLvJAFcO93SCOKzUzmu6n","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-855768097","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"wXPfOQsAVlLyeW8c4FR1MUjur2YW9gSy","callback_url_template":false,"client_secret":"QhHwUT84DS7jlYxowCRJj9Z0jgv6H_kJxu1erKVrMPLJU26bPVRSsPA0zLN9iHNY","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-2056634117","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"2T1x15Q0kvpzE2DyCOAmOeuGT6i6m95u","callback_url_template":false,"client_secret":"s0L5tJ-KtfGKzVZZbdvQ0CIjT3HKVVfL89PWD6vofQH-Wqc-mmhHXmM5lAbF2DSA","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-1241118124","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"3Ftt3V2J90AGNdxbZijjivJ8gEhPz8Pg","callback_url_template":false,"client_secret":"6vfgj5_X8X0vAWkQ1FVvvbHts_K_7C-L1ktBfBpt2kplQu5LiCEAOSt8v_0TV2ql","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-1966246326","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"1KE7cWJ0y00pj0pEhRDGdpZOuR3FbDtV","callback_url_template":false,"client_secret":"VpbXqOUX3Z1h7wIPp1_DcDOq74VUzFR9fMx4MjBfaiivzROJmoHlKeU9gq4II9X1","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-524362277","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"fJb3MH6psd17WZN0Snemfk7x5cFjONqR","callback_url_template":false,"client_secret":"uuvHMB5C6x9dL4H3x-Ve5vYktTQyCOYp23iLvndt1Oc2Gc_m-6oQlwMFSdQaLIDi","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-1759802380","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"oIrlRIgJmLq0xI4bSaYKkhPjjqXgKibi","callback_url_template":false,"client_secret":"PjlGmXnCSboDKIQRqouaneoxJYgDmbUAGCgZYH25myNTYhUwptNwWEkBufrzvLuf","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-1895639525","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"scgImVeVRnvQBUstLqSKKupCHxRx73Vq","callback_url_template":false,"client_secret":"ac0JZsTctdKYY7lEpVAQrx4Hl-ZPYI8eXB1l3Ai7ztX4LAmrGB4FsVNsEXUXA8Jl","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-1266186001","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"i3akc1ejZJW2s637XeeI7mELh5ljV5i6","callback_url_template":false,"client_secret":"JwizQ-ta9W5DvK2tmQsYOvsG-_7i1Wqj8Xt8wYQGGriN0xU5K7-HuIAL4e8PN0hX","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-1211247996","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"3ty4mgVVA7OZPCDzBt9PD1rTR7AgUXwW","callback_url_template":false,"client_secret":"pz_jqKz_4ObPg8kuIPQI1oJ-0Mw_qkTYHtCtnX9-ZThVV-I1ki86vBmtlXvd8SxT","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-831566817","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"rpBVKEV9TTIXEqh5YdtcuV3FrtoKpg74","callback_url_template":false,"client_secret":"_jkkEH2qmYXgdziI8rMgK-JI2L9QPpTixInscTR-YSho_wnb_jcUDvnR5LppAoS3","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-1235677688","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"B2Yao3nQuIdDUu8oGZnQcay9kgRBJXAk","callback_url_template":false,"client_secret":"OyaLdy0Ia2CxawfhK6CsJZvXMryfbUl7Um7u68UkZ6g2xMYoDMSGoLEaDxxvFZpX","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-1837913651","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"VmpWbh35vJKJiYuuEpfViR64b5CbMV6A","callback_url_template":false,"client_secret":"VUVZGdU5uGegqJAWPUW_9cp1MqWDTYKTM81SJ-F4d-CdCY9MXWBujdVAwo4YZ9mk","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-434825553","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"PMhv7sKtONJX4BfQ7piL3kZZjhNFdJQq","callback_url_template":false,"client_secret":"2SOw2rYdhBwWZHl9XZij21nlyoYefq4si5hZbXJhxOugceViJidTjjKeSMz10Rwj","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-1736102968","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"KzT55OMFsaVAw9TzVYUsJR5y7FNwZu5X","callback_url_template":false,"client_secret":"0jmMQJWj2bbkUkYdZs6Yr-C2QdYHEzBH1VT1-u_2IbXd2CipMTzDRZ3zuT-pv_4D","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-210255318","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"jc8udaPyn4nKxe4DF1m49ZybkbcfSrSJ","callback_url_template":false,"client_secret":"DJNMaa6ZtupJ7pN1iKbBHZSz4OGOLACPk2Cl_EtrM5NmGa14hWyMRepVdHa3ksWC","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-1881792656","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"DRFdFA5hueMCqgQTcgH0HfqC3vFTQ9jl","callback_url_template":false,"client_secret":"mTYV4Z7NQ5FcXmrE2W3RnJr8xp_PMSJBwtaWkWUfd_Y669ZCAivqHv9H7byGeMnr","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-1796595118","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"awY4y2O0sNf0ixBr8cxMEDZGXMQR10F0","callback_url_template":false,"client_secret":"TcgpvHh2n-rVjxzkbuyifMMnNO37-sJn_gYqHsjMtZZZiDQJNyk4N1hYLoRV8Svv","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-1089049841","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"Wx9SbsxpuRG55EuQzM6c12j2pRp0h6a9","callback_url_template":false,"client_secret":"AUDEteJh2JZmsexrQRt2_sTvIf__pZrp4bkTYJE_3Y9VEcFIVUpt9X8ISuPNPlqG","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-656499726","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"DJYlPad951IEbI5xbikjpBxWSQyB8ESN","callback_url_template":false,"client_secret":"SNQ9WiWwUyTEfDUUwuKhJPXrcVgE8Yq7O_kN41HU8oDghujKc_3QISd6DB_ymbo7","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-530077406","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"OhbZaeMcukhJG5D8n49MAQvxmKQIdopo","callback_url_template":false,"client_secret":"Cr8uon6i-JgpGuyWN1ESxwixqxkd_FH2noyzKR8V7GdFbZqESp8kC8ohSLGkCWDm","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-752961578","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"3qzWhmfT7YPMpE2OGqaIDhNt1vhKbpXK","callback_url_template":false,"client_secret":"GvpKciWo4AwaYPs-KyAFGqQvZdxQsnRQZadJhtWKsuZlbNxSdHelTEj9TJLj4Njz","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-1873324151","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"6nDYKXZdnsrKI4hYAcxmQ0ZdvqWbzdTk","callback_url_template":false,"client_secret":"h7LZFHE4eUcxqQ3kG4G0_Da1tmaK1WhYl5BEZ05UIsrQ6pNG6FDx31319EPPyc5h","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-1594972744","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"UkDgqRg12UmQclXGIQ3tpRkRBFkUC1iI","callback_url_template":false,"client_secret":"AYqrlBo19YXA03vu9FzFwYUy4Kk2zFGEMFwRwMBkcDmGxUFBLOazkXvjKGzeKZLn","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-2021330753","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"0u3N7ucBDtVVyNzwNeAMTuJz11KHWRnB","callback_url_template":false,"client_secret":"DeaTNnqxaWM65W_Dwh75uArTBQC2_3uRQRt83N-Vf8jCpOdt2cCKemunojhQSRiq","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-714279258","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"ywXzZl7uaMJvcclhAFe2hm1PMq5keq05","callback_url_template":false,"client_secret":"M8wFc-VtCgUsL42-lq4DGYt0x4L2k7TBTWWqTQ_7u7hCCsV8CLbvJU7ox2G7arle","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-663986740","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"X0r2INQ8fgj4jJAiYOYihjtBbj1FzMnC","callback_url_template":false,"client_secret":"HmOVSAMGkFwxYKm3ba_4UZVLQBV4Tvnv-LgoOjfdlATzAmRt0FsR5gVQMSe0QDeo","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-791686575","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"n4tfAcvZi6JhmDR0pJiugw0z8uGvFQUJ","callback_url_template":false,"client_secret":"g2GDWbkyJvX9pjwdIEIxY5VdeBQekH-Sxc1_BJ6CWBPevQq2nrMdLkj_lVy8ybZH","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-1044491558","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"Y2kA8kQoW3DckPDSPmbhxwZ0tGUStPFh","callback_url_template":false,"client_secret":"erhgbfuYV1-WtddeqKZXD6KHI2ObubYr485moa6-IVr-FExrhCnaYQUliio25FsG","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true}]' - recorded_at: Fri, 03 Sep 2021 20:16:18 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/_filters/should_include_the_specified_fields.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/_filters/should_include_the_specified_fields.yml deleted file mode 100644 index 903ab5212..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/_filters/should_include_the_specified_fields.yml +++ /dev/null @@ -1,88 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/clients?fields=name,callbacks&include_fields=true - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:18 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a7afc94e429f-LAX - Cache-Control: - - no-cache - Link: - - ; - rel="first", ; - rel="next", ; - rel="last" - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7afc94e429f - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 4b3c35905456be5f - Ot-Tracer-Traceid: - - 42c5af1731a235d7 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700178' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '[{"tenant":"auth0-sdk-tests","name":"Default App","callbacks":null},{"tenant":"auth0-sdk-tests","name":"API - Explorer Client"},{"tenant":"auth0-sdk-tests","name":"My App"},{"tenant":"auth0-sdk-tests","name":"My - App"},{"tenant":"auth0-sdk-tests","name":"My App"},{"tenant":"auth0-sdk-tests","name":"My - App Native","callbacks":[]},{"tenant":"auth0-sdk-tests","name":"My App","callbacks":[]},{"tenant":"auth0-sdk-tests","name":"API - Explorer Application"},{"tenant":"auth0-sdk-tests","name":"API Explorer Application"},{"tenant":"auth0-sdk-tests","name":"API - Explorer Application"},{"tenant":"auth0-sdk-tests","name":"Auth0 Management - API (Test Application)"},{"tenant":"auth0-sdk-tests","name":"Ruby SDK Integration - Tests - DO NOT DELETE","callbacks":[]},{"tenant":"auth0-sdk-tests","name":"API - Explorer Application"},{"tenant":"auth0-sdk-tests","name":"PHP SDK Integration - Tests - DO NOT DELETE","callbacks":[]},{"tenant":"auth0-sdk-tests","name":"TEST-UPDATE-CLIENT-"},{"tenant":"auth0-sdk-tests","name":"TEST-CREATE-CLIENT-214084582"},{"tenant":"auth0-sdk-tests","name":"TEST-CREATE-CLIENT-1247984963"},{"tenant":"auth0-sdk-tests","name":"TEST-CREATE-CLIENT-1793585255"},{"tenant":"auth0-sdk-tests","name":"TEST-UPDATE-CLIENT-"},{"tenant":"auth0-sdk-tests","name":"TEST-CREATE-CLIENT-2022282813"},{"tenant":"auth0-sdk-tests","name":"TEST-CREATE-CLIENT-578481471"},{"tenant":"auth0-sdk-tests","name":"TEST-CREATE-CLIENT-1163050537"},{"tenant":"auth0-sdk-tests","name":"TEST-CREATE-CLIENT-855768097"},{"tenant":"auth0-sdk-tests","name":"TEST-CREATE-CLIENT-2056634117"},{"tenant":"auth0-sdk-tests","name":"TEST-CREATE-CLIENT-1241118124"},{"tenant":"auth0-sdk-tests","name":"TEST-CREATE-CLIENT-1966246326"},{"tenant":"auth0-sdk-tests","name":"TEST-CREATE-CLIENT-524362277"},{"tenant":"auth0-sdk-tests","name":"TEST-CREATE-CLIENT-1759802380"},{"tenant":"auth0-sdk-tests","name":"TEST-CREATE-CLIENT-1895639525"},{"tenant":"auth0-sdk-tests","name":"TEST-CREATE-CLIENT-1266186001"},{"tenant":"auth0-sdk-tests","name":"TEST-CREATE-CLIENT-1211247996"},{"tenant":"auth0-sdk-tests","name":"TEST-CREATE-CLIENT-831566817"},{"tenant":"auth0-sdk-tests","name":"TEST-CREATE-CLIENT-1235677688"},{"tenant":"auth0-sdk-tests","name":"TEST-CREATE-CLIENT-1837913651"},{"tenant":"auth0-sdk-tests","name":"TEST-CREATE-CLIENT-434825553"},{"tenant":"auth0-sdk-tests","name":"TEST-CREATE-CLIENT-1736102968"},{"tenant":"auth0-sdk-tests","name":"TEST-CREATE-CLIENT-210255318"},{"tenant":"auth0-sdk-tests","name":"TEST-CREATE-CLIENT-1881792656"},{"tenant":"auth0-sdk-tests","name":"TEST-CREATE-CLIENT-1796595118"},{"tenant":"auth0-sdk-tests","name":"TEST-CREATE-CLIENT-1089049841"},{"tenant":"auth0-sdk-tests","name":"TEST-CREATE-CLIENT-656499726"},{"tenant":"auth0-sdk-tests","name":"TEST-CREATE-CLIENT-530077406"},{"tenant":"auth0-sdk-tests","name":"TEST-CREATE-CLIENT-752961578"},{"tenant":"auth0-sdk-tests","name":"TEST-CREATE-CLIENT-1873324151"},{"tenant":"auth0-sdk-tests","name":"TEST-CREATE-CLIENT-1594972744"},{"tenant":"auth0-sdk-tests","name":"TEST-CREATE-CLIENT-2021330753"},{"tenant":"auth0-sdk-tests","name":"TEST-CREATE-CLIENT-714279258"},{"tenant":"auth0-sdk-tests","name":"TEST-CREATE-CLIENT-663986740"},{"tenant":"auth0-sdk-tests","name":"TEST-CREATE-CLIENT-791686575"},{"tenant":"auth0-sdk-tests","name":"TEST-CREATE-CLIENT-1044491558"}]' - recorded_at: Fri, 03 Sep 2021 20:16:17 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/_filters/should_paginate_results.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/_filters/should_paginate_results.yml deleted file mode 100644 index 9a07ce365..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/_filters/should_paginate_results.yml +++ /dev/null @@ -1,79 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/clients?fields=name&include_fields=true&page=0&per_page=1 - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:18 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a7b3ede25263-LAX - Cache-Control: - - no-cache - Link: - - ; - rel="first", ; - rel="next", ; - rel="last" - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7b3ede25263 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 4312622c2279b1b5 - Ot-Tracer-Traceid: - - 1137b4c6446c7587 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700179' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '[{"tenant":"auth0-sdk-tests","name":"Default App"}]' - recorded_at: Fri, 03 Sep 2021 20:16:18 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/should_get_at_least_one_client.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/should_get_at_least_one_client.yml deleted file mode 100644 index 8ba047fd0..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_clients/should_get_at_least_one_client.yml +++ /dev/null @@ -1,271 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/clients - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:17 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a7ae7ff03609-LAX - Cache-Control: - - no-cache - Link: - - ; rel="first", - ; rel="next", - ; rel="last" - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7ae7ff03609 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 2a120ad22c57e89c - Ot-Tracer-Traceid: - - '0910c51e4b392636' - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700178' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '[{"tenant":"auth0-sdk-tests","name":"Default App","callbacks":null,"global":false,"allowed_clients":null,"allowed_logout_urls":null,"is_first_party":true,"oidc_conformant":true,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"allowed_origins":null,"client_id":"3CwQ82ywfdqWNi1P1afA6ajdHFYGh4Is","callback_url_template":false,"config_route":null,"client_secret":"DtIIlkJFNyD6AzjYOtDZbEPfyihKMwarrLhySjB6t05KHZ_9YdsrHV63MCJlZ4vB","jwt_configuration":{"alg":"RS256","lifetime_in_seconds":36000,"secret_encoded":false},"grant_types":["implicit","authorization_code","client_credentials","refresh_token"],"custom_login_page_on":false},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"API - Explorer Client","description":"Test Client for API Explorer.","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"cDJqcgHCP8poqZyDfY1h0KUFI6vzPT9f","callback_url_template":false,"client_secret":"a1LLcy2QMyN_9mJMWKdu2Yb-lmcIhRwLw6xtOZXqaNG5otrCPmUpMHHuerUDMP8h","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"non_interactive","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"My - App","is_first_party":true,"oidc_conformant":true,"sso_disabled":false,"cross_origin_auth":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"GMNXS0Ctfm64JpVQWKJz72CNhUHiGAQb","callback_url_template":false,"client_secret":"TsZHOXcrU_5j6MGAvijxJyTbUl_c7T9in7Qlj6K059e5qVlJp_CmynSS2KgU-5tW","jwt_configuration":{"alg":"RS256","lifetime_in_seconds":36000,"secret_encoded":false},"token_endpoint_auth_method":"none","app_type":"native","grant_types":["authorization_code","implicit","refresh_token"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"My - App","is_first_party":true,"oidc_conformant":true,"sso_disabled":false,"cross_origin_auth":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"zRPBcafuUFNMa4qsJYQjfdKZU09Zl7Sq","callback_url_template":false,"client_secret":"CRSnDg-OF1pTqBNE6h2uPFBzxdeYTtBYS3_rn3woht5mmS4OajbS3duWZnvcIOwC","jwt_configuration":{"alg":"RS256","lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"non_interactive","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"My - App","is_first_party":true,"oidc_conformant":true,"sso_disabled":false,"cross_origin_auth":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"qzbD3sJyuTYC2X3IAq2vcY37lPcd9T0X","callback_url_template":false,"client_secret":"AYJsYe9ADJLvOPfUVEogugdkBRXtKmeak_A4kmm6O3LBVSHb3JgpOjLg1fCKV3Ev","jwt_configuration":{"alg":"RS256","lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"My - App Native","is_first_party":true,"oidc_conformant":true,"sso_disabled":false,"cross_origin_auth":false,"allowed_clients":[],"callbacks":[],"description":"","refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"3qAIUl8GMdGX1vcbrZZk2Id2zLUFaW79","callback_url_template":false,"client_secret":"joz6zLX4eE00NCPRo1cvGCSqajl-B12kVO4zVQpIU0aqadpH-9usnoQ5lM9Fdxm3","jwt_configuration":{"alg":"RS256","lifetime_in_seconds":36000,"secret_encoded":false},"client_aliases":[],"token_endpoint_auth_method":"none","app_type":"native","grant_types":["authorization_code","implicit","refresh_token"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"My - App","is_first_party":true,"oidc_conformant":true,"sso_disabled":false,"cross_origin_auth":false,"description":"","logo_uri":"","sso":true,"callbacks":[],"allowed_logout_urls":[],"allowed_clients":[],"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"allowed_origins":[],"client_id":"VdJ05g0v1yB0UdqiDKBLAfUxNq1B2cH4","callback_url_template":false,"client_secret":"6eBP-WJBcrQCvYfoun7VRiLfwkEKSYSZxSxMivRWm9BCQKhxTNgbDkFKUFX87w4K","jwt_configuration":{"alg":"RS256","lifetime_in_seconds":36000,"secret_encoded":false},"token_endpoint_auth_method":"none","app_type":"native","grant_types":["authorization_code","implicit","refresh_token"],"web_origins":[],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"API - Explorer Application","description":"Test Application for API Explorer.","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"custom_login_page_preview":"\n\n\n \n \n Sign In with Auth0\n \n\n\n\n \n\n \n\n \n \n\n","signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"np0ERu7GHFoN0WiWLAbFIfNjSzYKFs0y","callback_url_template":false,"client_secret":"qA_rwSPuT0P04vt-tkvLJsq-GdvGe1Syx0r7TvExHYu7wFKxGoUGaB5IFrPZNRc_","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"non_interactive","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"API - Explorer Application","description":"Test Application for API Explorer.","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"CsU413L8tfUiKqgaOBCiEAoYa0tQRC03","callback_url_template":false,"client_secret":"UI-qq26LImZVihkjSkO0jNdCOu-kuRPWePS2EHE5NvaZgi6X2yi4Hf1mJzSM0n21","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"non_interactive","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"API - Explorer Application","description":"Test Application for API Explorer.","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"80peYzeAZa6lRtxESoP0EFUXUkTqEk9V","callback_url_template":false,"client_secret":"7mQUEf2OvrqC0D5IU2LJnNPDR6biiQjAyBY89RLzVG4LO9b-k-EooDxSan2qSL7-","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"non_interactive","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"Auth0 - Management API (Test Application)","description":"Test Application for Auth0 - Management API API.","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"Ei5v5M8765EY6WNRztyAy77t1e2t5AvT","callback_url_template":false,"client_secret":"Jx_T88lsMrRrCI-FqBgYSHn3tBt58fO-puj9FwEzbWiArEeNUIdNxR-6YKkJGh6l","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"non_interactive","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"Ruby - SDK Integration Tests - DO NOT DELETE","is_first_party":true,"oidc_conformant":true,"sso_disabled":false,"cross_origin_auth":false,"description":"","logo_uri":"https://avatars2.githubusercontent.com/u/210414","sso":true,"callbacks":[],"allowed_logout_urls":[],"allowed_clients":[],"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"allowed_origins":[],"client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","callback_url_template":false,"client_secret":"CLIENT_SECRET","jwt_configuration":{"alg":"RS256","lifetime_in_seconds":36000,"secret_encoded":false},"client_aliases":[],"token_endpoint_auth_method":"client_secret_post","app_type":"regular_web","grant_types":["authorization_code","client_credentials","http://auth0.com/oauth/grant-type/password-realm","implicit","password","refresh_token"],"web_origins":[],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"API - Explorer Application","description":"Test Application for API Explorer.","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"1TstJOXxYpOWEx32FqjWXylN81C1RU7k","callback_url_template":false,"client_secret":"RvaJR8VaFwJzmf30V0liuW2bYzAN6Z70VVaYN9iSZ1eZZiGdu8eXJe-5G7KsqBIs","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"non_interactive","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"PHP - SDK Integration Tests - DO NOT DELETE","is_first_party":true,"oidc_conformant":true,"sso_disabled":false,"cross_origin_auth":false,"allowed_clients":[],"callbacks":[],"logo_uri":"https://avatars1.githubusercontent.com/u/25158","refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","callback_url_template":false,"client_secret":"9PjIiXiwWe_j-IOxQ-bqaNA7mOQfPeUi-k8BFwG_cRU6P8im1BXyegi_1A76j_XF","jwt_configuration":{"alg":"RS256","lifetime_in_seconds":36000,"secret_encoded":false},"client_aliases":[],"token_endpoint_auth_method":"client_secret_post","app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials","password","http://auth0.com/oauth/grant-type/password-realm"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-UPDATE-CLIENT-","sso":true,"description":"__Auth0_PHP_updated_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"Ni0H8rmaCeixc8sCP83vxsjkgHefb9fx","callback_url_template":false,"client_secret":"rodoRyatll2FQGeVnKgDVbEGz0yzBIUeqS8g_pLTx9xvx50jlfYaXujWPCHBMj6e","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"native","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-214084582","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"iveuuxUda6GkuwwCBVo95lACOfgqIk5g","callback_url_template":false,"client_secret":"DrK1uNj7_-KjSnPZ8Wyz3Mzzcbd-y-zFByG8epzwBz5YCrXlVC4-VcDOccO1UT5D","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-1247984963","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"Ze3m2RMqa0Gs6v0irfBdXFdf6V07Uy2P","callback_url_template":false,"client_secret":"d3SWyr4C2Tzwrz4m9ex6A7AmHmhC-Lau4aX1PNsVD62aRRluvHxEICgzpjSGbVGe","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-1793585255","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"Vp7CLh1bl7lAA733ewMhDaqLbqEwBkdt","callback_url_template":false,"client_secret":"FDSsgzdlwhyoykOi2xxiGIXruHNfY2MOE4uphRJUExxhb8X5w9ETSGHbVhrGhLnK","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-UPDATE-CLIENT-","sso":true,"description":"__Auth0_PHP_updated_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"UsBLvhAPeTQda7O4xlAxoRi2Hv6l83tz","callback_url_template":false,"client_secret":"Ftq4Pm8BP5Jp_6DlrEFliHCF4gZ06j2chGr1YKKltWJS7wJ7g09ndyC3xCkltD-h","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"native","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-2022282813","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"uBghc9IPQD8a7nT6V3D65vHAaIg5YAfs","callback_url_template":false,"client_secret":"g-7zPx7C7_Ib2mUmcSod9jQLvsPjS1um2smK1MhMxo1w9YqoQoMT9Hmdgb1YtRYs","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-578481471","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"nAqSFqv3QPV0S0KLSd2vyIOMMvo8Rztk","callback_url_template":false,"client_secret":"aXH-GJgFdT8AgyifRF2JQTG-S0TYkPKDh2L9uU1v6CSZfZ0a7QW_3qBq0kfA40yp","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-1163050537","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"3Prqy25OK9UwN8i9ua8cXlgHHGtQzTnr","callback_url_template":false,"client_secret":"8Ks8RiVedg2wLHGO7exJCioafoostNFibcn3anfrLfncLvJAFcO93SCOKzUzmu6n","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-855768097","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"wXPfOQsAVlLyeW8c4FR1MUjur2YW9gSy","callback_url_template":false,"client_secret":"QhHwUT84DS7jlYxowCRJj9Z0jgv6H_kJxu1erKVrMPLJU26bPVRSsPA0zLN9iHNY","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-2056634117","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"2T1x15Q0kvpzE2DyCOAmOeuGT6i6m95u","callback_url_template":false,"client_secret":"s0L5tJ-KtfGKzVZZbdvQ0CIjT3HKVVfL89PWD6vofQH-Wqc-mmhHXmM5lAbF2DSA","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-1241118124","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"3Ftt3V2J90AGNdxbZijjivJ8gEhPz8Pg","callback_url_template":false,"client_secret":"6vfgj5_X8X0vAWkQ1FVvvbHts_K_7C-L1ktBfBpt2kplQu5LiCEAOSt8v_0TV2ql","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-1966246326","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"1KE7cWJ0y00pj0pEhRDGdpZOuR3FbDtV","callback_url_template":false,"client_secret":"VpbXqOUX3Z1h7wIPp1_DcDOq74VUzFR9fMx4MjBfaiivzROJmoHlKeU9gq4II9X1","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-524362277","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"fJb3MH6psd17WZN0Snemfk7x5cFjONqR","callback_url_template":false,"client_secret":"uuvHMB5C6x9dL4H3x-Ve5vYktTQyCOYp23iLvndt1Oc2Gc_m-6oQlwMFSdQaLIDi","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-1759802380","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"oIrlRIgJmLq0xI4bSaYKkhPjjqXgKibi","callback_url_template":false,"client_secret":"PjlGmXnCSboDKIQRqouaneoxJYgDmbUAGCgZYH25myNTYhUwptNwWEkBufrzvLuf","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-1895639525","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"scgImVeVRnvQBUstLqSKKupCHxRx73Vq","callback_url_template":false,"client_secret":"ac0JZsTctdKYY7lEpVAQrx4Hl-ZPYI8eXB1l3Ai7ztX4LAmrGB4FsVNsEXUXA8Jl","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-1266186001","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"i3akc1ejZJW2s637XeeI7mELh5ljV5i6","callback_url_template":false,"client_secret":"JwizQ-ta9W5DvK2tmQsYOvsG-_7i1Wqj8Xt8wYQGGriN0xU5K7-HuIAL4e8PN0hX","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-1211247996","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"3ty4mgVVA7OZPCDzBt9PD1rTR7AgUXwW","callback_url_template":false,"client_secret":"pz_jqKz_4ObPg8kuIPQI1oJ-0Mw_qkTYHtCtnX9-ZThVV-I1ki86vBmtlXvd8SxT","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-831566817","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"rpBVKEV9TTIXEqh5YdtcuV3FrtoKpg74","callback_url_template":false,"client_secret":"_jkkEH2qmYXgdziI8rMgK-JI2L9QPpTixInscTR-YSho_wnb_jcUDvnR5LppAoS3","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-1235677688","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"B2Yao3nQuIdDUu8oGZnQcay9kgRBJXAk","callback_url_template":false,"client_secret":"OyaLdy0Ia2CxawfhK6CsJZvXMryfbUl7Um7u68UkZ6g2xMYoDMSGoLEaDxxvFZpX","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-1837913651","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"VmpWbh35vJKJiYuuEpfViR64b5CbMV6A","callback_url_template":false,"client_secret":"VUVZGdU5uGegqJAWPUW_9cp1MqWDTYKTM81SJ-F4d-CdCY9MXWBujdVAwo4YZ9mk","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-434825553","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"PMhv7sKtONJX4BfQ7piL3kZZjhNFdJQq","callback_url_template":false,"client_secret":"2SOw2rYdhBwWZHl9XZij21nlyoYefq4si5hZbXJhxOugceViJidTjjKeSMz10Rwj","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-1736102968","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"KzT55OMFsaVAw9TzVYUsJR5y7FNwZu5X","callback_url_template":false,"client_secret":"0jmMQJWj2bbkUkYdZs6Yr-C2QdYHEzBH1VT1-u_2IbXd2CipMTzDRZ3zuT-pv_4D","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-210255318","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"jc8udaPyn4nKxe4DF1m49ZybkbcfSrSJ","callback_url_template":false,"client_secret":"DJNMaa6ZtupJ7pN1iKbBHZSz4OGOLACPk2Cl_EtrM5NmGa14hWyMRepVdHa3ksWC","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-1881792656","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"DRFdFA5hueMCqgQTcgH0HfqC3vFTQ9jl","callback_url_template":false,"client_secret":"mTYV4Z7NQ5FcXmrE2W3RnJr8xp_PMSJBwtaWkWUfd_Y669ZCAivqHv9H7byGeMnr","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-1796595118","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"awY4y2O0sNf0ixBr8cxMEDZGXMQR10F0","callback_url_template":false,"client_secret":"TcgpvHh2n-rVjxzkbuyifMMnNO37-sJn_gYqHsjMtZZZiDQJNyk4N1hYLoRV8Svv","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-1089049841","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"Wx9SbsxpuRG55EuQzM6c12j2pRp0h6a9","callback_url_template":false,"client_secret":"AUDEteJh2JZmsexrQRt2_sTvIf__pZrp4bkTYJE_3Y9VEcFIVUpt9X8ISuPNPlqG","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-656499726","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"DJYlPad951IEbI5xbikjpBxWSQyB8ESN","callback_url_template":false,"client_secret":"SNQ9WiWwUyTEfDUUwuKhJPXrcVgE8Yq7O_kN41HU8oDghujKc_3QISd6DB_ymbo7","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-530077406","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"OhbZaeMcukhJG5D8n49MAQvxmKQIdopo","callback_url_template":false,"client_secret":"Cr8uon6i-JgpGuyWN1ESxwixqxkd_FH2noyzKR8V7GdFbZqESp8kC8ohSLGkCWDm","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-752961578","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"3qzWhmfT7YPMpE2OGqaIDhNt1vhKbpXK","callback_url_template":false,"client_secret":"GvpKciWo4AwaYPs-KyAFGqQvZdxQsnRQZadJhtWKsuZlbNxSdHelTEj9TJLj4Njz","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-1873324151","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"6nDYKXZdnsrKI4hYAcxmQ0ZdvqWbzdTk","callback_url_template":false,"client_secret":"h7LZFHE4eUcxqQ3kG4G0_Da1tmaK1WhYl5BEZ05UIsrQ6pNG6FDx31319EPPyc5h","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-1594972744","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"UkDgqRg12UmQclXGIQ3tpRkRBFkUC1iI","callback_url_template":false,"client_secret":"AYqrlBo19YXA03vu9FzFwYUy4Kk2zFGEMFwRwMBkcDmGxUFBLOazkXvjKGzeKZLn","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-2021330753","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"0u3N7ucBDtVVyNzwNeAMTuJz11KHWRnB","callback_url_template":false,"client_secret":"DeaTNnqxaWM65W_Dwh75uArTBQC2_3uRQRt83N-Vf8jCpOdt2cCKemunojhQSRiq","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-714279258","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"ywXzZl7uaMJvcclhAFe2hm1PMq5keq05","callback_url_template":false,"client_secret":"M8wFc-VtCgUsL42-lq4DGYt0x4L2k7TBTWWqTQ_7u7hCCsV8CLbvJU7ox2G7arle","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-663986740","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"X0r2INQ8fgj4jJAiYOYihjtBbj1FzMnC","callback_url_template":false,"client_secret":"HmOVSAMGkFwxYKm3ba_4UZVLQBV4Tvnv-LgoOjfdlATzAmRt0FsR5gVQMSe0QDeo","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-791686575","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"n4tfAcvZi6JhmDR0pJiugw0z8uGvFQUJ","callback_url_template":false,"client_secret":"g2GDWbkyJvX9pjwdIEIxY5VdeBQekH-Sxc1_BJ6CWBPevQq2nrMdLkj_lVy8ybZH","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true},{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"name":"TEST-CREATE-CLIENT-1044491558","sso":false,"description":"__Auth0_PHP_initial_app_description__","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"rotation_type":"non-rotating","expiration_type":"non-expiring"},"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"deprecated"}],"client_id":"Y2kA8kQoW3DckPDSPmbhxwZ0tGUStPFh","callback_url_template":false,"client_secret":"erhgbfuYV1-WtddeqKZXD6KHI2ObubYr485moa6-IVr-FExrhCnaYQUliio25FsG","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"app_type":"regular_web","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":true}]' - recorded_at: Fri, 03 Sep 2021 20:16:17 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_delete_client/should_delete_the_test_client_without_an_error.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_delete_client/should_delete_the_test_client_without_an_error.yml deleted file mode 100644 index 00c4becb8..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_delete_client/should_delete_the_test_client_without_an_error.yml +++ /dev/null @@ -1,72 +0,0 @@ ---- -http_interactions: -- request: - method: delete - uri: https://auth0-sdk-tests.auth0.com/api/v2/clients/SftKo9ySyHnMPezQUFd0C70GBoNFM21F - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 204 - message: No Content - headers: - Date: - - Fri, 03 Sep 2021 20:16:19 GMT - Content-Type: - - application/json; charset=utf-8 - Connection: - - keep-alive - Cf-Ray: - - 6891a7bb0d945257-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7bb0d945257 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 6a6126bb4de85816 - Ot-Tracer-Traceid: - - 1b97a22f2cefdbc4 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700180' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: UTF-8 - string: '' - recorded_at: Fri, 03 Sep 2021 20:16:19 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_patch_client/should_update_the_client_with_the_correct_attributes.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_patch_client/should_update_the_client_with_the_correct_attributes.yml deleted file mode 100644 index 64bd2463a..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/_patch_client/should_update_the_client_with_the_correct_attributes.yml +++ /dev/null @@ -1,81 +0,0 @@ ---- -http_interactions: -- request: - method: patch - uri: https://auth0-sdk-tests.auth0.com/api/v2/clients/SftKo9ySyHnMPezQUFd0C70GBoNFM21F - body: - encoding: UTF-8 - string: '{"custom_login_page_on":false,"sso":true}' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '41' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:19 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a7b9bea4056c-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7b9bea4056c - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 13c6369470e8fbf1 - Ot-Tracer-Traceid: - - 3e892c44646e8df0 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700180' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"description":"Client - description","name":"TestClient-rubytest-210908","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"expiration_type":"non-expiring","leeway":0,"infinite_token_lifetime":true,"infinite_idle_token_lifetime":true,"token_lifetime":2592000,"idle_token_lifetime":1296000,"rotation_type":"non-rotating"},"sso":true,"signing_keys":[{"cert":"-----BEGIN - CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----\r\n","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"/CN=auth0-sdk-tests.auth0.com"}],"client_id":"SftKo9ySyHnMPezQUFd0C70GBoNFM21F","callback_url_template":false,"client_secret":"kJKYl705CStDbaeiBd9WgZafioFcbFNg0i4Ta7nakxxdGLUIdZvuRUXoY3MOe9xz","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":false}' - recorded_at: Fri, 03 Sep 2021 20:16:19 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/create_test_client.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/create_test_client.yml deleted file mode 100644 index 2b6ab5731..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Clients/create_test_client.yml +++ /dev/null @@ -1,81 +0,0 @@ ---- -http_interactions: -- request: - method: post - uri: https://auth0-sdk-tests.auth0.com/api/v2/clients - body: - encoding: UTF-8 - string: '{"custom_login_page_on":false,"description":"Client description","name":"TestClient-rubytest-210908"}' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '101' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 201 - message: Created - headers: - Date: - - Fri, 03 Sep 2021 20:16:17 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a7aafd15429e-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7aafd15429e - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 271d672e34c038f6 - Ot-Tracer-Traceid: - - 27e5b64168807a24 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700178' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"tenant":"auth0-sdk-tests","global":false,"is_token_endpoint_ip_header_trusted":false,"description":"Client - description","name":"TestClient-rubytest-210908","is_first_party":true,"sso_disabled":false,"cross_origin_auth":false,"oidc_conformant":false,"refresh_token":{"expiration_type":"non-expiring","leeway":0,"infinite_token_lifetime":true,"infinite_idle_token_lifetime":true,"token_lifetime":2592000,"idle_token_lifetime":1296000,"rotation_type":"non-rotating"},"encrypted":true,"signing_keys":[{"key":"-----BEGIN - RSA PRIVATE KEY-----\r\nMIIEpAIBAAKCAQEA0COSibTURVawAzrAaGQan2xpIm5Oz5XIa66DGqpv9GyN7Z0L\r\nyUKBDWiXuIqHE0eaDlBDmdkPYSv77C8Pp1+xwU/j+5CaqmYprDUIfeZ1uTH6FT48\r\n6Qr2T936i4vhNaXN5Rwi4tB6rhxeOXG58ux0E3igIdV6U0SdKH/S0OlZ9ylqLFYA\r\n2AWCCPHDI88ePxK9irqh73IiCuFlOXt6Khphd83NpdpZkO6COyDTDz682ggZo5BP\r\nbdIafdg0Ikm4ARclUU+wMgmoaff9F4/FBpVUqfAVJugKzpHL0zDcKk0xu8PdFJEM\r\nVvW8sqkZFSQqNlGgNphArGiAJkmAMt1TyEx6xwIDAQABAoIBAQCv0Vy3dkjZSaDl\r\nGXvusqDKiolEzGlGcQAb9g5JOC/aCNjbHw4VtFfPO8rt2BbB8nnwHVz9WJ3lN4JW\r\nwGo4uF0vLo0ms7/ysNoC3cmOkF5hUhYuW6SYNupaDOjXeBGFf8ms/1d4wSLgcJYn\r\ncCnjSlnDGOIrsmjibdNToqYyUuvsG0m/NQy51VCaFHC5hADd25HnSmYNR+fSIJEh\r\nqt6Twg4wf5MDsfJptFZdH0QI1wnxpEIydwIIZ0kZaAGCz20+cWs3Czjj59QhXOHK\r\nAGg60apY9GxjUt8wEIGpHM0c3XLhDtVo/iCsGpYsAmCPUVvgsIq74qxb1sKCnzRT\r\nr5PlO+QBAoGBAOw1hYM2R8PUdfY3XcAkO1d998ltsNkEiskYRsDxVLINRUcBD2Y1\r\nxIbNeU9eYf658Q3C+7aH9g1lub6Ca8nXs04MOvDI/D+Uy+2lnzB1QIJ284aSg5Pz\r\nGd//Z/x8YEztE8zQMz9ooQ6Xy7kyvoZvYaH9J6BXg3rqmRhv2yXe8zP/AoGBAOGT\r\n+K9uYj65yZYbjTaWH2P3Bo60clDlJxgfvqMIFbtRBIOrR+OK7ec5BcU1B0XtkHGU\r\njUBpEmz643Cw9DNZyN1MOmh6XMMOXElFrzz8ynBWW9RQn1jzz+KupkrYDMiy3DRp\r\nRTEQYyva00EF+gJAOJjNgLe4BlKn2i05OVbz7hk5AoGBAJjrXXBA590D4wpvdaY6\r\nzqAp0Qz6ko8svZzKtqOamTZcGQmKyilljcGnrG2RsOd0AXbjUIovI0AxJzsKvDWE\r\nC3Tvvgi8VXHkJtHHc3OvtP/Beo8Ys05JB+tYMj3nV4D1yufBsivO1NXZt+5Bx87I\r\ntPBmMA1CGsCsuEh1we6Wk+SJAoGADdcbWgAmzPxvLuOP3XqGgIamg1j07puws103\r\nQB993dlRspZuubpLcHViMkBXquWxiBZ6OCp6M++MxtxEj2YB2foUV1aynFEkPmal\r\nItPLw+q4haVQsY98AMeAcnUhC6tVsW2IDkOYIheyAHpSZZL1JgLt09fZo3ai/0VU\r\njE45HJkCgYBSu3dEb3uuaseIQ1g2fMgcfvk22NrIa/7eA88oVpoBHqAw79yxZw9h\r\nhNivsyW80b3L0zN12PyzjGFTwZtm+0h0y1LtGekD9oDfK9HTD6xQd6IRc20BvjRv\r\nW3WCxsbmczthCGl4SbHO5pOzJgk08K7vki4O7IWjj0+E5E90KUEcqw==\r\n-----END - RSA PRIVATE KEY-----\r\n","cert":"-----BEGIN CERTIFICATE-----\r\nMIIDDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNV\r\nBAMTGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcN\r\nMzEwODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAu\r\nY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl\r\n1hANaLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx\r\n22DealfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF\r\n4sICSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ET\r\nPu1vZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwF\r\nHSPi/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEj\r\nTXi9WQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZ\r\nb4hPV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEB\r\nAFE7ZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P\r\n65EAUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToY\r\nvT+4bp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56\r\naETSlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7u\r\naoSdilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Bt\r\nxleksOTDF0s2t+AQleiJZnY=\r\n-----END - CERTIFICATE-----\r\n","pkcs7":"-----BEGIN PKCS7-----\r\nMIIDPgYJKoZIhvcNAQcCoIIDLzCCAysCAQExADALBgkqhkiG9w0BBwGgggMRMIID\r\nDTCCAfWgAwIBAgIJb5bdq0DLdNt7MA0GCSqGSIb3DQEBCwUAMCQxIjAgBgNVBAMT\r\nGWF1dGgwLXNkay10ZXN0cy5hdXRoMC5jb20wHhcNMTcxMjA1MTQwODI0WhcNMzEw\r\nODE0MTQwODI0WjAkMSIwIAYDVQQDExlhdXRoMC1zZGstdGVzdHMuYXV0aDAuY29t\r\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArqBl9EhbtIL/gayl1hAN\r\naLUJKSHuMp0vvYxQ7Gs3aoBC2Vfh/sFyER0CHLIllZiZbTbE0ecpm6HyoQNx22De\r\nalfFx61xmX7CRkZgjFpr33mW1sk5uk3aw/i1WWBhbmVmha/yucSwhFBj3vAF4sIC\r\nSnVHfEdX91WCtLdyouVd4k0INPpwttPdF1D/U6BHz6AvI2d70WS/82K5a1ETPu1v\r\nZBZ4Z9tL5mjvHBK18hJmcQclNPcabeQ57siuqxPLkLv+lqPOusz2QciJBwwFHSPi\r\n/SpbCz0CTtWiXSYykcgSitC53XJyRsHnUKnZ24uOZ9+XAYMrjCNTYcOPZXEjTXi9\r\nWQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTBhzcMt6PZb4hP\r\nV/0B7vKnJnJiiDAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAFE7\r\nZnFCi+aFPKusvfZPg5+8vXV1DLOMxlkDd/70B5NUaX6p7NuX+0atUnYA+Q9P65EA\r\nUOyrQwWeES20LAuivQ87c41+Nq4XOK7fkKlXlOOZ1tzvisAjLeIBsL9ttToYvT+4\r\nbp11Kwn9DTFXB+7y0AmXNCSTIBT7Dx/oha8XSWaRp8lYszra7WxKrOJqjE56aETS\r\nlJ2tMqy0v0qCjIEvIP+j8Ko19KPY1JivUlvuK3J/BBsN1gaSLO9NO60vnS7uaoSd\r\nilr5vzU3oS7MXznP3nz5vE6TnEu+r/ihCGiCVNUSKobHIDCr65zLdwMv0/Btxlek\r\nsOTDF0s2t+AQleiJZnahADEA\r\n-----END - PKCS7-----\r\n","subject":"/CN=auth0-sdk-tests.auth0.com"}],"client_id":"SftKo9ySyHnMPezQUFd0C70GBoNFM21F","callback_url_template":false,"client_secret":"kJKYl705CStDbaeiBd9WgZafioFcbFNg0i4Ta7nakxxdGLUIdZvuRUXoY3MOe9xz","jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"custom_login_page_on":false}' - recorded_at: Fri, 03 Sep 2021 20:16:17 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connection/_filters/should_exclude_the_fields_indicated.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connection/_filters/should_exclude_the_fields_indicated.yml deleted file mode 100644 index a04a843c0..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connection/_filters/should_exclude_the_fields_indicated.yml +++ /dev/null @@ -1,74 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/connections/con_WltM0fv20JCnxOuY?fields=name,id&include_fields=false - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:20 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a7c26d540507-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7c26d540507 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 256b833d4015237a - Ot-Tracer-Traceid: - - 61239fc32610a5bd - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700181' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"options":{"mfa":{"active":true,"return_enroll_settings":true},"passwordPolicy":"good","strategy_version":2,"brute_force_protection":true},"strategy":"auth0","is_domain_connection":false,"enabled_clients":[],"realms":["TestConnection-rubytest-210908"]}' - recorded_at: Fri, 03 Sep 2021 20:16:20 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connection/_filters/should_include_the_fields_indicated.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connection/_filters/should_include_the_fields_indicated.yml deleted file mode 100644 index 147d162b8..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connection/_filters/should_include_the_fields_indicated.yml +++ /dev/null @@ -1,74 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/connections/con_WltM0fv20JCnxOuY?fields=name,id&include_fields=true - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:20 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a7c11feb0517-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7c11feb0517 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 62e3e8e65bc77d2e - Ot-Tracer-Traceid: - - 41a54e5e51ef92e3 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700181' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"id":"con_WltM0fv20JCnxOuY","name":"TestConnection-rubytest-210908","is_domain_connection":false}' - recorded_at: Fri, 03 Sep 2021 20:16:20 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connection/should_find_the_correct_connection.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connection/should_find_the_correct_connection.yml deleted file mode 100644 index f4b740834..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connection/should_find_the_correct_connection.yml +++ /dev/null @@ -1,74 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/connections/con_WltM0fv20JCnxOuY?include_fields=true - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:20 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a7bfdf8f42d2-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7bfdf8f42d2 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 2041e7a6509d0760 - Ot-Tracer-Traceid: - - 33a20dda3f52bf0e - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700181' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"id":"con_WltM0fv20JCnxOuY","options":{"mfa":{"active":true,"return_enroll_settings":true},"passwordPolicy":"good","strategy_version":2,"brute_force_protection":true},"strategy":"auth0","name":"TestConnection-rubytest-210908","is_domain_connection":false,"enabled_clients":[],"realms":["TestConnection-rubytest-210908"]}' - recorded_at: Fri, 03 Sep 2021 20:16:20 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/_filters/should_include_previously-created_connection_when_filtered.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/_filters/should_include_previously-created_connection_when_filtered.yml deleted file mode 100644 index 909ff8264..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/_filters/should_include_previously-created_connection_when_filtered.yml +++ /dev/null @@ -1,78 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/connections?strategy=auth0 - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:21 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a7c67e853643-LAX - Cache-Control: - - no-cache - Link: - - ; - rel="first", ; - rel="last" - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7c67e853643 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 264072ef50edc2e5 - Ot-Tracer-Traceid: - - 54723d48048f8493 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700182' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '[{"id":"con_Mlm3MxOR5utX1WSv","options":{"mfa":{"active":true,"return_enroll_settings":true},"disable_signup":false,"passwordPolicy":"good","strategy_version":2,"requires_username":false,"brute_force_protection":true},"strategy":"auth0","name":"Test","is_domain_connection":false,"realms":["Test"],"enabled_clients":[]},{"id":"con_WltM0fv20JCnxOuY","options":{"mfa":{"active":true,"return_enroll_settings":true},"passwordPolicy":"good","strategy_version":2,"brute_force_protection":true},"strategy":"auth0","name":"TestConnection-rubytest-210908","is_domain_connection":false,"realms":["TestConnection-rubytest-210908"],"enabled_clients":[]},{"id":"con_Xx4Kruoab04wvlYX","options":{"mfa":{"active":true,"return_enroll_settings":true},"strategy_version":2,"brute_force_protection":true},"strategy":"auth0","name":"Username-Password-Authentication","is_domain_connection":false,"realms":["Username-Password-Authentication"],"enabled_clients":["aNG5n4ny57xCrd53MhfwomU85fpsEdyr","2PHoTag6NbnYt3AsBsNxFikZUdIMFk5r","Kp6AEYQvuwFkB2JMAlZbTvsfDPgcf6un","sxByUG46lspLw3w5j7EjZUOix7hC60EG","XKN0TEVg2GZayqspufKTjyubQ9v7TMts","WK5cUC4GcwiEMvoBPD0OEbGgJlelkexK","V92owX4pGOeGC14FT7NUpkHRx0JBZYEw","Obn0UoIOuyht1yKcrFPQlgWygJFlhqGH","zHXTiUnmm3NRQR5HspLv0jZSEeB0tCV2","wZHfhdGPiITmTOiL1ohkoB3zSmucXyVe","K59uHp57aoSfmVCB4hA7307cXCn9Jofb","Ma6tpNQXmreZ4g83nT9sLpaODBiCV0Cf","A2rt0zedSHh85hy08LWmklAYBVI543C9","qpFGNAFfOY44KvnhFb02EuuvaAEd4KAM","ELviY4SzYPX5m6FIBSMFtWG9f9xosHbr","q47ZqPco70spQ1qnzMrBirk1dWoIebJr","c141AubVqXNCQh34hW6T75KqdNr37BSr","VnwxKhJ1RDc9pPsHSh8sE4E4z9KZwatO","CasDGIcCSsNOcgC39lvyFXi1VlZPRTI9","UcQcsWFHOhCLlbJ9HhlvQb1mUNpNK73A","wm2Cg7nnvGPeFpW3cmkTjIq2YXOwUx6z","alIzxHzpPBDmgvtJrakmWrK5MN2flQUS","2aF6N6Vm1sElbcAjchEhRGiXffveu2F1","JrwsqCWw6D438piidwKt9OzMlKsfNVnT","Q3trYfgk8EkecfLjZfvkVN91nIY4oRfv","qufC26Tbd5Qkw6T3PVMcuiKpUErnMPXq","WVmrm37sQY12PmbXlNe6jeezd47mUwky","1oOUnPnJ3nKjNSpRPmo1IGuvQllKFUE2","UvfbUbIEcsRmqR8l4120x4TYEfOPGPWQ","5xHRQ4MSt06BPYfSZwAzG4lKqKEsUuvi","qpjzdesOcWxUBQoH1a4v6RG43l619v5A","Nsjo9of3F7kdk2vkBArSsmU4OLF6wdwn","YJOtNHCaXUMxxxPl4pmc4T7Ry1SFwZei","v9YfJ6K2W8h5KW9NrTDHdOHvFvQrmJ8R","wSbg7v3FWUmgLLydgxzRKuxFbs3Lurz5","HX6dEYgNHqPXBe2x6x6Kq9u8m7OmqNZU","Y2kA8kQoW3DckPDSPmbhxwZ0tGUStPFh","n4tfAcvZi6JhmDR0pJiugw0z8uGvFQUJ","X0r2INQ8fgj4jJAiYOYihjtBbj1FzMnC","ywXzZl7uaMJvcclhAFe2hm1PMq5keq05","0u3N7ucBDtVVyNzwNeAMTuJz11KHWRnB","UkDgqRg12UmQclXGIQ3tpRkRBFkUC1iI","6nDYKXZdnsrKI4hYAcxmQ0ZdvqWbzdTk","3qzWhmfT7YPMpE2OGqaIDhNt1vhKbpXK","OhbZaeMcukhJG5D8n49MAQvxmKQIdopo","DJYlPad951IEbI5xbikjpBxWSQyB8ESN","Wx9SbsxpuRG55EuQzM6c12j2pRp0h6a9","awY4y2O0sNf0ixBr8cxMEDZGXMQR10F0","DRFdFA5hueMCqgQTcgH0HfqC3vFTQ9jl","jc8udaPyn4nKxe4DF1m49ZybkbcfSrSJ","KzT55OMFsaVAw9TzVYUsJR5y7FNwZu5X","PMhv7sKtONJX4BfQ7piL3kZZjhNFdJQq","VmpWbh35vJKJiYuuEpfViR64b5CbMV6A","B2Yao3nQuIdDUu8oGZnQcay9kgRBJXAk","rpBVKEV9TTIXEqh5YdtcuV3FrtoKpg74","3ty4mgVVA7OZPCDzBt9PD1rTR7AgUXwW","i3akc1ejZJW2s637XeeI7mELh5ljV5i6","scgImVeVRnvQBUstLqSKKupCHxRx73Vq","oIrlRIgJmLq0xI4bSaYKkhPjjqXgKibi","fJb3MH6psd17WZN0Snemfk7x5cFjONqR","1KE7cWJ0y00pj0pEhRDGdpZOuR3FbDtV","3Ftt3V2J90AGNdxbZijjivJ8gEhPz8Pg","2T1x15Q0kvpzE2DyCOAmOeuGT6i6m95u","wXPfOQsAVlLyeW8c4FR1MUjur2YW9gSy","3Prqy25OK9UwN8i9ua8cXlgHHGtQzTnr","nAqSFqv3QPV0S0KLSd2vyIOMMvo8Rztk","uBghc9IPQD8a7nT6V3D65vHAaIg5YAfs","UsBLvhAPeTQda7O4xlAxoRi2Hv6l83tz","Vp7CLh1bl7lAA733ewMhDaqLbqEwBkdt","Ze3m2RMqa0Gs6v0irfBdXFdf6V07Uy2P","iveuuxUda6GkuwwCBVo95lACOfgqIk5g","Ni0H8rmaCeixc8sCP83vxsjkgHefb9fx","kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","1TstJOXxYpOWEx32FqjWXylN81C1RU7k","2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","Ei5v5M8765EY6WNRztyAy77t1e2t5AvT","80peYzeAZa6lRtxESoP0EFUXUkTqEk9V","CsU413L8tfUiKqgaOBCiEAoYa0tQRC03","np0ERu7GHFoN0WiWLAbFIfNjSzYKFs0y","VdJ05g0v1yB0UdqiDKBLAfUxNq1B2cH4","3qAIUl8GMdGX1vcbrZZk2Id2zLUFaW79","qzbD3sJyuTYC2X3IAq2vcY37lPcd9T0X","zRPBcafuUFNMa4qsJYQjfdKZU09Zl7Sq","GMNXS0Ctfm64JpVQWKJz72CNhUHiGAQb","cDJqcgHCP8poqZyDfY1h0KUFI6vzPT9f","3CwQ82ywfdqWNi1P1afA6ajdHFYGh4Is"]}]' - recorded_at: Fri, 03 Sep 2021 20:16:21 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/_filters/should_should_exclude_the_fields_indicated_from_filtered_results.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/_filters/should_should_exclude_the_fields_indicated_from_filtered_results.yml deleted file mode 100644 index ea26dbda4..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/_filters/should_should_exclude_the_fields_indicated_from_filtered_results.yml +++ /dev/null @@ -1,78 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/connections?fields=name&include_fields=false&strategy=auth0 - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:22 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a7c9191842de-LAX - Cache-Control: - - no-cache - Link: - - ; - rel="first", ; - rel="last" - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7c9191842de - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 0004c226231c497e - Ot-Tracer-Traceid: - - 709fc3ee6395fc0f - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700183' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '[{"id":"con_Mlm3MxOR5utX1WSv","options":{"mfa":{"active":true,"return_enroll_settings":true},"disable_signup":false,"passwordPolicy":"good","strategy_version":2,"requires_username":false,"brute_force_protection":true},"strategy":"auth0","is_domain_connection":false,"realms":["Test"],"enabled_clients":[]},{"id":"con_WltM0fv20JCnxOuY","options":{"mfa":{"active":true,"return_enroll_settings":true},"passwordPolicy":"good","strategy_version":2,"brute_force_protection":true},"strategy":"auth0","is_domain_connection":false,"realms":["TestConnection-rubytest-210908"],"enabled_clients":[]},{"id":"con_Xx4Kruoab04wvlYX","options":{"mfa":{"active":true,"return_enroll_settings":true},"strategy_version":2,"brute_force_protection":true},"strategy":"auth0","is_domain_connection":false,"realms":["Username-Password-Authentication"],"enabled_clients":["aNG5n4ny57xCrd53MhfwomU85fpsEdyr","2PHoTag6NbnYt3AsBsNxFikZUdIMFk5r","Kp6AEYQvuwFkB2JMAlZbTvsfDPgcf6un","sxByUG46lspLw3w5j7EjZUOix7hC60EG","XKN0TEVg2GZayqspufKTjyubQ9v7TMts","WK5cUC4GcwiEMvoBPD0OEbGgJlelkexK","V92owX4pGOeGC14FT7NUpkHRx0JBZYEw","Obn0UoIOuyht1yKcrFPQlgWygJFlhqGH","zHXTiUnmm3NRQR5HspLv0jZSEeB0tCV2","wZHfhdGPiITmTOiL1ohkoB3zSmucXyVe","K59uHp57aoSfmVCB4hA7307cXCn9Jofb","Ma6tpNQXmreZ4g83nT9sLpaODBiCV0Cf","A2rt0zedSHh85hy08LWmklAYBVI543C9","qpFGNAFfOY44KvnhFb02EuuvaAEd4KAM","ELviY4SzYPX5m6FIBSMFtWG9f9xosHbr","q47ZqPco70spQ1qnzMrBirk1dWoIebJr","c141AubVqXNCQh34hW6T75KqdNr37BSr","VnwxKhJ1RDc9pPsHSh8sE4E4z9KZwatO","CasDGIcCSsNOcgC39lvyFXi1VlZPRTI9","UcQcsWFHOhCLlbJ9HhlvQb1mUNpNK73A","wm2Cg7nnvGPeFpW3cmkTjIq2YXOwUx6z","alIzxHzpPBDmgvtJrakmWrK5MN2flQUS","2aF6N6Vm1sElbcAjchEhRGiXffveu2F1","JrwsqCWw6D438piidwKt9OzMlKsfNVnT","Q3trYfgk8EkecfLjZfvkVN91nIY4oRfv","qufC26Tbd5Qkw6T3PVMcuiKpUErnMPXq","WVmrm37sQY12PmbXlNe6jeezd47mUwky","1oOUnPnJ3nKjNSpRPmo1IGuvQllKFUE2","UvfbUbIEcsRmqR8l4120x4TYEfOPGPWQ","5xHRQ4MSt06BPYfSZwAzG4lKqKEsUuvi","qpjzdesOcWxUBQoH1a4v6RG43l619v5A","Nsjo9of3F7kdk2vkBArSsmU4OLF6wdwn","YJOtNHCaXUMxxxPl4pmc4T7Ry1SFwZei","v9YfJ6K2W8h5KW9NrTDHdOHvFvQrmJ8R","wSbg7v3FWUmgLLydgxzRKuxFbs3Lurz5","HX6dEYgNHqPXBe2x6x6Kq9u8m7OmqNZU","Y2kA8kQoW3DckPDSPmbhxwZ0tGUStPFh","n4tfAcvZi6JhmDR0pJiugw0z8uGvFQUJ","X0r2INQ8fgj4jJAiYOYihjtBbj1FzMnC","ywXzZl7uaMJvcclhAFe2hm1PMq5keq05","0u3N7ucBDtVVyNzwNeAMTuJz11KHWRnB","UkDgqRg12UmQclXGIQ3tpRkRBFkUC1iI","6nDYKXZdnsrKI4hYAcxmQ0ZdvqWbzdTk","3qzWhmfT7YPMpE2OGqaIDhNt1vhKbpXK","OhbZaeMcukhJG5D8n49MAQvxmKQIdopo","DJYlPad951IEbI5xbikjpBxWSQyB8ESN","Wx9SbsxpuRG55EuQzM6c12j2pRp0h6a9","awY4y2O0sNf0ixBr8cxMEDZGXMQR10F0","DRFdFA5hueMCqgQTcgH0HfqC3vFTQ9jl","jc8udaPyn4nKxe4DF1m49ZybkbcfSrSJ","KzT55OMFsaVAw9TzVYUsJR5y7FNwZu5X","PMhv7sKtONJX4BfQ7piL3kZZjhNFdJQq","VmpWbh35vJKJiYuuEpfViR64b5CbMV6A","B2Yao3nQuIdDUu8oGZnQcay9kgRBJXAk","rpBVKEV9TTIXEqh5YdtcuV3FrtoKpg74","3ty4mgVVA7OZPCDzBt9PD1rTR7AgUXwW","i3akc1ejZJW2s637XeeI7mELh5ljV5i6","scgImVeVRnvQBUstLqSKKupCHxRx73Vq","oIrlRIgJmLq0xI4bSaYKkhPjjqXgKibi","fJb3MH6psd17WZN0Snemfk7x5cFjONqR","1KE7cWJ0y00pj0pEhRDGdpZOuR3FbDtV","3Ftt3V2J90AGNdxbZijjivJ8gEhPz8Pg","2T1x15Q0kvpzE2DyCOAmOeuGT6i6m95u","wXPfOQsAVlLyeW8c4FR1MUjur2YW9gSy","3Prqy25OK9UwN8i9ua8cXlgHHGtQzTnr","nAqSFqv3QPV0S0KLSd2vyIOMMvo8Rztk","uBghc9IPQD8a7nT6V3D65vHAaIg5YAfs","UsBLvhAPeTQda7O4xlAxoRi2Hv6l83tz","Vp7CLh1bl7lAA733ewMhDaqLbqEwBkdt","Ze3m2RMqa0Gs6v0irfBdXFdf6V07Uy2P","iveuuxUda6GkuwwCBVo95lACOfgqIk5g","Ni0H8rmaCeixc8sCP83vxsjkgHefb9fx","kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","1TstJOXxYpOWEx32FqjWXylN81C1RU7k","2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","Ei5v5M8765EY6WNRztyAy77t1e2t5AvT","80peYzeAZa6lRtxESoP0EFUXUkTqEk9V","CsU413L8tfUiKqgaOBCiEAoYa0tQRC03","np0ERu7GHFoN0WiWLAbFIfNjSzYKFs0y","VdJ05g0v1yB0UdqiDKBLAfUxNq1B2cH4","3qAIUl8GMdGX1vcbrZZk2Id2zLUFaW79","qzbD3sJyuTYC2X3IAq2vcY37lPcd9T0X","zRPBcafuUFNMa4qsJYQjfdKZU09Zl7Sq","GMNXS0Ctfm64JpVQWKJz72CNhUHiGAQb","cDJqcgHCP8poqZyDfY1h0KUFI6vzPT9f","3CwQ82ywfdqWNi1P1afA6ajdHFYGh4Is"]}]' - recorded_at: Fri, 03 Sep 2021 20:16:22 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/_filters/should_should_include_the_fields_indicated_from_filtered_results.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/_filters/should_should_include_the_fields_indicated_from_filtered_results.yml deleted file mode 100644 index c5a163068..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/_filters/should_should_include_the_fields_indicated_from_filtered_results.yml +++ /dev/null @@ -1,78 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/connections?fields=name&include_fields=true&strategy=auth0 - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:21 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a7c7da1352fb-LAX - Cache-Control: - - no-cache - Link: - - ; - rel="first", ; - rel="last" - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7c7da1352fb - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 6559ff2d71b81c7f - Ot-Tracer-Traceid: - - 261f1ae52a0acceb - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700182' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '[{"id":"con_Mlm3MxOR5utX1WSv","name":"Test","is_domain_connection":false},{"id":"con_WltM0fv20JCnxOuY","name":"TestConnection-rubytest-210908","is_domain_connection":false},{"id":"con_Xx4Kruoab04wvlYX","name":"Username-Password-Authentication","is_domain_connection":false}]' - recorded_at: Fri, 03 Sep 2021 20:16:21 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/should_include_the_previously_created_connection.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/should_include_the_previously_created_connection.yml deleted file mode 100644 index 1c6090693..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/should_include_the_previously_created_connection.yml +++ /dev/null @@ -1,79 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/connections - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:21 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a7c509d90550-LAX - Cache-Control: - - no-cache - Link: - - ; - rel="first", ; - rel="last" - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7c509d90550 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 173818af54fa498e - Ot-Tracer-Traceid: - - 3b54dde37aa93364 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700182' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '[{"id":"con_rLvSvR44VhsrOo1D","options":{"email":true,"scope":"email,user_birthday,user_website,user_hometown,user_location,user_work_history,user_education_history,user_about_me,user_banana","ads_read":false,"client_id":"1842690432417814","rsvp_event":false,"user_likes":false,"user_posts":false,"read_stream":false,"user_banana":true,"user_events":false,"user_groups":false,"user_photos":false,"user_status":false,"user_videos":false,"manage_pages":false,"read_mailbox":false,"user_friends":false,"user_website":true,"client_secret":"5929c7f62fece2725dd92af45dcfb7d6","publish_pages":false,"publish_video":false,"read_insights":false,"user_about_me":true,"user_birthday":true,"user_hometown":true,"user_location":true,"ads_management":false,"public_profile":false,"pages_messaging":false,"pages_show_list":false,"pages_manage_cta":false,"user_actions-news":false,"user_work_history":true,"user_actions-books":false,"user_actions-music":false,"user_actions-video":false,"user_relationships":false,"user_tagged_places":false,"read_page_mailboxes":false,"user_games_activity":false,"user_managed_groups":false,"manage_notifications":false,"user_actions-fitness":false,"user_education_history":true,"user_religion_politics":false,"read_custom_friendlists":false,"user_relationship_details":false,"pages_messaging_phone_number":false,"pages_messaging_subscriptions":false,"read_audience_network_insights":false},"strategy":"facebook","name":"facebook","is_domain_connection":false,"realms":["facebook"],"enabled_clients":[]},{"id":"con_P9aT06EgvT07eIcW","options":{"email":true,"scope":["email","profile"],"profile":true},"strategy":"google-oauth2","name":"google-oauth2","is_domain_connection":false,"realms":["google-oauth2"],"enabled_clients":["aNG5n4ny57xCrd53MhfwomU85fpsEdyr","2PHoTag6NbnYt3AsBsNxFikZUdIMFk5r","Kp6AEYQvuwFkB2JMAlZbTvsfDPgcf6un","sxByUG46lspLw3w5j7EjZUOix7hC60EG","XKN0TEVg2GZayqspufKTjyubQ9v7TMts","WK5cUC4GcwiEMvoBPD0OEbGgJlelkexK","V92owX4pGOeGC14FT7NUpkHRx0JBZYEw","Obn0UoIOuyht1yKcrFPQlgWygJFlhqGH","zHXTiUnmm3NRQR5HspLv0jZSEeB0tCV2","wZHfhdGPiITmTOiL1ohkoB3zSmucXyVe","K59uHp57aoSfmVCB4hA7307cXCn9Jofb","Ma6tpNQXmreZ4g83nT9sLpaODBiCV0Cf","A2rt0zedSHh85hy08LWmklAYBVI543C9","qpFGNAFfOY44KvnhFb02EuuvaAEd4KAM","ELviY4SzYPX5m6FIBSMFtWG9f9xosHbr","q47ZqPco70spQ1qnzMrBirk1dWoIebJr","c141AubVqXNCQh34hW6T75KqdNr37BSr","VnwxKhJ1RDc9pPsHSh8sE4E4z9KZwatO","CasDGIcCSsNOcgC39lvyFXi1VlZPRTI9","UcQcsWFHOhCLlbJ9HhlvQb1mUNpNK73A","wm2Cg7nnvGPeFpW3cmkTjIq2YXOwUx6z","alIzxHzpPBDmgvtJrakmWrK5MN2flQUS","2aF6N6Vm1sElbcAjchEhRGiXffveu2F1","JrwsqCWw6D438piidwKt9OzMlKsfNVnT","Q3trYfgk8EkecfLjZfvkVN91nIY4oRfv","qufC26Tbd5Qkw6T3PVMcuiKpUErnMPXq","WVmrm37sQY12PmbXlNe6jeezd47mUwky","1oOUnPnJ3nKjNSpRPmo1IGuvQllKFUE2","UvfbUbIEcsRmqR8l4120x4TYEfOPGPWQ","5xHRQ4MSt06BPYfSZwAzG4lKqKEsUuvi","qpjzdesOcWxUBQoH1a4v6RG43l619v5A","Nsjo9of3F7kdk2vkBArSsmU4OLF6wdwn","YJOtNHCaXUMxxxPl4pmc4T7Ry1SFwZei","v9YfJ6K2W8h5KW9NrTDHdOHvFvQrmJ8R","wSbg7v3FWUmgLLydgxzRKuxFbs3Lurz5","HX6dEYgNHqPXBe2x6x6Kq9u8m7OmqNZU","Y2kA8kQoW3DckPDSPmbhxwZ0tGUStPFh","n4tfAcvZi6JhmDR0pJiugw0z8uGvFQUJ","X0r2INQ8fgj4jJAiYOYihjtBbj1FzMnC","ywXzZl7uaMJvcclhAFe2hm1PMq5keq05","0u3N7ucBDtVVyNzwNeAMTuJz11KHWRnB","UkDgqRg12UmQclXGIQ3tpRkRBFkUC1iI","6nDYKXZdnsrKI4hYAcxmQ0ZdvqWbzdTk","3qzWhmfT7YPMpE2OGqaIDhNt1vhKbpXK","OhbZaeMcukhJG5D8n49MAQvxmKQIdopo","DJYlPad951IEbI5xbikjpBxWSQyB8ESN","Wx9SbsxpuRG55EuQzM6c12j2pRp0h6a9","awY4y2O0sNf0ixBr8cxMEDZGXMQR10F0","DRFdFA5hueMCqgQTcgH0HfqC3vFTQ9jl","jc8udaPyn4nKxe4DF1m49ZybkbcfSrSJ","KzT55OMFsaVAw9TzVYUsJR5y7FNwZu5X","PMhv7sKtONJX4BfQ7piL3kZZjhNFdJQq","VmpWbh35vJKJiYuuEpfViR64b5CbMV6A","B2Yao3nQuIdDUu8oGZnQcay9kgRBJXAk","rpBVKEV9TTIXEqh5YdtcuV3FrtoKpg74","3ty4mgVVA7OZPCDzBt9PD1rTR7AgUXwW","i3akc1ejZJW2s637XeeI7mELh5ljV5i6","scgImVeVRnvQBUstLqSKKupCHxRx73Vq","oIrlRIgJmLq0xI4bSaYKkhPjjqXgKibi","fJb3MH6psd17WZN0Snemfk7x5cFjONqR","1KE7cWJ0y00pj0pEhRDGdpZOuR3FbDtV","3Ftt3V2J90AGNdxbZijjivJ8gEhPz8Pg","2T1x15Q0kvpzE2DyCOAmOeuGT6i6m95u","wXPfOQsAVlLyeW8c4FR1MUjur2YW9gSy","3Prqy25OK9UwN8i9ua8cXlgHHGtQzTnr","nAqSFqv3QPV0S0KLSd2vyIOMMvo8Rztk","uBghc9IPQD8a7nT6V3D65vHAaIg5YAfs","UsBLvhAPeTQda7O4xlAxoRi2Hv6l83tz","Vp7CLh1bl7lAA733ewMhDaqLbqEwBkdt","Ze3m2RMqa0Gs6v0irfBdXFdf6V07Uy2P","iveuuxUda6GkuwwCBVo95lACOfgqIk5g","Ni0H8rmaCeixc8sCP83vxsjkgHefb9fx","kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","1TstJOXxYpOWEx32FqjWXylN81C1RU7k","2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","Ei5v5M8765EY6WNRztyAy77t1e2t5AvT","80peYzeAZa6lRtxESoP0EFUXUkTqEk9V","CsU413L8tfUiKqgaOBCiEAoYa0tQRC03","np0ERu7GHFoN0WiWLAbFIfNjSzYKFs0y","VdJ05g0v1yB0UdqiDKBLAfUxNq1B2cH4","3qAIUl8GMdGX1vcbrZZk2Id2zLUFaW79","qzbD3sJyuTYC2X3IAq2vcY37lPcd9T0X","zRPBcafuUFNMa4qsJYQjfdKZU09Zl7Sq","GMNXS0Ctfm64JpVQWKJz72CNhUHiGAQb","cDJqcgHCP8poqZyDfY1h0KUFI6vzPT9f","3CwQ82ywfdqWNi1P1afA6ajdHFYGh4Is"]},{"id":"con_CYJD0YigZxd7savz","options":{"type":"front_channel","scope":"openid - profile email","issuer":"https://wap-kls-demo01-klsauth-auth0-01.azurewebsites.net","jwks_uri":"https://wap-kls-demo01-klsauth-auth0-01.azurewebsites.net/.well-known/openid-configuration/jwks","client_id":"Auth0","discovery_url":"https://wap-kls-demo01-klsauth-auth0-01.azurewebsites.net/","token_endpoint":null,"userinfo_endpoint":"https://wap-kls-demo01-klsauth-auth0-01.azurewebsites.net/connect/userinfo","authorization_endpoint":"https://wap-kls-demo01-klsauth-auth0-01.azurewebsites.net/connect/authorize"},"strategy":"oidc","name":"keyless","is_domain_connection":false,"show_as_button":false,"display_name":"keyless","realms":["keyless"],"enabled_clients":[]},{"id":"con_Mlm3MxOR5utX1WSv","options":{"mfa":{"active":true,"return_enroll_settings":true},"disable_signup":false,"passwordPolicy":"good","strategy_version":2,"requires_username":false,"brute_force_protection":true},"strategy":"auth0","name":"Test","is_domain_connection":false,"realms":["Test"],"enabled_clients":[]},{"id":"con_WltM0fv20JCnxOuY","options":{"mfa":{"active":true,"return_enroll_settings":true},"passwordPolicy":"good","strategy_version":2,"brute_force_protection":true},"strategy":"auth0","name":"TestConnection-rubytest-210908","is_domain_connection":false,"realms":["TestConnection-rubytest-210908"],"enabled_clients":[]},{"id":"con_Xx4Kruoab04wvlYX","options":{"mfa":{"active":true,"return_enroll_settings":true},"strategy_version":2,"brute_force_protection":true},"strategy":"auth0","name":"Username-Password-Authentication","is_domain_connection":false,"realms":["Username-Password-Authentication"],"enabled_clients":["aNG5n4ny57xCrd53MhfwomU85fpsEdyr","2PHoTag6NbnYt3AsBsNxFikZUdIMFk5r","Kp6AEYQvuwFkB2JMAlZbTvsfDPgcf6un","sxByUG46lspLw3w5j7EjZUOix7hC60EG","XKN0TEVg2GZayqspufKTjyubQ9v7TMts","WK5cUC4GcwiEMvoBPD0OEbGgJlelkexK","V92owX4pGOeGC14FT7NUpkHRx0JBZYEw","Obn0UoIOuyht1yKcrFPQlgWygJFlhqGH","zHXTiUnmm3NRQR5HspLv0jZSEeB0tCV2","wZHfhdGPiITmTOiL1ohkoB3zSmucXyVe","K59uHp57aoSfmVCB4hA7307cXCn9Jofb","Ma6tpNQXmreZ4g83nT9sLpaODBiCV0Cf","A2rt0zedSHh85hy08LWmklAYBVI543C9","qpFGNAFfOY44KvnhFb02EuuvaAEd4KAM","ELviY4SzYPX5m6FIBSMFtWG9f9xosHbr","q47ZqPco70spQ1qnzMrBirk1dWoIebJr","c141AubVqXNCQh34hW6T75KqdNr37BSr","VnwxKhJ1RDc9pPsHSh8sE4E4z9KZwatO","CasDGIcCSsNOcgC39lvyFXi1VlZPRTI9","UcQcsWFHOhCLlbJ9HhlvQb1mUNpNK73A","wm2Cg7nnvGPeFpW3cmkTjIq2YXOwUx6z","alIzxHzpPBDmgvtJrakmWrK5MN2flQUS","2aF6N6Vm1sElbcAjchEhRGiXffveu2F1","JrwsqCWw6D438piidwKt9OzMlKsfNVnT","Q3trYfgk8EkecfLjZfvkVN91nIY4oRfv","qufC26Tbd5Qkw6T3PVMcuiKpUErnMPXq","WVmrm37sQY12PmbXlNe6jeezd47mUwky","1oOUnPnJ3nKjNSpRPmo1IGuvQllKFUE2","UvfbUbIEcsRmqR8l4120x4TYEfOPGPWQ","5xHRQ4MSt06BPYfSZwAzG4lKqKEsUuvi","qpjzdesOcWxUBQoH1a4v6RG43l619v5A","Nsjo9of3F7kdk2vkBArSsmU4OLF6wdwn","YJOtNHCaXUMxxxPl4pmc4T7Ry1SFwZei","v9YfJ6K2W8h5KW9NrTDHdOHvFvQrmJ8R","wSbg7v3FWUmgLLydgxzRKuxFbs3Lurz5","HX6dEYgNHqPXBe2x6x6Kq9u8m7OmqNZU","Y2kA8kQoW3DckPDSPmbhxwZ0tGUStPFh","n4tfAcvZi6JhmDR0pJiugw0z8uGvFQUJ","X0r2INQ8fgj4jJAiYOYihjtBbj1FzMnC","ywXzZl7uaMJvcclhAFe2hm1PMq5keq05","0u3N7ucBDtVVyNzwNeAMTuJz11KHWRnB","UkDgqRg12UmQclXGIQ3tpRkRBFkUC1iI","6nDYKXZdnsrKI4hYAcxmQ0ZdvqWbzdTk","3qzWhmfT7YPMpE2OGqaIDhNt1vhKbpXK","OhbZaeMcukhJG5D8n49MAQvxmKQIdopo","DJYlPad951IEbI5xbikjpBxWSQyB8ESN","Wx9SbsxpuRG55EuQzM6c12j2pRp0h6a9","awY4y2O0sNf0ixBr8cxMEDZGXMQR10F0","DRFdFA5hueMCqgQTcgH0HfqC3vFTQ9jl","jc8udaPyn4nKxe4DF1m49ZybkbcfSrSJ","KzT55OMFsaVAw9TzVYUsJR5y7FNwZu5X","PMhv7sKtONJX4BfQ7piL3kZZjhNFdJQq","VmpWbh35vJKJiYuuEpfViR64b5CbMV6A","B2Yao3nQuIdDUu8oGZnQcay9kgRBJXAk","rpBVKEV9TTIXEqh5YdtcuV3FrtoKpg74","3ty4mgVVA7OZPCDzBt9PD1rTR7AgUXwW","i3akc1ejZJW2s637XeeI7mELh5ljV5i6","scgImVeVRnvQBUstLqSKKupCHxRx73Vq","oIrlRIgJmLq0xI4bSaYKkhPjjqXgKibi","fJb3MH6psd17WZN0Snemfk7x5cFjONqR","1KE7cWJ0y00pj0pEhRDGdpZOuR3FbDtV","3Ftt3V2J90AGNdxbZijjivJ8gEhPz8Pg","2T1x15Q0kvpzE2DyCOAmOeuGT6i6m95u","wXPfOQsAVlLyeW8c4FR1MUjur2YW9gSy","3Prqy25OK9UwN8i9ua8cXlgHHGtQzTnr","nAqSFqv3QPV0S0KLSd2vyIOMMvo8Rztk","uBghc9IPQD8a7nT6V3D65vHAaIg5YAfs","UsBLvhAPeTQda7O4xlAxoRi2Hv6l83tz","Vp7CLh1bl7lAA733ewMhDaqLbqEwBkdt","Ze3m2RMqa0Gs6v0irfBdXFdf6V07Uy2P","iveuuxUda6GkuwwCBVo95lACOfgqIk5g","Ni0H8rmaCeixc8sCP83vxsjkgHefb9fx","kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","1TstJOXxYpOWEx32FqjWXylN81C1RU7k","2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","Ei5v5M8765EY6WNRztyAy77t1e2t5AvT","80peYzeAZa6lRtxESoP0EFUXUkTqEk9V","CsU413L8tfUiKqgaOBCiEAoYa0tQRC03","np0ERu7GHFoN0WiWLAbFIfNjSzYKFs0y","VdJ05g0v1yB0UdqiDKBLAfUxNq1B2cH4","3qAIUl8GMdGX1vcbrZZk2Id2zLUFaW79","qzbD3sJyuTYC2X3IAq2vcY37lPcd9T0X","zRPBcafuUFNMa4qsJYQjfdKZU09Zl7Sq","GMNXS0Ctfm64JpVQWKJz72CNhUHiGAQb","cDJqcgHCP8poqZyDfY1h0KUFI6vzPT9f","3CwQ82ywfdqWNi1P1afA6ajdHFYGh4Is"]}]' - recorded_at: Fri, 03 Sep 2021 20:16:21 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/should_not_be_empty.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/should_not_be_empty.yml deleted file mode 100644 index 3f411ed98..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/should_not_be_empty.yml +++ /dev/null @@ -1,79 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/connections - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:21 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a7c3bcf90cd7-LAX - Cache-Control: - - no-cache - Link: - - ; - rel="first", ; - rel="last" - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7c3bcf90cd7 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 540a2cad08a48217 - Ot-Tracer-Traceid: - - 5697cd8057272d65 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700182' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '[{"id":"con_rLvSvR44VhsrOo1D","options":{"email":true,"scope":"email,user_birthday,user_website,user_hometown,user_location,user_work_history,user_education_history,user_about_me,user_banana","ads_read":false,"client_id":"1842690432417814","rsvp_event":false,"user_likes":false,"user_posts":false,"read_stream":false,"user_banana":true,"user_events":false,"user_groups":false,"user_photos":false,"user_status":false,"user_videos":false,"manage_pages":false,"read_mailbox":false,"user_friends":false,"user_website":true,"client_secret":"5929c7f62fece2725dd92af45dcfb7d6","publish_pages":false,"publish_video":false,"read_insights":false,"user_about_me":true,"user_birthday":true,"user_hometown":true,"user_location":true,"ads_management":false,"public_profile":false,"pages_messaging":false,"pages_show_list":false,"pages_manage_cta":false,"user_actions-news":false,"user_work_history":true,"user_actions-books":false,"user_actions-music":false,"user_actions-video":false,"user_relationships":false,"user_tagged_places":false,"read_page_mailboxes":false,"user_games_activity":false,"user_managed_groups":false,"manage_notifications":false,"user_actions-fitness":false,"user_education_history":true,"user_religion_politics":false,"read_custom_friendlists":false,"user_relationship_details":false,"pages_messaging_phone_number":false,"pages_messaging_subscriptions":false,"read_audience_network_insights":false},"strategy":"facebook","name":"facebook","is_domain_connection":false,"realms":["facebook"],"enabled_clients":[]},{"id":"con_P9aT06EgvT07eIcW","options":{"email":true,"scope":["email","profile"],"profile":true},"strategy":"google-oauth2","name":"google-oauth2","is_domain_connection":false,"realms":["google-oauth2"],"enabled_clients":["aNG5n4ny57xCrd53MhfwomU85fpsEdyr","2PHoTag6NbnYt3AsBsNxFikZUdIMFk5r","Kp6AEYQvuwFkB2JMAlZbTvsfDPgcf6un","sxByUG46lspLw3w5j7EjZUOix7hC60EG","XKN0TEVg2GZayqspufKTjyubQ9v7TMts","WK5cUC4GcwiEMvoBPD0OEbGgJlelkexK","V92owX4pGOeGC14FT7NUpkHRx0JBZYEw","Obn0UoIOuyht1yKcrFPQlgWygJFlhqGH","zHXTiUnmm3NRQR5HspLv0jZSEeB0tCV2","wZHfhdGPiITmTOiL1ohkoB3zSmucXyVe","K59uHp57aoSfmVCB4hA7307cXCn9Jofb","Ma6tpNQXmreZ4g83nT9sLpaODBiCV0Cf","A2rt0zedSHh85hy08LWmklAYBVI543C9","qpFGNAFfOY44KvnhFb02EuuvaAEd4KAM","ELviY4SzYPX5m6FIBSMFtWG9f9xosHbr","q47ZqPco70spQ1qnzMrBirk1dWoIebJr","c141AubVqXNCQh34hW6T75KqdNr37BSr","VnwxKhJ1RDc9pPsHSh8sE4E4z9KZwatO","CasDGIcCSsNOcgC39lvyFXi1VlZPRTI9","UcQcsWFHOhCLlbJ9HhlvQb1mUNpNK73A","wm2Cg7nnvGPeFpW3cmkTjIq2YXOwUx6z","alIzxHzpPBDmgvtJrakmWrK5MN2flQUS","2aF6N6Vm1sElbcAjchEhRGiXffveu2F1","JrwsqCWw6D438piidwKt9OzMlKsfNVnT","Q3trYfgk8EkecfLjZfvkVN91nIY4oRfv","qufC26Tbd5Qkw6T3PVMcuiKpUErnMPXq","WVmrm37sQY12PmbXlNe6jeezd47mUwky","1oOUnPnJ3nKjNSpRPmo1IGuvQllKFUE2","UvfbUbIEcsRmqR8l4120x4TYEfOPGPWQ","5xHRQ4MSt06BPYfSZwAzG4lKqKEsUuvi","qpjzdesOcWxUBQoH1a4v6RG43l619v5A","Nsjo9of3F7kdk2vkBArSsmU4OLF6wdwn","YJOtNHCaXUMxxxPl4pmc4T7Ry1SFwZei","v9YfJ6K2W8h5KW9NrTDHdOHvFvQrmJ8R","wSbg7v3FWUmgLLydgxzRKuxFbs3Lurz5","HX6dEYgNHqPXBe2x6x6Kq9u8m7OmqNZU","Y2kA8kQoW3DckPDSPmbhxwZ0tGUStPFh","n4tfAcvZi6JhmDR0pJiugw0z8uGvFQUJ","X0r2INQ8fgj4jJAiYOYihjtBbj1FzMnC","ywXzZl7uaMJvcclhAFe2hm1PMq5keq05","0u3N7ucBDtVVyNzwNeAMTuJz11KHWRnB","UkDgqRg12UmQclXGIQ3tpRkRBFkUC1iI","6nDYKXZdnsrKI4hYAcxmQ0ZdvqWbzdTk","3qzWhmfT7YPMpE2OGqaIDhNt1vhKbpXK","OhbZaeMcukhJG5D8n49MAQvxmKQIdopo","DJYlPad951IEbI5xbikjpBxWSQyB8ESN","Wx9SbsxpuRG55EuQzM6c12j2pRp0h6a9","awY4y2O0sNf0ixBr8cxMEDZGXMQR10F0","DRFdFA5hueMCqgQTcgH0HfqC3vFTQ9jl","jc8udaPyn4nKxe4DF1m49ZybkbcfSrSJ","KzT55OMFsaVAw9TzVYUsJR5y7FNwZu5X","PMhv7sKtONJX4BfQ7piL3kZZjhNFdJQq","VmpWbh35vJKJiYuuEpfViR64b5CbMV6A","B2Yao3nQuIdDUu8oGZnQcay9kgRBJXAk","rpBVKEV9TTIXEqh5YdtcuV3FrtoKpg74","3ty4mgVVA7OZPCDzBt9PD1rTR7AgUXwW","i3akc1ejZJW2s637XeeI7mELh5ljV5i6","scgImVeVRnvQBUstLqSKKupCHxRx73Vq","oIrlRIgJmLq0xI4bSaYKkhPjjqXgKibi","fJb3MH6psd17WZN0Snemfk7x5cFjONqR","1KE7cWJ0y00pj0pEhRDGdpZOuR3FbDtV","3Ftt3V2J90AGNdxbZijjivJ8gEhPz8Pg","2T1x15Q0kvpzE2DyCOAmOeuGT6i6m95u","wXPfOQsAVlLyeW8c4FR1MUjur2YW9gSy","3Prqy25OK9UwN8i9ua8cXlgHHGtQzTnr","nAqSFqv3QPV0S0KLSd2vyIOMMvo8Rztk","uBghc9IPQD8a7nT6V3D65vHAaIg5YAfs","UsBLvhAPeTQda7O4xlAxoRi2Hv6l83tz","Vp7CLh1bl7lAA733ewMhDaqLbqEwBkdt","Ze3m2RMqa0Gs6v0irfBdXFdf6V07Uy2P","iveuuxUda6GkuwwCBVo95lACOfgqIk5g","Ni0H8rmaCeixc8sCP83vxsjkgHefb9fx","kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","1TstJOXxYpOWEx32FqjWXylN81C1RU7k","2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","Ei5v5M8765EY6WNRztyAy77t1e2t5AvT","80peYzeAZa6lRtxESoP0EFUXUkTqEk9V","CsU413L8tfUiKqgaOBCiEAoYa0tQRC03","np0ERu7GHFoN0WiWLAbFIfNjSzYKFs0y","VdJ05g0v1yB0UdqiDKBLAfUxNq1B2cH4","3qAIUl8GMdGX1vcbrZZk2Id2zLUFaW79","qzbD3sJyuTYC2X3IAq2vcY37lPcd9T0X","zRPBcafuUFNMa4qsJYQjfdKZU09Zl7Sq","GMNXS0Ctfm64JpVQWKJz72CNhUHiGAQb","cDJqcgHCP8poqZyDfY1h0KUFI6vzPT9f","3CwQ82ywfdqWNi1P1afA6ajdHFYGh4Is"]},{"id":"con_CYJD0YigZxd7savz","options":{"type":"front_channel","scope":"openid - profile email","issuer":"https://wap-kls-demo01-klsauth-auth0-01.azurewebsites.net","jwks_uri":"https://wap-kls-demo01-klsauth-auth0-01.azurewebsites.net/.well-known/openid-configuration/jwks","client_id":"Auth0","discovery_url":"https://wap-kls-demo01-klsauth-auth0-01.azurewebsites.net/","token_endpoint":null,"userinfo_endpoint":"https://wap-kls-demo01-klsauth-auth0-01.azurewebsites.net/connect/userinfo","authorization_endpoint":"https://wap-kls-demo01-klsauth-auth0-01.azurewebsites.net/connect/authorize"},"strategy":"oidc","name":"keyless","is_domain_connection":false,"show_as_button":false,"display_name":"keyless","realms":["keyless"],"enabled_clients":[]},{"id":"con_Mlm3MxOR5utX1WSv","options":{"mfa":{"active":true,"return_enroll_settings":true},"disable_signup":false,"passwordPolicy":"good","strategy_version":2,"requires_username":false,"brute_force_protection":true},"strategy":"auth0","name":"Test","is_domain_connection":false,"realms":["Test"],"enabled_clients":[]},{"id":"con_WltM0fv20JCnxOuY","options":{"mfa":{"active":true,"return_enroll_settings":true},"passwordPolicy":"good","strategy_version":2,"brute_force_protection":true},"strategy":"auth0","name":"TestConnection-rubytest-210908","is_domain_connection":false,"realms":["TestConnection-rubytest-210908"],"enabled_clients":[]},{"id":"con_Xx4Kruoab04wvlYX","options":{"mfa":{"active":true,"return_enroll_settings":true},"strategy_version":2,"brute_force_protection":true},"strategy":"auth0","name":"Username-Password-Authentication","is_domain_connection":false,"realms":["Username-Password-Authentication"],"enabled_clients":["aNG5n4ny57xCrd53MhfwomU85fpsEdyr","2PHoTag6NbnYt3AsBsNxFikZUdIMFk5r","Kp6AEYQvuwFkB2JMAlZbTvsfDPgcf6un","sxByUG46lspLw3w5j7EjZUOix7hC60EG","XKN0TEVg2GZayqspufKTjyubQ9v7TMts","WK5cUC4GcwiEMvoBPD0OEbGgJlelkexK","V92owX4pGOeGC14FT7NUpkHRx0JBZYEw","Obn0UoIOuyht1yKcrFPQlgWygJFlhqGH","zHXTiUnmm3NRQR5HspLv0jZSEeB0tCV2","wZHfhdGPiITmTOiL1ohkoB3zSmucXyVe","K59uHp57aoSfmVCB4hA7307cXCn9Jofb","Ma6tpNQXmreZ4g83nT9sLpaODBiCV0Cf","A2rt0zedSHh85hy08LWmklAYBVI543C9","qpFGNAFfOY44KvnhFb02EuuvaAEd4KAM","ELviY4SzYPX5m6FIBSMFtWG9f9xosHbr","q47ZqPco70spQ1qnzMrBirk1dWoIebJr","c141AubVqXNCQh34hW6T75KqdNr37BSr","VnwxKhJ1RDc9pPsHSh8sE4E4z9KZwatO","CasDGIcCSsNOcgC39lvyFXi1VlZPRTI9","UcQcsWFHOhCLlbJ9HhlvQb1mUNpNK73A","wm2Cg7nnvGPeFpW3cmkTjIq2YXOwUx6z","alIzxHzpPBDmgvtJrakmWrK5MN2flQUS","2aF6N6Vm1sElbcAjchEhRGiXffveu2F1","JrwsqCWw6D438piidwKt9OzMlKsfNVnT","Q3trYfgk8EkecfLjZfvkVN91nIY4oRfv","qufC26Tbd5Qkw6T3PVMcuiKpUErnMPXq","WVmrm37sQY12PmbXlNe6jeezd47mUwky","1oOUnPnJ3nKjNSpRPmo1IGuvQllKFUE2","UvfbUbIEcsRmqR8l4120x4TYEfOPGPWQ","5xHRQ4MSt06BPYfSZwAzG4lKqKEsUuvi","qpjzdesOcWxUBQoH1a4v6RG43l619v5A","Nsjo9of3F7kdk2vkBArSsmU4OLF6wdwn","YJOtNHCaXUMxxxPl4pmc4T7Ry1SFwZei","v9YfJ6K2W8h5KW9NrTDHdOHvFvQrmJ8R","wSbg7v3FWUmgLLydgxzRKuxFbs3Lurz5","HX6dEYgNHqPXBe2x6x6Kq9u8m7OmqNZU","Y2kA8kQoW3DckPDSPmbhxwZ0tGUStPFh","n4tfAcvZi6JhmDR0pJiugw0z8uGvFQUJ","X0r2INQ8fgj4jJAiYOYihjtBbj1FzMnC","ywXzZl7uaMJvcclhAFe2hm1PMq5keq05","0u3N7ucBDtVVyNzwNeAMTuJz11KHWRnB","UkDgqRg12UmQclXGIQ3tpRkRBFkUC1iI","6nDYKXZdnsrKI4hYAcxmQ0ZdvqWbzdTk","3qzWhmfT7YPMpE2OGqaIDhNt1vhKbpXK","OhbZaeMcukhJG5D8n49MAQvxmKQIdopo","DJYlPad951IEbI5xbikjpBxWSQyB8ESN","Wx9SbsxpuRG55EuQzM6c12j2pRp0h6a9","awY4y2O0sNf0ixBr8cxMEDZGXMQR10F0","DRFdFA5hueMCqgQTcgH0HfqC3vFTQ9jl","jc8udaPyn4nKxe4DF1m49ZybkbcfSrSJ","KzT55OMFsaVAw9TzVYUsJR5y7FNwZu5X","PMhv7sKtONJX4BfQ7piL3kZZjhNFdJQq","VmpWbh35vJKJiYuuEpfViR64b5CbMV6A","B2Yao3nQuIdDUu8oGZnQcay9kgRBJXAk","rpBVKEV9TTIXEqh5YdtcuV3FrtoKpg74","3ty4mgVVA7OZPCDzBt9PD1rTR7AgUXwW","i3akc1ejZJW2s637XeeI7mELh5ljV5i6","scgImVeVRnvQBUstLqSKKupCHxRx73Vq","oIrlRIgJmLq0xI4bSaYKkhPjjqXgKibi","fJb3MH6psd17WZN0Snemfk7x5cFjONqR","1KE7cWJ0y00pj0pEhRDGdpZOuR3FbDtV","3Ftt3V2J90AGNdxbZijjivJ8gEhPz8Pg","2T1x15Q0kvpzE2DyCOAmOeuGT6i6m95u","wXPfOQsAVlLyeW8c4FR1MUjur2YW9gSy","3Prqy25OK9UwN8i9ua8cXlgHHGtQzTnr","nAqSFqv3QPV0S0KLSd2vyIOMMvo8Rztk","uBghc9IPQD8a7nT6V3D65vHAaIg5YAfs","UsBLvhAPeTQda7O4xlAxoRi2Hv6l83tz","Vp7CLh1bl7lAA733ewMhDaqLbqEwBkdt","Ze3m2RMqa0Gs6v0irfBdXFdf6V07Uy2P","iveuuxUda6GkuwwCBVo95lACOfgqIk5g","Ni0H8rmaCeixc8sCP83vxsjkgHefb9fx","kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","1TstJOXxYpOWEx32FqjWXylN81C1RU7k","2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","Ei5v5M8765EY6WNRztyAy77t1e2t5AvT","80peYzeAZa6lRtxESoP0EFUXUkTqEk9V","CsU413L8tfUiKqgaOBCiEAoYa0tQRC03","np0ERu7GHFoN0WiWLAbFIfNjSzYKFs0y","VdJ05g0v1yB0UdqiDKBLAfUxNq1B2cH4","3qAIUl8GMdGX1vcbrZZk2Id2zLUFaW79","qzbD3sJyuTYC2X3IAq2vcY37lPcd9T0X","zRPBcafuUFNMa4qsJYQjfdKZU09Zl7Sq","GMNXS0Ctfm64JpVQWKJz72CNhUHiGAQb","cDJqcgHCP8poqZyDfY1h0KUFI6vzPT9f","3CwQ82ywfdqWNi1P1afA6ajdHFYGh4Is"]}]' - recorded_at: Fri, 03 Sep 2021 20:16:21 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_delete_connection/should_delete_the_connection.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_delete_connection/should_delete_the_connection.yml deleted file mode 100644 index 4717f8620..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_delete_connection/should_delete_the_connection.yml +++ /dev/null @@ -1,74 +0,0 @@ ---- -http_interactions: -- request: - method: delete - uri: https://auth0-sdk-tests.auth0.com/api/v2/connections/con_WltM0fv20JCnxOuY - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 202 - message: Accepted - headers: - Date: - - Fri, 03 Sep 2021 20:16:22 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a7ce7af2052c-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7ce7af2052c - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 5e040aee662eb6da - Ot-Tracer-Traceid: - - 7de2d5e5556f108f - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700183' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"deleted_at":"2021-09-03T20:16:22.894Z"}' - recorded_at: Fri, 03 Sep 2021 20:16:22 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_delete_connection_user/should_delete_the_user_created.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_delete_connection_user/should_delete_the_user_created.yml deleted file mode 100644 index e8f114a86..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_delete_connection_user/should_delete_the_user_created.yml +++ /dev/null @@ -1,148 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/connections - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:22 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a7ca5ef8eac3-LAX - Cache-Control: - - no-cache - Link: - - ; - rel="first", ; - rel="last" - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7ca5ef8eac3 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 687e86780928cbf1 - Ot-Tracer-Traceid: - - 3a933856695e1bf7 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700183' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '[{"id":"con_rLvSvR44VhsrOo1D","options":{"email":true,"scope":"email,user_birthday,user_website,user_hometown,user_location,user_work_history,user_education_history,user_about_me,user_banana","ads_read":false,"client_id":"1842690432417814","rsvp_event":false,"user_likes":false,"user_posts":false,"read_stream":false,"user_banana":true,"user_events":false,"user_groups":false,"user_photos":false,"user_status":false,"user_videos":false,"manage_pages":false,"read_mailbox":false,"user_friends":false,"user_website":true,"client_secret":"5929c7f62fece2725dd92af45dcfb7d6","publish_pages":false,"publish_video":false,"read_insights":false,"user_about_me":true,"user_birthday":true,"user_hometown":true,"user_location":true,"ads_management":false,"public_profile":false,"pages_messaging":false,"pages_show_list":false,"pages_manage_cta":false,"user_actions-news":false,"user_work_history":true,"user_actions-books":false,"user_actions-music":false,"user_actions-video":false,"user_relationships":false,"user_tagged_places":false,"read_page_mailboxes":false,"user_games_activity":false,"user_managed_groups":false,"manage_notifications":false,"user_actions-fitness":false,"user_education_history":true,"user_religion_politics":false,"read_custom_friendlists":false,"user_relationship_details":false,"pages_messaging_phone_number":false,"pages_messaging_subscriptions":false,"read_audience_network_insights":false},"strategy":"facebook","name":"facebook","is_domain_connection":false,"realms":["facebook"],"enabled_clients":[]},{"id":"con_P9aT06EgvT07eIcW","options":{"email":true,"scope":["email","profile"],"profile":true},"strategy":"google-oauth2","name":"google-oauth2","is_domain_connection":false,"realms":["google-oauth2"],"enabled_clients":["aNG5n4ny57xCrd53MhfwomU85fpsEdyr","2PHoTag6NbnYt3AsBsNxFikZUdIMFk5r","Kp6AEYQvuwFkB2JMAlZbTvsfDPgcf6un","sxByUG46lspLw3w5j7EjZUOix7hC60EG","XKN0TEVg2GZayqspufKTjyubQ9v7TMts","WK5cUC4GcwiEMvoBPD0OEbGgJlelkexK","V92owX4pGOeGC14FT7NUpkHRx0JBZYEw","Obn0UoIOuyht1yKcrFPQlgWygJFlhqGH","zHXTiUnmm3NRQR5HspLv0jZSEeB0tCV2","wZHfhdGPiITmTOiL1ohkoB3zSmucXyVe","K59uHp57aoSfmVCB4hA7307cXCn9Jofb","Ma6tpNQXmreZ4g83nT9sLpaODBiCV0Cf","A2rt0zedSHh85hy08LWmklAYBVI543C9","qpFGNAFfOY44KvnhFb02EuuvaAEd4KAM","ELviY4SzYPX5m6FIBSMFtWG9f9xosHbr","q47ZqPco70spQ1qnzMrBirk1dWoIebJr","c141AubVqXNCQh34hW6T75KqdNr37BSr","VnwxKhJ1RDc9pPsHSh8sE4E4z9KZwatO","CasDGIcCSsNOcgC39lvyFXi1VlZPRTI9","UcQcsWFHOhCLlbJ9HhlvQb1mUNpNK73A","wm2Cg7nnvGPeFpW3cmkTjIq2YXOwUx6z","alIzxHzpPBDmgvtJrakmWrK5MN2flQUS","2aF6N6Vm1sElbcAjchEhRGiXffveu2F1","JrwsqCWw6D438piidwKt9OzMlKsfNVnT","Q3trYfgk8EkecfLjZfvkVN91nIY4oRfv","qufC26Tbd5Qkw6T3PVMcuiKpUErnMPXq","WVmrm37sQY12PmbXlNe6jeezd47mUwky","1oOUnPnJ3nKjNSpRPmo1IGuvQllKFUE2","UvfbUbIEcsRmqR8l4120x4TYEfOPGPWQ","5xHRQ4MSt06BPYfSZwAzG4lKqKEsUuvi","qpjzdesOcWxUBQoH1a4v6RG43l619v5A","Nsjo9of3F7kdk2vkBArSsmU4OLF6wdwn","YJOtNHCaXUMxxxPl4pmc4T7Ry1SFwZei","v9YfJ6K2W8h5KW9NrTDHdOHvFvQrmJ8R","wSbg7v3FWUmgLLydgxzRKuxFbs3Lurz5","HX6dEYgNHqPXBe2x6x6Kq9u8m7OmqNZU","Y2kA8kQoW3DckPDSPmbhxwZ0tGUStPFh","n4tfAcvZi6JhmDR0pJiugw0z8uGvFQUJ","X0r2INQ8fgj4jJAiYOYihjtBbj1FzMnC","ywXzZl7uaMJvcclhAFe2hm1PMq5keq05","0u3N7ucBDtVVyNzwNeAMTuJz11KHWRnB","UkDgqRg12UmQclXGIQ3tpRkRBFkUC1iI","6nDYKXZdnsrKI4hYAcxmQ0ZdvqWbzdTk","3qzWhmfT7YPMpE2OGqaIDhNt1vhKbpXK","OhbZaeMcukhJG5D8n49MAQvxmKQIdopo","DJYlPad951IEbI5xbikjpBxWSQyB8ESN","Wx9SbsxpuRG55EuQzM6c12j2pRp0h6a9","awY4y2O0sNf0ixBr8cxMEDZGXMQR10F0","DRFdFA5hueMCqgQTcgH0HfqC3vFTQ9jl","jc8udaPyn4nKxe4DF1m49ZybkbcfSrSJ","KzT55OMFsaVAw9TzVYUsJR5y7FNwZu5X","PMhv7sKtONJX4BfQ7piL3kZZjhNFdJQq","VmpWbh35vJKJiYuuEpfViR64b5CbMV6A","B2Yao3nQuIdDUu8oGZnQcay9kgRBJXAk","rpBVKEV9TTIXEqh5YdtcuV3FrtoKpg74","3ty4mgVVA7OZPCDzBt9PD1rTR7AgUXwW","i3akc1ejZJW2s637XeeI7mELh5ljV5i6","scgImVeVRnvQBUstLqSKKupCHxRx73Vq","oIrlRIgJmLq0xI4bSaYKkhPjjqXgKibi","fJb3MH6psd17WZN0Snemfk7x5cFjONqR","1KE7cWJ0y00pj0pEhRDGdpZOuR3FbDtV","3Ftt3V2J90AGNdxbZijjivJ8gEhPz8Pg","2T1x15Q0kvpzE2DyCOAmOeuGT6i6m95u","wXPfOQsAVlLyeW8c4FR1MUjur2YW9gSy","3Prqy25OK9UwN8i9ua8cXlgHHGtQzTnr","nAqSFqv3QPV0S0KLSd2vyIOMMvo8Rztk","uBghc9IPQD8a7nT6V3D65vHAaIg5YAfs","UsBLvhAPeTQda7O4xlAxoRi2Hv6l83tz","Vp7CLh1bl7lAA733ewMhDaqLbqEwBkdt","Ze3m2RMqa0Gs6v0irfBdXFdf6V07Uy2P","iveuuxUda6GkuwwCBVo95lACOfgqIk5g","Ni0H8rmaCeixc8sCP83vxsjkgHefb9fx","kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","1TstJOXxYpOWEx32FqjWXylN81C1RU7k","2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","Ei5v5M8765EY6WNRztyAy77t1e2t5AvT","80peYzeAZa6lRtxESoP0EFUXUkTqEk9V","CsU413L8tfUiKqgaOBCiEAoYa0tQRC03","np0ERu7GHFoN0WiWLAbFIfNjSzYKFs0y","VdJ05g0v1yB0UdqiDKBLAfUxNq1B2cH4","3qAIUl8GMdGX1vcbrZZk2Id2zLUFaW79","qzbD3sJyuTYC2X3IAq2vcY37lPcd9T0X","zRPBcafuUFNMa4qsJYQjfdKZU09Zl7Sq","GMNXS0Ctfm64JpVQWKJz72CNhUHiGAQb","cDJqcgHCP8poqZyDfY1h0KUFI6vzPT9f","3CwQ82ywfdqWNi1P1afA6ajdHFYGh4Is"]},{"id":"con_CYJD0YigZxd7savz","options":{"type":"front_channel","scope":"openid - profile email","issuer":"https://wap-kls-demo01-klsauth-auth0-01.azurewebsites.net","jwks_uri":"https://wap-kls-demo01-klsauth-auth0-01.azurewebsites.net/.well-known/openid-configuration/jwks","client_id":"Auth0","discovery_url":"https://wap-kls-demo01-klsauth-auth0-01.azurewebsites.net/","token_endpoint":null,"userinfo_endpoint":"https://wap-kls-demo01-klsauth-auth0-01.azurewebsites.net/connect/userinfo","authorization_endpoint":"https://wap-kls-demo01-klsauth-auth0-01.azurewebsites.net/connect/authorize"},"strategy":"oidc","name":"keyless","is_domain_connection":false,"show_as_button":false,"display_name":"keyless","realms":["keyless"],"enabled_clients":[]},{"id":"con_Mlm3MxOR5utX1WSv","options":{"mfa":{"active":true,"return_enroll_settings":true},"disable_signup":false,"passwordPolicy":"good","strategy_version":2,"requires_username":false,"brute_force_protection":true},"strategy":"auth0","name":"Test","is_domain_connection":false,"realms":["Test"],"enabled_clients":[]},{"id":"con_WltM0fv20JCnxOuY","options":{"mfa":{"active":true,"return_enroll_settings":true},"passwordPolicy":"good","strategy_version":2,"brute_force_protection":true},"strategy":"auth0","name":"TestConnection-rubytest-210908","is_domain_connection":false,"realms":["TestConnection-rubytest-210908"],"enabled_clients":[]},{"id":"con_Xx4Kruoab04wvlYX","options":{"mfa":{"active":true,"return_enroll_settings":true},"strategy_version":2,"brute_force_protection":true},"strategy":"auth0","name":"Username-Password-Authentication","is_domain_connection":false,"realms":["Username-Password-Authentication"],"enabled_clients":["aNG5n4ny57xCrd53MhfwomU85fpsEdyr","2PHoTag6NbnYt3AsBsNxFikZUdIMFk5r","Kp6AEYQvuwFkB2JMAlZbTvsfDPgcf6un","sxByUG46lspLw3w5j7EjZUOix7hC60EG","XKN0TEVg2GZayqspufKTjyubQ9v7TMts","WK5cUC4GcwiEMvoBPD0OEbGgJlelkexK","V92owX4pGOeGC14FT7NUpkHRx0JBZYEw","Obn0UoIOuyht1yKcrFPQlgWygJFlhqGH","zHXTiUnmm3NRQR5HspLv0jZSEeB0tCV2","wZHfhdGPiITmTOiL1ohkoB3zSmucXyVe","K59uHp57aoSfmVCB4hA7307cXCn9Jofb","Ma6tpNQXmreZ4g83nT9sLpaODBiCV0Cf","A2rt0zedSHh85hy08LWmklAYBVI543C9","qpFGNAFfOY44KvnhFb02EuuvaAEd4KAM","ELviY4SzYPX5m6FIBSMFtWG9f9xosHbr","q47ZqPco70spQ1qnzMrBirk1dWoIebJr","c141AubVqXNCQh34hW6T75KqdNr37BSr","VnwxKhJ1RDc9pPsHSh8sE4E4z9KZwatO","CasDGIcCSsNOcgC39lvyFXi1VlZPRTI9","UcQcsWFHOhCLlbJ9HhlvQb1mUNpNK73A","wm2Cg7nnvGPeFpW3cmkTjIq2YXOwUx6z","alIzxHzpPBDmgvtJrakmWrK5MN2flQUS","2aF6N6Vm1sElbcAjchEhRGiXffveu2F1","JrwsqCWw6D438piidwKt9OzMlKsfNVnT","Q3trYfgk8EkecfLjZfvkVN91nIY4oRfv","qufC26Tbd5Qkw6T3PVMcuiKpUErnMPXq","WVmrm37sQY12PmbXlNe6jeezd47mUwky","1oOUnPnJ3nKjNSpRPmo1IGuvQllKFUE2","UvfbUbIEcsRmqR8l4120x4TYEfOPGPWQ","5xHRQ4MSt06BPYfSZwAzG4lKqKEsUuvi","qpjzdesOcWxUBQoH1a4v6RG43l619v5A","Nsjo9of3F7kdk2vkBArSsmU4OLF6wdwn","YJOtNHCaXUMxxxPl4pmc4T7Ry1SFwZei","v9YfJ6K2W8h5KW9NrTDHdOHvFvQrmJ8R","wSbg7v3FWUmgLLydgxzRKuxFbs3Lurz5","HX6dEYgNHqPXBe2x6x6Kq9u8m7OmqNZU","Y2kA8kQoW3DckPDSPmbhxwZ0tGUStPFh","n4tfAcvZi6JhmDR0pJiugw0z8uGvFQUJ","X0r2INQ8fgj4jJAiYOYihjtBbj1FzMnC","ywXzZl7uaMJvcclhAFe2hm1PMq5keq05","0u3N7ucBDtVVyNzwNeAMTuJz11KHWRnB","UkDgqRg12UmQclXGIQ3tpRkRBFkUC1iI","6nDYKXZdnsrKI4hYAcxmQ0ZdvqWbzdTk","3qzWhmfT7YPMpE2OGqaIDhNt1vhKbpXK","OhbZaeMcukhJG5D8n49MAQvxmKQIdopo","DJYlPad951IEbI5xbikjpBxWSQyB8ESN","Wx9SbsxpuRG55EuQzM6c12j2pRp0h6a9","awY4y2O0sNf0ixBr8cxMEDZGXMQR10F0","DRFdFA5hueMCqgQTcgH0HfqC3vFTQ9jl","jc8udaPyn4nKxe4DF1m49ZybkbcfSrSJ","KzT55OMFsaVAw9TzVYUsJR5y7FNwZu5X","PMhv7sKtONJX4BfQ7piL3kZZjhNFdJQq","VmpWbh35vJKJiYuuEpfViR64b5CbMV6A","B2Yao3nQuIdDUu8oGZnQcay9kgRBJXAk","rpBVKEV9TTIXEqh5YdtcuV3FrtoKpg74","3ty4mgVVA7OZPCDzBt9PD1rTR7AgUXwW","i3akc1ejZJW2s637XeeI7mELh5ljV5i6","scgImVeVRnvQBUstLqSKKupCHxRx73Vq","oIrlRIgJmLq0xI4bSaYKkhPjjqXgKibi","fJb3MH6psd17WZN0Snemfk7x5cFjONqR","1KE7cWJ0y00pj0pEhRDGdpZOuR3FbDtV","3Ftt3V2J90AGNdxbZijjivJ8gEhPz8Pg","2T1x15Q0kvpzE2DyCOAmOeuGT6i6m95u","wXPfOQsAVlLyeW8c4FR1MUjur2YW9gSy","3Prqy25OK9UwN8i9ua8cXlgHHGtQzTnr","nAqSFqv3QPV0S0KLSd2vyIOMMvo8Rztk","uBghc9IPQD8a7nT6V3D65vHAaIg5YAfs","UsBLvhAPeTQda7O4xlAxoRi2Hv6l83tz","Vp7CLh1bl7lAA733ewMhDaqLbqEwBkdt","Ze3m2RMqa0Gs6v0irfBdXFdf6V07Uy2P","iveuuxUda6GkuwwCBVo95lACOfgqIk5g","Ni0H8rmaCeixc8sCP83vxsjkgHefb9fx","kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","1TstJOXxYpOWEx32FqjWXylN81C1RU7k","2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","Ei5v5M8765EY6WNRztyAy77t1e2t5AvT","80peYzeAZa6lRtxESoP0EFUXUkTqEk9V","CsU413L8tfUiKqgaOBCiEAoYa0tQRC03","np0ERu7GHFoN0WiWLAbFIfNjSzYKFs0y","VdJ05g0v1yB0UdqiDKBLAfUxNq1B2cH4","3qAIUl8GMdGX1vcbrZZk2Id2zLUFaW79","qzbD3sJyuTYC2X3IAq2vcY37lPcd9T0X","zRPBcafuUFNMa4qsJYQjfdKZU09Zl7Sq","GMNXS0Ctfm64JpVQWKJz72CNhUHiGAQb","cDJqcgHCP8poqZyDfY1h0KUFI6vzPT9f","3CwQ82ywfdqWNi1P1afA6ajdHFYGh4Is"]}]' - recorded_at: Fri, 03 Sep 2021 20:16:22 GMT -- request: - method: delete - uri: https://auth0-sdk-tests.auth0.com/api/v2/connections/con_Xx4Kruoab04wvlYX/users?email=rubytest-210908-rubytest-210908-username@auth0.com - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 204 - message: No Content - headers: - Date: - - Fri, 03 Sep 2021 20:16:22 GMT - Content-Type: - - application/json; charset=utf-8 - Connection: - - keep-alive - Cf-Ray: - - 6891a7cb6cfa3615-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7cb6cfa3615 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 3eb8e75452ac4b46 - Ot-Tracer-Traceid: - - 581b86bd30635244 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700183' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: UTF-8 - string: '' - recorded_at: Fri, 03 Sep 2021 20:16:22 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_update_connection/should_update_the_connection.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_update_connection/should_update_the_connection.yml deleted file mode 100644 index 6b91f73ef..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_update_connection/should_update_the_connection.yml +++ /dev/null @@ -1,76 +0,0 @@ ---- -http_interactions: -- request: - method: patch - uri: https://auth0-sdk-tests.auth0.com/api/v2/connections/con_WltM0fv20JCnxOuY - body: - encoding: UTF-8 - string: '{"options":{"mfa":{"active":true,"return_enroll_settings":true},"passwordPolicy":"excellent","strategy_version":2,"brute_force_protection":true}}' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '145' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:22 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a7cd0c0852a1-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7cd0c0852a1 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 6ae91aa621a42701 - Ot-Tracer-Traceid: - - 0d7d8cee34fd8135 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700183' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"id":"con_WltM0fv20JCnxOuY","options":{"mfa":{"active":true,"return_enroll_settings":true},"passwordPolicy":"excellent","strategy_version":2,"brute_force_protection":true},"strategy":"auth0","name":"TestConnection-rubytest-210908","is_domain_connection":false,"enabled_clients":[],"realms":["TestConnection-rubytest-210908"]}' - recorded_at: Fri, 03 Sep 2021 20:16:22 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/create_test_connection.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/create_test_connection.yml deleted file mode 100644 index 856155809..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/create_test_connection.yml +++ /dev/null @@ -1,76 +0,0 @@ ---- -http_interactions: -- request: - method: post - uri: https://auth0-sdk-tests.auth0.com/api/v2/connections - body: - encoding: UTF-8 - string: '{"name":"TestConnection-rubytest-210908","strategy":"auth0"}' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '60' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 201 - message: Created - headers: - Date: - - Fri, 03 Sep 2021 20:16:20 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a7bc6e8c04ef-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7bc6e8c04ef - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 45a8993e35d04e75 - Ot-Tracer-Traceid: - - 6d306b4049e468c4 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700181' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"id":"con_WltM0fv20JCnxOuY","options":{"mfa":{"active":true,"return_enroll_settings":true},"passwordPolicy":"good","strategy_version":2,"brute_force_protection":true},"strategy":"auth0","name":"TestConnection-rubytest-210908","is_domain_connection":false,"enabled_clients":[],"realms":["TestConnection-rubytest-210908"]}' - recorded_at: Fri, 03 Sep 2021 20:16:20 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/create_test_user.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/create_test_user.yml deleted file mode 100644 index 49048af94..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/create_test_user.yml +++ /dev/null @@ -1,76 +0,0 @@ ---- -http_interactions: -- request: - method: post - uri: https://auth0-sdk-tests.auth0.com/api/v2/users - body: - encoding: UTF-8 - string: '{"name":"rubytest-210908-username","email":"rubytest-210908-rubytest-210908-username@auth0.com","password":"VpAzA33t4YnE","connection":"Username-Password-Authentication"}' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '170' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 201 - message: Created - headers: - Date: - - Fri, 03 Sep 2021 20:16:20 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a7bdeebf04e3-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7bdeebf04e3 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 25159aee6e6bb016 - Ot-Tracer-Traceid: - - 1329c0df402ac0fc - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700181' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"created_at":"2021-09-03T20:16:20.346Z","email":"rubytest-210908-rubytest-210908-username@auth0.com","email_verified":false,"identities":[{"connection":"Username-Password-Authentication","user_id":"6132829445244d0069782a78","provider":"auth0","isSocial":false}],"name":"rubytest-210908-username","nickname":"rubytest-210908-rubytest-210908-username","picture":"https://s.gravatar.com/avatar/28607929c5bdf4954ee65d055fea6e69?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fru.png","updated_at":"2021-09-03T20:16:20.346Z","user_id":"auth0|6132829445244d0069782a78"}' - recorded_at: Fri, 03 Sep 2021 20:16:20 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/create_test_credential.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/create_test_credential.yml deleted file mode 100644 index d6062deee..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/create_test_credential.yml +++ /dev/null @@ -1,72 +0,0 @@ ---- -http_interactions: -- request: - method: post - uri: https://auth0-sdk-tests.auth0.com/api/v2/device-credentials - body: - encoding: UTF-8 - string: '{"device_name":"rubytest-210908-username_phone_1","type":"public_key","value":"dmFsdWU=","device_id":"68753A44-4D6F-1226-9C60-0050E4C00067","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI"}' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Basic VXNlcm5hbWUtUGFzc3dvcmQtQXV0aGVudGljYXRpb25ccnVieXRlc3QtMjEwOTA4LXJ1Ynl0ZXN0LTIxMDkwOC11c2VybmFtZUBhdXRoMC5jb206QjR6TTRqRm05QjYyYjE= - Content-Length: - - '187' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 401 - message: Unauthorized - headers: - Date: - - Fri, 03 Sep 2021 20:16:23 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a7d2290c04f7-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Www-Authenticate: - - Bearer - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7d2290c04f7 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 2c0891a267dd3909 - Ot-Tracer-Traceid: - - 33a26032311adeec - X-Content-Type-Options: - - nosniff - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"statusCode":401,"error":"Unauthorized","message":"Missing authentication"}' - recorded_at: Fri, 03 Sep 2021 20:16:23 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/create_test_user.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/create_test_user.yml deleted file mode 100644 index 0813cb009..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/create_test_user.yml +++ /dev/null @@ -1,76 +0,0 @@ ---- -http_interactions: -- request: - method: post - uri: https://auth0-sdk-tests.auth0.com/api/v2/users - body: - encoding: UTF-8 - string: '{"name":"rubytest-210908-username","email":"rubytest-210908-rubytest-210908-username@auth0.com","password":"B4zM4jFm9B62b1","email_verified":true,"connection":"Username-Password-Authentication"}' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '194' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 201 - message: Created - headers: - Date: - - Fri, 03 Sep 2021 20:16:23 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a7d03a5904b4-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7d03a5904b4 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 34fb2a0a3384231b - Ot-Tracer-Traceid: - - 44cd8563757f1c82 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700184' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"created_at":"2021-09-03T20:16:23.259Z","email":"rubytest-210908-rubytest-210908-username@auth0.com","email_verified":true,"identities":[{"connection":"Username-Password-Authentication","user_id":"61328297148a95006b37e566","provider":"auth0","isSocial":false}],"name":"rubytest-210908-username","nickname":"rubytest-210908-rubytest-210908-username","picture":"https://s.gravatar.com/avatar/28607929c5bdf4954ee65d055fea6e69?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fru.png","updated_at":"2021-09-03T20:16:23.259Z","user_id":"auth0|61328297148a95006b37e566"}' - recorded_at: Fri, 03 Sep 2021 20:16:23 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/delete_test_user.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/delete_test_user.yml deleted file mode 100644 index 2badfac94..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_DeviceCredentials/delete_test_user.yml +++ /dev/null @@ -1,72 +0,0 @@ ---- -http_interactions: -- request: - method: delete - uri: https://auth0-sdk-tests.auth0.com/api/v2/users/auth0%7C61328297148a95006b37e566 - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 204 - message: No Content - headers: - Date: - - Fri, 03 Sep 2021 20:16:23 GMT - Content-Type: - - application/json; charset=utf-8 - Connection: - - keep-alive - Cf-Ray: - - 6891a7d47b4752cb-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7d47b4752cb - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 03b0cc5165592ec0 - Ot-Tracer-Traceid: - - 22272a78067d9147 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700184' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: UTF-8 - string: '' - recorded_at: Fri, 03 Sep 2021 20:16:23 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_configure_provider/should_configure_a_new_email_provider.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_configure_provider/should_configure_a_new_email_provider.yml deleted file mode 100644 index ca0a1017d..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_configure_provider/should_configure_a_new_email_provider.yml +++ /dev/null @@ -1,72 +0,0 @@ ---- -http_interactions: -- request: - method: post - uri: https://auth0-sdk-tests.auth0.com/api/v2/emails/provider - body: - encoding: UTF-8 - string: '{"name":"mandrill","enabled":true,"credentials":{"api_key":"api_key"},"settings":{"first_setting":"first_setting_set","second_setting":"second_setting_set"}}' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '157' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 400 - message: Bad Request - headers: - Date: - - Fri, 03 Sep 2021 20:16:24 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a7d75a655301-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7d75a655301 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 22ac08ac3f9ef22d - Ot-Tracer-Traceid: - - 7f33967308eb590b - X-Content-Type-Options: - - nosniff - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"statusCode":400,"error":"Bad Request","message":"Payload validation - error: ''Additional properties not allowed: second_setting,first_setting'' - on property settings (Specific provider setting).","errorCode":"invalid_body"}' - recorded_at: Fri, 03 Sep 2021 20:16:24 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_delete_provider/should_delete_the_existing_email_provider_without_an_error.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_delete_provider/should_delete_the_existing_email_provider_without_an_error.yml deleted file mode 100644 index a65e344b7..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_delete_provider/should_delete_the_existing_email_provider_without_an_error.yml +++ /dev/null @@ -1,72 +0,0 @@ ---- -http_interactions: -- request: - method: delete - uri: https://auth0-sdk-tests.auth0.com/api/v2/emails/provider - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 204 - message: No Content - headers: - Date: - - Fri, 03 Sep 2021 20:16:25 GMT - Content-Type: - - application/json; charset=utf-8 - Connection: - - keep-alive - Cf-Ray: - - 6891a7de08df31f7-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7de08df31f7 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 7c70a5476d10fe0f - Ot-Tracer-Traceid: - - 53c95658264e34c8 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700186' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: UTF-8 - string: '' - recorded_at: Fri, 03 Sep 2021 20:16:25 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_delete_provider/should_throw_an_error_trying_to_get_the_email_provider.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_delete_provider/should_throw_an_error_trying_to_get_the_email_provider.yml deleted file mode 100644 index 3fe919f4e..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_delete_provider/should_throw_an_error_trying_to_get_the_email_provider.yml +++ /dev/null @@ -1,69 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/emails/provider - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 404 - message: Not Found - headers: - Date: - - Fri, 03 Sep 2021 20:16:25 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a7df4c5c0560-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7df4c5c0560 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 74fc05ca4d6aa66b - Ot-Tracer-Traceid: - - 63c00f200d7118ef - X-Content-Type-Options: - - nosniff - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"statusCode":404,"error":"Not Found","message":"There is not a configured - email provider","errorCode":"inexistent_email_provider"}' - recorded_at: Fri, 03 Sep 2021 20:16:25 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_get_provider/_filters/should_get_the_existing_email_provider_with_specific_fields.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_get_provider/_filters/should_get_the_existing_email_provider_with_specific_fields.yml deleted file mode 100644 index 7aecc1b0f..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_get_provider/_filters/should_get_the_existing_email_provider_with_specific_fields.yml +++ /dev/null @@ -1,69 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/emails/provider?fields=name,enabled,credentials&include_fields=true - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 404 - message: Not Found - headers: - Date: - - Fri, 03 Sep 2021 20:16:24 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a7d9ce6deafc-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7d9ce6deafc - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 2983e6f000da4c5d - Ot-Tracer-Traceid: - - 5956e42c07a1fe99 - X-Content-Type-Options: - - nosniff - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"statusCode":404,"error":"Not Found","message":"There is not a configured - email provider","errorCode":"inexistent_email_provider"}' - recorded_at: Fri, 03 Sep 2021 20:16:24 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_get_provider/_filters/should_get_the_existing_email_provider_without_specific_fields.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_get_provider/_filters/should_get_the_existing_email_provider_without_specific_fields.yml deleted file mode 100644 index af21d39cf..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_get_provider/_filters/should_get_the_existing_email_provider_without_specific_fields.yml +++ /dev/null @@ -1,69 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/emails/provider?fields=enabled&include_fields=false - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 404 - message: Not Found - headers: - Date: - - Fri, 03 Sep 2021 20:16:24 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a7db2d7131a9-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7db2d7131a9 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 25024cae34589261 - Ot-Tracer-Traceid: - - 52a2344221986d73 - X-Content-Type-Options: - - nosniff - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"statusCode":404,"error":"Not Found","message":"There is not a configured - email provider","errorCode":"inexistent_email_provider"}' - recorded_at: Fri, 03 Sep 2021 20:16:24 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_get_provider/should_get_the_existing_email_provider.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_get_provider/should_get_the_existing_email_provider.yml deleted file mode 100644 index 153c2b55b..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_get_provider/should_get_the_existing_email_provider.yml +++ /dev/null @@ -1,69 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/emails/provider - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 404 - message: Not Found - headers: - Date: - - Fri, 03 Sep 2021 20:16:24 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a7d86fc70ccf-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7d86fc70ccf - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 7b835b853570c2b1 - Ot-Tracer-Traceid: - - 512051831643dd79 - X-Content-Type-Options: - - nosniff - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"statusCode":404,"error":"Not Found","message":"There is not a configured - email provider","errorCode":"inexistent_email_provider"}' - recorded_at: Fri, 03 Sep 2021 20:16:24 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_update_provider/should_update_the_existing_email_provider.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_update_provider/should_update_the_existing_email_provider.yml deleted file mode 100644 index bb6060e91..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/_update_provider/should_update_the_existing_email_provider.yml +++ /dev/null @@ -1,71 +0,0 @@ ---- -http_interactions: -- request: - method: patch - uri: https://auth0-sdk-tests.auth0.com/api/v2/emails/provider?fields=enabled&include_fields=false - body: - encoding: UTF-8 - string: '{"name":"sendgrid","settings":{"first_up_setting":"first_up_setting_set","second_up_setting":"second_up_setting_set","first_setting":"first_setting_set","second_setting":"second_setting_set"},"credentials":{"api_key":"api_key"}}' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '228' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 404 - message: Not Found - headers: - Date: - - Fri, 03 Sep 2021 20:16:25 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a7dcaab70d20-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7dcaab70d20 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 1b912cb26a9fbcbf - Ot-Tracer-Traceid: - - 53c9f71e1112eceb - X-Content-Type-Options: - - nosniff - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"statusCode":404,"error":"Not Found","message":"There is not a configured - email provider","errorCode":"inexistent_email_provider"}' - recorded_at: Fri, 03 Sep 2021 20:16:25 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/delete_existing_provider.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/delete_existing_provider.yml deleted file mode 100644 index 2135c131d..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Emails/delete_existing_provider.yml +++ /dev/null @@ -1,72 +0,0 @@ ---- -http_interactions: -- request: - method: delete - uri: https://auth0-sdk-tests.auth0.com/api/v2/emails/provider - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 204 - message: No Content - headers: - Date: - - Fri, 03 Sep 2021 20:16:24 GMT - Content-Type: - - application/json; charset=utf-8 - Connection: - - keep-alive - Cf-Ray: - - 6891a7d648b542de-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7d648b542de - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 141aa9ba0c14fc15 - Ot-Tracer-Traceid: - - 257cccd812df9b6e - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700185' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: UTF-8 - string: '' - recorded_at: Fri, 03 Sep 2021 20:16:24 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_export_users_and_get_job/should_create_an_export_users_job_successfully.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_export_users_and_get_job/should_create_an_export_users_job_successfully.yml deleted file mode 100644 index 032f880cb..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_export_users_and_get_job/should_create_an_export_users_job_successfully.yml +++ /dev/null @@ -1,76 +0,0 @@ ---- -http_interactions: -- request: - method: post - uri: https://auth0-sdk-tests.auth0.com/api/v2/jobs/users-exports - body: - encoding: UTF-8 - string: '{"connection_id":"con_Xx4Kruoab04wvlYX"}' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '40' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:28 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a7f0fa2d52fb-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7f0fa2d52fb - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 6c883ee81220bb50 - Ot-Tracer-Traceid: - - 36110f9c29145a75 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700189' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"type":"users_export","status":"pending","connection_id":"con_Xx4Kruoab04wvlYX","format":"csv","connection":"Username-Password-Authentication","created_at":"2021-09-03T20:16:28.389Z","id":"job_YrcUK95yky3F5koC"}' - recorded_at: Fri, 03 Sep 2021 20:16:28 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_export_users_and_get_job/should_get_the_export_users_job.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_export_users_and_get_job/should_get_the_export_users_job.yml deleted file mode 100644 index 6ebe55c0a..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_export_users_and_get_job/should_get_the_export_users_job.yml +++ /dev/null @@ -1,147 +0,0 @@ ---- -http_interactions: -- request: - method: post - uri: https://auth0-sdk-tests.auth0.com/api/v2/jobs/users-exports - body: - encoding: UTF-8 - string: '{"connection_id":"con_Xx4Kruoab04wvlYX"}' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '40' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:28 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a7f27bfdeb89-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7f27bfdeb89 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 59c79e5e1aa4e665 - Ot-Tracer-Traceid: - - 063b836d716e54f9 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700189' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"type":"users_export","status":"pending","connection_id":"con_Xx4Kruoab04wvlYX","format":"csv","connection":"Username-Password-Authentication","created_at":"2021-09-03T20:16:28.622Z","id":"job_9HuTvJsi2KpY7Vtv"}' - recorded_at: Fri, 03 Sep 2021 20:16:28 GMT -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/jobs/job_9HuTvJsi2KpY7Vtv - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:28 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a7f3c97c42cb-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7f3c97c42cb - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 58d3eb13489ce756 - Ot-Tracer-Traceid: - - 6b0c2de64527963d - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700189' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"type":"users_export","status":"pending","connection_id":"con_Xx4Kruoab04wvlYX","format":"csv","connection":"Username-Password-Authentication","created_at":"2021-09-03T20:16:28.622Z","id":"job_9HuTvJsi2KpY7Vtv"}' - recorded_at: Fri, 03 Sep 2021 20:16:28 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_import_users_and_get_job/should_create_an_import_users_job_successfully.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_import_users_and_get_job/should_create_an_import_users_job_successfully.yml deleted file mode 100644 index 1f84fd85e..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_import_users_and_get_job/should_create_an_import_users_job_successfully.yml +++ /dev/null @@ -1,81 +0,0 @@ ---- -http_interactions: -- request: - method: post - uri: https://auth0-sdk-tests.auth0.com/api/v2/jobs/users-imports - body: - encoding: ASCII-8BIT - string: "------RubyFormBoundaryb2s2muj5N8zFyPec\r\nContent-Disposition: form-data; - name=\"users\"; filename=\"api-jobs-spec-import-users.json\"\r\nContent-Type: - application/json\r\n\r\n[{\"email\":\"rubytest-210908marleen_hagenes@example.net\",\"email_verified\":false,\"app_metadata\":{\"roles\":[\"admin\"]},\"user_metadata\":{\"theme\":\"light\"}}]\r\n------RubyFormBoundaryb2s2muj5N8zFyPec\r\nContent-Disposition: - form-data; name=\"connection_id\"\r\n\r\ncon_Xx4Kruoab04wvlYX\r\n------RubyFormBoundaryb2s2muj5N8zFyPec\r\nContent-Disposition: - form-data; name=\"upsert\"\r\n\r\nfalse\r\n------RubyFormBoundaryb2s2muj5N8zFyPec\r\nContent-Disposition: - form-data; name=\"send_completion_email\"\r\n\r\ntrue\r\n------RubyFormBoundaryb2s2muj5N8zFyPec--\r\n" - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '680' - Content-Type: - - multipart/form-data; boundary=----RubyFormBoundaryb2s2muj5N8zFyPec - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 202 - message: Accepted - headers: - Date: - - Fri, 03 Sep 2021 20:16:27 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a7e9eb020d18-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7e9eb020d18 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 49d2a26a231bf5cd - Ot-Tracer-Traceid: - - 0e711a6273fc84c7 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700188' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"type":"users_import","status":"pending","connection_id":"con_Xx4Kruoab04wvlYX","connection":"Username-Password-Authentication","created_at":"2021-09-03T20:16:27.536Z","id":"job_DuJkprUPj67PfRuy"}' - recorded_at: Fri, 03 Sep 2021 20:16:27 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_import_users_and_get_job/should_get_the_import_users_job.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_import_users_and_get_job/should_get_the_import_users_job.yml deleted file mode 100644 index c1e787231..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_import_users_and_get_job/should_get_the_import_users_job.yml +++ /dev/null @@ -1,152 +0,0 @@ ---- -http_interactions: -- request: - method: post - uri: https://auth0-sdk-tests.auth0.com/api/v2/jobs/users-imports - body: - encoding: ASCII-8BIT - string: "------RubyFormBoundaryRinX9Tc3DJx0BvrR\r\nContent-Disposition: form-data; - name=\"users\"; filename=\"api-jobs-spec-import-users.json\"\r\nContent-Type: - application/json\r\n\r\n[{\"email\":\"rubytest-210908aaron_spencer@example.org\",\"email_verified\":false,\"app_metadata\":{\"roles\":[\"admin\"]},\"user_metadata\":{\"theme\":\"light\"}}]\r\n------RubyFormBoundaryRinX9Tc3DJx0BvrR\r\nContent-Disposition: - form-data; name=\"connection_id\"\r\n\r\ncon_Xx4Kruoab04wvlYX\r\n------RubyFormBoundaryRinX9Tc3DJx0BvrR\r\nContent-Disposition: - form-data; name=\"upsert\"\r\n\r\nfalse\r\n------RubyFormBoundaryRinX9Tc3DJx0BvrR\r\nContent-Disposition: - form-data; name=\"send_completion_email\"\r\n\r\ntrue\r\n------RubyFormBoundaryRinX9Tc3DJx0BvrR--\r\n" - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '678' - Content-Type: - - multipart/form-data; boundary=----RubyFormBoundaryRinX9Tc3DJx0BvrR - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 202 - message: Accepted - headers: - Date: - - Fri, 03 Sep 2021 20:16:28 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a7ecf89831a3-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7ecf89831a3 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 3392fbad3580d8ac - Ot-Tracer-Traceid: - - 49c913065379189b - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700188' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"type":"users_import","status":"pending","connection_id":"con_Xx4Kruoab04wvlYX","connection":"Username-Password-Authentication","created_at":"2021-09-03T20:16:27.983Z","id":"job_lbD9RDHKSArypJYT"}' - recorded_at: Fri, 03 Sep 2021 20:16:27 GMT -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/jobs/job_lbD9RDHKSArypJYT - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:28 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a7efaa025337-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7efaa025337 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 153ff79a78486790 - Ot-Tracer-Traceid: - - 7247d7fb55c0ed2f - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700189' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"type":"users_import","status":"pending","connection_id":"con_Xx4Kruoab04wvlYX","connection":"Username-Password-Authentication","created_at":"2021-09-03T20:16:27.983Z","id":"job_lbD9RDHKSArypJYT"}' - recorded_at: Fri, 03 Sep 2021 20:16:28 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_send_verification_email_and_get_job/should_create_a_new_verification_email_job.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_send_verification_email_and_get_job/should_create_a_new_verification_email_job.yml deleted file mode 100644 index 38b699084..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_send_verification_email_and_get_job/should_create_a_new_verification_email_job.yml +++ /dev/null @@ -1,149 +0,0 @@ ---- -http_interactions: -- request: - method: post - uri: https://auth0-sdk-tests.auth0.com/api/v2/users - body: - encoding: UTF-8 - string: '{"name":"byron.schaden","email":"rubytest-210908byron_schaden@example.org","password":"WbNpNwM12e0Xw9S","connection":"Username-Password-Authentication"}' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '152' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 201 - message: Created - headers: - Date: - - Fri, 03 Sep 2021 20:16:29 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a7f53b9f42cb-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7f53b9f42cb - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 35a5a4bf44c48c8b - Ot-Tracer-Traceid: - - 5ee117d134415da8 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700190' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"created_at":"2021-09-03T20:16:29.160Z","email":"rubytest-210908byron_schaden@example.org","email_verified":false,"identities":[{"connection":"Username-Password-Authentication","user_id":"6132829d7b569700698af981","provider":"auth0","isSocial":false}],"name":"byron.schaden","nickname":"rubytest-210908byron_schaden","picture":"https://s.gravatar.com/avatar/32658f9d62513c10242821f682c242c8?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fby.png","updated_at":"2021-09-03T20:16:29.160Z","user_id":"auth0|6132829d7b569700698af981"}' - recorded_at: Fri, 03 Sep 2021 20:16:29 GMT -- request: - method: post - uri: https://auth0-sdk-tests.auth0.com/api/v2/jobs/verification-email - body: - encoding: UTF-8 - string: '{"user_id":"auth0|6132829d7b569700698af981"}' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '44' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 201 - message: Created - headers: - Date: - - Fri, 03 Sep 2021 20:16:29 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a7f759e2eb1d-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7f759e2eb1d - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 2161491e662b75e3 - Ot-Tracer-Traceid: - - 19f9b57f487b7ddb - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700190' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"type":"verification_email","status":"pending","created_at":"2021-09-03T20:16:29.429Z","id":"job_ZdcjPTygi5CiOf4Y"}' - recorded_at: Fri, 03 Sep 2021 20:16:29 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_send_verification_email_and_get_job/should_get_the_completed_verification_email.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_send_verification_email_and_get_job/should_get_the_completed_verification_email.yml deleted file mode 100644 index a7f6978be..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_send_verification_email_and_get_job/should_get_the_completed_verification_email.yml +++ /dev/null @@ -1,220 +0,0 @@ ---- -http_interactions: -- request: - method: post - uri: https://auth0-sdk-tests.auth0.com/api/v2/users - body: - encoding: UTF-8 - string: '{"name":"herbert","email":"rubytest-210908herbert@example.net","password":"5Z96yMeKjNeMz","connection":"Username-Password-Authentication"}' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '138' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 201 - message: Created - headers: - Date: - - Fri, 03 Sep 2021 20:16:29 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a7f8de735263-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7f8de735263 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 601514ae415b5cf0 - Ot-Tracer-Traceid: - - 6f96f0dd59062fb9 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700190' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"created_at":"2021-09-03T20:16:29.747Z","email":"rubytest-210908herbert@example.net","email_verified":false,"identities":[{"connection":"Username-Password-Authentication","user_id":"6132829d2f7d3d006a216aad","provider":"auth0","isSocial":false}],"name":"herbert","nickname":"rubytest-210908herbert","picture":"https://s.gravatar.com/avatar/cd0b06c3c11c846ad51bc8f7ee15ee70?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fhe.png","updated_at":"2021-09-03T20:16:29.747Z","user_id":"auth0|6132829d2f7d3d006a216aad"}' - recorded_at: Fri, 03 Sep 2021 20:16:29 GMT -- request: - method: post - uri: https://auth0-sdk-tests.auth0.com/api/v2/jobs/verification-email - body: - encoding: UTF-8 - string: '{"user_id":"auth0|6132829d2f7d3d006a216aad"}' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '44' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 201 - message: Created - headers: - Date: - - Fri, 03 Sep 2021 20:16:30 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a7faa9dd05a6-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7faa9dd05a6 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 7b706ef3435beec0 - Ot-Tracer-Traceid: - - 5b07b4d458b05499 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700190' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"type":"verification_email","status":"pending","created_at":"2021-09-03T20:16:29.950Z","id":"job_3vaIcVXpbGykPMcO"}' - recorded_at: Fri, 03 Sep 2021 20:16:29 GMT -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/jobs/job_3vaIcVXpbGykPMcO - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:30 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a7fc299ceb9d-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7fc299ceb9d - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 111ccec40ede7b1e - Ot-Tracer-Traceid: - - 1e7560486e053caa - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700191' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"type":"verification_email","status":"completed","created_at":"2021-09-03T20:16:29.950Z","id":"job_3vaIcVXpbGykPMcO"}' - recorded_at: Fri, 03 Sep 2021 20:16:30 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_send_verification_email_and_get_job/should_reject_an_invalid_client_id.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_send_verification_email_and_get_job/should_reject_an_invalid_client_id.yml deleted file mode 100644 index 4595f168e..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/_send_verification_email_and_get_job/should_reject_an_invalid_client_id.yml +++ /dev/null @@ -1,146 +0,0 @@ ---- -http_interactions: -- request: - method: post - uri: https://auth0-sdk-tests.auth0.com/api/v2/users - body: - encoding: UTF-8 - string: '{"name":"quintin","email":"rubytest-210908quintin@example.org","password":"CkQnH8d2C","connection":"Username-Password-Authentication"}' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '134' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 201 - message: Created - headers: - Date: - - Fri, 03 Sep 2021 20:16:30 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a7fd6e8c366c-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7fd6e8c366c - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 79f3b16019a654ae - Ot-Tracer-Traceid: - - '01943c53370b9888' - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700191' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"created_at":"2021-09-03T20:16:30.504Z","email":"rubytest-210908quintin@example.org","email_verified":false,"identities":[{"connection":"Username-Password-Authentication","user_id":"6132829e9bb72d00708b7db5","provider":"auth0","isSocial":false}],"name":"quintin","nickname":"rubytest-210908quintin","picture":"https://s.gravatar.com/avatar/5d20473f424951be92de8850ff465f1f?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fqu.png","updated_at":"2021-09-03T20:16:30.504Z","user_id":"auth0|6132829e9bb72d00708b7db5"}' - recorded_at: Fri, 03 Sep 2021 20:16:30 GMT -- request: - method: post - uri: https://auth0-sdk-tests.auth0.com/api/v2/jobs/verification-email - body: - encoding: UTF-8 - string: '{"user_id":"auth0|6132829e9bb72d00708b7db5","client_id":"#"}' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '87' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 400 - message: Bad Request - headers: - Date: - - Fri, 03 Sep 2021 20:16:30 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a7ff6bac5367-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7ff6bac5367 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 6846b9176d237171 - Ot-Tracer-Traceid: - - 2bb4907f37f05943 - X-Content-Type-Options: - - nosniff - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"statusCode":400,"error":"Bad Request","message":"Payload validation - error: ''Object didn''t pass validation for format client-id: #'' - on property client_id (client_id of the client (application). If no value - provided, the global Client ID will be used).","errorCode":"invalid_body"}' - recorded_at: Fri, 03 Sep 2021 20:16:30 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/delete_imported_user.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/delete_imported_user.yml deleted file mode 100644 index 3e1745976..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/delete_imported_user.yml +++ /dev/null @@ -1,143 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/users?q=email:rubytest-210908* - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:30 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a800bde352e9-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a800bde352e9 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 2aa73d6345bad72b - Ot-Tracer-Traceid: - - 60dde38b04365aec - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700191' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '[{"created_at":"2021-09-03T20:16:30.504Z","email":"rubytest-210908quintin@example.org","email_verified":false,"identities":[{"connection":"Username-Password-Authentication","user_id":"6132829e9bb72d00708b7db5","provider":"auth0","isSocial":false}],"name":"quintin","nickname":"rubytest-210908quintin","picture":"https://s.gravatar.com/avatar/5d20473f424951be92de8850ff465f1f?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fqu.png","updated_at":"2021-09-03T20:16:30.504Z","user_id":"auth0|6132829e9bb72d00708b7db5"},{"created_at":"2021-09-03T20:16:29.747Z","email":"rubytest-210908herbert@example.net","email_verified":false,"identities":[{"connection":"Username-Password-Authentication","user_id":"6132829d2f7d3d006a216aad","provider":"auth0","isSocial":false}],"name":"herbert","nickname":"rubytest-210908herbert","picture":"https://s.gravatar.com/avatar/cd0b06c3c11c846ad51bc8f7ee15ee70?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fhe.png","updated_at":"2021-09-03T20:16:29.747Z","user_id":"auth0|6132829d2f7d3d006a216aad"},{"created_at":"2021-09-03T20:16:29.160Z","email":"rubytest-210908byron_schaden@example.org","email_verified":false,"identities":[{"connection":"Username-Password-Authentication","user_id":"6132829d7b569700698af981","provider":"auth0","isSocial":false}],"name":"byron.schaden","nickname":"rubytest-210908byron_schaden","picture":"https://s.gravatar.com/avatar/32658f9d62513c10242821f682c242c8?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fby.png","updated_at":"2021-09-03T20:16:29.160Z","user_id":"auth0|6132829d7b569700698af981"},{"email":"rubytest-210908aaron_spencer@example.org","email_verified":false,"user_metadata":{"theme":"light"},"created_at":"2021-09-03T20:16:28.047Z","updated_at":"2021-09-03T20:16:28.047Z","identities":[{"provider":"auth0","connection":"Username-Password-Authentication","isSocial":false,"user_id":"6132829cde90c20019937a21"}],"user_id":"auth0|6132829cde90c20019937a21","name":"rubytest-210908aaron_spencer@example.org","picture":"https://secure.gravatar.com/avatar/c5f74fac7ce98eac0ad11c2a76b5ce4a?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fru.png","nickname":"rubytest-210908aaron_spencer","app_metadata":{"roles":["admin"]}},{"email":"rubytest-210908marleen_hagenes@example.net","email_verified":false,"user_metadata":{"theme":"light"},"created_at":"2021-09-03T20:16:27.622Z","updated_at":"2021-09-03T20:16:27.622Z","identities":[{"provider":"auth0","connection":"Username-Password-Authentication","isSocial":false,"user_id":"6132829b11c9b7001aa8341b"}],"user_id":"auth0|6132829b11c9b7001aa8341b","name":"rubytest-210908marleen_hagenes@example.net","picture":"https://secure.gravatar.com/avatar/54ab4835d808c4b61596ef2363c45543?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fru.png","nickname":"rubytest-210908marleen_hagenes","app_metadata":{"roles":["admin"]}}]' - recorded_at: Fri, 03 Sep 2021 20:16:30 GMT -- request: - method: delete - uri: https://auth0-sdk-tests.auth0.com/api/v2/users/auth0%7C6132829e9bb72d00708b7db5 - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 204 - message: No Content - headers: - Date: - - Fri, 03 Sep 2021 20:16:31 GMT - Content-Type: - - application/json; charset=utf-8 - Connection: - - keep-alive - Cf-Ray: - - 6891a801ef61057d-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a801ef61057d - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 56f1a6fd33eaae1b - Ot-Tracer-Traceid: - - 4166bbfe69b376fa - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700192' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: UTF-8 - string: '' - recorded_at: Fri, 03 Sep 2021 20:16:31 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/search_for_connection_id.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/search_for_connection_id.yml deleted file mode 100644 index ef04261f3..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Jobs/search_for_connection_id.yml +++ /dev/null @@ -1,79 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/connections - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:27 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a7e898c00ccb-LAX - Cache-Control: - - no-cache - Link: - - ; - rel="first", ; - rel="last" - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a7e898c00ccb - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 2ac60c1e5d3a3977 - Ot-Tracer-Traceid: - - 17b6eb4d33f2a4a5 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700188' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '[{"id":"con_rLvSvR44VhsrOo1D","options":{"email":true,"scope":"email,user_birthday,user_website,user_hometown,user_location,user_work_history,user_education_history,user_about_me,user_banana","ads_read":false,"client_id":"1842690432417814","rsvp_event":false,"user_likes":false,"user_posts":false,"read_stream":false,"user_banana":true,"user_events":false,"user_groups":false,"user_photos":false,"user_status":false,"user_videos":false,"manage_pages":false,"read_mailbox":false,"user_friends":false,"user_website":true,"client_secret":"5929c7f62fece2725dd92af45dcfb7d6","publish_pages":false,"publish_video":false,"read_insights":false,"user_about_me":true,"user_birthday":true,"user_hometown":true,"user_location":true,"ads_management":false,"public_profile":false,"pages_messaging":false,"pages_show_list":false,"pages_manage_cta":false,"user_actions-news":false,"user_work_history":true,"user_actions-books":false,"user_actions-music":false,"user_actions-video":false,"user_relationships":false,"user_tagged_places":false,"read_page_mailboxes":false,"user_games_activity":false,"user_managed_groups":false,"manage_notifications":false,"user_actions-fitness":false,"user_education_history":true,"user_religion_politics":false,"read_custom_friendlists":false,"user_relationship_details":false,"pages_messaging_phone_number":false,"pages_messaging_subscriptions":false,"read_audience_network_insights":false},"strategy":"facebook","name":"facebook","is_domain_connection":false,"realms":["facebook"],"enabled_clients":[]},{"id":"con_P9aT06EgvT07eIcW","options":{"email":true,"scope":["email","profile"],"profile":true},"strategy":"google-oauth2","name":"google-oauth2","is_domain_connection":false,"realms":["google-oauth2"],"enabled_clients":["aNG5n4ny57xCrd53MhfwomU85fpsEdyr","2PHoTag6NbnYt3AsBsNxFikZUdIMFk5r","Kp6AEYQvuwFkB2JMAlZbTvsfDPgcf6un","sxByUG46lspLw3w5j7EjZUOix7hC60EG","XKN0TEVg2GZayqspufKTjyubQ9v7TMts","WK5cUC4GcwiEMvoBPD0OEbGgJlelkexK","V92owX4pGOeGC14FT7NUpkHRx0JBZYEw","Obn0UoIOuyht1yKcrFPQlgWygJFlhqGH","zHXTiUnmm3NRQR5HspLv0jZSEeB0tCV2","wZHfhdGPiITmTOiL1ohkoB3zSmucXyVe","K59uHp57aoSfmVCB4hA7307cXCn9Jofb","Ma6tpNQXmreZ4g83nT9sLpaODBiCV0Cf","A2rt0zedSHh85hy08LWmklAYBVI543C9","qpFGNAFfOY44KvnhFb02EuuvaAEd4KAM","ELviY4SzYPX5m6FIBSMFtWG9f9xosHbr","q47ZqPco70spQ1qnzMrBirk1dWoIebJr","c141AubVqXNCQh34hW6T75KqdNr37BSr","VnwxKhJ1RDc9pPsHSh8sE4E4z9KZwatO","CasDGIcCSsNOcgC39lvyFXi1VlZPRTI9","UcQcsWFHOhCLlbJ9HhlvQb1mUNpNK73A","wm2Cg7nnvGPeFpW3cmkTjIq2YXOwUx6z","alIzxHzpPBDmgvtJrakmWrK5MN2flQUS","2aF6N6Vm1sElbcAjchEhRGiXffveu2F1","JrwsqCWw6D438piidwKt9OzMlKsfNVnT","Q3trYfgk8EkecfLjZfvkVN91nIY4oRfv","qufC26Tbd5Qkw6T3PVMcuiKpUErnMPXq","WVmrm37sQY12PmbXlNe6jeezd47mUwky","1oOUnPnJ3nKjNSpRPmo1IGuvQllKFUE2","UvfbUbIEcsRmqR8l4120x4TYEfOPGPWQ","5xHRQ4MSt06BPYfSZwAzG4lKqKEsUuvi","qpjzdesOcWxUBQoH1a4v6RG43l619v5A","Nsjo9of3F7kdk2vkBArSsmU4OLF6wdwn","YJOtNHCaXUMxxxPl4pmc4T7Ry1SFwZei","v9YfJ6K2W8h5KW9NrTDHdOHvFvQrmJ8R","wSbg7v3FWUmgLLydgxzRKuxFbs3Lurz5","HX6dEYgNHqPXBe2x6x6Kq9u8m7OmqNZU","Y2kA8kQoW3DckPDSPmbhxwZ0tGUStPFh","n4tfAcvZi6JhmDR0pJiugw0z8uGvFQUJ","X0r2INQ8fgj4jJAiYOYihjtBbj1FzMnC","ywXzZl7uaMJvcclhAFe2hm1PMq5keq05","0u3N7ucBDtVVyNzwNeAMTuJz11KHWRnB","UkDgqRg12UmQclXGIQ3tpRkRBFkUC1iI","6nDYKXZdnsrKI4hYAcxmQ0ZdvqWbzdTk","3qzWhmfT7YPMpE2OGqaIDhNt1vhKbpXK","OhbZaeMcukhJG5D8n49MAQvxmKQIdopo","DJYlPad951IEbI5xbikjpBxWSQyB8ESN","Wx9SbsxpuRG55EuQzM6c12j2pRp0h6a9","awY4y2O0sNf0ixBr8cxMEDZGXMQR10F0","DRFdFA5hueMCqgQTcgH0HfqC3vFTQ9jl","jc8udaPyn4nKxe4DF1m49ZybkbcfSrSJ","KzT55OMFsaVAw9TzVYUsJR5y7FNwZu5X","PMhv7sKtONJX4BfQ7piL3kZZjhNFdJQq","VmpWbh35vJKJiYuuEpfViR64b5CbMV6A","B2Yao3nQuIdDUu8oGZnQcay9kgRBJXAk","rpBVKEV9TTIXEqh5YdtcuV3FrtoKpg74","3ty4mgVVA7OZPCDzBt9PD1rTR7AgUXwW","i3akc1ejZJW2s637XeeI7mELh5ljV5i6","scgImVeVRnvQBUstLqSKKupCHxRx73Vq","oIrlRIgJmLq0xI4bSaYKkhPjjqXgKibi","fJb3MH6psd17WZN0Snemfk7x5cFjONqR","1KE7cWJ0y00pj0pEhRDGdpZOuR3FbDtV","3Ftt3V2J90AGNdxbZijjivJ8gEhPz8Pg","2T1x15Q0kvpzE2DyCOAmOeuGT6i6m95u","wXPfOQsAVlLyeW8c4FR1MUjur2YW9gSy","3Prqy25OK9UwN8i9ua8cXlgHHGtQzTnr","nAqSFqv3QPV0S0KLSd2vyIOMMvo8Rztk","uBghc9IPQD8a7nT6V3D65vHAaIg5YAfs","UsBLvhAPeTQda7O4xlAxoRi2Hv6l83tz","Vp7CLh1bl7lAA733ewMhDaqLbqEwBkdt","Ze3m2RMqa0Gs6v0irfBdXFdf6V07Uy2P","iveuuxUda6GkuwwCBVo95lACOfgqIk5g","Ni0H8rmaCeixc8sCP83vxsjkgHefb9fx","kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","1TstJOXxYpOWEx32FqjWXylN81C1RU7k","2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","Ei5v5M8765EY6WNRztyAy77t1e2t5AvT","80peYzeAZa6lRtxESoP0EFUXUkTqEk9V","CsU413L8tfUiKqgaOBCiEAoYa0tQRC03","np0ERu7GHFoN0WiWLAbFIfNjSzYKFs0y","VdJ05g0v1yB0UdqiDKBLAfUxNq1B2cH4","3qAIUl8GMdGX1vcbrZZk2Id2zLUFaW79","qzbD3sJyuTYC2X3IAq2vcY37lPcd9T0X","zRPBcafuUFNMa4qsJYQjfdKZU09Zl7Sq","GMNXS0Ctfm64JpVQWKJz72CNhUHiGAQb","cDJqcgHCP8poqZyDfY1h0KUFI6vzPT9f","3CwQ82ywfdqWNi1P1afA6ajdHFYGh4Is"]},{"id":"con_CYJD0YigZxd7savz","options":{"type":"front_channel","scope":"openid - profile email","issuer":"https://wap-kls-demo01-klsauth-auth0-01.azurewebsites.net","jwks_uri":"https://wap-kls-demo01-klsauth-auth0-01.azurewebsites.net/.well-known/openid-configuration/jwks","client_id":"Auth0","discovery_url":"https://wap-kls-demo01-klsauth-auth0-01.azurewebsites.net/","token_endpoint":null,"userinfo_endpoint":"https://wap-kls-demo01-klsauth-auth0-01.azurewebsites.net/connect/userinfo","authorization_endpoint":"https://wap-kls-demo01-klsauth-auth0-01.azurewebsites.net/connect/authorize"},"strategy":"oidc","name":"keyless","is_domain_connection":false,"show_as_button":false,"display_name":"keyless","realms":["keyless"],"enabled_clients":[]},{"id":"con_Mlm3MxOR5utX1WSv","options":{"mfa":{"active":true,"return_enroll_settings":true},"disable_signup":false,"passwordPolicy":"good","strategy_version":2,"requires_username":false,"brute_force_protection":true},"strategy":"auth0","name":"Test","is_domain_connection":false,"realms":["Test"],"enabled_clients":[]},{"id":"con_Xx4Kruoab04wvlYX","options":{"mfa":{"active":true,"return_enroll_settings":true},"strategy_version":2,"brute_force_protection":true},"strategy":"auth0","name":"Username-Password-Authentication","is_domain_connection":false,"realms":["Username-Password-Authentication"],"enabled_clients":["aNG5n4ny57xCrd53MhfwomU85fpsEdyr","2PHoTag6NbnYt3AsBsNxFikZUdIMFk5r","Kp6AEYQvuwFkB2JMAlZbTvsfDPgcf6un","sxByUG46lspLw3w5j7EjZUOix7hC60EG","XKN0TEVg2GZayqspufKTjyubQ9v7TMts","WK5cUC4GcwiEMvoBPD0OEbGgJlelkexK","V92owX4pGOeGC14FT7NUpkHRx0JBZYEw","Obn0UoIOuyht1yKcrFPQlgWygJFlhqGH","zHXTiUnmm3NRQR5HspLv0jZSEeB0tCV2","wZHfhdGPiITmTOiL1ohkoB3zSmucXyVe","K59uHp57aoSfmVCB4hA7307cXCn9Jofb","Ma6tpNQXmreZ4g83nT9sLpaODBiCV0Cf","A2rt0zedSHh85hy08LWmklAYBVI543C9","qpFGNAFfOY44KvnhFb02EuuvaAEd4KAM","ELviY4SzYPX5m6FIBSMFtWG9f9xosHbr","q47ZqPco70spQ1qnzMrBirk1dWoIebJr","c141AubVqXNCQh34hW6T75KqdNr37BSr","VnwxKhJ1RDc9pPsHSh8sE4E4z9KZwatO","CasDGIcCSsNOcgC39lvyFXi1VlZPRTI9","UcQcsWFHOhCLlbJ9HhlvQb1mUNpNK73A","wm2Cg7nnvGPeFpW3cmkTjIq2YXOwUx6z","alIzxHzpPBDmgvtJrakmWrK5MN2flQUS","2aF6N6Vm1sElbcAjchEhRGiXffveu2F1","JrwsqCWw6D438piidwKt9OzMlKsfNVnT","Q3trYfgk8EkecfLjZfvkVN91nIY4oRfv","qufC26Tbd5Qkw6T3PVMcuiKpUErnMPXq","WVmrm37sQY12PmbXlNe6jeezd47mUwky","1oOUnPnJ3nKjNSpRPmo1IGuvQllKFUE2","UvfbUbIEcsRmqR8l4120x4TYEfOPGPWQ","5xHRQ4MSt06BPYfSZwAzG4lKqKEsUuvi","qpjzdesOcWxUBQoH1a4v6RG43l619v5A","Nsjo9of3F7kdk2vkBArSsmU4OLF6wdwn","YJOtNHCaXUMxxxPl4pmc4T7Ry1SFwZei","v9YfJ6K2W8h5KW9NrTDHdOHvFvQrmJ8R","wSbg7v3FWUmgLLydgxzRKuxFbs3Lurz5","HX6dEYgNHqPXBe2x6x6Kq9u8m7OmqNZU","Y2kA8kQoW3DckPDSPmbhxwZ0tGUStPFh","n4tfAcvZi6JhmDR0pJiugw0z8uGvFQUJ","X0r2INQ8fgj4jJAiYOYihjtBbj1FzMnC","ywXzZl7uaMJvcclhAFe2hm1PMq5keq05","0u3N7ucBDtVVyNzwNeAMTuJz11KHWRnB","UkDgqRg12UmQclXGIQ3tpRkRBFkUC1iI","6nDYKXZdnsrKI4hYAcxmQ0ZdvqWbzdTk","3qzWhmfT7YPMpE2OGqaIDhNt1vhKbpXK","OhbZaeMcukhJG5D8n49MAQvxmKQIdopo","DJYlPad951IEbI5xbikjpBxWSQyB8ESN","Wx9SbsxpuRG55EuQzM6c12j2pRp0h6a9","awY4y2O0sNf0ixBr8cxMEDZGXMQR10F0","DRFdFA5hueMCqgQTcgH0HfqC3vFTQ9jl","jc8udaPyn4nKxe4DF1m49ZybkbcfSrSJ","KzT55OMFsaVAw9TzVYUsJR5y7FNwZu5X","PMhv7sKtONJX4BfQ7piL3kZZjhNFdJQq","VmpWbh35vJKJiYuuEpfViR64b5CbMV6A","B2Yao3nQuIdDUu8oGZnQcay9kgRBJXAk","rpBVKEV9TTIXEqh5YdtcuV3FrtoKpg74","3ty4mgVVA7OZPCDzBt9PD1rTR7AgUXwW","i3akc1ejZJW2s637XeeI7mELh5ljV5i6","scgImVeVRnvQBUstLqSKKupCHxRx73Vq","oIrlRIgJmLq0xI4bSaYKkhPjjqXgKibi","fJb3MH6psd17WZN0Snemfk7x5cFjONqR","1KE7cWJ0y00pj0pEhRDGdpZOuR3FbDtV","3Ftt3V2J90AGNdxbZijjivJ8gEhPz8Pg","2T1x15Q0kvpzE2DyCOAmOeuGT6i6m95u","wXPfOQsAVlLyeW8c4FR1MUjur2YW9gSy","3Prqy25OK9UwN8i9ua8cXlgHHGtQzTnr","nAqSFqv3QPV0S0KLSd2vyIOMMvo8Rztk","uBghc9IPQD8a7nT6V3D65vHAaIg5YAfs","UsBLvhAPeTQda7O4xlAxoRi2Hv6l83tz","Vp7CLh1bl7lAA733ewMhDaqLbqEwBkdt","Ze3m2RMqa0Gs6v0irfBdXFdf6V07Uy2P","iveuuxUda6GkuwwCBVo95lACOfgqIk5g","Ni0H8rmaCeixc8sCP83vxsjkgHefb9fx","kyzr677IlmSJ5CZqcVKpGo87qHJZlLw9","1TstJOXxYpOWEx32FqjWXylN81C1RU7k","2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","Ei5v5M8765EY6WNRztyAy77t1e2t5AvT","80peYzeAZa6lRtxESoP0EFUXUkTqEk9V","CsU413L8tfUiKqgaOBCiEAoYa0tQRC03","np0ERu7GHFoN0WiWLAbFIfNjSzYKFs0y","VdJ05g0v1yB0UdqiDKBLAfUxNq1B2cH4","3qAIUl8GMdGX1vcbrZZk2Id2zLUFaW79","qzbD3sJyuTYC2X3IAq2vcY37lPcd9T0X","zRPBcafuUFNMa4qsJYQjfdKZU09Zl7Sq","GMNXS0Ctfm64JpVQWKJz72CNhUHiGAQb","cDJqcgHCP8poqZyDfY1h0KUFI6vzPT9f","3CwQ82ywfdqWNi1P1afA6ajdHFYGh4Is"]}]' - recorded_at: Fri, 03 Sep 2021 20:16:27 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_log/should_match_the_created_log_entry.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_log/should_match_the_created_log_entry.yml deleted file mode 100644 index 1d3189b7e..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_log/should_match_the_created_log_entry.yml +++ /dev/null @@ -1,293 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/logs - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:33 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a8106bdb05a2-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a8106bdb05a2 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 193c2fd72754bc95 - Ot-Tracer-Traceid: - - 79fbb506749b0431 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700194' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '[{"date":"2021-09-03T20:16:29.970Z","type":"svr","description":"","connection":"Username-Password-Authentication","connection_id":"con_Xx4Kruoab04wvlYX","client_id":"WrzucugfsIb3oXl0Hnc8kq3BXkPFp7Hd","client_name":"All - Applications","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"body":{"template":{"type":"verify_email"},"tenant":"auth0-sdk-tests","client_id":"WrzucugfsIb3oXl0Hnc8kq3BXkPFp7Hd","connection":"Username-Password-Authentication","provider":"auth0","idp_user_id":"6132829d2f7d3d006a216aad","user_id":"auth0|6132829d2f7d3d006a216aad","to":"rubytest-210908herbert@example.net","job_id":"job_3vaIcVXpbGykPMcO"}},"user_id":"auth0|6132829d2f7d3d006a216aad","user_name":"rubytest-210908herbert@example.net","strategy":"auth0","strategy_type":"database","log_id":"90020210903201632920410735475195461254278321818579238994","_id":"90020210903201632920410735475195461254278321818579238994","isMobile":false},{"date":"2021-09-03T20:16:31.489Z","type":"sapi","description":"Create - a User","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"post","path":"/api/v2/users","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{"name":"rubytest-210908-username","email":"rubytest-210908-rubytest-210908-username@auth0.com","connection":"Username-Password-Authentication"},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{"scopes":["read:client_grants","create:client_grants","delete:client_grants","update:client_grants","read:users","update:users","delete:users","create:users","read:users_app_metadata","update:users_app_metadata","delete:users_app_metadata","create:users_app_metadata","create:user_tickets","read:clients","update:clients","delete:clients","create:clients","read:client_keys","update:client_keys","delete:client_keys","create:client_keys","read:connections","update:connections","delete:connections","create:connections","read:resource_servers","update:resource_servers","delete:resource_servers","create:resource_servers","read:device_credentials","update:device_credentials","delete:device_credentials","create:device_credentials","read:rules","update:rules","delete:rules","create:rules","read:rules_configs","update:rules_configs","delete:rules_configs","read:email_provider","update:email_provider","delete:email_provider","create:email_provider","blacklist:tokens","read:stats","read:tenant_settings","update:tenant_settings","read:logs","read:shields","create:shields","delete:shields","read:anomaly_blocks","delete:anomaly_blocks","update:triggers","read:triggers","read:grants","delete:grants","read:guardian_factors","update:guardian_factors","read:guardian_enrollments","delete:guardian_enrollments","create:guardian_enrollment_tickets","read:user_idp_tokens","create:passwords_checking_job","delete:passwords_checking_job","read:custom_domains","delete:custom_domains","create:custom_domains","read:email_templates","create:email_templates","update:email_templates","read:mfa_policies","update:mfa_policies","read:roles","create:roles","delete:roles","update:roles","read:prompts","update:prompts","read:branding","update:branding"]}}},"response":{"statusCode":201,"body":{"created_at":"2021-09-03T20:16:31.480Z","email":"rubytest-210908-rubytest-210908-username@auth0.com","email_verified":false,"identities":[{"connection":"Username-Password-Authentication","user_id":"6132829f7b569700698af992","provider":"auth0","isSocial":false}],"name":"rubytest-210908-username","nickname":"rubytest-210908-rubytest-210908-username","picture":"https://s.gravatar.com/avatar/28607929c5bdf4954ee65d055fea6e69?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fru.png","updated_at":"2021-09-03T20:16:31.480Z","user_id":"auth0|6132829f7b569700698af992"}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201631818782996667425639096985949517551501378","_id":"90020210903201631818782996667425639096985949517551501378","isMobile":false},{"date":"2021-09-03T20:16:31.153Z","type":"sapi","description":"Delete - a User","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"delete","path":"/api/v2/users/auth0%7C6132829e9bb72d00708b7db5","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":null,"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{"scopes":["read:client_grants","create:client_grants","delete:client_grants","update:client_grants","read:users","update:users","delete:users","create:users","read:users_app_metadata","update:users_app_metadata","delete:users_app_metadata","create:users_app_metadata","create:user_tickets","read:clients","update:clients","delete:clients","create:clients","read:client_keys","update:client_keys","delete:client_keys","create:client_keys","read:connections","update:connections","delete:connections","create:connections","read:resource_servers","update:resource_servers","delete:resource_servers","create:resource_servers","read:device_credentials","update:device_credentials","delete:device_credentials","create:device_credentials","read:rules","update:rules","delete:rules","create:rules","read:rules_configs","update:rules_configs","delete:rules_configs","read:email_provider","update:email_provider","delete:email_provider","create:email_provider","blacklist:tokens","read:stats","read:tenant_settings","update:tenant_settings","read:logs","read:shields","create:shields","delete:shields","read:anomaly_blocks","delete:anomaly_blocks","update:triggers","read:triggers","read:grants","delete:grants","read:guardian_factors","update:guardian_factors","read:guardian_enrollments","delete:guardian_enrollments","create:guardian_enrollment_tickets","read:user_idp_tokens","create:passwords_checking_job","delete:passwords_checking_job","read:custom_domains","delete:custom_domains","create:custom_domains","read:email_templates","create:email_templates","update:email_templates","read:mfa_policies","update:mfa_policies","read:roles","create:roles","delete:roles","update:roles","read:prompts","update:prompts","read:branding","update:branding"]}}},"response":{"statusCode":204,"body":{}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201631818782996667424430171166334888376795202","_id":"90020210903201631818782996667424430171166334888376795202","isMobile":false},{"date":"2021-09-03T20:16:29.169Z","type":"sapi","description":"Create - a User","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"post","path":"/api/v2/users","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{"name":"byron.schaden","email":"rubytest-210908byron_schaden@example.org","connection":"Username-Password-Authentication"},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{"scopes":["read:client_grants","create:client_grants","delete:client_grants","update:client_grants","read:users","update:users","delete:users","create:users","read:users_app_metadata","update:users_app_metadata","delete:users_app_metadata","create:users_app_metadata","create:user_tickets","read:clients","update:clients","delete:clients","create:clients","read:client_keys","update:client_keys","delete:client_keys","create:client_keys","read:connections","update:connections","delete:connections","create:connections","read:resource_servers","update:resource_servers","delete:resource_servers","create:resource_servers","read:device_credentials","update:device_credentials","delete:device_credentials","create:device_credentials","read:rules","update:rules","delete:rules","create:rules","read:rules_configs","update:rules_configs","delete:rules_configs","read:email_provider","update:email_provider","delete:email_provider","create:email_provider","blacklist:tokens","read:stats","read:tenant_settings","update:tenant_settings","read:logs","read:shields","create:shields","delete:shields","read:anomaly_blocks","delete:anomaly_blocks","update:triggers","read:triggers","read:grants","delete:grants","read:guardian_factors","update:guardian_factors","read:guardian_enrollments","delete:guardian_enrollments","create:guardian_enrollment_tickets","read:user_idp_tokens","create:passwords_checking_job","delete:passwords_checking_job","read:custom_domains","delete:custom_domains","create:custom_domains","read:email_templates","create:email_templates","update:email_templates","read:mfa_policies","update:mfa_policies","read:roles","create:roles","delete:roles","update:roles","read:prompts","update:prompts","read:branding","update:branding"]}}},"response":{"statusCode":201,"body":{"created_at":"2021-09-03T20:16:29.160Z","email":"rubytest-210908byron_schaden@example.org","email_verified":false,"identities":[{"connection":"Username-Password-Authentication","user_id":"6132829d7b569700698af981","provider":"auth0","isSocial":false}],"name":"byron.schaden","nickname":"rubytest-210908byron_schaden","picture":"https://s.gravatar.com/avatar/32658f9d62513c10242821f682c242c8?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fby.png","updated_at":"2021-09-03T20:16:29.160Z","user_id":"auth0|6132829d7b569700698af981"}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201631597782996667058125647823102248440823874","_id":"90020210903201631597782996667058125647823102248440823874","isMobile":false},{"date":"2021-09-03T20:16:27.991Z","type":"sapi","description":"Create - import users job","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"post","path":"/api/v2/jobs/users-imports","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{"scopes":["read:client_grants","create:client_grants","delete:client_grants","update:client_grants","read:users","update:users","delete:users","create:users","read:users_app_metadata","update:users_app_metadata","delete:users_app_metadata","create:users_app_metadata","create:user_tickets","read:clients","update:clients","delete:clients","create:clients","read:client_keys","update:client_keys","delete:client_keys","create:client_keys","read:connections","update:connections","delete:connections","create:connections","read:resource_servers","update:resource_servers","delete:resource_servers","create:resource_servers","read:device_credentials","update:device_credentials","delete:device_credentials","create:device_credentials","read:rules","update:rules","delete:rules","create:rules","read:rules_configs","update:rules_configs","delete:rules_configs","read:email_provider","update:email_provider","delete:email_provider","create:email_provider","blacklist:tokens","read:stats","read:tenant_settings","update:tenant_settings","read:logs","read:shields","create:shields","delete:shields","read:anomaly_blocks","delete:anomaly_blocks","update:triggers","read:triggers","read:grants","delete:grants","read:guardian_factors","update:guardian_factors","read:guardian_enrollments","delete:guardian_enrollments","create:guardian_enrollment_tickets","read:user_idp_tokens","create:passwords_checking_job","delete:passwords_checking_job","read:custom_domains","delete:custom_domains","create:custom_domains","read:email_templates","create:email_templates","update:email_templates","read:mfa_policies","update:mfa_policies","read:roles","create:roles","delete:roles","update:roles","read:prompts","update:prompts","read:branding","update:branding"]}}},"response":{"statusCode":202,"body":{"id":"job_lbD9RDHKSArypJYT","connection":"Username-Password-Authentication","status":"pending","type":"users_import","created_at":"2021-09-03T20:16:27.983Z"}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201631550410735474534178830949119522576007250","_id":"90020210903201631550410735474534178830949119522576007250","isMobile":false},{"date":"2021-09-03T20:16:29.742Z","type":"ss","description":"","connection":"Username-Password-Authentication","connection_id":"con_Xx4Kruoab04wvlYX","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"Ruby - SDK Integration Tests - DO NOT DELETE","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"body":{"client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","tenant":"auth0-sdk-tests","name":"herbert","email":"rubytest-210908herbert@example.net","password":"*****","connection":"Username-Password-Authentication"}},"user_id":"auth0|6132829d2f7d3d006a216aad","user_name":"rubytest-210908herbert@example.net","strategy":"auth0","strategy_type":"database","log_id":"90020210903201630295719680428417204242601358468254269490","_id":"90020210903201630295719680428417204242601358468254269490","isMobile":false},{"date":"2021-09-03T20:16:28.420Z","type":"sapi","description":"Create - export users job","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"post","path":"/api/v2/jobs/users-exports","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{"scopes":["read:client_grants","create:client_grants","delete:client_grants","update:client_grants","read:users","update:users","delete:users","create:users","read:users_app_metadata","update:users_app_metadata","delete:users_app_metadata","create:users_app_metadata","create:user_tickets","read:clients","update:clients","delete:clients","create:clients","read:client_keys","update:client_keys","delete:client_keys","create:client_keys","read:connections","update:connections","delete:connections","create:connections","read:resource_servers","update:resource_servers","delete:resource_servers","create:resource_servers","read:device_credentials","update:device_credentials","delete:device_credentials","create:device_credentials","read:rules","update:rules","delete:rules","create:rules","read:rules_configs","update:rules_configs","delete:rules_configs","read:email_provider","update:email_provider","delete:email_provider","create:email_provider","blacklist:tokens","read:stats","read:tenant_settings","update:tenant_settings","read:logs","read:shields","create:shields","delete:shields","read:anomaly_blocks","delete:anomaly_blocks","update:triggers","read:triggers","read:grants","delete:grants","read:guardian_factors","update:guardian_factors","read:guardian_enrollments","delete:guardian_enrollments","create:guardian_enrollment_tickets","read:user_idp_tokens","create:passwords_checking_job","delete:passwords_checking_job","read:custom_domains","delete:custom_domains","create:custom_domains","read:email_templates","create:email_templates","update:email_templates","read:mfa_policies","update:mfa_policies","read:roles","create:roles","delete:roles","update:roles","read:prompts","update:prompts","read:branding","update:branding"]}}},"response":{"statusCode":200,"body":{"id":"job_YrcUK95yky3F5koC","connection":"Username-Password-Authentication","status":"pending","type":"users_export","created_at":"2021-09-03T20:16:28.389Z"}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201630213782996666111536731064847535926411330","_id":"90020210903201630213782996666111536731064847535926411330","isMobile":false},{"date":"2021-09-03T20:16:29.447Z","type":"svr","description":"","connection":"Username-Password-Authentication","connection_id":"con_Xx4Kruoab04wvlYX","client_id":"WrzucugfsIb3oXl0Hnc8kq3BXkPFp7Hd","client_name":"All - Applications","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"body":{"template":{"type":"verify_email"},"tenant":"auth0-sdk-tests","client_id":"WrzucugfsIb3oXl0Hnc8kq3BXkPFp7Hd","connection":"Username-Password-Authentication","provider":"auth0","idp_user_id":"6132829d7b569700698af981","user_id":"auth0|6132829d7b569700698af981","to":"rubytest-210908byron_schaden@example.org","job_id":"job_ZdcjPTygi5CiOf4Y"}},"user_id":"auth0|6132829d7b569700698af981","user_name":"rubytest-210908byron_schaden@example.org","strategy":"auth0","strategy_type":"database","log_id":"90020210903201629782719680426432148046794137294667251762","_id":"90020210903201629782719680426432148046794137294667251762","isMobile":false},{"date":"2021-09-03T20:16:27.544Z","type":"sapi","description":"Create - import users job","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"post","path":"/api/v2/jobs/users-imports","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{"scopes":["read:client_grants","create:client_grants","delete:client_grants","update:client_grants","read:users","update:users","delete:users","create:users","read:users_app_metadata","update:users_app_metadata","delete:users_app_metadata","create:users_app_metadata","create:user_tickets","read:clients","update:clients","delete:clients","create:clients","read:client_keys","update:client_keys","delete:client_keys","create:client_keys","read:connections","update:connections","delete:connections","create:connections","read:resource_servers","update:resource_servers","delete:resource_servers","create:resource_servers","read:device_credentials","update:device_credentials","delete:device_credentials","create:device_credentials","read:rules","update:rules","delete:rules","create:rules","read:rules_configs","update:rules_configs","delete:rules_configs","read:email_provider","update:email_provider","delete:email_provider","create:email_provider","blacklist:tokens","read:stats","read:tenant_settings","update:tenant_settings","read:logs","read:shields","create:shields","delete:shields","read:anomaly_blocks","delete:anomaly_blocks","update:triggers","read:triggers","read:grants","delete:grants","read:guardian_factors","update:guardian_factors","read:guardian_enrollments","delete:guardian_enrollments","create:guardian_enrollment_tickets","read:user_idp_tokens","create:passwords_checking_job","delete:passwords_checking_job","read:custom_domains","delete:custom_domains","create:custom_domains","read:email_templates","create:email_templates","update:email_templates","read:mfa_policies","update:mfa_policies","read:roles","create:roles","delete:roles","update:roles","read:prompts","update:prompts","read:branding","update:branding"]}}},"response":{"statusCode":202,"body":{"id":"job_DuJkprUPj67PfRuy","connection":"Username-Password-Authentication","status":"pending","type":"users_import","created_at":"2021-09-03T20:16:27.536Z"}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201629142782996664929207279481740134344294466","_id":"90020210903201629142782996664929207279481740134344294466","isMobile":false},{"date":"2021-09-03T20:16:24.105Z","type":"sapi","description":"Delete - the email provider","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"delete","path":"/api/v2/emails/provider","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":null,"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{"scopes":["read:client_grants","create:client_grants","delete:client_grants","update:client_grants","read:users","update:users","delete:users","create:users","read:users_app_metadata","update:users_app_metadata","delete:users_app_metadata","create:users_app_metadata","create:user_tickets","read:clients","update:clients","delete:clients","create:clients","read:client_keys","update:client_keys","delete:client_keys","create:client_keys","read:connections","update:connections","delete:connections","create:connections","read:resource_servers","update:resource_servers","delete:resource_servers","create:resource_servers","read:device_credentials","update:device_credentials","delete:device_credentials","create:device_credentials","read:rules","update:rules","delete:rules","create:rules","read:rules_configs","update:rules_configs","delete:rules_configs","read:email_provider","update:email_provider","delete:email_provider","create:email_provider","blacklist:tokens","read:stats","read:tenant_settings","update:tenant_settings","read:logs","read:shields","create:shields","delete:shields","read:anomaly_blocks","delete:anomaly_blocks","update:triggers","read:triggers","read:grants","delete:grants","read:guardian_factors","update:guardian_factors","read:guardian_enrollments","delete:guardian_enrollments","create:guardian_enrollment_tickets","read:user_idp_tokens","create:passwords_checking_job","delete:passwords_checking_job","read:custom_domains","delete:custom_domains","create:custom_domains","read:email_templates","create:email_templates","update:email_templates","read:mfa_policies","update:mfa_policies","read:roles","create:roles","delete:roles","update:roles","read:prompts","update:prompts","read:branding","update:branding"]}}},"response":{"statusCode":204,"body":{}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201629124719680423900657380521103802832519218","_id":"90020210903201629124719680423900657380521103802832519218","isMobile":false},{"date":"2021-09-03T20:16:25.368Z","type":"sapi","description":"Delete - the email provider","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"delete","path":"/api/v2/emails/provider","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":null,"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{"scopes":["read:client_grants","create:client_grants","delete:client_grants","update:client_grants","read:users","update:users","delete:users","create:users","read:users_app_metadata","update:users_app_metadata","delete:users_app_metadata","create:users_app_metadata","create:user_tickets","read:clients","update:clients","delete:clients","create:clients","read:client_keys","update:client_keys","delete:client_keys","create:client_keys","read:connections","update:connections","delete:connections","create:connections","read:resource_servers","update:resource_servers","delete:resource_servers","create:resource_servers","read:device_credentials","update:device_credentials","delete:device_credentials","create:device_credentials","read:rules","update:rules","delete:rules","create:rules","read:rules_configs","update:rules_configs","delete:rules_configs","read:email_provider","update:email_provider","delete:email_provider","create:email_provider","blacklist:tokens","read:stats","read:tenant_settings","update:tenant_settings","read:logs","read:shields","create:shields","delete:shields","read:anomaly_blocks","delete:anomaly_blocks","update:triggers","read:triggers","read:grants","delete:grants","read:guardian_factors","update:guardian_factors","read:guardian_enrollments","delete:guardian_enrollments","create:guardian_enrollment_tickets","read:user_idp_tokens","create:passwords_checking_job","delete:passwords_checking_job","read:custom_domains","delete:custom_domains","create:custom_domains","read:email_templates","create:email_templates","update:email_templates","read:mfa_policies","update:mfa_policies","read:roles","create:roles","delete:roles","update:roles","read:prompts","update:prompts","read:branding","update:branding"]}}},"response":{"statusCode":204,"body":{}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201629104782996664927998353662125505169588290","_id":"90020210903201629104782996664927998353662125505169588290","isMobile":false},{"date":"2021-09-03T20:16:23.256Z","type":"ss","description":"","connection":"Username-Password-Authentication","connection_id":"con_Xx4Kruoab04wvlYX","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"Ruby - SDK Integration Tests - DO NOT DELETE","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"body":{"client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","tenant":"auth0-sdk-tests","name":"rubytest-210908-username","email":"rubytest-210908-rubytest-210908-username@auth0.com","password":"*****","email_verified":true,"connection":"Username-Password-Authentication"}},"user_id":"auth0|61328297148a95006b37e566","user_name":"rubytest-210908-rubytest-210908-username@auth0.com","strategy":"auth0","strategy_type":"database","log_id":"90020210903201628107410735472969828820367789164347785298","_id":"90020210903201628107410735472969828820367789164347785298","isMobile":false},{"date":"2021-09-03T20:16:23.274Z","type":"sapi","description":"Create - a User","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"post","path":"/api/v2/users","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{"name":"rubytest-210908-username","email":"rubytest-210908-rubytest-210908-username@auth0.com","email_verified":true,"connection":"Username-Password-Authentication"},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{"scopes":["read:client_grants","create:client_grants","delete:client_grants","update:client_grants","read:users","update:users","delete:users","create:users","read:users_app_metadata","update:users_app_metadata","delete:users_app_metadata","create:users_app_metadata","create:user_tickets","read:clients","update:clients","delete:clients","create:clients","read:client_keys","update:client_keys","delete:client_keys","create:client_keys","read:connections","update:connections","delete:connections","create:connections","read:resource_servers","update:resource_servers","delete:resource_servers","create:resource_servers","read:device_credentials","update:device_credentials","delete:device_credentials","create:device_credentials","read:rules","update:rules","delete:rules","create:rules","read:rules_configs","update:rules_configs","delete:rules_configs","read:email_provider","update:email_provider","delete:email_provider","create:email_provider","blacklist:tokens","read:stats","read:tenant_settings","update:tenant_settings","read:logs","read:shields","create:shields","delete:shields","read:anomaly_blocks","delete:anomaly_blocks","update:triggers","read:triggers","read:grants","delete:grants","read:guardian_factors","update:guardian_factors","read:guardian_enrollments","delete:guardian_enrollments","create:guardian_enrollment_tickets","read:user_idp_tokens","create:passwords_checking_job","delete:passwords_checking_job","read:custom_domains","delete:custom_domains","create:custom_domains","read:email_templates","create:email_templates","update:email_templates","read:mfa_policies","update:mfa_policies","read:roles","create:roles","delete:roles","update:roles","read:prompts","update:prompts","read:branding","update:branding"]}}},"response":{"statusCode":201,"body":{"created_at":"2021-09-03T20:16:23.259Z","email":"rubytest-210908-rubytest-210908-username@auth0.com","email_verified":true,"identities":[{"connection":"Username-Password-Authentication","user_id":"61328297148a95006b37e566","provider":"auth0","isSocial":false}],"name":"rubytest-210908-username","nickname":"rubytest-210908-rubytest-210908-username","picture":"https://s.gravatar.com/avatar/28607929c5bdf4954ee65d055fea6e69?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fru.png","updated_at":"2021-09-03T20:16:23.259Z","user_id":"auth0|61328297148a95006b37e566"}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201628021719680419604135017610711578487816242","_id":"90020210903201628021719680419604135017610711578487816242","isMobile":false},{"date":"2021-09-03T20:16:22.444Z","type":"sapi","description":"Delete - a connection user","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"delete","path":"/api/v2/connections/con_Xx4Kruoab04wvlYX/users","query":{"email":"rubytest-210908-rubytest-210908-username@auth0.com"},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":null,"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{"scopes":["read:client_grants","create:client_grants","delete:client_grants","update:client_grants","read:users","update:users","delete:users","create:users","read:users_app_metadata","update:users_app_metadata","delete:users_app_metadata","create:users_app_metadata","create:user_tickets","read:clients","update:clients","delete:clients","create:clients","read:client_keys","update:client_keys","delete:client_keys","create:client_keys","read:connections","update:connections","delete:connections","create:connections","read:resource_servers","update:resource_servers","delete:resource_servers","create:resource_servers","read:device_credentials","update:device_credentials","delete:device_credentials","create:device_credentials","read:rules","update:rules","delete:rules","create:rules","read:rules_configs","update:rules_configs","delete:rules_configs","read:email_provider","update:email_provider","delete:email_provider","create:email_provider","blacklist:tokens","read:stats","read:tenant_settings","update:tenant_settings","read:logs","read:shields","create:shields","delete:shields","read:anomaly_blocks","delete:anomaly_blocks","update:triggers","read:triggers","read:grants","delete:grants","read:guardian_factors","update:guardian_factors","read:guardian_enrollments","delete:guardian_enrollments","create:guardian_enrollment_tickets","read:user_idp_tokens","create:passwords_checking_job","delete:passwords_checking_job","read:custom_domains","delete:custom_domains","create:custom_domains","read:email_templates","create:email_templates","update:email_templates","read:mfa_policies","update:mfa_policies","read:roles","create:roles","delete:roles","update:roles","read:prompts","update:prompts","read:branding","update:branding"]}}},"response":{"statusCode":204,"body":{}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201627219782996658905129920342042819344465986","_id":"90020210903201627219782996658905129920342042819344465986","isMobile":false},{"date":"2021-09-03T20:16:22.683Z","type":"sapi","description":"Update - a connection","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"patch","path":"/api/v2/connections/con_WltM0fv20JCnxOuY","query":{"email":"rubytest-210908-rubytest-210908-username@auth0.com"},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{"scopes":["read:client_grants","create:client_grants","delete:client_grants","update:client_grants","read:users","update:users","delete:users","create:users","read:users_app_metadata","update:users_app_metadata","delete:users_app_metadata","create:users_app_metadata","create:user_tickets","read:clients","update:clients","delete:clients","create:clients","read:client_keys","update:client_keys","delete:client_keys","create:client_keys","read:connections","update:connections","delete:connections","create:connections","read:resource_servers","update:resource_servers","delete:resource_servers","create:resource_servers","read:device_credentials","update:device_credentials","delete:device_credentials","create:device_credentials","read:rules","update:rules","delete:rules","create:rules","read:rules_configs","update:rules_configs","delete:rules_configs","read:email_provider","update:email_provider","delete:email_provider","create:email_provider","blacklist:tokens","read:stats","read:tenant_settings","update:tenant_settings","read:logs","read:shields","create:shields","delete:shields","read:anomaly_blocks","delete:anomaly_blocks","update:triggers","read:triggers","read:grants","delete:grants","read:guardian_factors","update:guardian_factors","read:guardian_enrollments","delete:guardian_enrollments","create:guardian_enrollment_tickets","read:user_idp_tokens","create:passwords_checking_job","delete:passwords_checking_job","read:custom_domains","delete:custom_domains","create:custom_domains","read:email_templates","create:email_templates","update:email_templates","read:mfa_policies","update:mfa_policies","read:roles","create:roles","delete:roles","update:roles","read:prompts","update:prompts","read:branding","update:branding"]}}},"response":{"statusCode":200,"body":{"id":"con_WltM0fv20JCnxOuY","strategy":"auth0","name":"TestConnection-rubytest-210908","enabled_clients":[],"realms":["TestConnection-rubytest-210908"]}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201626824549783288356246141456395750007111778","_id":"90020210903201626824549783288356246141456395750007111778","isMobile":false},{"date":"2021-09-03T20:16:20.354Z","type":"sapi","description":"Create - a User","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"post","path":"/api/v2/users","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{"name":"rubytest-210908-username","email":"rubytest-210908-rubytest-210908-username@auth0.com","connection":"Username-Password-Authentication"},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{"scopes":["read:client_grants","create:client_grants","delete:client_grants","update:client_grants","read:users","update:users","delete:users","create:users","read:users_app_metadata","update:users_app_metadata","delete:users_app_metadata","create:users_app_metadata","create:user_tickets","read:clients","update:clients","delete:clients","create:clients","read:client_keys","update:client_keys","delete:client_keys","create:client_keys","read:connections","update:connections","delete:connections","create:connections","read:resource_servers","update:resource_servers","delete:resource_servers","create:resource_servers","read:device_credentials","update:device_credentials","delete:device_credentials","create:device_credentials","read:rules","update:rules","delete:rules","create:rules","read:rules_configs","update:rules_configs","delete:rules_configs","read:email_provider","update:email_provider","delete:email_provider","create:email_provider","blacklist:tokens","read:stats","read:tenant_settings","update:tenant_settings","read:logs","read:shields","create:shields","delete:shields","read:anomaly_blocks","delete:anomaly_blocks","update:triggers","read:triggers","read:grants","delete:grants","read:guardian_factors","update:guardian_factors","read:guardian_enrollments","delete:guardian_enrollments","create:guardian_enrollment_tickets","read:user_idp_tokens","create:passwords_checking_job","delete:passwords_checking_job","read:custom_domains","delete:custom_domains","create:custom_domains","read:email_templates","create:email_templates","update:email_templates","read:mfa_policies","update:mfa_policies","read:roles","create:roles","delete:roles","update:roles","read:prompts","update:prompts","read:branding","update:branding"]}}},"response":{"statusCode":201,"body":{"created_at":"2021-09-03T20:16:20.346Z","email":"rubytest-210908-rubytest-210908-username@auth0.com","email_verified":false,"identities":[{"connection":"Username-Password-Authentication","user_id":"6132829445244d0069782a78","provider":"auth0","isSocial":false}],"name":"rubytest-210908-username","nickname":"rubytest-210908-rubytest-210908-username","picture":"https://s.gravatar.com/avatar/28607929c5bdf4954ee65d055fea6e69?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fru.png","updated_at":"2021-09-03T20:16:20.346Z","user_id":"auth0|6132829445244d0069782a78"}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201625400782996654511893491862480261023268930","_id":"90020210903201625400782996654511893491862480261023268930","isMobile":false},{"date":"2021-09-03T20:16:23.905Z","type":"sapi","description":"Delete - a User","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"delete","path":"/api/v2/users/auth0%7C61328297148a95006b37e566","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":null,"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{"scopes":["read:client_grants","create:client_grants","delete:client_grants","update:client_grants","read:users","update:users","delete:users","create:users","read:users_app_metadata","update:users_app_metadata","delete:users_app_metadata","create:users_app_metadata","create:user_tickets","read:clients","update:clients","delete:clients","create:clients","read:client_keys","update:client_keys","delete:client_keys","create:client_keys","read:connections","update:connections","delete:connections","create:connections","read:resource_servers","update:resource_servers","delete:resource_servers","create:resource_servers","read:device_credentials","update:device_credentials","delete:device_credentials","create:device_credentials","read:rules","update:rules","delete:rules","create:rules","read:rules_configs","update:rules_configs","delete:rules_configs","read:email_provider","update:email_provider","delete:email_provider","create:email_provider","blacklist:tokens","read:stats","read:tenant_settings","update:tenant_settings","read:logs","read:shields","create:shields","delete:shields","read:anomaly_blocks","delete:anomaly_blocks","update:triggers","read:triggers","read:grants","delete:grants","read:guardian_factors","update:guardian_factors","read:guardian_enrollments","delete:guardian_enrollments","create:guardian_enrollment_tickets","read:user_idp_tokens","create:passwords_checking_job","delete:passwords_checking_job","read:custom_domains","delete:custom_domains","create:custom_domains","read:email_templates","create:email_templates","update:email_templates","read:mfa_policies","update:mfa_policies","read:roles","create:roles","delete:roles","update:roles","read:prompts","update:prompts","read:branding","update:branding"]}}},"response":{"statusCode":204,"body":{}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201624899719680406442559619466243616022724658","_id":"90020210903201624899719680406442559619466243616022724658","isMobile":false},{"date":"2021-09-03T20:16:19.791Z","type":"sapi","description":"Delete - a client","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"deleted":true,"request":{"method":"delete","path":"/api/v2/clients/SftKo9ySyHnMPezQUFd0C70GBoNFM21F","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{}}},"response":{"statusCode":204,"body":{}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201624842782996653606408052971123009168343106","_id":"90020210903201624842782996653606408052971123009168343106","isMobile":false},{"date":"2021-09-03T20:16:20.337Z","type":"ss","description":"","connection":"Username-Password-Authentication","connection_id":"con_Xx4Kruoab04wvlYX","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"Ruby - SDK Integration Tests - DO NOT DELETE","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"body":{"client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","tenant":"auth0-sdk-tests","name":"rubytest-210908-username","email":"rubytest-210908-rubytest-210908-username@auth0.com","password":"*****","connection":"Username-Password-Authentication"}},"user_id":"auth0|6132829445244d0069782a78","user_name":"rubytest-210908-rubytest-210908-username@auth0.com","strategy":"auth0","strategy_type":"database","log_id":"90020210903201624685782996653359787185769738588808806466","_id":"90020210903201624685782996653359787185769738588808806466","isMobile":false},{"date":"2021-09-03T20:16:22.965Z","type":"sapi","description":"Delete - a connection","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"deleted":true,"request":{"method":"delete","path":"/api/v2/connections/con_WltM0fv20JCnxOuY","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{"scopes":["read:client_grants","create:client_grants","delete:client_grants","update:client_grants","read:users","update:users","delete:users","create:users","read:users_app_metadata","update:users_app_metadata","delete:users_app_metadata","create:users_app_metadata","create:user_tickets","read:clients","update:clients","delete:clients","create:clients","read:client_keys","update:client_keys","delete:client_keys","create:client_keys","read:connections","update:connections","delete:connections","create:connections","read:resource_servers","update:resource_servers","delete:resource_servers","create:resource_servers","read:device_credentials","update:device_credentials","delete:device_credentials","create:device_credentials","read:rules","update:rules","delete:rules","create:rules","read:rules_configs","update:rules_configs","delete:rules_configs","read:email_provider","update:email_provider","delete:email_provider","create:email_provider","blacklist:tokens","read:stats","read:tenant_settings","update:tenant_settings","read:logs","read:shields","create:shields","delete:shields","read:anomaly_blocks","delete:anomaly_blocks","update:triggers","read:triggers","read:grants","delete:grants","read:guardian_factors","update:guardian_factors","read:guardian_enrollments","delete:guardian_enrollments","create:guardian_enrollment_tickets","read:user_idp_tokens","create:passwords_checking_job","delete:passwords_checking_job","read:custom_domains","delete:custom_domains","create:custom_domains","read:email_templates","create:email_templates","update:email_templates","read:mfa_policies","update:mfa_policies","read:roles","create:roles","delete:roles","update:roles","read:prompts","update:prompts","read:branding","update:branding"]}}},"response":{"statusCode":202,"body":{}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201624596410735471250736304875786271757172818","_id":"90020210903201624596410735471250736304875786271757172818","isMobile":false},{"date":"2021-09-03T20:16:19.563Z","type":"sapi","description":"Update - a client","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"patch","path":"/api/v2/clients/SftKo9ySyHnMPezQUFd0C70GBoNFM21F","query":{"fields":"jwt_configuration","include_fields":"false"},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{"sso":true,"custom_login_page_on":false},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{}}},"response":{"statusCode":200,"body":{"client_secret":"REDACTED","name":"TestClient-rubytest-210908","description":"Client - description","client_id":"SftKo9ySyHnMPezQUFd0C70GBoNFM21F","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"is_token_endpoint_ip_header_trusted":false,"is_first_party":true,"oidc_conformant":false,"jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"sso":true,"cross_origin_auth":false,"sso_disabled":false,"custom_login_page_on":false,"refresh_token":{"expiration_type":"non-expiring","leeway":0,"infinite_token_lifetime":true,"infinite_idle_token_lifetime":true,"token_lifetime":2592000,"idle_token_lifetime":1296000,"rotation_type":"non-rotating"}}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201624596410735471249527379056171642582466642","_id":"90020210903201624596410735471249527379056171642582466642","isMobile":false},{"date":"2021-09-03T20:16:23.877Z","type":"sdu","description":"user_id: - 61328297148a95006b37e566","connection":"Username-Password-Authentication","connection_id":"con_Xx4Kruoab04wvlYX","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"body":{"tenant":"auth0-sdk-tests","connection":"Username-Password-Authentication"}},"user_id":"","user_name":"","strategy":"auth0","strategy_type":"database","log_id":"90020210903201624336410735471127425871275094027217666130","_id":"90020210903201624336410735471127425871275094027217666130","isMobile":false},{"date":"2021-09-03T20:16:16.508Z","type":"sapi","description":"Delete - client grant","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"delete","path":"/api/v2/client-grants/cgr_j6Sld05vF0Sxr2Le","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{}}},"response":{"statusCode":204,"body":{}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201621549719680396406057465025591932734144562","_id":"90020210903201621549719680396406057465025591932734144562","isMobile":false},{"date":"2021-09-03T20:16:16.933Z","type":"sapi","description":"Delete - client grant","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"delete","path":"/api/v2/client-grants/cgr_j6Sld05vF0Sxr2Le","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{}}},"response":{"statusCode":204,"body":{}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201621356549783279746276454161006424152342626","_id":"90020210903201621356549783279746276454161006424152342626","isMobile":false},{"date":"2021-09-03T20:16:15.412Z","type":"sapi","description":"Create - a client","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"post","path":"/api/v2/clients","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{"name":"ClientGrantTestClient-rubytest-210908"},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{}}},"response":{"statusCode":201,"body":{"client_secret":"REDACTED","name":"ClientGrantTestClient-rubytest-210908","client_id":"qVx7qDuyruWWCfkTrxeNT74FI6mJc4Vy","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"is_token_endpoint_ip_header_trusted":false,"is_first_party":true,"oidc_conformant":false,"jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"cross_origin_auth":false,"sso_disabled":false,"custom_login_page_on":true,"refresh_token":{"expiration_type":"non-expiring","leeway":0,"infinite_token_lifetime":true,"infinite_idle_token_lifetime":true,"token_lifetime":2592000,"idle_token_lifetime":1296000,"rotation_type":"non-rotating"}}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201620523410735469665834555361007080119992402","_id":"90020210903201620523410735469665834555361007080119992402","isMobile":false},{"date":"2021-09-03T20:16:20.032Z","type":"sapi","description":"Create - a connection","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"post","path":"/api/v2/connections","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{"strategy":"auth0","name":"TestConnection-rubytest-210908"},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{"scopes":["read:client_grants","create:client_grants","delete:client_grants","update:client_grants","read:users","update:users","delete:users","create:users","read:users_app_metadata","update:users_app_metadata","delete:users_app_metadata","create:users_app_metadata","create:user_tickets","read:clients","update:clients","delete:clients","create:clients","read:client_keys","update:client_keys","delete:client_keys","create:client_keys","read:connections","update:connections","delete:connections","create:connections","read:resource_servers","update:resource_servers","delete:resource_servers","create:resource_servers","read:device_credentials","update:device_credentials","delete:device_credentials","create:device_credentials","read:rules","update:rules","delete:rules","create:rules","read:rules_configs","update:rules_configs","delete:rules_configs","read:email_provider","update:email_provider","delete:email_provider","create:email_provider","blacklist:tokens","read:stats","read:tenant_settings","update:tenant_settings","read:logs","read:shields","create:shields","delete:shields","read:anomaly_blocks","delete:anomaly_blocks","update:triggers","read:triggers","read:grants","delete:grants","read:guardian_factors","update:guardian_factors","read:guardian_enrollments","delete:guardian_enrollments","create:guardian_enrollment_tickets","read:user_idp_tokens","create:passwords_checking_job","delete:passwords_checking_job","read:custom_domains","delete:custom_domains","create:custom_domains","read:email_templates","create:email_templates","update:email_templates","read:mfa_policies","update:mfa_policies","read:roles","create:roles","delete:roles","update:roles","read:prompts","update:prompts","read:branding","update:branding"]}}},"response":{"statusCode":201,"body":{"id":"con_WltM0fv20JCnxOuY","strategy":"auth0","name":"TestConnection-rubytest-210908","enabled_clients":[],"realms":["TestConnection-rubytest-210908"]}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201620493782996648568814162636962894570324034","_id":"90020210903201620493782996648568814162636962894570324034","isMobile":false},{"date":"2021-09-03T20:16:16.351Z","type":"sapi","description":"Update - client grant","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"patch","path":"/api/v2/client-grants/cgr_j6Sld05vF0Sxr2Le","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{"scope":["new:scope"]},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{}}},"response":{"statusCode":200,"body":{"client_id":"qVx7qDuyruWWCfkTrxeNT74FI6mJc4Vy","audience":"https://auth0-sdk-tests.auth0.com/api/v2/","scope":["new:scope"]}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201619784782996647923247774962750846557749314","_id":"90020210903201619784782996647923247774962750846557749314","isMobile":false},{"date":"2021-09-03T20:16:14.694Z","type":"sapi","description":"Blacklist - a token","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"post","path":"/api/v2/blacklists/tokens","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{"jti":"faketoken","aud":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI"},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{"scopes":["read:client_grants","create:client_grants","delete:client_grants","update:client_grants","read:users","update:users","delete:users","create:users","read:users_app_metadata","update:users_app_metadata","delete:users_app_metadata","create:users_app_metadata","create:user_tickets","read:clients","update:clients","delete:clients","create:clients","read:client_keys","update:client_keys","delete:client_keys","create:client_keys","read:connections","update:connections","delete:connections","create:connections","read:resource_servers","update:resource_servers","delete:resource_servers","create:resource_servers","read:device_credentials","update:device_credentials","delete:device_credentials","create:device_credentials","read:rules","update:rules","delete:rules","create:rules","read:rules_configs","update:rules_configs","delete:rules_configs","read:email_provider","update:email_provider","delete:email_provider","create:email_provider","blacklist:tokens","read:stats","read:tenant_settings","update:tenant_settings","read:logs","read:shields","create:shields","delete:shields","read:anomaly_blocks","delete:anomaly_blocks","update:triggers","read:triggers","read:grants","delete:grants","read:guardian_factors","update:guardian_factors","read:guardian_enrollments","delete:guardian_enrollments","create:guardian_enrollment_tickets","read:user_idp_tokens","create:passwords_checking_job","delete:passwords_checking_job","read:custom_domains","delete:custom_domains","create:custom_domains","read:email_templates","create:email_templates","update:email_templates","read:mfa_policies","update:mfa_policies","read:roles","create:roles","delete:roles","update:roles","read:prompts","update:prompts","read:branding","update:branding"]}}},"response":{"statusCode":204,"body":{}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201619784782996647922038849143136217383043138","_id":"90020210903201619784782996647922038849143136217383043138","isMobile":false},{"date":"2021-09-03T20:16:17.572Z","type":"sapi","description":"Create - a client","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"post","path":"/api/v2/clients","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{"name":"TestClient-rubytest-210908","description":"Client - description","custom_login_page_on":false},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{}}},"response":{"statusCode":201,"body":{"client_secret":"REDACTED","name":"TestClient-rubytest-210908","description":"Client - description","client_id":"SftKo9ySyHnMPezQUFd0C70GBoNFM21F","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"is_token_endpoint_ip_header_trusted":false,"is_first_party":true,"oidc_conformant":false,"jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"cross_origin_auth":false,"sso_disabled":false,"custom_login_page_on":false,"refresh_token":{"expiration_type":"non-expiring","leeway":0,"infinite_token_lifetime":true,"infinite_idle_token_lifetime":true,"token_lifetime":2592000,"idle_token_lifetime":1296000,"rotation_type":"non-rotating"}}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201618953549783276113454366219045548001853538","_id":"90020210903201618953549783276113454366219045548001853538","isMobile":false},{"date":"2021-09-03T20:16:16.738Z","type":"sapi","description":"Delete - a client","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"deleted":true,"request":{"method":"delete","path":"/api/v2/clients/qVx7qDuyruWWCfkTrxeNT74FI6mJc4Vy","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{}}},"response":{"statusCode":204,"body":{}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201618496782996646921048270502223192006852674","_id":"90020210903201618496782996646921048270502223192006852674","isMobile":false},{"date":"2021-09-03T20:16:13.816Z","type":"fepft","description":"invalid - audience specified for password grant exchange","connection":"Username-Password-Authentication","connection_id":"con_Xx4Kruoab04wvlYX","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"Ruby - SDK Integration Tests - DO NOT DELETE","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","client_ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","hostname":"auth0-sdk-tests.auth0.com","user_id":"","user_name":"rubytest-210908-username-1@auth0.com","audience":"https://brucke.club/invalid/api/v1/","scope":"test:scope","auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201617997782996646630906073794712190077370434","_id":"90020210903201617997782996646630906073794712190077370434","isMobile":false},{"date":"2021-09-03T20:16:14.448Z","type":"sdu","description":"user_id: - 6132828a407ec6006935a858","connection":"Username-Password-Authentication","connection_id":"con_Xx4Kruoab04wvlYX","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"body":{"tenant":"auth0-sdk-tests","connection":"Username-Password-Authentication"}},"user_id":"","user_name":"","strategy":"auth0","strategy_type":"database","log_id":"90020210903201617889782996646525729527488239451877933122","_id":"90020210903201617889782996646525729527488239451877933122","isMobile":false},{"date":"2021-09-03T20:16:13.088Z","type":"fepft","description":"Wrong - email or password.","connection":"Username-Password-Authentication","connection_id":"con_Xx4Kruoab04wvlYX","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"Ruby - SDK Integration Tests - DO NOT DELETE","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","client_ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","hostname":"auth0-sdk-tests.auth0.com","user_id":"","user_name":"rubytest-210908-username-1@auth0.com","audience":"https://auth0-sdk-tests.auth0.com/userinfo","scope":"openid","auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201617778549783274393152924907428163675488354","_id":"90020210903201617778549783274393152924907428163675488354","isMobile":false},{"date":"2021-09-03T20:16:13.080Z","type":"fp","description":"Wrong - email or password.","connection":"Username-Password-Authentication","connection_id":"con_Xx4Kruoab04wvlYX","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"Ruby - SDK Integration Tests - DO NOT DELETE","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"error":{"message":"Wrong email or password."}},"user_id":"auth0|6132828a407ec6006935a858","user_name":"rubytest-210908-username-1@auth0.com","strategy":"auth0","strategy_type":"database","log_id":"90020210903201617502410735467911683191100179941462900818","_id":"90020210903201617502410735467911683191100179941462900818","isMobile":false},{"date":"2021-09-03T20:16:14.212Z","type":"sepft","description":"","connection":"Username-Password-Authentication","connection_id":"con_Xx4Kruoab04wvlYX","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"Ruby - SDK Integration Tests - DO NOT DELETE","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","client_ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","user_id":"auth0|6132828a407ec6006935a858","user_name":"rubytest-210908-username-1@auth0.com","audience":"https://brucke.club/custom/api/v1/","scope":"test:scope","auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201617325549783273747586537233216184382390370","_id":"90020210903201617325549783273747586537233216184382390370","isMobile":false},{"date":"2021-09-03T20:16:15.661Z","type":"sapi","description":"Create - client grant","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"post","path":"/api/v2/client-grants","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{"client_id":"qVx7qDuyruWWCfkTrxeNT74FI6mJc4Vy","audience":"https://auth0-sdk-tests.auth0.com/api/v2/","scope":["test:scope"]},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{}}},"response":{"statusCode":201,"body":{"client_id":"qVx7qDuyruWWCfkTrxeNT74FI6mJc4Vy","audience":"https://auth0-sdk-tests.auth0.com/api/v2/","scope":["test:scope"]}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201617285410735467715837208322610015160500306","_id":"90020210903201617285410735467715837208322610015160500306","isMobile":false},{"date":"2021-09-03T20:16:13.482Z","type":"sepft","description":"","connection":"Username-Password-Authentication","connection_id":"con_Xx4Kruoab04wvlYX","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"Ruby - SDK Integration Tests - DO NOT DELETE","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","client_ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","user_id":"auth0|6132828a407ec6006935a858","user_name":"rubytest-210908-username-1@auth0.com","audience":"https://auth0-sdk-tests.auth0.com/userinfo","scope":"openid - profile email address phone","auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201617112719680381834874561210466215122698290","_id":"90020210903201617112719680381834874561210466215122698290","isMobile":false},{"date":"2021-09-03T20:16:14.470Z","type":"sapi","description":"Delete - a User","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"delete","path":"/api/v2/users/auth0%7C6132828a407ec6006935a858","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":null,"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{"scopes":["read:client_grants","create:client_grants","delete:client_grants","update:client_grants","read:users","update:users","delete:users","create:users","read:users_app_metadata","update:users_app_metadata","delete:users_app_metadata","create:users_app_metadata","create:user_tickets","read:clients","update:clients","delete:clients","create:clients","read:client_keys","update:client_keys","delete:client_keys","create:client_keys","read:connections","update:connections","delete:connections","create:connections","read:resource_servers","update:resource_servers","delete:resource_servers","create:resource_servers","read:device_credentials","update:device_credentials","delete:device_credentials","create:device_credentials","read:rules","update:rules","delete:rules","create:rules","read:rules_configs","update:rules_configs","delete:rules_configs","read:email_provider","update:email_provider","delete:email_provider","create:email_provider","blacklist:tokens","read:stats","read:tenant_settings","update:tenant_settings","read:logs","read:shields","create:shields","delete:shields","read:anomaly_blocks","delete:anomaly_blocks","update:triggers","read:triggers","read:grants","delete:grants","read:guardian_factors","update:guardian_factors","read:guardian_enrollments","delete:guardian_enrollments","create:guardian_enrollment_tickets","read:user_idp_tokens","create:passwords_checking_job","delete:passwords_checking_job","read:custom_domains","delete:custom_domains","create:custom_domains","read:email_templates","create:email_templates","update:email_templates","read:mfa_policies","update:mfa_policies","read:roles","create:roles","delete:roles","update:roles","read:prompts","update:prompts","read:branding","update:branding"]}}},"response":{"statusCode":204,"body":{}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201616981410735467636048104228044489629892690","_id":"90020210903201616981410735467636048104228044489629892690","isMobile":false},{"date":"2021-09-03T20:16:12.199Z","type":"sepft","description":"","connection":"Username-Password-Authentication","connection_id":"con_Xx4Kruoab04wvlYX","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"Ruby - SDK Integration Tests - DO NOT DELETE","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","client_ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","user_id":"auth0|6132828a407ec6006935a858","user_name":"rubytest-210908-username-1@auth0.com","audience":"https://auth0-sdk-tests.auth0.com/userinfo","scope":"openid - profile email address phone","auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201615805782996644997647291495348037610373186","_id":"90020210903201615805782996644997647291495348037610373186","isMobile":false},{"date":"2021-09-03T20:16:10.744Z","type":"ss","description":"","connection":"Username-Password-Authentication","connection_id":"con_Xx4Kruoab04wvlYX","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"Ruby - SDK Integration Tests - DO NOT DELETE","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"body":{"tenant":"auth0-sdk-tests","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","connection":"Username-Password-Authentication","email":"rubytest-210908-username-1@auth0.com","password":"*****"}},"user_id":"auth0|6132828a407ec6006935a858","user_name":"rubytest-210908-username-1@auth0.com","strategy":"auth0","strategy_type":"database","log_id":"90020210903201615420782996644784876347243173234142609474","_id":"90020210903201615420782996644784876347243173234142609474","isMobile":false},{"date":"2021-09-03T20:16:12.764Z","type":"fu","description":"Wrong - email or password.","connection":"Username-Password-Authentication","connection_id":"con_Xx4Kruoab04wvlYX","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"Ruby - SDK Integration Tests - DO NOT DELETE","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"error":{"message":"Wrong email or password."}},"user_id":"","user_name":"rubytest-210908-username-1@auth0.com_invalid","strategy":"auth0","strategy_type":"database","log_id":"90020210903201615320410735466535925608378731803208319058","_id":"90020210903201615320410735466535925608378731803208319058","isMobile":false},{"date":"2021-09-03T20:16:12.775Z","type":"fepft","description":"Wrong - email or password.","connection":"Username-Password-Authentication","connection_id":"con_Xx4Kruoab04wvlYX","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"Ruby - SDK Integration Tests - DO NOT DELETE","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","client_ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","hostname":"auth0-sdk-tests.auth0.com","user_id":"","user_name":"rubytest-210908-username-1@auth0.com_invalid","audience":"https://auth0-sdk-tests.auth0.com/userinfo","scope":"openid","auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201615078549783270284014064037303461410242658","_id":"90020210903201615078549783270284014064037303461410242658","isMobile":false},{"date":"2021-09-03T20:15:00.963Z","type":"sapi","description":"Create - a client","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"post","path":"/api/v2/clients","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{"name":"TestClient-rubytest","description":"Client - description","custom_login_page_on":false},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{}}},"response":{"statusCode":201,"body":{"client_secret":"REDACTED","name":"TestClient-rubytest","description":"Client - description","client_id":"aNG5n4ny57xCrd53MhfwomU85fpsEdyr","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"is_token_endpoint_ip_header_trusted":false,"is_first_party":true,"oidc_conformant":false,"jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"cross_origin_auth":false,"sso_disabled":false,"custom_login_page_on":false,"refresh_token":{"expiration_type":"non-expiring","leeway":0,"infinite_token_lifetime":true,"infinite_idle_token_lifetime":true,"token_lifetime":2592000,"idle_token_lifetime":1296000,"rotation_type":"non-rotating"}}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201506041782996593625553512791291077282758722","_id":"90020210903201506041782996593625553512791291077282758722","isMobile":false},{"date":"2021-09-03T20:14:57.290Z","type":"sapi","description":"Blacklist - a token","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"post","path":"/api/v2/blacklists/tokens","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{"jti":"faketoken","aud":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI"},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{"scopes":["read:client_grants","create:client_grants","delete:client_grants","update:client_grants","read:users","update:users","delete:users","create:users","read:users_app_metadata","update:users_app_metadata","delete:users_app_metadata","create:users_app_metadata","create:user_tickets","read:clients","update:clients","delete:clients","create:clients","read:client_keys","update:client_keys","delete:client_keys","create:client_keys","read:connections","update:connections","delete:connections","create:connections","read:resource_servers","update:resource_servers","delete:resource_servers","create:resource_servers","read:device_credentials","update:device_credentials","delete:device_credentials","create:device_credentials","read:rules","update:rules","delete:rules","create:rules","read:rules_configs","update:rules_configs","delete:rules_configs","read:email_provider","update:email_provider","delete:email_provider","create:email_provider","blacklist:tokens","read:stats","read:tenant_settings","update:tenant_settings","read:logs","read:shields","create:shields","delete:shields","read:anomaly_blocks","delete:anomaly_blocks","update:triggers","read:triggers","read:grants","delete:grants","read:guardian_factors","update:guardian_factors","read:guardian_enrollments","delete:guardian_enrollments","create:guardian_enrollment_tickets","read:user_idp_tokens","create:passwords_checking_job","delete:passwords_checking_job","read:custom_domains","delete:custom_domains","create:custom_domains","read:email_templates","create:email_templates","update:email_templates","read:mfa_policies","update:mfa_policies","read:roles","create:roles","delete:roles","update:roles","read:prompts","update:prompts","read:branding","update:branding"]}}},"response":{"statusCode":204,"body":{}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201502345410735429365083432687723483276247122","_id":"90020210903201502345410735429365083432687723483276247122","isMobile":false},{"date":"2021-09-03T20:14:59.762Z","type":"sapi","description":"Delete - client grant","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"delete","path":"/api/v2/client-grants/cgr_ECbN3qJw9YuMnpHp","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{}}},"response":{"statusCode":204,"body":{}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201501097549783150707952320134712008086913122","_id":"90020210903201501097549783150707952320134712008086913122","isMobile":false},{"date":"2021-09-03T20:15:00.450Z","type":"sapi","description":"Delete - client grant","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"delete","path":"/api/v2/client-grants/cgr_ECbN3qJw9YuMnpHp","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{}}},"response":{"statusCode":204,"body":{}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201500706549783150140966110735450925149716578","_id":"90020210903201500706549783150140966110735450925149716578","isMobile":false},{"date":"2021-09-03T20:15:00.230Z","type":"sapi","description":"Delete - a client","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"deleted":true,"request":{"method":"delete","path":"/api/v2/clients/P7nJlNylVKRB2GdTt04KH4GXxIiGAaKr","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{}}},"response":{"statusCode":204,"body":{}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201500706549783150139757184915836295975010402","_id":"90020210903201500706549783150139757184915836295975010402","isMobile":false},{"date":"2021-09-03T20:14:59.406Z","type":"sapi","description":"Update - client grant","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"patch","path":"/api/v2/client-grants/cgr_ECbN3qJw9YuMnpHp","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{"scope":["new:scope"]},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{}}},"response":{"statusCode":200,"body":{"client_id":"P7nJlNylVKRB2GdTt04KH4GXxIiGAaKr","audience":"https://auth0-sdk-tests.auth0.com/api/v2/","scope":["new:scope"]}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201500522782996589637307233882629017610223682","_id":"90020210903201500522782996589637307233882629017610223682","isMobile":false},{"date":"2021-09-03T20:14:58.278Z","type":"sapi","description":"Create - client grant","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"post","path":"/api/v2/client-grants","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{"client_id":"P7nJlNylVKRB2GdTt04KH4GXxIiGAaKr","audience":"https://auth0-sdk-tests.auth0.com/api/v2/","scope":["test:scope"]},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{}}},"response":{"statusCode":201,"body":{"client_id":"P7nJlNylVKRB2GdTt04KH4GXxIiGAaKr","audience":"https://auth0-sdk-tests.auth0.com/api/v2/","scope":["test:scope"]}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201459682719680118509070384391163278853668914","_id":"90020210903201459682719680118509070384391163278853668914","isMobile":false},{"date":"2021-09-03T20:14:58.048Z","type":"sapi","description":"Create - a client","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"post","path":"/api/v2/clients","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{"name":"ClientGrantTestClient-rubytest"},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{}}},"response":{"statusCode":201,"body":{"client_secret":"REDACTED","name":"ClientGrantTestClient-rubytest","client_id":"P7nJlNylVKRB2GdTt04KH4GXxIiGAaKr","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"is_token_endpoint_ip_header_trusted":false,"is_first_party":true,"oidc_conformant":false,"jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"cross_origin_auth":false,"sso_disabled":false,"custom_login_page_on":true,"refresh_token":{"expiration_type":"non-expiring","leeway":0,"infinite_token_lifetime":true,"infinite_idle_token_lifetime":true,"token_lifetime":2592000,"idle_token_lifetime":1296000,"rotation_type":"non-rotating"}}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201459614410735428066697102421611612202860626","_id":"90020210903201459614410735428066697102421611612202860626","isMobile":false}]' - recorded_at: Fri, 03 Sep 2021 20:16:33 GMT -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/logs/90020210903201632920410735475195461254278321818579238994 - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:33 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a8122a9d3149-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a8122a9d3149 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 10f7655d2db36dec - Ot-Tracer-Traceid: - - 75aaed9b373e4634 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700194' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"date":"2021-09-03T20:16:29.970Z","type":"svr","description":"","connection":"Username-Password-Authentication","connection_id":"con_Xx4Kruoab04wvlYX","client_id":"WrzucugfsIb3oXl0Hnc8kq3BXkPFp7Hd","client_name":"All - Applications","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"body":{"template":{"type":"verify_email"},"tenant":"auth0-sdk-tests","client_id":"WrzucugfsIb3oXl0Hnc8kq3BXkPFp7Hd","connection":"Username-Password-Authentication","provider":"auth0","idp_user_id":"6132829d2f7d3d006a216aad","user_id":"auth0|6132829d2f7d3d006a216aad","to":"rubytest-210908herbert@example.net","job_id":"job_3vaIcVXpbGykPMcO"}},"user_id":"auth0|6132829d2f7d3d006a216aad","user_name":"rubytest-210908herbert@example.net","strategy":"auth0","strategy_type":"database","log_id":"90020210903201632920410735475195461254278321818579238994","_id":"90020210903201632920410735475195461254278321818579238994","isMobile":false}' - recorded_at: Fri, 03 Sep 2021 20:16:33 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_log/should_not_be_empty.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_log/should_not_be_empty.yml deleted file mode 100644 index 74bf9079d..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_log/should_not_be_empty.yml +++ /dev/null @@ -1,293 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/logs - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:33 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a80dbf44368a-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a80dbf44368a - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - '3187163579939245' - Ot-Tracer-Traceid: - - 4185d1b46acfa4a8 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700194' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '[{"date":"2021-09-03T20:16:29.970Z","type":"svr","description":"","connection":"Username-Password-Authentication","connection_id":"con_Xx4Kruoab04wvlYX","client_id":"WrzucugfsIb3oXl0Hnc8kq3BXkPFp7Hd","client_name":"All - Applications","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"body":{"template":{"type":"verify_email"},"tenant":"auth0-sdk-tests","client_id":"WrzucugfsIb3oXl0Hnc8kq3BXkPFp7Hd","connection":"Username-Password-Authentication","provider":"auth0","idp_user_id":"6132829d2f7d3d006a216aad","user_id":"auth0|6132829d2f7d3d006a216aad","to":"rubytest-210908herbert@example.net","job_id":"job_3vaIcVXpbGykPMcO"}},"user_id":"auth0|6132829d2f7d3d006a216aad","user_name":"rubytest-210908herbert@example.net","strategy":"auth0","strategy_type":"database","log_id":"90020210903201632920410735475195461254278321818579238994","_id":"90020210903201632920410735475195461254278321818579238994","isMobile":false},{"date":"2021-09-03T20:16:31.489Z","type":"sapi","description":"Create - a User","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"post","path":"/api/v2/users","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{"name":"rubytest-210908-username","email":"rubytest-210908-rubytest-210908-username@auth0.com","connection":"Username-Password-Authentication"},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{"scopes":["read:client_grants","create:client_grants","delete:client_grants","update:client_grants","read:users","update:users","delete:users","create:users","read:users_app_metadata","update:users_app_metadata","delete:users_app_metadata","create:users_app_metadata","create:user_tickets","read:clients","update:clients","delete:clients","create:clients","read:client_keys","update:client_keys","delete:client_keys","create:client_keys","read:connections","update:connections","delete:connections","create:connections","read:resource_servers","update:resource_servers","delete:resource_servers","create:resource_servers","read:device_credentials","update:device_credentials","delete:device_credentials","create:device_credentials","read:rules","update:rules","delete:rules","create:rules","read:rules_configs","update:rules_configs","delete:rules_configs","read:email_provider","update:email_provider","delete:email_provider","create:email_provider","blacklist:tokens","read:stats","read:tenant_settings","update:tenant_settings","read:logs","read:shields","create:shields","delete:shields","read:anomaly_blocks","delete:anomaly_blocks","update:triggers","read:triggers","read:grants","delete:grants","read:guardian_factors","update:guardian_factors","read:guardian_enrollments","delete:guardian_enrollments","create:guardian_enrollment_tickets","read:user_idp_tokens","create:passwords_checking_job","delete:passwords_checking_job","read:custom_domains","delete:custom_domains","create:custom_domains","read:email_templates","create:email_templates","update:email_templates","read:mfa_policies","update:mfa_policies","read:roles","create:roles","delete:roles","update:roles","read:prompts","update:prompts","read:branding","update:branding"]}}},"response":{"statusCode":201,"body":{"created_at":"2021-09-03T20:16:31.480Z","email":"rubytest-210908-rubytest-210908-username@auth0.com","email_verified":false,"identities":[{"connection":"Username-Password-Authentication","user_id":"6132829f7b569700698af992","provider":"auth0","isSocial":false}],"name":"rubytest-210908-username","nickname":"rubytest-210908-rubytest-210908-username","picture":"https://s.gravatar.com/avatar/28607929c5bdf4954ee65d055fea6e69?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fru.png","updated_at":"2021-09-03T20:16:31.480Z","user_id":"auth0|6132829f7b569700698af992"}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201631818782996667425639096985949517551501378","_id":"90020210903201631818782996667425639096985949517551501378","isMobile":false},{"date":"2021-09-03T20:16:31.153Z","type":"sapi","description":"Delete - a User","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"delete","path":"/api/v2/users/auth0%7C6132829e9bb72d00708b7db5","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":null,"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{"scopes":["read:client_grants","create:client_grants","delete:client_grants","update:client_grants","read:users","update:users","delete:users","create:users","read:users_app_metadata","update:users_app_metadata","delete:users_app_metadata","create:users_app_metadata","create:user_tickets","read:clients","update:clients","delete:clients","create:clients","read:client_keys","update:client_keys","delete:client_keys","create:client_keys","read:connections","update:connections","delete:connections","create:connections","read:resource_servers","update:resource_servers","delete:resource_servers","create:resource_servers","read:device_credentials","update:device_credentials","delete:device_credentials","create:device_credentials","read:rules","update:rules","delete:rules","create:rules","read:rules_configs","update:rules_configs","delete:rules_configs","read:email_provider","update:email_provider","delete:email_provider","create:email_provider","blacklist:tokens","read:stats","read:tenant_settings","update:tenant_settings","read:logs","read:shields","create:shields","delete:shields","read:anomaly_blocks","delete:anomaly_blocks","update:triggers","read:triggers","read:grants","delete:grants","read:guardian_factors","update:guardian_factors","read:guardian_enrollments","delete:guardian_enrollments","create:guardian_enrollment_tickets","read:user_idp_tokens","create:passwords_checking_job","delete:passwords_checking_job","read:custom_domains","delete:custom_domains","create:custom_domains","read:email_templates","create:email_templates","update:email_templates","read:mfa_policies","update:mfa_policies","read:roles","create:roles","delete:roles","update:roles","read:prompts","update:prompts","read:branding","update:branding"]}}},"response":{"statusCode":204,"body":{}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201631818782996667424430171166334888376795202","_id":"90020210903201631818782996667424430171166334888376795202","isMobile":false},{"date":"2021-09-03T20:16:29.169Z","type":"sapi","description":"Create - a User","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"post","path":"/api/v2/users","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{"name":"byron.schaden","email":"rubytest-210908byron_schaden@example.org","connection":"Username-Password-Authentication"},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{"scopes":["read:client_grants","create:client_grants","delete:client_grants","update:client_grants","read:users","update:users","delete:users","create:users","read:users_app_metadata","update:users_app_metadata","delete:users_app_metadata","create:users_app_metadata","create:user_tickets","read:clients","update:clients","delete:clients","create:clients","read:client_keys","update:client_keys","delete:client_keys","create:client_keys","read:connections","update:connections","delete:connections","create:connections","read:resource_servers","update:resource_servers","delete:resource_servers","create:resource_servers","read:device_credentials","update:device_credentials","delete:device_credentials","create:device_credentials","read:rules","update:rules","delete:rules","create:rules","read:rules_configs","update:rules_configs","delete:rules_configs","read:email_provider","update:email_provider","delete:email_provider","create:email_provider","blacklist:tokens","read:stats","read:tenant_settings","update:tenant_settings","read:logs","read:shields","create:shields","delete:shields","read:anomaly_blocks","delete:anomaly_blocks","update:triggers","read:triggers","read:grants","delete:grants","read:guardian_factors","update:guardian_factors","read:guardian_enrollments","delete:guardian_enrollments","create:guardian_enrollment_tickets","read:user_idp_tokens","create:passwords_checking_job","delete:passwords_checking_job","read:custom_domains","delete:custom_domains","create:custom_domains","read:email_templates","create:email_templates","update:email_templates","read:mfa_policies","update:mfa_policies","read:roles","create:roles","delete:roles","update:roles","read:prompts","update:prompts","read:branding","update:branding"]}}},"response":{"statusCode":201,"body":{"created_at":"2021-09-03T20:16:29.160Z","email":"rubytest-210908byron_schaden@example.org","email_verified":false,"identities":[{"connection":"Username-Password-Authentication","user_id":"6132829d7b569700698af981","provider":"auth0","isSocial":false}],"name":"byron.schaden","nickname":"rubytest-210908byron_schaden","picture":"https://s.gravatar.com/avatar/32658f9d62513c10242821f682c242c8?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fby.png","updated_at":"2021-09-03T20:16:29.160Z","user_id":"auth0|6132829d7b569700698af981"}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201631597782996667058125647823102248440823874","_id":"90020210903201631597782996667058125647823102248440823874","isMobile":false},{"date":"2021-09-03T20:16:27.991Z","type":"sapi","description":"Create - import users job","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"post","path":"/api/v2/jobs/users-imports","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{"scopes":["read:client_grants","create:client_grants","delete:client_grants","update:client_grants","read:users","update:users","delete:users","create:users","read:users_app_metadata","update:users_app_metadata","delete:users_app_metadata","create:users_app_metadata","create:user_tickets","read:clients","update:clients","delete:clients","create:clients","read:client_keys","update:client_keys","delete:client_keys","create:client_keys","read:connections","update:connections","delete:connections","create:connections","read:resource_servers","update:resource_servers","delete:resource_servers","create:resource_servers","read:device_credentials","update:device_credentials","delete:device_credentials","create:device_credentials","read:rules","update:rules","delete:rules","create:rules","read:rules_configs","update:rules_configs","delete:rules_configs","read:email_provider","update:email_provider","delete:email_provider","create:email_provider","blacklist:tokens","read:stats","read:tenant_settings","update:tenant_settings","read:logs","read:shields","create:shields","delete:shields","read:anomaly_blocks","delete:anomaly_blocks","update:triggers","read:triggers","read:grants","delete:grants","read:guardian_factors","update:guardian_factors","read:guardian_enrollments","delete:guardian_enrollments","create:guardian_enrollment_tickets","read:user_idp_tokens","create:passwords_checking_job","delete:passwords_checking_job","read:custom_domains","delete:custom_domains","create:custom_domains","read:email_templates","create:email_templates","update:email_templates","read:mfa_policies","update:mfa_policies","read:roles","create:roles","delete:roles","update:roles","read:prompts","update:prompts","read:branding","update:branding"]}}},"response":{"statusCode":202,"body":{"id":"job_lbD9RDHKSArypJYT","connection":"Username-Password-Authentication","status":"pending","type":"users_import","created_at":"2021-09-03T20:16:27.983Z"}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201631550410735474534178830949119522576007250","_id":"90020210903201631550410735474534178830949119522576007250","isMobile":false},{"date":"2021-09-03T20:16:29.742Z","type":"ss","description":"","connection":"Username-Password-Authentication","connection_id":"con_Xx4Kruoab04wvlYX","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"Ruby - SDK Integration Tests - DO NOT DELETE","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"body":{"client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","tenant":"auth0-sdk-tests","name":"herbert","email":"rubytest-210908herbert@example.net","password":"*****","connection":"Username-Password-Authentication"}},"user_id":"auth0|6132829d2f7d3d006a216aad","user_name":"rubytest-210908herbert@example.net","strategy":"auth0","strategy_type":"database","log_id":"90020210903201630295719680428417204242601358468254269490","_id":"90020210903201630295719680428417204242601358468254269490","isMobile":false},{"date":"2021-09-03T20:16:28.420Z","type":"sapi","description":"Create - export users job","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"post","path":"/api/v2/jobs/users-exports","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{"scopes":["read:client_grants","create:client_grants","delete:client_grants","update:client_grants","read:users","update:users","delete:users","create:users","read:users_app_metadata","update:users_app_metadata","delete:users_app_metadata","create:users_app_metadata","create:user_tickets","read:clients","update:clients","delete:clients","create:clients","read:client_keys","update:client_keys","delete:client_keys","create:client_keys","read:connections","update:connections","delete:connections","create:connections","read:resource_servers","update:resource_servers","delete:resource_servers","create:resource_servers","read:device_credentials","update:device_credentials","delete:device_credentials","create:device_credentials","read:rules","update:rules","delete:rules","create:rules","read:rules_configs","update:rules_configs","delete:rules_configs","read:email_provider","update:email_provider","delete:email_provider","create:email_provider","blacklist:tokens","read:stats","read:tenant_settings","update:tenant_settings","read:logs","read:shields","create:shields","delete:shields","read:anomaly_blocks","delete:anomaly_blocks","update:triggers","read:triggers","read:grants","delete:grants","read:guardian_factors","update:guardian_factors","read:guardian_enrollments","delete:guardian_enrollments","create:guardian_enrollment_tickets","read:user_idp_tokens","create:passwords_checking_job","delete:passwords_checking_job","read:custom_domains","delete:custom_domains","create:custom_domains","read:email_templates","create:email_templates","update:email_templates","read:mfa_policies","update:mfa_policies","read:roles","create:roles","delete:roles","update:roles","read:prompts","update:prompts","read:branding","update:branding"]}}},"response":{"statusCode":200,"body":{"id":"job_YrcUK95yky3F5koC","connection":"Username-Password-Authentication","status":"pending","type":"users_export","created_at":"2021-09-03T20:16:28.389Z"}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201630213782996666111536731064847535926411330","_id":"90020210903201630213782996666111536731064847535926411330","isMobile":false},{"date":"2021-09-03T20:16:29.447Z","type":"svr","description":"","connection":"Username-Password-Authentication","connection_id":"con_Xx4Kruoab04wvlYX","client_id":"WrzucugfsIb3oXl0Hnc8kq3BXkPFp7Hd","client_name":"All - Applications","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"body":{"template":{"type":"verify_email"},"tenant":"auth0-sdk-tests","client_id":"WrzucugfsIb3oXl0Hnc8kq3BXkPFp7Hd","connection":"Username-Password-Authentication","provider":"auth0","idp_user_id":"6132829d7b569700698af981","user_id":"auth0|6132829d7b569700698af981","to":"rubytest-210908byron_schaden@example.org","job_id":"job_ZdcjPTygi5CiOf4Y"}},"user_id":"auth0|6132829d7b569700698af981","user_name":"rubytest-210908byron_schaden@example.org","strategy":"auth0","strategy_type":"database","log_id":"90020210903201629782719680426432148046794137294667251762","_id":"90020210903201629782719680426432148046794137294667251762","isMobile":false},{"date":"2021-09-03T20:16:27.544Z","type":"sapi","description":"Create - import users job","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"post","path":"/api/v2/jobs/users-imports","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{"scopes":["read:client_grants","create:client_grants","delete:client_grants","update:client_grants","read:users","update:users","delete:users","create:users","read:users_app_metadata","update:users_app_metadata","delete:users_app_metadata","create:users_app_metadata","create:user_tickets","read:clients","update:clients","delete:clients","create:clients","read:client_keys","update:client_keys","delete:client_keys","create:client_keys","read:connections","update:connections","delete:connections","create:connections","read:resource_servers","update:resource_servers","delete:resource_servers","create:resource_servers","read:device_credentials","update:device_credentials","delete:device_credentials","create:device_credentials","read:rules","update:rules","delete:rules","create:rules","read:rules_configs","update:rules_configs","delete:rules_configs","read:email_provider","update:email_provider","delete:email_provider","create:email_provider","blacklist:tokens","read:stats","read:tenant_settings","update:tenant_settings","read:logs","read:shields","create:shields","delete:shields","read:anomaly_blocks","delete:anomaly_blocks","update:triggers","read:triggers","read:grants","delete:grants","read:guardian_factors","update:guardian_factors","read:guardian_enrollments","delete:guardian_enrollments","create:guardian_enrollment_tickets","read:user_idp_tokens","create:passwords_checking_job","delete:passwords_checking_job","read:custom_domains","delete:custom_domains","create:custom_domains","read:email_templates","create:email_templates","update:email_templates","read:mfa_policies","update:mfa_policies","read:roles","create:roles","delete:roles","update:roles","read:prompts","update:prompts","read:branding","update:branding"]}}},"response":{"statusCode":202,"body":{"id":"job_DuJkprUPj67PfRuy","connection":"Username-Password-Authentication","status":"pending","type":"users_import","created_at":"2021-09-03T20:16:27.536Z"}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201629142782996664929207279481740134344294466","_id":"90020210903201629142782996664929207279481740134344294466","isMobile":false},{"date":"2021-09-03T20:16:24.105Z","type":"sapi","description":"Delete - the email provider","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"delete","path":"/api/v2/emails/provider","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":null,"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{"scopes":["read:client_grants","create:client_grants","delete:client_grants","update:client_grants","read:users","update:users","delete:users","create:users","read:users_app_metadata","update:users_app_metadata","delete:users_app_metadata","create:users_app_metadata","create:user_tickets","read:clients","update:clients","delete:clients","create:clients","read:client_keys","update:client_keys","delete:client_keys","create:client_keys","read:connections","update:connections","delete:connections","create:connections","read:resource_servers","update:resource_servers","delete:resource_servers","create:resource_servers","read:device_credentials","update:device_credentials","delete:device_credentials","create:device_credentials","read:rules","update:rules","delete:rules","create:rules","read:rules_configs","update:rules_configs","delete:rules_configs","read:email_provider","update:email_provider","delete:email_provider","create:email_provider","blacklist:tokens","read:stats","read:tenant_settings","update:tenant_settings","read:logs","read:shields","create:shields","delete:shields","read:anomaly_blocks","delete:anomaly_blocks","update:triggers","read:triggers","read:grants","delete:grants","read:guardian_factors","update:guardian_factors","read:guardian_enrollments","delete:guardian_enrollments","create:guardian_enrollment_tickets","read:user_idp_tokens","create:passwords_checking_job","delete:passwords_checking_job","read:custom_domains","delete:custom_domains","create:custom_domains","read:email_templates","create:email_templates","update:email_templates","read:mfa_policies","update:mfa_policies","read:roles","create:roles","delete:roles","update:roles","read:prompts","update:prompts","read:branding","update:branding"]}}},"response":{"statusCode":204,"body":{}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201629124719680423900657380521103802832519218","_id":"90020210903201629124719680423900657380521103802832519218","isMobile":false},{"date":"2021-09-03T20:16:25.368Z","type":"sapi","description":"Delete - the email provider","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"delete","path":"/api/v2/emails/provider","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":null,"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{"scopes":["read:client_grants","create:client_grants","delete:client_grants","update:client_grants","read:users","update:users","delete:users","create:users","read:users_app_metadata","update:users_app_metadata","delete:users_app_metadata","create:users_app_metadata","create:user_tickets","read:clients","update:clients","delete:clients","create:clients","read:client_keys","update:client_keys","delete:client_keys","create:client_keys","read:connections","update:connections","delete:connections","create:connections","read:resource_servers","update:resource_servers","delete:resource_servers","create:resource_servers","read:device_credentials","update:device_credentials","delete:device_credentials","create:device_credentials","read:rules","update:rules","delete:rules","create:rules","read:rules_configs","update:rules_configs","delete:rules_configs","read:email_provider","update:email_provider","delete:email_provider","create:email_provider","blacklist:tokens","read:stats","read:tenant_settings","update:tenant_settings","read:logs","read:shields","create:shields","delete:shields","read:anomaly_blocks","delete:anomaly_blocks","update:triggers","read:triggers","read:grants","delete:grants","read:guardian_factors","update:guardian_factors","read:guardian_enrollments","delete:guardian_enrollments","create:guardian_enrollment_tickets","read:user_idp_tokens","create:passwords_checking_job","delete:passwords_checking_job","read:custom_domains","delete:custom_domains","create:custom_domains","read:email_templates","create:email_templates","update:email_templates","read:mfa_policies","update:mfa_policies","read:roles","create:roles","delete:roles","update:roles","read:prompts","update:prompts","read:branding","update:branding"]}}},"response":{"statusCode":204,"body":{}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201629104782996664927998353662125505169588290","_id":"90020210903201629104782996664927998353662125505169588290","isMobile":false},{"date":"2021-09-03T20:16:23.256Z","type":"ss","description":"","connection":"Username-Password-Authentication","connection_id":"con_Xx4Kruoab04wvlYX","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"Ruby - SDK Integration Tests - DO NOT DELETE","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"body":{"client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","tenant":"auth0-sdk-tests","name":"rubytest-210908-username","email":"rubytest-210908-rubytest-210908-username@auth0.com","password":"*****","email_verified":true,"connection":"Username-Password-Authentication"}},"user_id":"auth0|61328297148a95006b37e566","user_name":"rubytest-210908-rubytest-210908-username@auth0.com","strategy":"auth0","strategy_type":"database","log_id":"90020210903201628107410735472969828820367789164347785298","_id":"90020210903201628107410735472969828820367789164347785298","isMobile":false},{"date":"2021-09-03T20:16:23.274Z","type":"sapi","description":"Create - a User","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"post","path":"/api/v2/users","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{"name":"rubytest-210908-username","email":"rubytest-210908-rubytest-210908-username@auth0.com","email_verified":true,"connection":"Username-Password-Authentication"},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{"scopes":["read:client_grants","create:client_grants","delete:client_grants","update:client_grants","read:users","update:users","delete:users","create:users","read:users_app_metadata","update:users_app_metadata","delete:users_app_metadata","create:users_app_metadata","create:user_tickets","read:clients","update:clients","delete:clients","create:clients","read:client_keys","update:client_keys","delete:client_keys","create:client_keys","read:connections","update:connections","delete:connections","create:connections","read:resource_servers","update:resource_servers","delete:resource_servers","create:resource_servers","read:device_credentials","update:device_credentials","delete:device_credentials","create:device_credentials","read:rules","update:rules","delete:rules","create:rules","read:rules_configs","update:rules_configs","delete:rules_configs","read:email_provider","update:email_provider","delete:email_provider","create:email_provider","blacklist:tokens","read:stats","read:tenant_settings","update:tenant_settings","read:logs","read:shields","create:shields","delete:shields","read:anomaly_blocks","delete:anomaly_blocks","update:triggers","read:triggers","read:grants","delete:grants","read:guardian_factors","update:guardian_factors","read:guardian_enrollments","delete:guardian_enrollments","create:guardian_enrollment_tickets","read:user_idp_tokens","create:passwords_checking_job","delete:passwords_checking_job","read:custom_domains","delete:custom_domains","create:custom_domains","read:email_templates","create:email_templates","update:email_templates","read:mfa_policies","update:mfa_policies","read:roles","create:roles","delete:roles","update:roles","read:prompts","update:prompts","read:branding","update:branding"]}}},"response":{"statusCode":201,"body":{"created_at":"2021-09-03T20:16:23.259Z","email":"rubytest-210908-rubytest-210908-username@auth0.com","email_verified":true,"identities":[{"connection":"Username-Password-Authentication","user_id":"61328297148a95006b37e566","provider":"auth0","isSocial":false}],"name":"rubytest-210908-username","nickname":"rubytest-210908-rubytest-210908-username","picture":"https://s.gravatar.com/avatar/28607929c5bdf4954ee65d055fea6e69?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fru.png","updated_at":"2021-09-03T20:16:23.259Z","user_id":"auth0|61328297148a95006b37e566"}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201628021719680419604135017610711578487816242","_id":"90020210903201628021719680419604135017610711578487816242","isMobile":false},{"date":"2021-09-03T20:16:22.444Z","type":"sapi","description":"Delete - a connection user","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"delete","path":"/api/v2/connections/con_Xx4Kruoab04wvlYX/users","query":{"email":"rubytest-210908-rubytest-210908-username@auth0.com"},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":null,"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{"scopes":["read:client_grants","create:client_grants","delete:client_grants","update:client_grants","read:users","update:users","delete:users","create:users","read:users_app_metadata","update:users_app_metadata","delete:users_app_metadata","create:users_app_metadata","create:user_tickets","read:clients","update:clients","delete:clients","create:clients","read:client_keys","update:client_keys","delete:client_keys","create:client_keys","read:connections","update:connections","delete:connections","create:connections","read:resource_servers","update:resource_servers","delete:resource_servers","create:resource_servers","read:device_credentials","update:device_credentials","delete:device_credentials","create:device_credentials","read:rules","update:rules","delete:rules","create:rules","read:rules_configs","update:rules_configs","delete:rules_configs","read:email_provider","update:email_provider","delete:email_provider","create:email_provider","blacklist:tokens","read:stats","read:tenant_settings","update:tenant_settings","read:logs","read:shields","create:shields","delete:shields","read:anomaly_blocks","delete:anomaly_blocks","update:triggers","read:triggers","read:grants","delete:grants","read:guardian_factors","update:guardian_factors","read:guardian_enrollments","delete:guardian_enrollments","create:guardian_enrollment_tickets","read:user_idp_tokens","create:passwords_checking_job","delete:passwords_checking_job","read:custom_domains","delete:custom_domains","create:custom_domains","read:email_templates","create:email_templates","update:email_templates","read:mfa_policies","update:mfa_policies","read:roles","create:roles","delete:roles","update:roles","read:prompts","update:prompts","read:branding","update:branding"]}}},"response":{"statusCode":204,"body":{}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201627219782996658905129920342042819344465986","_id":"90020210903201627219782996658905129920342042819344465986","isMobile":false},{"date":"2021-09-03T20:16:22.683Z","type":"sapi","description":"Update - a connection","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"patch","path":"/api/v2/connections/con_WltM0fv20JCnxOuY","query":{"email":"rubytest-210908-rubytest-210908-username@auth0.com"},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{"scopes":["read:client_grants","create:client_grants","delete:client_grants","update:client_grants","read:users","update:users","delete:users","create:users","read:users_app_metadata","update:users_app_metadata","delete:users_app_metadata","create:users_app_metadata","create:user_tickets","read:clients","update:clients","delete:clients","create:clients","read:client_keys","update:client_keys","delete:client_keys","create:client_keys","read:connections","update:connections","delete:connections","create:connections","read:resource_servers","update:resource_servers","delete:resource_servers","create:resource_servers","read:device_credentials","update:device_credentials","delete:device_credentials","create:device_credentials","read:rules","update:rules","delete:rules","create:rules","read:rules_configs","update:rules_configs","delete:rules_configs","read:email_provider","update:email_provider","delete:email_provider","create:email_provider","blacklist:tokens","read:stats","read:tenant_settings","update:tenant_settings","read:logs","read:shields","create:shields","delete:shields","read:anomaly_blocks","delete:anomaly_blocks","update:triggers","read:triggers","read:grants","delete:grants","read:guardian_factors","update:guardian_factors","read:guardian_enrollments","delete:guardian_enrollments","create:guardian_enrollment_tickets","read:user_idp_tokens","create:passwords_checking_job","delete:passwords_checking_job","read:custom_domains","delete:custom_domains","create:custom_domains","read:email_templates","create:email_templates","update:email_templates","read:mfa_policies","update:mfa_policies","read:roles","create:roles","delete:roles","update:roles","read:prompts","update:prompts","read:branding","update:branding"]}}},"response":{"statusCode":200,"body":{"id":"con_WltM0fv20JCnxOuY","strategy":"auth0","name":"TestConnection-rubytest-210908","enabled_clients":[],"realms":["TestConnection-rubytest-210908"]}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201626824549783288356246141456395750007111778","_id":"90020210903201626824549783288356246141456395750007111778","isMobile":false},{"date":"2021-09-03T20:16:20.354Z","type":"sapi","description":"Create - a User","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"post","path":"/api/v2/users","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{"name":"rubytest-210908-username","email":"rubytest-210908-rubytest-210908-username@auth0.com","connection":"Username-Password-Authentication"},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{"scopes":["read:client_grants","create:client_grants","delete:client_grants","update:client_grants","read:users","update:users","delete:users","create:users","read:users_app_metadata","update:users_app_metadata","delete:users_app_metadata","create:users_app_metadata","create:user_tickets","read:clients","update:clients","delete:clients","create:clients","read:client_keys","update:client_keys","delete:client_keys","create:client_keys","read:connections","update:connections","delete:connections","create:connections","read:resource_servers","update:resource_servers","delete:resource_servers","create:resource_servers","read:device_credentials","update:device_credentials","delete:device_credentials","create:device_credentials","read:rules","update:rules","delete:rules","create:rules","read:rules_configs","update:rules_configs","delete:rules_configs","read:email_provider","update:email_provider","delete:email_provider","create:email_provider","blacklist:tokens","read:stats","read:tenant_settings","update:tenant_settings","read:logs","read:shields","create:shields","delete:shields","read:anomaly_blocks","delete:anomaly_blocks","update:triggers","read:triggers","read:grants","delete:grants","read:guardian_factors","update:guardian_factors","read:guardian_enrollments","delete:guardian_enrollments","create:guardian_enrollment_tickets","read:user_idp_tokens","create:passwords_checking_job","delete:passwords_checking_job","read:custom_domains","delete:custom_domains","create:custom_domains","read:email_templates","create:email_templates","update:email_templates","read:mfa_policies","update:mfa_policies","read:roles","create:roles","delete:roles","update:roles","read:prompts","update:prompts","read:branding","update:branding"]}}},"response":{"statusCode":201,"body":{"created_at":"2021-09-03T20:16:20.346Z","email":"rubytest-210908-rubytest-210908-username@auth0.com","email_verified":false,"identities":[{"connection":"Username-Password-Authentication","user_id":"6132829445244d0069782a78","provider":"auth0","isSocial":false}],"name":"rubytest-210908-username","nickname":"rubytest-210908-rubytest-210908-username","picture":"https://s.gravatar.com/avatar/28607929c5bdf4954ee65d055fea6e69?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fru.png","updated_at":"2021-09-03T20:16:20.346Z","user_id":"auth0|6132829445244d0069782a78"}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201625400782996654511893491862480261023268930","_id":"90020210903201625400782996654511893491862480261023268930","isMobile":false},{"date":"2021-09-03T20:16:23.905Z","type":"sapi","description":"Delete - a User","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"delete","path":"/api/v2/users/auth0%7C61328297148a95006b37e566","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":null,"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{"scopes":["read:client_grants","create:client_grants","delete:client_grants","update:client_grants","read:users","update:users","delete:users","create:users","read:users_app_metadata","update:users_app_metadata","delete:users_app_metadata","create:users_app_metadata","create:user_tickets","read:clients","update:clients","delete:clients","create:clients","read:client_keys","update:client_keys","delete:client_keys","create:client_keys","read:connections","update:connections","delete:connections","create:connections","read:resource_servers","update:resource_servers","delete:resource_servers","create:resource_servers","read:device_credentials","update:device_credentials","delete:device_credentials","create:device_credentials","read:rules","update:rules","delete:rules","create:rules","read:rules_configs","update:rules_configs","delete:rules_configs","read:email_provider","update:email_provider","delete:email_provider","create:email_provider","blacklist:tokens","read:stats","read:tenant_settings","update:tenant_settings","read:logs","read:shields","create:shields","delete:shields","read:anomaly_blocks","delete:anomaly_blocks","update:triggers","read:triggers","read:grants","delete:grants","read:guardian_factors","update:guardian_factors","read:guardian_enrollments","delete:guardian_enrollments","create:guardian_enrollment_tickets","read:user_idp_tokens","create:passwords_checking_job","delete:passwords_checking_job","read:custom_domains","delete:custom_domains","create:custom_domains","read:email_templates","create:email_templates","update:email_templates","read:mfa_policies","update:mfa_policies","read:roles","create:roles","delete:roles","update:roles","read:prompts","update:prompts","read:branding","update:branding"]}}},"response":{"statusCode":204,"body":{}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201624899719680406442559619466243616022724658","_id":"90020210903201624899719680406442559619466243616022724658","isMobile":false},{"date":"2021-09-03T20:16:19.791Z","type":"sapi","description":"Delete - a client","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"deleted":true,"request":{"method":"delete","path":"/api/v2/clients/SftKo9ySyHnMPezQUFd0C70GBoNFM21F","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{}}},"response":{"statusCode":204,"body":{}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201624842782996653606408052971123009168343106","_id":"90020210903201624842782996653606408052971123009168343106","isMobile":false},{"date":"2021-09-03T20:16:20.337Z","type":"ss","description":"","connection":"Username-Password-Authentication","connection_id":"con_Xx4Kruoab04wvlYX","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"Ruby - SDK Integration Tests - DO NOT DELETE","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"body":{"client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","tenant":"auth0-sdk-tests","name":"rubytest-210908-username","email":"rubytest-210908-rubytest-210908-username@auth0.com","password":"*****","connection":"Username-Password-Authentication"}},"user_id":"auth0|6132829445244d0069782a78","user_name":"rubytest-210908-rubytest-210908-username@auth0.com","strategy":"auth0","strategy_type":"database","log_id":"90020210903201624685782996653359787185769738588808806466","_id":"90020210903201624685782996653359787185769738588808806466","isMobile":false},{"date":"2021-09-03T20:16:22.965Z","type":"sapi","description":"Delete - a connection","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"deleted":true,"request":{"method":"delete","path":"/api/v2/connections/con_WltM0fv20JCnxOuY","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{"scopes":["read:client_grants","create:client_grants","delete:client_grants","update:client_grants","read:users","update:users","delete:users","create:users","read:users_app_metadata","update:users_app_metadata","delete:users_app_metadata","create:users_app_metadata","create:user_tickets","read:clients","update:clients","delete:clients","create:clients","read:client_keys","update:client_keys","delete:client_keys","create:client_keys","read:connections","update:connections","delete:connections","create:connections","read:resource_servers","update:resource_servers","delete:resource_servers","create:resource_servers","read:device_credentials","update:device_credentials","delete:device_credentials","create:device_credentials","read:rules","update:rules","delete:rules","create:rules","read:rules_configs","update:rules_configs","delete:rules_configs","read:email_provider","update:email_provider","delete:email_provider","create:email_provider","blacklist:tokens","read:stats","read:tenant_settings","update:tenant_settings","read:logs","read:shields","create:shields","delete:shields","read:anomaly_blocks","delete:anomaly_blocks","update:triggers","read:triggers","read:grants","delete:grants","read:guardian_factors","update:guardian_factors","read:guardian_enrollments","delete:guardian_enrollments","create:guardian_enrollment_tickets","read:user_idp_tokens","create:passwords_checking_job","delete:passwords_checking_job","read:custom_domains","delete:custom_domains","create:custom_domains","read:email_templates","create:email_templates","update:email_templates","read:mfa_policies","update:mfa_policies","read:roles","create:roles","delete:roles","update:roles","read:prompts","update:prompts","read:branding","update:branding"]}}},"response":{"statusCode":202,"body":{}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201624596410735471250736304875786271757172818","_id":"90020210903201624596410735471250736304875786271757172818","isMobile":false},{"date":"2021-09-03T20:16:19.563Z","type":"sapi","description":"Update - a client","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"patch","path":"/api/v2/clients/SftKo9ySyHnMPezQUFd0C70GBoNFM21F","query":{"fields":"jwt_configuration","include_fields":"false"},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{"sso":true,"custom_login_page_on":false},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{}}},"response":{"statusCode":200,"body":{"client_secret":"REDACTED","name":"TestClient-rubytest-210908","description":"Client - description","client_id":"SftKo9ySyHnMPezQUFd0C70GBoNFM21F","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"is_token_endpoint_ip_header_trusted":false,"is_first_party":true,"oidc_conformant":false,"jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"sso":true,"cross_origin_auth":false,"sso_disabled":false,"custom_login_page_on":false,"refresh_token":{"expiration_type":"non-expiring","leeway":0,"infinite_token_lifetime":true,"infinite_idle_token_lifetime":true,"token_lifetime":2592000,"idle_token_lifetime":1296000,"rotation_type":"non-rotating"}}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201624596410735471249527379056171642582466642","_id":"90020210903201624596410735471249527379056171642582466642","isMobile":false},{"date":"2021-09-03T20:16:23.877Z","type":"sdu","description":"user_id: - 61328297148a95006b37e566","connection":"Username-Password-Authentication","connection_id":"con_Xx4Kruoab04wvlYX","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"body":{"tenant":"auth0-sdk-tests","connection":"Username-Password-Authentication"}},"user_id":"","user_name":"","strategy":"auth0","strategy_type":"database","log_id":"90020210903201624336410735471127425871275094027217666130","_id":"90020210903201624336410735471127425871275094027217666130","isMobile":false},{"date":"2021-09-03T20:16:16.508Z","type":"sapi","description":"Delete - client grant","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"delete","path":"/api/v2/client-grants/cgr_j6Sld05vF0Sxr2Le","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{}}},"response":{"statusCode":204,"body":{}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201621549719680396406057465025591932734144562","_id":"90020210903201621549719680396406057465025591932734144562","isMobile":false},{"date":"2021-09-03T20:16:16.933Z","type":"sapi","description":"Delete - client grant","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"delete","path":"/api/v2/client-grants/cgr_j6Sld05vF0Sxr2Le","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{}}},"response":{"statusCode":204,"body":{}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201621356549783279746276454161006424152342626","_id":"90020210903201621356549783279746276454161006424152342626","isMobile":false},{"date":"2021-09-03T20:16:15.412Z","type":"sapi","description":"Create - a client","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"post","path":"/api/v2/clients","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{"name":"ClientGrantTestClient-rubytest-210908"},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{}}},"response":{"statusCode":201,"body":{"client_secret":"REDACTED","name":"ClientGrantTestClient-rubytest-210908","client_id":"qVx7qDuyruWWCfkTrxeNT74FI6mJc4Vy","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"is_token_endpoint_ip_header_trusted":false,"is_first_party":true,"oidc_conformant":false,"jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"cross_origin_auth":false,"sso_disabled":false,"custom_login_page_on":true,"refresh_token":{"expiration_type":"non-expiring","leeway":0,"infinite_token_lifetime":true,"infinite_idle_token_lifetime":true,"token_lifetime":2592000,"idle_token_lifetime":1296000,"rotation_type":"non-rotating"}}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201620523410735469665834555361007080119992402","_id":"90020210903201620523410735469665834555361007080119992402","isMobile":false},{"date":"2021-09-03T20:16:20.032Z","type":"sapi","description":"Create - a connection","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"post","path":"/api/v2/connections","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{"strategy":"auth0","name":"TestConnection-rubytest-210908"},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{"scopes":["read:client_grants","create:client_grants","delete:client_grants","update:client_grants","read:users","update:users","delete:users","create:users","read:users_app_metadata","update:users_app_metadata","delete:users_app_metadata","create:users_app_metadata","create:user_tickets","read:clients","update:clients","delete:clients","create:clients","read:client_keys","update:client_keys","delete:client_keys","create:client_keys","read:connections","update:connections","delete:connections","create:connections","read:resource_servers","update:resource_servers","delete:resource_servers","create:resource_servers","read:device_credentials","update:device_credentials","delete:device_credentials","create:device_credentials","read:rules","update:rules","delete:rules","create:rules","read:rules_configs","update:rules_configs","delete:rules_configs","read:email_provider","update:email_provider","delete:email_provider","create:email_provider","blacklist:tokens","read:stats","read:tenant_settings","update:tenant_settings","read:logs","read:shields","create:shields","delete:shields","read:anomaly_blocks","delete:anomaly_blocks","update:triggers","read:triggers","read:grants","delete:grants","read:guardian_factors","update:guardian_factors","read:guardian_enrollments","delete:guardian_enrollments","create:guardian_enrollment_tickets","read:user_idp_tokens","create:passwords_checking_job","delete:passwords_checking_job","read:custom_domains","delete:custom_domains","create:custom_domains","read:email_templates","create:email_templates","update:email_templates","read:mfa_policies","update:mfa_policies","read:roles","create:roles","delete:roles","update:roles","read:prompts","update:prompts","read:branding","update:branding"]}}},"response":{"statusCode":201,"body":{"id":"con_WltM0fv20JCnxOuY","strategy":"auth0","name":"TestConnection-rubytest-210908","enabled_clients":[],"realms":["TestConnection-rubytest-210908"]}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201620493782996648568814162636962894570324034","_id":"90020210903201620493782996648568814162636962894570324034","isMobile":false},{"date":"2021-09-03T20:16:16.351Z","type":"sapi","description":"Update - client grant","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"patch","path":"/api/v2/client-grants/cgr_j6Sld05vF0Sxr2Le","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{"scope":["new:scope"]},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{}}},"response":{"statusCode":200,"body":{"client_id":"qVx7qDuyruWWCfkTrxeNT74FI6mJc4Vy","audience":"https://auth0-sdk-tests.auth0.com/api/v2/","scope":["new:scope"]}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201619784782996647923247774962750846557749314","_id":"90020210903201619784782996647923247774962750846557749314","isMobile":false},{"date":"2021-09-03T20:16:14.694Z","type":"sapi","description":"Blacklist - a token","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"post","path":"/api/v2/blacklists/tokens","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{"jti":"faketoken","aud":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI"},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{"scopes":["read:client_grants","create:client_grants","delete:client_grants","update:client_grants","read:users","update:users","delete:users","create:users","read:users_app_metadata","update:users_app_metadata","delete:users_app_metadata","create:users_app_metadata","create:user_tickets","read:clients","update:clients","delete:clients","create:clients","read:client_keys","update:client_keys","delete:client_keys","create:client_keys","read:connections","update:connections","delete:connections","create:connections","read:resource_servers","update:resource_servers","delete:resource_servers","create:resource_servers","read:device_credentials","update:device_credentials","delete:device_credentials","create:device_credentials","read:rules","update:rules","delete:rules","create:rules","read:rules_configs","update:rules_configs","delete:rules_configs","read:email_provider","update:email_provider","delete:email_provider","create:email_provider","blacklist:tokens","read:stats","read:tenant_settings","update:tenant_settings","read:logs","read:shields","create:shields","delete:shields","read:anomaly_blocks","delete:anomaly_blocks","update:triggers","read:triggers","read:grants","delete:grants","read:guardian_factors","update:guardian_factors","read:guardian_enrollments","delete:guardian_enrollments","create:guardian_enrollment_tickets","read:user_idp_tokens","create:passwords_checking_job","delete:passwords_checking_job","read:custom_domains","delete:custom_domains","create:custom_domains","read:email_templates","create:email_templates","update:email_templates","read:mfa_policies","update:mfa_policies","read:roles","create:roles","delete:roles","update:roles","read:prompts","update:prompts","read:branding","update:branding"]}}},"response":{"statusCode":204,"body":{}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201619784782996647922038849143136217383043138","_id":"90020210903201619784782996647922038849143136217383043138","isMobile":false},{"date":"2021-09-03T20:16:17.572Z","type":"sapi","description":"Create - a client","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"post","path":"/api/v2/clients","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{"name":"TestClient-rubytest-210908","description":"Client - description","custom_login_page_on":false},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{}}},"response":{"statusCode":201,"body":{"client_secret":"REDACTED","name":"TestClient-rubytest-210908","description":"Client - description","client_id":"SftKo9ySyHnMPezQUFd0C70GBoNFM21F","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"is_token_endpoint_ip_header_trusted":false,"is_first_party":true,"oidc_conformant":false,"jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"cross_origin_auth":false,"sso_disabled":false,"custom_login_page_on":false,"refresh_token":{"expiration_type":"non-expiring","leeway":0,"infinite_token_lifetime":true,"infinite_idle_token_lifetime":true,"token_lifetime":2592000,"idle_token_lifetime":1296000,"rotation_type":"non-rotating"}}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201618953549783276113454366219045548001853538","_id":"90020210903201618953549783276113454366219045548001853538","isMobile":false},{"date":"2021-09-03T20:16:16.738Z","type":"sapi","description":"Delete - a client","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"deleted":true,"request":{"method":"delete","path":"/api/v2/clients/qVx7qDuyruWWCfkTrxeNT74FI6mJc4Vy","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{}}},"response":{"statusCode":204,"body":{}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201618496782996646921048270502223192006852674","_id":"90020210903201618496782996646921048270502223192006852674","isMobile":false},{"date":"2021-09-03T20:16:13.816Z","type":"fepft","description":"invalid - audience specified for password grant exchange","connection":"Username-Password-Authentication","connection_id":"con_Xx4Kruoab04wvlYX","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"Ruby - SDK Integration Tests - DO NOT DELETE","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","client_ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","hostname":"auth0-sdk-tests.auth0.com","user_id":"","user_name":"rubytest-210908-username-1@auth0.com","audience":"https://brucke.club/invalid/api/v1/","scope":"test:scope","auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201617997782996646630906073794712190077370434","_id":"90020210903201617997782996646630906073794712190077370434","isMobile":false},{"date":"2021-09-03T20:16:14.448Z","type":"sdu","description":"user_id: - 6132828a407ec6006935a858","connection":"Username-Password-Authentication","connection_id":"con_Xx4Kruoab04wvlYX","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"body":{"tenant":"auth0-sdk-tests","connection":"Username-Password-Authentication"}},"user_id":"","user_name":"","strategy":"auth0","strategy_type":"database","log_id":"90020210903201617889782996646525729527488239451877933122","_id":"90020210903201617889782996646525729527488239451877933122","isMobile":false},{"date":"2021-09-03T20:16:13.088Z","type":"fepft","description":"Wrong - email or password.","connection":"Username-Password-Authentication","connection_id":"con_Xx4Kruoab04wvlYX","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"Ruby - SDK Integration Tests - DO NOT DELETE","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","client_ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","hostname":"auth0-sdk-tests.auth0.com","user_id":"","user_name":"rubytest-210908-username-1@auth0.com","audience":"https://auth0-sdk-tests.auth0.com/userinfo","scope":"openid","auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201617778549783274393152924907428163675488354","_id":"90020210903201617778549783274393152924907428163675488354","isMobile":false},{"date":"2021-09-03T20:16:13.080Z","type":"fp","description":"Wrong - email or password.","connection":"Username-Password-Authentication","connection_id":"con_Xx4Kruoab04wvlYX","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"Ruby - SDK Integration Tests - DO NOT DELETE","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"error":{"message":"Wrong email or password."}},"user_id":"auth0|6132828a407ec6006935a858","user_name":"rubytest-210908-username-1@auth0.com","strategy":"auth0","strategy_type":"database","log_id":"90020210903201617502410735467911683191100179941462900818","_id":"90020210903201617502410735467911683191100179941462900818","isMobile":false},{"date":"2021-09-03T20:16:14.212Z","type":"sepft","description":"","connection":"Username-Password-Authentication","connection_id":"con_Xx4Kruoab04wvlYX","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"Ruby - SDK Integration Tests - DO NOT DELETE","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","client_ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","user_id":"auth0|6132828a407ec6006935a858","user_name":"rubytest-210908-username-1@auth0.com","audience":"https://brucke.club/custom/api/v1/","scope":"test:scope","auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201617325549783273747586537233216184382390370","_id":"90020210903201617325549783273747586537233216184382390370","isMobile":false},{"date":"2021-09-03T20:16:15.661Z","type":"sapi","description":"Create - client grant","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"post","path":"/api/v2/client-grants","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{"client_id":"qVx7qDuyruWWCfkTrxeNT74FI6mJc4Vy","audience":"https://auth0-sdk-tests.auth0.com/api/v2/","scope":["test:scope"]},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{}}},"response":{"statusCode":201,"body":{"client_id":"qVx7qDuyruWWCfkTrxeNT74FI6mJc4Vy","audience":"https://auth0-sdk-tests.auth0.com/api/v2/","scope":["test:scope"]}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201617285410735467715837208322610015160500306","_id":"90020210903201617285410735467715837208322610015160500306","isMobile":false},{"date":"2021-09-03T20:16:13.482Z","type":"sepft","description":"","connection":"Username-Password-Authentication","connection_id":"con_Xx4Kruoab04wvlYX","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"Ruby - SDK Integration Tests - DO NOT DELETE","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","client_ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","user_id":"auth0|6132828a407ec6006935a858","user_name":"rubytest-210908-username-1@auth0.com","audience":"https://auth0-sdk-tests.auth0.com/userinfo","scope":"openid - profile email address phone","auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201617112719680381834874561210466215122698290","_id":"90020210903201617112719680381834874561210466215122698290","isMobile":false},{"date":"2021-09-03T20:16:14.470Z","type":"sapi","description":"Delete - a User","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"delete","path":"/api/v2/users/auth0%7C6132828a407ec6006935a858","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":null,"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{"scopes":["read:client_grants","create:client_grants","delete:client_grants","update:client_grants","read:users","update:users","delete:users","create:users","read:users_app_metadata","update:users_app_metadata","delete:users_app_metadata","create:users_app_metadata","create:user_tickets","read:clients","update:clients","delete:clients","create:clients","read:client_keys","update:client_keys","delete:client_keys","create:client_keys","read:connections","update:connections","delete:connections","create:connections","read:resource_servers","update:resource_servers","delete:resource_servers","create:resource_servers","read:device_credentials","update:device_credentials","delete:device_credentials","create:device_credentials","read:rules","update:rules","delete:rules","create:rules","read:rules_configs","update:rules_configs","delete:rules_configs","read:email_provider","update:email_provider","delete:email_provider","create:email_provider","blacklist:tokens","read:stats","read:tenant_settings","update:tenant_settings","read:logs","read:shields","create:shields","delete:shields","read:anomaly_blocks","delete:anomaly_blocks","update:triggers","read:triggers","read:grants","delete:grants","read:guardian_factors","update:guardian_factors","read:guardian_enrollments","delete:guardian_enrollments","create:guardian_enrollment_tickets","read:user_idp_tokens","create:passwords_checking_job","delete:passwords_checking_job","read:custom_domains","delete:custom_domains","create:custom_domains","read:email_templates","create:email_templates","update:email_templates","read:mfa_policies","update:mfa_policies","read:roles","create:roles","delete:roles","update:roles","read:prompts","update:prompts","read:branding","update:branding"]}}},"response":{"statusCode":204,"body":{}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201616981410735467636048104228044489629892690","_id":"90020210903201616981410735467636048104228044489629892690","isMobile":false},{"date":"2021-09-03T20:16:12.199Z","type":"sepft","description":"","connection":"Username-Password-Authentication","connection_id":"con_Xx4Kruoab04wvlYX","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"Ruby - SDK Integration Tests - DO NOT DELETE","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","client_ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","user_id":"auth0|6132828a407ec6006935a858","user_name":"rubytest-210908-username-1@auth0.com","audience":"https://auth0-sdk-tests.auth0.com/userinfo","scope":"openid - profile email address phone","auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201615805782996644997647291495348037610373186","_id":"90020210903201615805782996644997647291495348037610373186","isMobile":false},{"date":"2021-09-03T20:16:10.744Z","type":"ss","description":"","connection":"Username-Password-Authentication","connection_id":"con_Xx4Kruoab04wvlYX","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"Ruby - SDK Integration Tests - DO NOT DELETE","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"body":{"tenant":"auth0-sdk-tests","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","connection":"Username-Password-Authentication","email":"rubytest-210908-username-1@auth0.com","password":"*****"}},"user_id":"auth0|6132828a407ec6006935a858","user_name":"rubytest-210908-username-1@auth0.com","strategy":"auth0","strategy_type":"database","log_id":"90020210903201615420782996644784876347243173234142609474","_id":"90020210903201615420782996644784876347243173234142609474","isMobile":false},{"date":"2021-09-03T20:16:12.764Z","type":"fu","description":"Wrong - email or password.","connection":"Username-Password-Authentication","connection_id":"con_Xx4Kruoab04wvlYX","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"Ruby - SDK Integration Tests - DO NOT DELETE","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"error":{"message":"Wrong email or password."}},"user_id":"","user_name":"rubytest-210908-username-1@auth0.com_invalid","strategy":"auth0","strategy_type":"database","log_id":"90020210903201615320410735466535925608378731803208319058","_id":"90020210903201615320410735466535925608378731803208319058","isMobile":false},{"date":"2021-09-03T20:16:12.775Z","type":"fepft","description":"Wrong - email or password.","connection":"Username-Password-Authentication","connection_id":"con_Xx4Kruoab04wvlYX","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"Ruby - SDK Integration Tests - DO NOT DELETE","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","client_ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","hostname":"auth0-sdk-tests.auth0.com","user_id":"","user_name":"rubytest-210908-username-1@auth0.com_invalid","audience":"https://auth0-sdk-tests.auth0.com/userinfo","scope":"openid","auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201615078549783270284014064037303461410242658","_id":"90020210903201615078549783270284014064037303461410242658","isMobile":false},{"date":"2021-09-03T20:15:00.963Z","type":"sapi","description":"Create - a client","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"post","path":"/api/v2/clients","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{"name":"TestClient-rubytest","description":"Client - description","custom_login_page_on":false},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{}}},"response":{"statusCode":201,"body":{"client_secret":"REDACTED","name":"TestClient-rubytest","description":"Client - description","client_id":"aNG5n4ny57xCrd53MhfwomU85fpsEdyr","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"is_token_endpoint_ip_header_trusted":false,"is_first_party":true,"oidc_conformant":false,"jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"cross_origin_auth":false,"sso_disabled":false,"custom_login_page_on":false,"refresh_token":{"expiration_type":"non-expiring","leeway":0,"infinite_token_lifetime":true,"infinite_idle_token_lifetime":true,"token_lifetime":2592000,"idle_token_lifetime":1296000,"rotation_type":"non-rotating"}}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201506041782996593625553512791291077282758722","_id":"90020210903201506041782996593625553512791291077282758722","isMobile":false},{"date":"2021-09-03T20:14:57.290Z","type":"sapi","description":"Blacklist - a token","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"post","path":"/api/v2/blacklists/tokens","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{"jti":"faketoken","aud":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI"},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{"scopes":["read:client_grants","create:client_grants","delete:client_grants","update:client_grants","read:users","update:users","delete:users","create:users","read:users_app_metadata","update:users_app_metadata","delete:users_app_metadata","create:users_app_metadata","create:user_tickets","read:clients","update:clients","delete:clients","create:clients","read:client_keys","update:client_keys","delete:client_keys","create:client_keys","read:connections","update:connections","delete:connections","create:connections","read:resource_servers","update:resource_servers","delete:resource_servers","create:resource_servers","read:device_credentials","update:device_credentials","delete:device_credentials","create:device_credentials","read:rules","update:rules","delete:rules","create:rules","read:rules_configs","update:rules_configs","delete:rules_configs","read:email_provider","update:email_provider","delete:email_provider","create:email_provider","blacklist:tokens","read:stats","read:tenant_settings","update:tenant_settings","read:logs","read:shields","create:shields","delete:shields","read:anomaly_blocks","delete:anomaly_blocks","update:triggers","read:triggers","read:grants","delete:grants","read:guardian_factors","update:guardian_factors","read:guardian_enrollments","delete:guardian_enrollments","create:guardian_enrollment_tickets","read:user_idp_tokens","create:passwords_checking_job","delete:passwords_checking_job","read:custom_domains","delete:custom_domains","create:custom_domains","read:email_templates","create:email_templates","update:email_templates","read:mfa_policies","update:mfa_policies","read:roles","create:roles","delete:roles","update:roles","read:prompts","update:prompts","read:branding","update:branding"]}}},"response":{"statusCode":204,"body":{}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201502345410735429365083432687723483276247122","_id":"90020210903201502345410735429365083432687723483276247122","isMobile":false},{"date":"2021-09-03T20:14:59.762Z","type":"sapi","description":"Delete - client grant","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"delete","path":"/api/v2/client-grants/cgr_ECbN3qJw9YuMnpHp","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{}}},"response":{"statusCode":204,"body":{}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201501097549783150707952320134712008086913122","_id":"90020210903201501097549783150707952320134712008086913122","isMobile":false},{"date":"2021-09-03T20:15:00.450Z","type":"sapi","description":"Delete - client grant","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"delete","path":"/api/v2/client-grants/cgr_ECbN3qJw9YuMnpHp","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{}}},"response":{"statusCode":204,"body":{}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201500706549783150140966110735450925149716578","_id":"90020210903201500706549783150140966110735450925149716578","isMobile":false},{"date":"2021-09-03T20:15:00.230Z","type":"sapi","description":"Delete - a client","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"deleted":true,"request":{"method":"delete","path":"/api/v2/clients/P7nJlNylVKRB2GdTt04KH4GXxIiGAaKr","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{}}},"response":{"statusCode":204,"body":{}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201500706549783150139757184915836295975010402","_id":"90020210903201500706549783150139757184915836295975010402","isMobile":false},{"date":"2021-09-03T20:14:59.406Z","type":"sapi","description":"Update - client grant","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"patch","path":"/api/v2/client-grants/cgr_ECbN3qJw9YuMnpHp","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{"scope":["new:scope"]},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{}}},"response":{"statusCode":200,"body":{"client_id":"P7nJlNylVKRB2GdTt04KH4GXxIiGAaKr","audience":"https://auth0-sdk-tests.auth0.com/api/v2/","scope":["new:scope"]}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201500522782996589637307233882629017610223682","_id":"90020210903201500522782996589637307233882629017610223682","isMobile":false},{"date":"2021-09-03T20:14:58.278Z","type":"sapi","description":"Create - client grant","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"post","path":"/api/v2/client-grants","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{"client_id":"P7nJlNylVKRB2GdTt04KH4GXxIiGAaKr","audience":"https://auth0-sdk-tests.auth0.com/api/v2/","scope":["test:scope"]},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{}}},"response":{"statusCode":201,"body":{"client_id":"P7nJlNylVKRB2GdTt04KH4GXxIiGAaKr","audience":"https://auth0-sdk-tests.auth0.com/api/v2/","scope":["test:scope"]}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201459682719680118509070384391163278853668914","_id":"90020210903201459682719680118509070384391163278853668914","isMobile":false},{"date":"2021-09-03T20:14:58.048Z","type":"sapi","description":"Create - a client","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"post","path":"/api/v2/clients","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{"name":"ClientGrantTestClient-rubytest"},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{}}},"response":{"statusCode":201,"body":{"client_secret":"REDACTED","name":"ClientGrantTestClient-rubytest","client_id":"P7nJlNylVKRB2GdTt04KH4GXxIiGAaKr","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"is_token_endpoint_ip_header_trusted":false,"is_first_party":true,"oidc_conformant":false,"jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"cross_origin_auth":false,"sso_disabled":false,"custom_login_page_on":true,"refresh_token":{"expiration_type":"non-expiring","leeway":0,"infinite_token_lifetime":true,"infinite_idle_token_lifetime":true,"token_lifetime":2592000,"idle_token_lifetime":1296000,"rotation_type":"non-rotating"}}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201459614410735428066697102421611612202860626","_id":"90020210903201459614410735428066697102421611612202860626","isMobile":false}]' - recorded_at: Fri, 03 Sep 2021 20:16:33 GMT -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/logs/90020210903201632920410735475195461254278321818579238994 - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:33 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a80f39755301-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a80f39755301 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 7752a44e1731f82a - Ot-Tracer-Traceid: - - 25364b7a75583c1b - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700194' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"date":"2021-09-03T20:16:29.970Z","type":"svr","description":"","connection":"Username-Password-Authentication","connection_id":"con_Xx4Kruoab04wvlYX","client_id":"WrzucugfsIb3oXl0Hnc8kq3BXkPFp7Hd","client_name":"All - Applications","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"body":{"template":{"type":"verify_email"},"tenant":"auth0-sdk-tests","client_id":"WrzucugfsIb3oXl0Hnc8kq3BXkPFp7Hd","connection":"Username-Password-Authentication","provider":"auth0","idp_user_id":"6132829d2f7d3d006a216aad","user_id":"auth0|6132829d2f7d3d006a216aad","to":"rubytest-210908herbert@example.net","job_id":"job_3vaIcVXpbGykPMcO"}},"user_id":"auth0|6132829d2f7d3d006a216aad","user_name":"rubytest-210908herbert@example.net","strategy":"auth0","strategy_type":"database","log_id":"90020210903201632920410735475195461254278321818579238994","_id":"90020210903201632920410735475195461254278321818579238994","isMobile":false}' - recorded_at: Fri, 03 Sep 2021 20:16:33 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_filters/should_exclude_fields_not_specified.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_filters/should_exclude_fields_not_specified.yml deleted file mode 100644 index 29ec953e9..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_filters/should_exclude_fields_not_specified.yml +++ /dev/null @@ -1,74 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/logs?fields=date&per_page=1 - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:32 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a8083e930d44-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a8083e930d44 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 639ce38179efd5f5 - Ot-Tracer-Traceid: - - 43e3fc4b1f4ce3b2 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700193' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '[{"date":"2021-09-03T20:16:31.489Z","_id":"90020210903201631818782996667425639096985949517551501378"}]' - recorded_at: Fri, 03 Sep 2021 20:16:32 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_filters/should_exclude_the_specified_fields.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_filters/should_exclude_the_specified_fields.yml deleted file mode 100644 index 7924b2685..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_filters/should_exclude_the_specified_fields.yml +++ /dev/null @@ -1,75 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/logs?fields=date&include_fields=false&per_page=1 - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:32 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a809c92b0ccf-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a809c92b0ccf - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 42fa360a57983d3c - Ot-Tracer-Traceid: - - 31732cc9770a8b00 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700193' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '[{"_id":"90020210903201631818782996667425639096985949517551501378","isMobile":false,"user_agent":"Other - 0.0.0 / Other 0.0.0"}]' - recorded_at: Fri, 03 Sep 2021 20:16:32 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_filters/should_have_one_log_entry.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_filters/should_have_one_log_entry.yml deleted file mode 100644 index 4a2a134b7..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_filters/should_have_one_log_entry.yml +++ /dev/null @@ -1,77 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/logs?per_page=1 - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:31 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a805c9885319-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a805c9885319 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 0cef33bb2fd5be12 - Ot-Tracer-Traceid: - - 05b8ad832b4c6961 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700192' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '[{"date":"2021-09-03T20:16:29.169Z","type":"sapi","description":"Create - a User","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"post","path":"/api/v2/users","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{"name":"byron.schaden","email":"rubytest-210908byron_schaden@example.org","connection":"Username-Password-Authentication"},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{"scopes":["read:client_grants","create:client_grants","delete:client_grants","update:client_grants","read:users","update:users","delete:users","create:users","read:users_app_metadata","update:users_app_metadata","delete:users_app_metadata","create:users_app_metadata","create:user_tickets","read:clients","update:clients","delete:clients","create:clients","read:client_keys","update:client_keys","delete:client_keys","create:client_keys","read:connections","update:connections","delete:connections","create:connections","read:resource_servers","update:resource_servers","delete:resource_servers","create:resource_servers","read:device_credentials","update:device_credentials","delete:device_credentials","create:device_credentials","read:rules","update:rules","delete:rules","create:rules","read:rules_configs","update:rules_configs","delete:rules_configs","read:email_provider","update:email_provider","delete:email_provider","create:email_provider","blacklist:tokens","read:stats","read:tenant_settings","update:tenant_settings","read:logs","read:shields","create:shields","delete:shields","read:anomaly_blocks","delete:anomaly_blocks","update:triggers","read:triggers","read:grants","delete:grants","read:guardian_factors","update:guardian_factors","read:guardian_enrollments","delete:guardian_enrollments","create:guardian_enrollment_tickets","read:user_idp_tokens","create:passwords_checking_job","delete:passwords_checking_job","read:custom_domains","delete:custom_domains","create:custom_domains","read:email_templates","create:email_templates","update:email_templates","read:mfa_policies","update:mfa_policies","read:roles","create:roles","delete:roles","update:roles","read:prompts","update:prompts","read:branding","update:branding"]}}},"response":{"statusCode":201,"body":{"created_at":"2021-09-03T20:16:29.160Z","email":"rubytest-210908byron_schaden@example.org","email_verified":false,"identities":[{"connection":"Username-Password-Authentication","user_id":"6132829d7b569700698af981","provider":"auth0","isSocial":false}],"name":"byron.schaden","nickname":"rubytest-210908byron_schaden","picture":"https://s.gravatar.com/avatar/32658f9d62513c10242821f682c242c8?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fby.png","updated_at":"2021-09-03T20:16:29.160Z","user_id":"auth0|6132829d7b569700698af981"}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201631597782996667058125647823102248440823874","_id":"90020210903201631597782996667058125647823102248440823874","isMobile":false}]' - recorded_at: Fri, 03 Sep 2021 20:16:31 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_filters/should_include_the_specified_fields.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_filters/should_include_the_specified_fields.yml deleted file mode 100644 index 8e70f5b4b..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_filters/should_include_the_specified_fields.yml +++ /dev/null @@ -1,74 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/logs?fields=date,description,type&include_fields=true&per_page=1 - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:31 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a806f98b0591-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a806f98b0591 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 0f8a4d9671d6c4ba - Ot-Tracer-Traceid: - - 196163d02300567b - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700192' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '[{"date":"2021-09-03T20:16:31.489Z","description":"Create a User","type":"sapi","_id":"90020210903201631818782996667425639096985949517551501378"}]' - recorded_at: Fri, 03 Sep 2021 20:16:31 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_from/should_take_one_log_entry.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_from/should_take_one_log_entry.yml deleted file mode 100644 index b5da34308..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/_logs/_from/should_take_one_log_entry.yml +++ /dev/null @@ -1,298 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/logs - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:32 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a80b5ba20cb3-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a80b5ba20cb3 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 481d7e39241be7ea - Ot-Tracer-Traceid: - - 327c38776694ca96 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700193' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '[{"date":"2021-09-03T20:16:31.489Z","type":"sapi","description":"Create - a User","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"post","path":"/api/v2/users","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{"name":"rubytest-210908-username","email":"rubytest-210908-rubytest-210908-username@auth0.com","connection":"Username-Password-Authentication"},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{"scopes":["read:client_grants","create:client_grants","delete:client_grants","update:client_grants","read:users","update:users","delete:users","create:users","read:users_app_metadata","update:users_app_metadata","delete:users_app_metadata","create:users_app_metadata","create:user_tickets","read:clients","update:clients","delete:clients","create:clients","read:client_keys","update:client_keys","delete:client_keys","create:client_keys","read:connections","update:connections","delete:connections","create:connections","read:resource_servers","update:resource_servers","delete:resource_servers","create:resource_servers","read:device_credentials","update:device_credentials","delete:device_credentials","create:device_credentials","read:rules","update:rules","delete:rules","create:rules","read:rules_configs","update:rules_configs","delete:rules_configs","read:email_provider","update:email_provider","delete:email_provider","create:email_provider","blacklist:tokens","read:stats","read:tenant_settings","update:tenant_settings","read:logs","read:shields","create:shields","delete:shields","read:anomaly_blocks","delete:anomaly_blocks","update:triggers","read:triggers","read:grants","delete:grants","read:guardian_factors","update:guardian_factors","read:guardian_enrollments","delete:guardian_enrollments","create:guardian_enrollment_tickets","read:user_idp_tokens","create:passwords_checking_job","delete:passwords_checking_job","read:custom_domains","delete:custom_domains","create:custom_domains","read:email_templates","create:email_templates","update:email_templates","read:mfa_policies","update:mfa_policies","read:roles","create:roles","delete:roles","update:roles","read:prompts","update:prompts","read:branding","update:branding"]}}},"response":{"statusCode":201,"body":{"created_at":"2021-09-03T20:16:31.480Z","email":"rubytest-210908-rubytest-210908-username@auth0.com","email_verified":false,"identities":[{"connection":"Username-Password-Authentication","user_id":"6132829f7b569700698af992","provider":"auth0","isSocial":false}],"name":"rubytest-210908-username","nickname":"rubytest-210908-rubytest-210908-username","picture":"https://s.gravatar.com/avatar/28607929c5bdf4954ee65d055fea6e69?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fru.png","updated_at":"2021-09-03T20:16:31.480Z","user_id":"auth0|6132829f7b569700698af992"}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201631818782996667425639096985949517551501378","_id":"90020210903201631818782996667425639096985949517551501378","isMobile":false},{"date":"2021-09-03T20:16:31.153Z","type":"sapi","description":"Delete - a User","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"delete","path":"/api/v2/users/auth0%7C6132829e9bb72d00708b7db5","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":null,"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{"scopes":["read:client_grants","create:client_grants","delete:client_grants","update:client_grants","read:users","update:users","delete:users","create:users","read:users_app_metadata","update:users_app_metadata","delete:users_app_metadata","create:users_app_metadata","create:user_tickets","read:clients","update:clients","delete:clients","create:clients","read:client_keys","update:client_keys","delete:client_keys","create:client_keys","read:connections","update:connections","delete:connections","create:connections","read:resource_servers","update:resource_servers","delete:resource_servers","create:resource_servers","read:device_credentials","update:device_credentials","delete:device_credentials","create:device_credentials","read:rules","update:rules","delete:rules","create:rules","read:rules_configs","update:rules_configs","delete:rules_configs","read:email_provider","update:email_provider","delete:email_provider","create:email_provider","blacklist:tokens","read:stats","read:tenant_settings","update:tenant_settings","read:logs","read:shields","create:shields","delete:shields","read:anomaly_blocks","delete:anomaly_blocks","update:triggers","read:triggers","read:grants","delete:grants","read:guardian_factors","update:guardian_factors","read:guardian_enrollments","delete:guardian_enrollments","create:guardian_enrollment_tickets","read:user_idp_tokens","create:passwords_checking_job","delete:passwords_checking_job","read:custom_domains","delete:custom_domains","create:custom_domains","read:email_templates","create:email_templates","update:email_templates","read:mfa_policies","update:mfa_policies","read:roles","create:roles","delete:roles","update:roles","read:prompts","update:prompts","read:branding","update:branding"]}}},"response":{"statusCode":204,"body":{}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201631818782996667424430171166334888376795202","_id":"90020210903201631818782996667424430171166334888376795202","isMobile":false},{"date":"2021-09-03T20:16:29.169Z","type":"sapi","description":"Create - a User","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"post","path":"/api/v2/users","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{"name":"byron.schaden","email":"rubytest-210908byron_schaden@example.org","connection":"Username-Password-Authentication"},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{"scopes":["read:client_grants","create:client_grants","delete:client_grants","update:client_grants","read:users","update:users","delete:users","create:users","read:users_app_metadata","update:users_app_metadata","delete:users_app_metadata","create:users_app_metadata","create:user_tickets","read:clients","update:clients","delete:clients","create:clients","read:client_keys","update:client_keys","delete:client_keys","create:client_keys","read:connections","update:connections","delete:connections","create:connections","read:resource_servers","update:resource_servers","delete:resource_servers","create:resource_servers","read:device_credentials","update:device_credentials","delete:device_credentials","create:device_credentials","read:rules","update:rules","delete:rules","create:rules","read:rules_configs","update:rules_configs","delete:rules_configs","read:email_provider","update:email_provider","delete:email_provider","create:email_provider","blacklist:tokens","read:stats","read:tenant_settings","update:tenant_settings","read:logs","read:shields","create:shields","delete:shields","read:anomaly_blocks","delete:anomaly_blocks","update:triggers","read:triggers","read:grants","delete:grants","read:guardian_factors","update:guardian_factors","read:guardian_enrollments","delete:guardian_enrollments","create:guardian_enrollment_tickets","read:user_idp_tokens","create:passwords_checking_job","delete:passwords_checking_job","read:custom_domains","delete:custom_domains","create:custom_domains","read:email_templates","create:email_templates","update:email_templates","read:mfa_policies","update:mfa_policies","read:roles","create:roles","delete:roles","update:roles","read:prompts","update:prompts","read:branding","update:branding"]}}},"response":{"statusCode":201,"body":{"created_at":"2021-09-03T20:16:29.160Z","email":"rubytest-210908byron_schaden@example.org","email_verified":false,"identities":[{"connection":"Username-Password-Authentication","user_id":"6132829d7b569700698af981","provider":"auth0","isSocial":false}],"name":"byron.schaden","nickname":"rubytest-210908byron_schaden","picture":"https://s.gravatar.com/avatar/32658f9d62513c10242821f682c242c8?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fby.png","updated_at":"2021-09-03T20:16:29.160Z","user_id":"auth0|6132829d7b569700698af981"}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201631597782996667058125647823102248440823874","_id":"90020210903201631597782996667058125647823102248440823874","isMobile":false},{"date":"2021-09-03T20:16:27.991Z","type":"sapi","description":"Create - import users job","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"post","path":"/api/v2/jobs/users-imports","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{"scopes":["read:client_grants","create:client_grants","delete:client_grants","update:client_grants","read:users","update:users","delete:users","create:users","read:users_app_metadata","update:users_app_metadata","delete:users_app_metadata","create:users_app_metadata","create:user_tickets","read:clients","update:clients","delete:clients","create:clients","read:client_keys","update:client_keys","delete:client_keys","create:client_keys","read:connections","update:connections","delete:connections","create:connections","read:resource_servers","update:resource_servers","delete:resource_servers","create:resource_servers","read:device_credentials","update:device_credentials","delete:device_credentials","create:device_credentials","read:rules","update:rules","delete:rules","create:rules","read:rules_configs","update:rules_configs","delete:rules_configs","read:email_provider","update:email_provider","delete:email_provider","create:email_provider","blacklist:tokens","read:stats","read:tenant_settings","update:tenant_settings","read:logs","read:shields","create:shields","delete:shields","read:anomaly_blocks","delete:anomaly_blocks","update:triggers","read:triggers","read:grants","delete:grants","read:guardian_factors","update:guardian_factors","read:guardian_enrollments","delete:guardian_enrollments","create:guardian_enrollment_tickets","read:user_idp_tokens","create:passwords_checking_job","delete:passwords_checking_job","read:custom_domains","delete:custom_domains","create:custom_domains","read:email_templates","create:email_templates","update:email_templates","read:mfa_policies","update:mfa_policies","read:roles","create:roles","delete:roles","update:roles","read:prompts","update:prompts","read:branding","update:branding"]}}},"response":{"statusCode":202,"body":{"id":"job_lbD9RDHKSArypJYT","connection":"Username-Password-Authentication","status":"pending","type":"users_import","created_at":"2021-09-03T20:16:27.983Z"}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201631550410735474534178830949119522576007250","_id":"90020210903201631550410735474534178830949119522576007250","isMobile":false},{"date":"2021-09-03T20:16:29.742Z","type":"ss","description":"","connection":"Username-Password-Authentication","connection_id":"con_Xx4Kruoab04wvlYX","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"Ruby - SDK Integration Tests - DO NOT DELETE","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"body":{"client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","tenant":"auth0-sdk-tests","name":"herbert","email":"rubytest-210908herbert@example.net","password":"*****","connection":"Username-Password-Authentication"}},"user_id":"auth0|6132829d2f7d3d006a216aad","user_name":"rubytest-210908herbert@example.net","strategy":"auth0","strategy_type":"database","log_id":"90020210903201630295719680428417204242601358468254269490","_id":"90020210903201630295719680428417204242601358468254269490","isMobile":false},{"date":"2021-09-03T20:16:28.420Z","type":"sapi","description":"Create - export users job","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"post","path":"/api/v2/jobs/users-exports","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{"scopes":["read:client_grants","create:client_grants","delete:client_grants","update:client_grants","read:users","update:users","delete:users","create:users","read:users_app_metadata","update:users_app_metadata","delete:users_app_metadata","create:users_app_metadata","create:user_tickets","read:clients","update:clients","delete:clients","create:clients","read:client_keys","update:client_keys","delete:client_keys","create:client_keys","read:connections","update:connections","delete:connections","create:connections","read:resource_servers","update:resource_servers","delete:resource_servers","create:resource_servers","read:device_credentials","update:device_credentials","delete:device_credentials","create:device_credentials","read:rules","update:rules","delete:rules","create:rules","read:rules_configs","update:rules_configs","delete:rules_configs","read:email_provider","update:email_provider","delete:email_provider","create:email_provider","blacklist:tokens","read:stats","read:tenant_settings","update:tenant_settings","read:logs","read:shields","create:shields","delete:shields","read:anomaly_blocks","delete:anomaly_blocks","update:triggers","read:triggers","read:grants","delete:grants","read:guardian_factors","update:guardian_factors","read:guardian_enrollments","delete:guardian_enrollments","create:guardian_enrollment_tickets","read:user_idp_tokens","create:passwords_checking_job","delete:passwords_checking_job","read:custom_domains","delete:custom_domains","create:custom_domains","read:email_templates","create:email_templates","update:email_templates","read:mfa_policies","update:mfa_policies","read:roles","create:roles","delete:roles","update:roles","read:prompts","update:prompts","read:branding","update:branding"]}}},"response":{"statusCode":200,"body":{"id":"job_YrcUK95yky3F5koC","connection":"Username-Password-Authentication","status":"pending","type":"users_export","created_at":"2021-09-03T20:16:28.389Z"}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201630213782996666111536731064847535926411330","_id":"90020210903201630213782996666111536731064847535926411330","isMobile":false},{"date":"2021-09-03T20:16:29.447Z","type":"svr","description":"","connection":"Username-Password-Authentication","connection_id":"con_Xx4Kruoab04wvlYX","client_id":"WrzucugfsIb3oXl0Hnc8kq3BXkPFp7Hd","client_name":"All - Applications","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"body":{"template":{"type":"verify_email"},"tenant":"auth0-sdk-tests","client_id":"WrzucugfsIb3oXl0Hnc8kq3BXkPFp7Hd","connection":"Username-Password-Authentication","provider":"auth0","idp_user_id":"6132829d7b569700698af981","user_id":"auth0|6132829d7b569700698af981","to":"rubytest-210908byron_schaden@example.org","job_id":"job_ZdcjPTygi5CiOf4Y"}},"user_id":"auth0|6132829d7b569700698af981","user_name":"rubytest-210908byron_schaden@example.org","strategy":"auth0","strategy_type":"database","log_id":"90020210903201629782719680426432148046794137294667251762","_id":"90020210903201629782719680426432148046794137294667251762","isMobile":false},{"date":"2021-09-03T20:16:27.544Z","type":"sapi","description":"Create - import users job","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"post","path":"/api/v2/jobs/users-imports","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{"scopes":["read:client_grants","create:client_grants","delete:client_grants","update:client_grants","read:users","update:users","delete:users","create:users","read:users_app_metadata","update:users_app_metadata","delete:users_app_metadata","create:users_app_metadata","create:user_tickets","read:clients","update:clients","delete:clients","create:clients","read:client_keys","update:client_keys","delete:client_keys","create:client_keys","read:connections","update:connections","delete:connections","create:connections","read:resource_servers","update:resource_servers","delete:resource_servers","create:resource_servers","read:device_credentials","update:device_credentials","delete:device_credentials","create:device_credentials","read:rules","update:rules","delete:rules","create:rules","read:rules_configs","update:rules_configs","delete:rules_configs","read:email_provider","update:email_provider","delete:email_provider","create:email_provider","blacklist:tokens","read:stats","read:tenant_settings","update:tenant_settings","read:logs","read:shields","create:shields","delete:shields","read:anomaly_blocks","delete:anomaly_blocks","update:triggers","read:triggers","read:grants","delete:grants","read:guardian_factors","update:guardian_factors","read:guardian_enrollments","delete:guardian_enrollments","create:guardian_enrollment_tickets","read:user_idp_tokens","create:passwords_checking_job","delete:passwords_checking_job","read:custom_domains","delete:custom_domains","create:custom_domains","read:email_templates","create:email_templates","update:email_templates","read:mfa_policies","update:mfa_policies","read:roles","create:roles","delete:roles","update:roles","read:prompts","update:prompts","read:branding","update:branding"]}}},"response":{"statusCode":202,"body":{"id":"job_DuJkprUPj67PfRuy","connection":"Username-Password-Authentication","status":"pending","type":"users_import","created_at":"2021-09-03T20:16:27.536Z"}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201629142782996664929207279481740134344294466","_id":"90020210903201629142782996664929207279481740134344294466","isMobile":false},{"date":"2021-09-03T20:16:24.105Z","type":"sapi","description":"Delete - the email provider","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"delete","path":"/api/v2/emails/provider","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":null,"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{"scopes":["read:client_grants","create:client_grants","delete:client_grants","update:client_grants","read:users","update:users","delete:users","create:users","read:users_app_metadata","update:users_app_metadata","delete:users_app_metadata","create:users_app_metadata","create:user_tickets","read:clients","update:clients","delete:clients","create:clients","read:client_keys","update:client_keys","delete:client_keys","create:client_keys","read:connections","update:connections","delete:connections","create:connections","read:resource_servers","update:resource_servers","delete:resource_servers","create:resource_servers","read:device_credentials","update:device_credentials","delete:device_credentials","create:device_credentials","read:rules","update:rules","delete:rules","create:rules","read:rules_configs","update:rules_configs","delete:rules_configs","read:email_provider","update:email_provider","delete:email_provider","create:email_provider","blacklist:tokens","read:stats","read:tenant_settings","update:tenant_settings","read:logs","read:shields","create:shields","delete:shields","read:anomaly_blocks","delete:anomaly_blocks","update:triggers","read:triggers","read:grants","delete:grants","read:guardian_factors","update:guardian_factors","read:guardian_enrollments","delete:guardian_enrollments","create:guardian_enrollment_tickets","read:user_idp_tokens","create:passwords_checking_job","delete:passwords_checking_job","read:custom_domains","delete:custom_domains","create:custom_domains","read:email_templates","create:email_templates","update:email_templates","read:mfa_policies","update:mfa_policies","read:roles","create:roles","delete:roles","update:roles","read:prompts","update:prompts","read:branding","update:branding"]}}},"response":{"statusCode":204,"body":{}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201629124719680423900657380521103802832519218","_id":"90020210903201629124719680423900657380521103802832519218","isMobile":false},{"date":"2021-09-03T20:16:25.368Z","type":"sapi","description":"Delete - the email provider","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"delete","path":"/api/v2/emails/provider","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":null,"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{"scopes":["read:client_grants","create:client_grants","delete:client_grants","update:client_grants","read:users","update:users","delete:users","create:users","read:users_app_metadata","update:users_app_metadata","delete:users_app_metadata","create:users_app_metadata","create:user_tickets","read:clients","update:clients","delete:clients","create:clients","read:client_keys","update:client_keys","delete:client_keys","create:client_keys","read:connections","update:connections","delete:connections","create:connections","read:resource_servers","update:resource_servers","delete:resource_servers","create:resource_servers","read:device_credentials","update:device_credentials","delete:device_credentials","create:device_credentials","read:rules","update:rules","delete:rules","create:rules","read:rules_configs","update:rules_configs","delete:rules_configs","read:email_provider","update:email_provider","delete:email_provider","create:email_provider","blacklist:tokens","read:stats","read:tenant_settings","update:tenant_settings","read:logs","read:shields","create:shields","delete:shields","read:anomaly_blocks","delete:anomaly_blocks","update:triggers","read:triggers","read:grants","delete:grants","read:guardian_factors","update:guardian_factors","read:guardian_enrollments","delete:guardian_enrollments","create:guardian_enrollment_tickets","read:user_idp_tokens","create:passwords_checking_job","delete:passwords_checking_job","read:custom_domains","delete:custom_domains","create:custom_domains","read:email_templates","create:email_templates","update:email_templates","read:mfa_policies","update:mfa_policies","read:roles","create:roles","delete:roles","update:roles","read:prompts","update:prompts","read:branding","update:branding"]}}},"response":{"statusCode":204,"body":{}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201629104782996664927998353662125505169588290","_id":"90020210903201629104782996664927998353662125505169588290","isMobile":false},{"date":"2021-09-03T20:16:23.256Z","type":"ss","description":"","connection":"Username-Password-Authentication","connection_id":"con_Xx4Kruoab04wvlYX","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"Ruby - SDK Integration Tests - DO NOT DELETE","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"body":{"client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","tenant":"auth0-sdk-tests","name":"rubytest-210908-username","email":"rubytest-210908-rubytest-210908-username@auth0.com","password":"*****","email_verified":true,"connection":"Username-Password-Authentication"}},"user_id":"auth0|61328297148a95006b37e566","user_name":"rubytest-210908-rubytest-210908-username@auth0.com","strategy":"auth0","strategy_type":"database","log_id":"90020210903201628107410735472969828820367789164347785298","_id":"90020210903201628107410735472969828820367789164347785298","isMobile":false},{"date":"2021-09-03T20:16:23.274Z","type":"sapi","description":"Create - a User","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"post","path":"/api/v2/users","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{"name":"rubytest-210908-username","email":"rubytest-210908-rubytest-210908-username@auth0.com","email_verified":true,"connection":"Username-Password-Authentication"},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{"scopes":["read:client_grants","create:client_grants","delete:client_grants","update:client_grants","read:users","update:users","delete:users","create:users","read:users_app_metadata","update:users_app_metadata","delete:users_app_metadata","create:users_app_metadata","create:user_tickets","read:clients","update:clients","delete:clients","create:clients","read:client_keys","update:client_keys","delete:client_keys","create:client_keys","read:connections","update:connections","delete:connections","create:connections","read:resource_servers","update:resource_servers","delete:resource_servers","create:resource_servers","read:device_credentials","update:device_credentials","delete:device_credentials","create:device_credentials","read:rules","update:rules","delete:rules","create:rules","read:rules_configs","update:rules_configs","delete:rules_configs","read:email_provider","update:email_provider","delete:email_provider","create:email_provider","blacklist:tokens","read:stats","read:tenant_settings","update:tenant_settings","read:logs","read:shields","create:shields","delete:shields","read:anomaly_blocks","delete:anomaly_blocks","update:triggers","read:triggers","read:grants","delete:grants","read:guardian_factors","update:guardian_factors","read:guardian_enrollments","delete:guardian_enrollments","create:guardian_enrollment_tickets","read:user_idp_tokens","create:passwords_checking_job","delete:passwords_checking_job","read:custom_domains","delete:custom_domains","create:custom_domains","read:email_templates","create:email_templates","update:email_templates","read:mfa_policies","update:mfa_policies","read:roles","create:roles","delete:roles","update:roles","read:prompts","update:prompts","read:branding","update:branding"]}}},"response":{"statusCode":201,"body":{"created_at":"2021-09-03T20:16:23.259Z","email":"rubytest-210908-rubytest-210908-username@auth0.com","email_verified":true,"identities":[{"connection":"Username-Password-Authentication","user_id":"61328297148a95006b37e566","provider":"auth0","isSocial":false}],"name":"rubytest-210908-username","nickname":"rubytest-210908-rubytest-210908-username","picture":"https://s.gravatar.com/avatar/28607929c5bdf4954ee65d055fea6e69?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fru.png","updated_at":"2021-09-03T20:16:23.259Z","user_id":"auth0|61328297148a95006b37e566"}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201628021719680419604135017610711578487816242","_id":"90020210903201628021719680419604135017610711578487816242","isMobile":false},{"date":"2021-09-03T20:16:22.444Z","type":"sapi","description":"Delete - a connection user","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"delete","path":"/api/v2/connections/con_Xx4Kruoab04wvlYX/users","query":{"email":"rubytest-210908-rubytest-210908-username@auth0.com"},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":null,"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{"scopes":["read:client_grants","create:client_grants","delete:client_grants","update:client_grants","read:users","update:users","delete:users","create:users","read:users_app_metadata","update:users_app_metadata","delete:users_app_metadata","create:users_app_metadata","create:user_tickets","read:clients","update:clients","delete:clients","create:clients","read:client_keys","update:client_keys","delete:client_keys","create:client_keys","read:connections","update:connections","delete:connections","create:connections","read:resource_servers","update:resource_servers","delete:resource_servers","create:resource_servers","read:device_credentials","update:device_credentials","delete:device_credentials","create:device_credentials","read:rules","update:rules","delete:rules","create:rules","read:rules_configs","update:rules_configs","delete:rules_configs","read:email_provider","update:email_provider","delete:email_provider","create:email_provider","blacklist:tokens","read:stats","read:tenant_settings","update:tenant_settings","read:logs","read:shields","create:shields","delete:shields","read:anomaly_blocks","delete:anomaly_blocks","update:triggers","read:triggers","read:grants","delete:grants","read:guardian_factors","update:guardian_factors","read:guardian_enrollments","delete:guardian_enrollments","create:guardian_enrollment_tickets","read:user_idp_tokens","create:passwords_checking_job","delete:passwords_checking_job","read:custom_domains","delete:custom_domains","create:custom_domains","read:email_templates","create:email_templates","update:email_templates","read:mfa_policies","update:mfa_policies","read:roles","create:roles","delete:roles","update:roles","read:prompts","update:prompts","read:branding","update:branding"]}}},"response":{"statusCode":204,"body":{}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201627219782996658905129920342042819344465986","_id":"90020210903201627219782996658905129920342042819344465986","isMobile":false},{"date":"2021-09-03T20:16:22.683Z","type":"sapi","description":"Update - a connection","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"patch","path":"/api/v2/connections/con_WltM0fv20JCnxOuY","query":{"email":"rubytest-210908-rubytest-210908-username@auth0.com"},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{"scopes":["read:client_grants","create:client_grants","delete:client_grants","update:client_grants","read:users","update:users","delete:users","create:users","read:users_app_metadata","update:users_app_metadata","delete:users_app_metadata","create:users_app_metadata","create:user_tickets","read:clients","update:clients","delete:clients","create:clients","read:client_keys","update:client_keys","delete:client_keys","create:client_keys","read:connections","update:connections","delete:connections","create:connections","read:resource_servers","update:resource_servers","delete:resource_servers","create:resource_servers","read:device_credentials","update:device_credentials","delete:device_credentials","create:device_credentials","read:rules","update:rules","delete:rules","create:rules","read:rules_configs","update:rules_configs","delete:rules_configs","read:email_provider","update:email_provider","delete:email_provider","create:email_provider","blacklist:tokens","read:stats","read:tenant_settings","update:tenant_settings","read:logs","read:shields","create:shields","delete:shields","read:anomaly_blocks","delete:anomaly_blocks","update:triggers","read:triggers","read:grants","delete:grants","read:guardian_factors","update:guardian_factors","read:guardian_enrollments","delete:guardian_enrollments","create:guardian_enrollment_tickets","read:user_idp_tokens","create:passwords_checking_job","delete:passwords_checking_job","read:custom_domains","delete:custom_domains","create:custom_domains","read:email_templates","create:email_templates","update:email_templates","read:mfa_policies","update:mfa_policies","read:roles","create:roles","delete:roles","update:roles","read:prompts","update:prompts","read:branding","update:branding"]}}},"response":{"statusCode":200,"body":{"id":"con_WltM0fv20JCnxOuY","strategy":"auth0","name":"TestConnection-rubytest-210908","enabled_clients":[],"realms":["TestConnection-rubytest-210908"]}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201626824549783288356246141456395750007111778","_id":"90020210903201626824549783288356246141456395750007111778","isMobile":false},{"date":"2021-09-03T20:16:20.354Z","type":"sapi","description":"Create - a User","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"post","path":"/api/v2/users","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{"name":"rubytest-210908-username","email":"rubytest-210908-rubytest-210908-username@auth0.com","connection":"Username-Password-Authentication"},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{"scopes":["read:client_grants","create:client_grants","delete:client_grants","update:client_grants","read:users","update:users","delete:users","create:users","read:users_app_metadata","update:users_app_metadata","delete:users_app_metadata","create:users_app_metadata","create:user_tickets","read:clients","update:clients","delete:clients","create:clients","read:client_keys","update:client_keys","delete:client_keys","create:client_keys","read:connections","update:connections","delete:connections","create:connections","read:resource_servers","update:resource_servers","delete:resource_servers","create:resource_servers","read:device_credentials","update:device_credentials","delete:device_credentials","create:device_credentials","read:rules","update:rules","delete:rules","create:rules","read:rules_configs","update:rules_configs","delete:rules_configs","read:email_provider","update:email_provider","delete:email_provider","create:email_provider","blacklist:tokens","read:stats","read:tenant_settings","update:tenant_settings","read:logs","read:shields","create:shields","delete:shields","read:anomaly_blocks","delete:anomaly_blocks","update:triggers","read:triggers","read:grants","delete:grants","read:guardian_factors","update:guardian_factors","read:guardian_enrollments","delete:guardian_enrollments","create:guardian_enrollment_tickets","read:user_idp_tokens","create:passwords_checking_job","delete:passwords_checking_job","read:custom_domains","delete:custom_domains","create:custom_domains","read:email_templates","create:email_templates","update:email_templates","read:mfa_policies","update:mfa_policies","read:roles","create:roles","delete:roles","update:roles","read:prompts","update:prompts","read:branding","update:branding"]}}},"response":{"statusCode":201,"body":{"created_at":"2021-09-03T20:16:20.346Z","email":"rubytest-210908-rubytest-210908-username@auth0.com","email_verified":false,"identities":[{"connection":"Username-Password-Authentication","user_id":"6132829445244d0069782a78","provider":"auth0","isSocial":false}],"name":"rubytest-210908-username","nickname":"rubytest-210908-rubytest-210908-username","picture":"https://s.gravatar.com/avatar/28607929c5bdf4954ee65d055fea6e69?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fru.png","updated_at":"2021-09-03T20:16:20.346Z","user_id":"auth0|6132829445244d0069782a78"}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201625400782996654511893491862480261023268930","_id":"90020210903201625400782996654511893491862480261023268930","isMobile":false},{"date":"2021-09-03T20:16:23.905Z","type":"sapi","description":"Delete - a User","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"delete","path":"/api/v2/users/auth0%7C61328297148a95006b37e566","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":null,"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{"scopes":["read:client_grants","create:client_grants","delete:client_grants","update:client_grants","read:users","update:users","delete:users","create:users","read:users_app_metadata","update:users_app_metadata","delete:users_app_metadata","create:users_app_metadata","create:user_tickets","read:clients","update:clients","delete:clients","create:clients","read:client_keys","update:client_keys","delete:client_keys","create:client_keys","read:connections","update:connections","delete:connections","create:connections","read:resource_servers","update:resource_servers","delete:resource_servers","create:resource_servers","read:device_credentials","update:device_credentials","delete:device_credentials","create:device_credentials","read:rules","update:rules","delete:rules","create:rules","read:rules_configs","update:rules_configs","delete:rules_configs","read:email_provider","update:email_provider","delete:email_provider","create:email_provider","blacklist:tokens","read:stats","read:tenant_settings","update:tenant_settings","read:logs","read:shields","create:shields","delete:shields","read:anomaly_blocks","delete:anomaly_blocks","update:triggers","read:triggers","read:grants","delete:grants","read:guardian_factors","update:guardian_factors","read:guardian_enrollments","delete:guardian_enrollments","create:guardian_enrollment_tickets","read:user_idp_tokens","create:passwords_checking_job","delete:passwords_checking_job","read:custom_domains","delete:custom_domains","create:custom_domains","read:email_templates","create:email_templates","update:email_templates","read:mfa_policies","update:mfa_policies","read:roles","create:roles","delete:roles","update:roles","read:prompts","update:prompts","read:branding","update:branding"]}}},"response":{"statusCode":204,"body":{}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201624899719680406442559619466243616022724658","_id":"90020210903201624899719680406442559619466243616022724658","isMobile":false},{"date":"2021-09-03T20:16:19.791Z","type":"sapi","description":"Delete - a client","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"deleted":true,"request":{"method":"delete","path":"/api/v2/clients/SftKo9ySyHnMPezQUFd0C70GBoNFM21F","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{}}},"response":{"statusCode":204,"body":{}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201624842782996653606408052971123009168343106","_id":"90020210903201624842782996653606408052971123009168343106","isMobile":false},{"date":"2021-09-03T20:16:20.337Z","type":"ss","description":"","connection":"Username-Password-Authentication","connection_id":"con_Xx4Kruoab04wvlYX","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"Ruby - SDK Integration Tests - DO NOT DELETE","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"body":{"client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","tenant":"auth0-sdk-tests","name":"rubytest-210908-username","email":"rubytest-210908-rubytest-210908-username@auth0.com","password":"*****","connection":"Username-Password-Authentication"}},"user_id":"auth0|6132829445244d0069782a78","user_name":"rubytest-210908-rubytest-210908-username@auth0.com","strategy":"auth0","strategy_type":"database","log_id":"90020210903201624685782996653359787185769738588808806466","_id":"90020210903201624685782996653359787185769738588808806466","isMobile":false},{"date":"2021-09-03T20:16:22.965Z","type":"sapi","description":"Delete - a connection","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"deleted":true,"request":{"method":"delete","path":"/api/v2/connections/con_WltM0fv20JCnxOuY","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{"scopes":["read:client_grants","create:client_grants","delete:client_grants","update:client_grants","read:users","update:users","delete:users","create:users","read:users_app_metadata","update:users_app_metadata","delete:users_app_metadata","create:users_app_metadata","create:user_tickets","read:clients","update:clients","delete:clients","create:clients","read:client_keys","update:client_keys","delete:client_keys","create:client_keys","read:connections","update:connections","delete:connections","create:connections","read:resource_servers","update:resource_servers","delete:resource_servers","create:resource_servers","read:device_credentials","update:device_credentials","delete:device_credentials","create:device_credentials","read:rules","update:rules","delete:rules","create:rules","read:rules_configs","update:rules_configs","delete:rules_configs","read:email_provider","update:email_provider","delete:email_provider","create:email_provider","blacklist:tokens","read:stats","read:tenant_settings","update:tenant_settings","read:logs","read:shields","create:shields","delete:shields","read:anomaly_blocks","delete:anomaly_blocks","update:triggers","read:triggers","read:grants","delete:grants","read:guardian_factors","update:guardian_factors","read:guardian_enrollments","delete:guardian_enrollments","create:guardian_enrollment_tickets","read:user_idp_tokens","create:passwords_checking_job","delete:passwords_checking_job","read:custom_domains","delete:custom_domains","create:custom_domains","read:email_templates","create:email_templates","update:email_templates","read:mfa_policies","update:mfa_policies","read:roles","create:roles","delete:roles","update:roles","read:prompts","update:prompts","read:branding","update:branding"]}}},"response":{"statusCode":202,"body":{}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201624596410735471250736304875786271757172818","_id":"90020210903201624596410735471250736304875786271757172818","isMobile":false},{"date":"2021-09-03T20:16:19.563Z","type":"sapi","description":"Update - a client","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"patch","path":"/api/v2/clients/SftKo9ySyHnMPezQUFd0C70GBoNFM21F","query":{"fields":"jwt_configuration","include_fields":"false"},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{"sso":true,"custom_login_page_on":false},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{}}},"response":{"statusCode":200,"body":{"client_secret":"REDACTED","name":"TestClient-rubytest-210908","description":"Client - description","client_id":"SftKo9ySyHnMPezQUFd0C70GBoNFM21F","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"is_token_endpoint_ip_header_trusted":false,"is_first_party":true,"oidc_conformant":false,"jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"sso":true,"cross_origin_auth":false,"sso_disabled":false,"custom_login_page_on":false,"refresh_token":{"expiration_type":"non-expiring","leeway":0,"infinite_token_lifetime":true,"infinite_idle_token_lifetime":true,"token_lifetime":2592000,"idle_token_lifetime":1296000,"rotation_type":"non-rotating"}}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201624596410735471249527379056171642582466642","_id":"90020210903201624596410735471249527379056171642582466642","isMobile":false},{"date":"2021-09-03T20:16:23.877Z","type":"sdu","description":"user_id: - 61328297148a95006b37e566","connection":"Username-Password-Authentication","connection_id":"con_Xx4Kruoab04wvlYX","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"body":{"tenant":"auth0-sdk-tests","connection":"Username-Password-Authentication"}},"user_id":"","user_name":"","strategy":"auth0","strategy_type":"database","log_id":"90020210903201624336410735471127425871275094027217666130","_id":"90020210903201624336410735471127425871275094027217666130","isMobile":false},{"date":"2021-09-03T20:16:16.508Z","type":"sapi","description":"Delete - client grant","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"delete","path":"/api/v2/client-grants/cgr_j6Sld05vF0Sxr2Le","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{}}},"response":{"statusCode":204,"body":{}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201621549719680396406057465025591932734144562","_id":"90020210903201621549719680396406057465025591932734144562","isMobile":false},{"date":"2021-09-03T20:16:16.933Z","type":"sapi","description":"Delete - client grant","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"delete","path":"/api/v2/client-grants/cgr_j6Sld05vF0Sxr2Le","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{}}},"response":{"statusCode":204,"body":{}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201621356549783279746276454161006424152342626","_id":"90020210903201621356549783279746276454161006424152342626","isMobile":false},{"date":"2021-09-03T20:16:15.412Z","type":"sapi","description":"Create - a client","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"post","path":"/api/v2/clients","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{"name":"ClientGrantTestClient-rubytest-210908"},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{}}},"response":{"statusCode":201,"body":{"client_secret":"REDACTED","name":"ClientGrantTestClient-rubytest-210908","client_id":"qVx7qDuyruWWCfkTrxeNT74FI6mJc4Vy","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"is_token_endpoint_ip_header_trusted":false,"is_first_party":true,"oidc_conformant":false,"jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"cross_origin_auth":false,"sso_disabled":false,"custom_login_page_on":true,"refresh_token":{"expiration_type":"non-expiring","leeway":0,"infinite_token_lifetime":true,"infinite_idle_token_lifetime":true,"token_lifetime":2592000,"idle_token_lifetime":1296000,"rotation_type":"non-rotating"}}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201620523410735469665834555361007080119992402","_id":"90020210903201620523410735469665834555361007080119992402","isMobile":false},{"date":"2021-09-03T20:16:20.032Z","type":"sapi","description":"Create - a connection","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"post","path":"/api/v2/connections","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{"strategy":"auth0","name":"TestConnection-rubytest-210908"},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{"scopes":["read:client_grants","create:client_grants","delete:client_grants","update:client_grants","read:users","update:users","delete:users","create:users","read:users_app_metadata","update:users_app_metadata","delete:users_app_metadata","create:users_app_metadata","create:user_tickets","read:clients","update:clients","delete:clients","create:clients","read:client_keys","update:client_keys","delete:client_keys","create:client_keys","read:connections","update:connections","delete:connections","create:connections","read:resource_servers","update:resource_servers","delete:resource_servers","create:resource_servers","read:device_credentials","update:device_credentials","delete:device_credentials","create:device_credentials","read:rules","update:rules","delete:rules","create:rules","read:rules_configs","update:rules_configs","delete:rules_configs","read:email_provider","update:email_provider","delete:email_provider","create:email_provider","blacklist:tokens","read:stats","read:tenant_settings","update:tenant_settings","read:logs","read:shields","create:shields","delete:shields","read:anomaly_blocks","delete:anomaly_blocks","update:triggers","read:triggers","read:grants","delete:grants","read:guardian_factors","update:guardian_factors","read:guardian_enrollments","delete:guardian_enrollments","create:guardian_enrollment_tickets","read:user_idp_tokens","create:passwords_checking_job","delete:passwords_checking_job","read:custom_domains","delete:custom_domains","create:custom_domains","read:email_templates","create:email_templates","update:email_templates","read:mfa_policies","update:mfa_policies","read:roles","create:roles","delete:roles","update:roles","read:prompts","update:prompts","read:branding","update:branding"]}}},"response":{"statusCode":201,"body":{"id":"con_WltM0fv20JCnxOuY","strategy":"auth0","name":"TestConnection-rubytest-210908","enabled_clients":[],"realms":["TestConnection-rubytest-210908"]}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201620493782996648568814162636962894570324034","_id":"90020210903201620493782996648568814162636962894570324034","isMobile":false},{"date":"2021-09-03T20:16:16.351Z","type":"sapi","description":"Update - client grant","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"patch","path":"/api/v2/client-grants/cgr_j6Sld05vF0Sxr2Le","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{"scope":["new:scope"]},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{}}},"response":{"statusCode":200,"body":{"client_id":"qVx7qDuyruWWCfkTrxeNT74FI6mJc4Vy","audience":"https://auth0-sdk-tests.auth0.com/api/v2/","scope":["new:scope"]}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201619784782996647923247774962750846557749314","_id":"90020210903201619784782996647923247774962750846557749314","isMobile":false},{"date":"2021-09-03T20:16:14.694Z","type":"sapi","description":"Blacklist - a token","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"post","path":"/api/v2/blacklists/tokens","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{"jti":"faketoken","aud":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI"},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{"scopes":["read:client_grants","create:client_grants","delete:client_grants","update:client_grants","read:users","update:users","delete:users","create:users","read:users_app_metadata","update:users_app_metadata","delete:users_app_metadata","create:users_app_metadata","create:user_tickets","read:clients","update:clients","delete:clients","create:clients","read:client_keys","update:client_keys","delete:client_keys","create:client_keys","read:connections","update:connections","delete:connections","create:connections","read:resource_servers","update:resource_servers","delete:resource_servers","create:resource_servers","read:device_credentials","update:device_credentials","delete:device_credentials","create:device_credentials","read:rules","update:rules","delete:rules","create:rules","read:rules_configs","update:rules_configs","delete:rules_configs","read:email_provider","update:email_provider","delete:email_provider","create:email_provider","blacklist:tokens","read:stats","read:tenant_settings","update:tenant_settings","read:logs","read:shields","create:shields","delete:shields","read:anomaly_blocks","delete:anomaly_blocks","update:triggers","read:triggers","read:grants","delete:grants","read:guardian_factors","update:guardian_factors","read:guardian_enrollments","delete:guardian_enrollments","create:guardian_enrollment_tickets","read:user_idp_tokens","create:passwords_checking_job","delete:passwords_checking_job","read:custom_domains","delete:custom_domains","create:custom_domains","read:email_templates","create:email_templates","update:email_templates","read:mfa_policies","update:mfa_policies","read:roles","create:roles","delete:roles","update:roles","read:prompts","update:prompts","read:branding","update:branding"]}}},"response":{"statusCode":204,"body":{}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201619784782996647922038849143136217383043138","_id":"90020210903201619784782996647922038849143136217383043138","isMobile":false},{"date":"2021-09-03T20:16:17.572Z","type":"sapi","description":"Create - a client","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"post","path":"/api/v2/clients","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{"name":"TestClient-rubytest-210908","description":"Client - description","custom_login_page_on":false},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{}}},"response":{"statusCode":201,"body":{"client_secret":"REDACTED","name":"TestClient-rubytest-210908","description":"Client - description","client_id":"SftKo9ySyHnMPezQUFd0C70GBoNFM21F","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"is_token_endpoint_ip_header_trusted":false,"is_first_party":true,"oidc_conformant":false,"jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"cross_origin_auth":false,"sso_disabled":false,"custom_login_page_on":false,"refresh_token":{"expiration_type":"non-expiring","leeway":0,"infinite_token_lifetime":true,"infinite_idle_token_lifetime":true,"token_lifetime":2592000,"idle_token_lifetime":1296000,"rotation_type":"non-rotating"}}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201618953549783276113454366219045548001853538","_id":"90020210903201618953549783276113454366219045548001853538","isMobile":false},{"date":"2021-09-03T20:16:16.738Z","type":"sapi","description":"Delete - a client","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"deleted":true,"request":{"method":"delete","path":"/api/v2/clients/qVx7qDuyruWWCfkTrxeNT74FI6mJc4Vy","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{}}},"response":{"statusCode":204,"body":{}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201618496782996646921048270502223192006852674","_id":"90020210903201618496782996646921048270502223192006852674","isMobile":false},{"date":"2021-09-03T20:16:13.816Z","type":"fepft","description":"invalid - audience specified for password grant exchange","connection":"Username-Password-Authentication","connection_id":"con_Xx4Kruoab04wvlYX","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"Ruby - SDK Integration Tests - DO NOT DELETE","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","client_ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","hostname":"auth0-sdk-tests.auth0.com","user_id":"","user_name":"rubytest-210908-username-1@auth0.com","audience":"https://brucke.club/invalid/api/v1/","scope":"test:scope","auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201617997782996646630906073794712190077370434","_id":"90020210903201617997782996646630906073794712190077370434","isMobile":false},{"date":"2021-09-03T20:16:14.448Z","type":"sdu","description":"user_id: - 6132828a407ec6006935a858","connection":"Username-Password-Authentication","connection_id":"con_Xx4Kruoab04wvlYX","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"body":{"tenant":"auth0-sdk-tests","connection":"Username-Password-Authentication"}},"user_id":"","user_name":"","strategy":"auth0","strategy_type":"database","log_id":"90020210903201617889782996646525729527488239451877933122","_id":"90020210903201617889782996646525729527488239451877933122","isMobile":false},{"date":"2021-09-03T20:16:13.088Z","type":"fepft","description":"Wrong - email or password.","connection":"Username-Password-Authentication","connection_id":"con_Xx4Kruoab04wvlYX","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"Ruby - SDK Integration Tests - DO NOT DELETE","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","client_ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","hostname":"auth0-sdk-tests.auth0.com","user_id":"","user_name":"rubytest-210908-username-1@auth0.com","audience":"https://auth0-sdk-tests.auth0.com/userinfo","scope":"openid","auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201617778549783274393152924907428163675488354","_id":"90020210903201617778549783274393152924907428163675488354","isMobile":false},{"date":"2021-09-03T20:16:13.080Z","type":"fp","description":"Wrong - email or password.","connection":"Username-Password-Authentication","connection_id":"con_Xx4Kruoab04wvlYX","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"Ruby - SDK Integration Tests - DO NOT DELETE","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"error":{"message":"Wrong email or password."}},"user_id":"auth0|6132828a407ec6006935a858","user_name":"rubytest-210908-username-1@auth0.com","strategy":"auth0","strategy_type":"database","log_id":"90020210903201617502410735467911683191100179941462900818","_id":"90020210903201617502410735467911683191100179941462900818","isMobile":false},{"date":"2021-09-03T20:16:14.212Z","type":"sepft","description":"","connection":"Username-Password-Authentication","connection_id":"con_Xx4Kruoab04wvlYX","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"Ruby - SDK Integration Tests - DO NOT DELETE","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","client_ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","user_id":"auth0|6132828a407ec6006935a858","user_name":"rubytest-210908-username-1@auth0.com","audience":"https://brucke.club/custom/api/v1/","scope":"test:scope","auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201617325549783273747586537233216184382390370","_id":"90020210903201617325549783273747586537233216184382390370","isMobile":false},{"date":"2021-09-03T20:16:15.661Z","type":"sapi","description":"Create - client grant","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"post","path":"/api/v2/client-grants","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{"client_id":"qVx7qDuyruWWCfkTrxeNT74FI6mJc4Vy","audience":"https://auth0-sdk-tests.auth0.com/api/v2/","scope":["test:scope"]},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{}}},"response":{"statusCode":201,"body":{"client_id":"qVx7qDuyruWWCfkTrxeNT74FI6mJc4Vy","audience":"https://auth0-sdk-tests.auth0.com/api/v2/","scope":["test:scope"]}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201617285410735467715837208322610015160500306","_id":"90020210903201617285410735467715837208322610015160500306","isMobile":false},{"date":"2021-09-03T20:16:13.482Z","type":"sepft","description":"","connection":"Username-Password-Authentication","connection_id":"con_Xx4Kruoab04wvlYX","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"Ruby - SDK Integration Tests - DO NOT DELETE","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","client_ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","user_id":"auth0|6132828a407ec6006935a858","user_name":"rubytest-210908-username-1@auth0.com","audience":"https://auth0-sdk-tests.auth0.com/userinfo","scope":"openid - profile email address phone","auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201617112719680381834874561210466215122698290","_id":"90020210903201617112719680381834874561210466215122698290","isMobile":false},{"date":"2021-09-03T20:16:14.470Z","type":"sapi","description":"Delete - a User","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"delete","path":"/api/v2/users/auth0%7C6132828a407ec6006935a858","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":null,"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{"scopes":["read:client_grants","create:client_grants","delete:client_grants","update:client_grants","read:users","update:users","delete:users","create:users","read:users_app_metadata","update:users_app_metadata","delete:users_app_metadata","create:users_app_metadata","create:user_tickets","read:clients","update:clients","delete:clients","create:clients","read:client_keys","update:client_keys","delete:client_keys","create:client_keys","read:connections","update:connections","delete:connections","create:connections","read:resource_servers","update:resource_servers","delete:resource_servers","create:resource_servers","read:device_credentials","update:device_credentials","delete:device_credentials","create:device_credentials","read:rules","update:rules","delete:rules","create:rules","read:rules_configs","update:rules_configs","delete:rules_configs","read:email_provider","update:email_provider","delete:email_provider","create:email_provider","blacklist:tokens","read:stats","read:tenant_settings","update:tenant_settings","read:logs","read:shields","create:shields","delete:shields","read:anomaly_blocks","delete:anomaly_blocks","update:triggers","read:triggers","read:grants","delete:grants","read:guardian_factors","update:guardian_factors","read:guardian_enrollments","delete:guardian_enrollments","create:guardian_enrollment_tickets","read:user_idp_tokens","create:passwords_checking_job","delete:passwords_checking_job","read:custom_domains","delete:custom_domains","create:custom_domains","read:email_templates","create:email_templates","update:email_templates","read:mfa_policies","update:mfa_policies","read:roles","create:roles","delete:roles","update:roles","read:prompts","update:prompts","read:branding","update:branding"]}}},"response":{"statusCode":204,"body":{}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201616981410735467636048104228044489629892690","_id":"90020210903201616981410735467636048104228044489629892690","isMobile":false},{"date":"2021-09-03T20:16:12.199Z","type":"sepft","description":"","connection":"Username-Password-Authentication","connection_id":"con_Xx4Kruoab04wvlYX","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"Ruby - SDK Integration Tests - DO NOT DELETE","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","client_ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","user_id":"auth0|6132828a407ec6006935a858","user_name":"rubytest-210908-username-1@auth0.com","audience":"https://auth0-sdk-tests.auth0.com/userinfo","scope":"openid - profile email address phone","auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201615805782996644997647291495348037610373186","_id":"90020210903201615805782996644997647291495348037610373186","isMobile":false},{"date":"2021-09-03T20:16:10.744Z","type":"ss","description":"","connection":"Username-Password-Authentication","connection_id":"con_Xx4Kruoab04wvlYX","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"Ruby - SDK Integration Tests - DO NOT DELETE","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"body":{"tenant":"auth0-sdk-tests","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","connection":"Username-Password-Authentication","email":"rubytest-210908-username-1@auth0.com","password":"*****"}},"user_id":"auth0|6132828a407ec6006935a858","user_name":"rubytest-210908-username-1@auth0.com","strategy":"auth0","strategy_type":"database","log_id":"90020210903201615420782996644784876347243173234142609474","_id":"90020210903201615420782996644784876347243173234142609474","isMobile":false},{"date":"2021-09-03T20:16:12.764Z","type":"fu","description":"Wrong - email or password.","connection":"Username-Password-Authentication","connection_id":"con_Xx4Kruoab04wvlYX","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"Ruby - SDK Integration Tests - DO NOT DELETE","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"error":{"message":"Wrong email or password."}},"user_id":"","user_name":"rubytest-210908-username-1@auth0.com_invalid","strategy":"auth0","strategy_type":"database","log_id":"90020210903201615320410735466535925608378731803208319058","_id":"90020210903201615320410735466535925608378731803208319058","isMobile":false},{"date":"2021-09-03T20:16:12.775Z","type":"fepft","description":"Wrong - email or password.","connection":"Username-Password-Authentication","connection_id":"con_Xx4Kruoab04wvlYX","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"Ruby - SDK Integration Tests - DO NOT DELETE","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","client_ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","hostname":"auth0-sdk-tests.auth0.com","user_id":"","user_name":"rubytest-210908-username-1@auth0.com_invalid","audience":"https://auth0-sdk-tests.auth0.com/userinfo","scope":"openid","auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201615078549783270284014064037303461410242658","_id":"90020210903201615078549783270284014064037303461410242658","isMobile":false},{"date":"2021-09-03T20:15:00.963Z","type":"sapi","description":"Create - a client","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"post","path":"/api/v2/clients","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{"name":"TestClient-rubytest","description":"Client - description","custom_login_page_on":false},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{}}},"response":{"statusCode":201,"body":{"client_secret":"REDACTED","name":"TestClient-rubytest","description":"Client - description","client_id":"aNG5n4ny57xCrd53MhfwomU85fpsEdyr","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"is_token_endpoint_ip_header_trusted":false,"is_first_party":true,"oidc_conformant":false,"jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"cross_origin_auth":false,"sso_disabled":false,"custom_login_page_on":false,"refresh_token":{"expiration_type":"non-expiring","leeway":0,"infinite_token_lifetime":true,"infinite_idle_token_lifetime":true,"token_lifetime":2592000,"idle_token_lifetime":1296000,"rotation_type":"non-rotating"}}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201506041782996593625553512791291077282758722","_id":"90020210903201506041782996593625553512791291077282758722","isMobile":false},{"date":"2021-09-03T20:14:57.290Z","type":"sapi","description":"Blacklist - a token","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"post","path":"/api/v2/blacklists/tokens","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{"jti":"faketoken","aud":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI"},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{"scopes":["read:client_grants","create:client_grants","delete:client_grants","update:client_grants","read:users","update:users","delete:users","create:users","read:users_app_metadata","update:users_app_metadata","delete:users_app_metadata","create:users_app_metadata","create:user_tickets","read:clients","update:clients","delete:clients","create:clients","read:client_keys","update:client_keys","delete:client_keys","create:client_keys","read:connections","update:connections","delete:connections","create:connections","read:resource_servers","update:resource_servers","delete:resource_servers","create:resource_servers","read:device_credentials","update:device_credentials","delete:device_credentials","create:device_credentials","read:rules","update:rules","delete:rules","create:rules","read:rules_configs","update:rules_configs","delete:rules_configs","read:email_provider","update:email_provider","delete:email_provider","create:email_provider","blacklist:tokens","read:stats","read:tenant_settings","update:tenant_settings","read:logs","read:shields","create:shields","delete:shields","read:anomaly_blocks","delete:anomaly_blocks","update:triggers","read:triggers","read:grants","delete:grants","read:guardian_factors","update:guardian_factors","read:guardian_enrollments","delete:guardian_enrollments","create:guardian_enrollment_tickets","read:user_idp_tokens","create:passwords_checking_job","delete:passwords_checking_job","read:custom_domains","delete:custom_domains","create:custom_domains","read:email_templates","create:email_templates","update:email_templates","read:mfa_policies","update:mfa_policies","read:roles","create:roles","delete:roles","update:roles","read:prompts","update:prompts","read:branding","update:branding"]}}},"response":{"statusCode":204,"body":{}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201502345410735429365083432687723483276247122","_id":"90020210903201502345410735429365083432687723483276247122","isMobile":false},{"date":"2021-09-03T20:14:59.762Z","type":"sapi","description":"Delete - client grant","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"delete","path":"/api/v2/client-grants/cgr_ECbN3qJw9YuMnpHp","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{}}},"response":{"statusCode":204,"body":{}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201501097549783150707952320134712008086913122","_id":"90020210903201501097549783150707952320134712008086913122","isMobile":false},{"date":"2021-09-03T20:15:00.450Z","type":"sapi","description":"Delete - client grant","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"delete","path":"/api/v2/client-grants/cgr_ECbN3qJw9YuMnpHp","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{}}},"response":{"statusCode":204,"body":{}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201500706549783150140966110735450925149716578","_id":"90020210903201500706549783150140966110735450925149716578","isMobile":false},{"date":"2021-09-03T20:15:00.230Z","type":"sapi","description":"Delete - a client","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"deleted":true,"request":{"method":"delete","path":"/api/v2/clients/P7nJlNylVKRB2GdTt04KH4GXxIiGAaKr","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{}}},"response":{"statusCode":204,"body":{}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201500706549783150139757184915836295975010402","_id":"90020210903201500706549783150139757184915836295975010402","isMobile":false},{"date":"2021-09-03T20:14:59.406Z","type":"sapi","description":"Update - client grant","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"patch","path":"/api/v2/client-grants/cgr_ECbN3qJw9YuMnpHp","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{"scope":["new:scope"]},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{}}},"response":{"statusCode":200,"body":{"client_id":"P7nJlNylVKRB2GdTt04KH4GXxIiGAaKr","audience":"https://auth0-sdk-tests.auth0.com/api/v2/","scope":["new:scope"]}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201500522782996589637307233882629017610223682","_id":"90020210903201500522782996589637307233882629017610223682","isMobile":false},{"date":"2021-09-03T20:14:58.278Z","type":"sapi","description":"Create - client grant","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"post","path":"/api/v2/client-grants","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{"client_id":"P7nJlNylVKRB2GdTt04KH4GXxIiGAaKr","audience":"https://auth0-sdk-tests.auth0.com/api/v2/","scope":["test:scope"]},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{}}},"response":{"statusCode":201,"body":{"client_id":"P7nJlNylVKRB2GdTt04KH4GXxIiGAaKr","audience":"https://auth0-sdk-tests.auth0.com/api/v2/","scope":["test:scope"]}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201459682719680118509070384391163278853668914","_id":"90020210903201459682719680118509070384391163278853668914","isMobile":false},{"date":"2021-09-03T20:14:58.048Z","type":"sapi","description":"Create - a client","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"post","path":"/api/v2/clients","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{"name":"ClientGrantTestClient-rubytest"},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{}}},"response":{"statusCode":201,"body":{"client_secret":"REDACTED","name":"ClientGrantTestClient-rubytest","client_id":"P7nJlNylVKRB2GdTt04KH4GXxIiGAaKr","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"is_token_endpoint_ip_header_trusted":false,"is_first_party":true,"oidc_conformant":false,"jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"cross_origin_auth":false,"sso_disabled":false,"custom_login_page_on":true,"refresh_token":{"expiration_type":"non-expiring","leeway":0,"infinite_token_lifetime":true,"infinite_idle_token_lifetime":true,"token_lifetime":2592000,"idle_token_lifetime":1296000,"rotation_type":"non-rotating"}}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201459614410735428066697102421611612202860626","_id":"90020210903201459614410735428066697102421611612202860626","isMobile":false},{"date":"2021-09-03T20:14:56.701Z","type":"fs","description":"The - user already exists.","connection":"Username-Password-Authentication","connection_id":"con_Xx4Kruoab04wvlYX","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"Ruby - SDK Integration Tests - DO NOT DELETE","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"body":{"tenant":"auth0-sdk-tests","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","connection":"Username-Password-Authentication","email":"rubytest-username-1@auth0.com","password":"*****"}},"user_id":"","user_name":"rubytest-username-1@auth0.com","strategy":"auth0","strategy_type":"database","log_id":"90020210903201457803549783145262950428590422067771342946","_id":"90020210903201457803549783145262950428590422067771342946","isMobile":false}]' - recorded_at: Fri, 03 Sep 2021 20:16:32 GMT -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/logs?from=90020210903201457803549783145262950428590422067771342946&take=1 - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:32 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a80c8f783197-LAX - Cache-Control: - - no-cache - Link: - - ; - rel="next" - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a80c8f783197 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 743c3c2b3024b49f - Ot-Tracer-Traceid: - - 6a3047b60bc59912 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700193' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '[{"date":"2021-09-03T20:14:58.048Z","type":"sapi","description":"Create - a client","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"request":{"method":"post","path":"/api/v2/clients","query":{},"userAgent":"rest-client/2.1.0 - (darwin19.6.0 x86_64) ruby/2.7.0p0","body":{"name":"ClientGrantTestClient-rubytest"},"channel":"api","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","auth":{"user":{},"strategy":"jwt","credentials":{}}},"response":{"statusCode":201,"body":{"client_secret":"REDACTED","name":"ClientGrantTestClient-rubytest","client_id":"P7nJlNylVKRB2GdTt04KH4GXxIiGAaKr","grant_types":["authorization_code","implicit","refresh_token","client_credentials"],"is_token_endpoint_ip_header_trusted":false,"is_first_party":true,"oidc_conformant":false,"jwt_configuration":{"lifetime_in_seconds":36000,"secret_encoded":false},"cross_origin_auth":false,"sso_disabled":false,"custom_login_page_on":true,"refresh_token":{"expiration_type":"non-expiring","leeway":0,"infinite_token_lifetime":true,"infinite_idle_token_lifetime":true,"token_lifetime":2592000,"idle_token_lifetime":1296000,"rotation_type":"non-rotating"}}}},"auth0_client":{"name":"ruby-auth0","version":"5.5.0","env":{"ruby":"2.7.0"}},"log_id":"90020210903201459614410735428066697102421611612202860626","_id":"90020210903201459614410735428066697102421611612202860626","isMobile":false}]' - recorded_at: Fri, 03 Sep 2021 20:16:32 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/create_test_user.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/create_test_user.yml deleted file mode 100644 index 9bd6d1a7e..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/create_test_user.yml +++ /dev/null @@ -1,76 +0,0 @@ ---- -http_interactions: -- request: - method: post - uri: https://auth0-sdk-tests.auth0.com/api/v2/users - body: - encoding: UTF-8 - string: '{"name":"rubytest-210908-username","email":"rubytest-210908-rubytest-210908-username@auth0.com","password":"1HvA26wTw","connection":"Username-Password-Authentication"}' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '167' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 201 - message: Created - headers: - Date: - - Fri, 03 Sep 2021 20:16:31 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a80369c935ec-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a80369c935ec - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 0cc5be986755e997 - Ot-Tracer-Traceid: - - 1febea1b587a2480 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700192' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"created_at":"2021-09-03T20:16:31.480Z","email":"rubytest-210908-rubytest-210908-username@auth0.com","email_verified":false,"identities":[{"connection":"Username-Password-Authentication","user_id":"6132829f7b569700698af992","provider":"auth0","isSocial":false}],"name":"rubytest-210908-username","nickname":"rubytest-210908-rubytest-210908-username","picture":"https://s.gravatar.com/avatar/28607929c5bdf4954ee65d055fea6e69?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fru.png","updated_at":"2021-09-03T20:16:31.480Z","user_id":"auth0|6132829f7b569700698af992"}' - recorded_at: Fri, 03 Sep 2021 20:16:31 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/delete_test_disabled_rule.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/delete_test_disabled_rule.yml deleted file mode 100644 index 5aeac712b..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/delete_test_disabled_rule.yml +++ /dev/null @@ -1,72 +0,0 @@ ---- -http_interactions: -- request: - method: delete - uri: https://auth0-sdk-tests.auth0.com/api/v2/rules/rul_bsg64xEPZz4WOkXz - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 204 - message: No Content - headers: - Date: - - Fri, 03 Sep 2021 20:16:42 GMT - Content-Type: - - application/json; charset=utf-8 - Connection: - - keep-alive - Cf-Ray: - - 6891a849e97504fb-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a849e97504fb - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 210e552b33a3d742 - Ot-Tracer-Traceid: - - '06190f9e4d18c18e' - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700203' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: UTF-8 - string: '' - recorded_at: Fri, 03 Sep 2021 20:16:42 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/delete_test_enabled_rule.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/delete_test_enabled_rule.yml deleted file mode 100644 index 0ae58300d..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/delete_test_enabled_rule.yml +++ /dev/null @@ -1,72 +0,0 @@ ---- -http_interactions: -- request: - method: delete - uri: https://auth0-sdk-tests.auth0.com/api/v2/rules/rul_bsg64xEPZz4WOkXz - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 204 - message: No Content - headers: - Date: - - Fri, 03 Sep 2021 20:16:42 GMT - Content-Type: - - application/json; charset=utf-8 - Connection: - - keep-alive - Cf-Ray: - - 6891a848ab5f365b-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a848ab5f365b - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 7f59155e3210ab7a - Ot-Tracer-Traceid: - - 2044af490f955ccc - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700203' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: UTF-8 - string: '' - recorded_at: Fri, 03 Sep 2021 20:16:42 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/delete_test_user.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/delete_test_user.yml deleted file mode 100644 index 79173b1ec..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Logs/delete_test_user.yml +++ /dev/null @@ -1,72 +0,0 @@ ---- -http_interactions: -- request: - method: delete - uri: https://auth0-sdk-tests.auth0.com/api/v2/users/auth0%7C6132829f7b569700698af992 - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 204 - message: No Content - headers: - Date: - - Fri, 03 Sep 2021 20:16:33 GMT - Content-Type: - - application/json; charset=utf-8 - Connection: - - keep-alive - Cf-Ray: - - 6891a8135ef352f5-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a8135ef352f5 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 6acdfcdc02baf16f - Ot-Tracer-Traceid: - - 24a2abeb2024eaa1 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700194' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: UTF-8 - string: '' - recorded_at: Fri, 03 Sep 2021 20:16:33 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_delete_resource_server/should_delete_the_test_server_without_an_error.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_delete_resource_server/should_delete_the_test_server_without_an_error.yml deleted file mode 100644 index 6c1c58e1f..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_delete_resource_server/should_delete_the_test_server_without_an_error.yml +++ /dev/null @@ -1,72 +0,0 @@ ---- -http_interactions: -- request: - method: delete - uri: https://auth0-sdk-tests.auth0.com/api/v2/resource-servers/613282a2cdbe5d00408561ea - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 204 - message: No Content - headers: - Date: - - Fri, 03 Sep 2021 20:16:35 GMT - Content-Type: - - application/json; charset=utf-8 - Connection: - - keep-alive - Cf-Ray: - - 6891a81c68cdeb61-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a81c68cdeb61 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 161b0f1762bee301 - Ot-Tracer-Traceid: - - 6e5aa6540bbd8a30 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700196' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: UTF-8 - string: '' - recorded_at: Fri, 03 Sep 2021 20:16:35 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_patch_resource_server/should_update_the_resource_server_with_the_correct_attributes.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_patch_resource_server/should_update_the_resource_server_with_the_correct_attributes.yml deleted file mode 100644 index 0f8e3a9a9..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_patch_resource_server/should_update_the_resource_server_with_the_correct_attributes.yml +++ /dev/null @@ -1,76 +0,0 @@ ---- -http_interactions: -- request: - method: patch - uri: https://auth0-sdk-tests.auth0.com/api/v2/resource-servers/613282a2cdbe5d00408561ea - body: - encoding: UTF-8 - string: '{"token_lifetime":654321}' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '25' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:35 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a81b0d12526f-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a81b0d12526f - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 46c09e343cc8141d - Ot-Tracer-Traceid: - - 2b36ba4c77a8be98 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700196' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"id":"613282a2cdbe5d00408561ea","name":"TestServer-rubytest-210908","identifier":"https://localhost.test/api/v1/","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":654321,"token_lifetime_for_web":7200,"signing_alg":"RS256","signing_secret":"jPd1d0TWbg7pN9iPcXdtYtEIIGAk5zhmCi"}' - recorded_at: Fri, 03 Sep 2021 20:16:35 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_resource_server/should_get_the_test_server.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_resource_server/should_get_the_test_server.yml deleted file mode 100644 index 88bf07d17..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_resource_server/should_get_the_test_server.yml +++ /dev/null @@ -1,74 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/resource-servers/613282a2cdbe5d00408561ea - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:34 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a819d9fc3167-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a819d9fc3167 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 634650aa75cefe14 - Ot-Tracer-Traceid: - - 28c73d3d1fee5f45 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700195' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"id":"613282a2cdbe5d00408561ea","name":"TestServer-rubytest-210908","identifier":"https://localhost.test/api/v1/","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":123456,"token_lifetime_for_web":7200,"signing_alg":"RS256","signing_secret":"jPd1d0TWbg7pN9iPcXdtYtEIIGAk5zhmCi"}' - recorded_at: Fri, 03 Sep 2021 20:16:34 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_resource_servers/should_get_the_test_server.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_resource_servers/should_get_the_test_server.yml deleted file mode 100644 index 54f708420..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_resource_servers/should_get_the_test_server.yml +++ /dev/null @@ -1,182 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/resource-servers - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:34 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a8177fca52bf-LAX - Cache-Control: - - no-cache - Link: - - ; - rel="first", ; - rel="last" - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a8177fca52bf - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 703903ba384f9ebe - Ot-Tracer-Traceid: - - 45f0017a170e986b - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700195' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '[{"id":"5a26a8581b937a5d15410049","name":"Auth0 Management API","identifier":"https://auth0-sdk-tests.auth0.com/api/v2/","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":86400,"token_lifetime_for_web":7200,"signing_alg":"RS256","scopes":[{"description":"Read - Client Grants","value":"read:client_grants"},{"description":"Create Client - Grants","value":"create:client_grants"},{"description":"Delete Client Grants","value":"delete:client_grants"},{"description":"Update - Client Grants","value":"update:client_grants"},{"description":"Read Users","value":"read:users"},{"description":"Update - Users","value":"update:users"},{"description":"Delete Users","value":"delete:users"},{"description":"Create - Users","value":"create:users"},{"description":"Read Users App Metadata","value":"read:users_app_metadata"},{"description":"Update - Users App Metadata","value":"update:users_app_metadata"},{"description":"Delete - Users App Metadata","value":"delete:users_app_metadata"},{"description":"Create - Users App Metadata","value":"create:users_app_metadata"},{"description":"Read - Custom User Blocks","value":"read:user_custom_blocks"},{"description":"Create - Custom User Blocks","value":"create:user_custom_blocks"},{"description":"Delete - Custom User Blocks","value":"delete:user_custom_blocks"},{"description":"Create - User Tickets","value":"create:user_tickets"},{"description":"Read Clients","value":"read:clients"},{"description":"Update - Clients","value":"update:clients"},{"description":"Delete Clients","value":"delete:clients"},{"description":"Create - Clients","value":"create:clients"},{"description":"Read Client Keys","value":"read:client_keys"},{"description":"Update - Client Keys","value":"update:client_keys"},{"description":"Delete Client Keys","value":"delete:client_keys"},{"description":"Create - Client Keys","value":"create:client_keys"},{"description":"Read Connections","value":"read:connections"},{"description":"Update - Connections","value":"update:connections"},{"description":"Delete Connections","value":"delete:connections"},{"description":"Create - Connections","value":"create:connections"},{"description":"Read Resource Servers","value":"read:resource_servers"},{"description":"Update - Resource Servers","value":"update:resource_servers"},{"description":"Delete - Resource Servers","value":"delete:resource_servers"},{"description":"Create - Resource Servers","value":"create:resource_servers"},{"description":"Read - Device Credentials","value":"read:device_credentials"},{"description":"Update - Device Credentials","value":"update:device_credentials"},{"description":"Delete - Device Credentials","value":"delete:device_credentials"},{"description":"Create - Device Credentials","value":"create:device_credentials"},{"description":"Read - Rules","value":"read:rules"},{"description":"Update Rules","value":"update:rules"},{"description":"Delete - Rules","value":"delete:rules"},{"description":"Create Rules","value":"create:rules"},{"description":"Read - Rules Configs","value":"read:rules_configs"},{"description":"Update Rules - Configs","value":"update:rules_configs"},{"description":"Delete Rules Configs","value":"delete:rules_configs"},{"description":"Read - Hooks","value":"read:hooks"},{"description":"Update Hooks","value":"update:hooks"},{"description":"Delete - Hooks","value":"delete:hooks"},{"description":"Create Hooks","value":"create:hooks"},{"description":"Read - Actions","value":"read:actions"},{"description":"Update Actions","value":"update:actions"},{"description":"Delete - Actions","value":"delete:actions"},{"description":"Create Actions","value":"create:actions"},{"description":"Read - Email Provider","value":"read:email_provider"},{"description":"Update Email - Provider","value":"update:email_provider"},{"description":"Delete Email Provider","value":"delete:email_provider"},{"description":"Create - Email Provider","value":"create:email_provider"},{"description":"Blacklist - Tokens","value":"blacklist:tokens"},{"description":"Read Stats","value":"read:stats"},{"description":"Read - Insights","value":"read:insights"},{"description":"Read Tenant Settings","value":"read:tenant_settings"},{"description":"Update - Tenant Settings","value":"update:tenant_settings"},{"description":"Read Logs","value":"read:logs"},{"description":"Read - logs relating to users","value":"read:logs_users"},{"description":"Read Shields","value":"read:shields"},{"description":"Create - Shields","value":"create:shields"},{"description":"Update Shields","value":"update:shields"},{"description":"Delete - Shields","value":"delete:shields"},{"description":"Read Anomaly Detection - Blocks","value":"read:anomaly_blocks"},{"description":"Delete Anomaly Detection - Blocks","value":"delete:anomaly_blocks"},{"description":"Update Triggers","value":"update:triggers"},{"description":"Read - Triggers","value":"read:triggers"},{"description":"Read User Grants","value":"read:grants"},{"description":"Delete - User Grants","value":"delete:grants"},{"description":"Read Guardian factors - configuration","value":"read:guardian_factors"},{"description":"Update Guardian - factors","value":"update:guardian_factors"},{"description":"Read Guardian - enrollments","value":"read:guardian_enrollments"},{"description":"Delete Guardian - enrollments","value":"delete:guardian_enrollments"},{"description":"Create - enrollment tickets for Guardian","value":"create:guardian_enrollment_tickets"},{"description":"Read - Users IDP tokens","value":"read:user_idp_tokens"},{"description":"Create password - checking jobs","value":"create:passwords_checking_job"},{"description":"Deletes - password checking job and all its resources","value":"delete:passwords_checking_job"},{"description":"Read - custom domains configurations","value":"read:custom_domains"},{"description":"Delete - custom domains configurations","value":"delete:custom_domains"},{"description":"Configure - new custom domains","value":"create:custom_domains"},{"description":"Update - custom domain configurations","value":"update:custom_domains"},{"description":"Read - email templates","value":"read:email_templates"},{"description":"Create email - templates","value":"create:email_templates"},{"description":"Update email - templates","value":"update:email_templates"},{"description":"Read Multifactor - Authentication policies","value":"read:mfa_policies"},{"description":"Update - Multifactor Authentication policies","value":"update:mfa_policies"},{"description":"Read - roles","value":"read:roles"},{"description":"Create roles","value":"create:roles"},{"description":"Delete - roles","value":"delete:roles"},{"description":"Update roles","value":"update:roles"},{"description":"Read - prompts settings","value":"read:prompts"},{"description":"Update prompts settings","value":"update:prompts"},{"description":"Read - branding settings","value":"read:branding"},{"description":"Update branding - settings","value":"update:branding"},{"description":"Delete branding settings","value":"delete:branding"},{"description":"Read - log_streams","value":"read:log_streams"},{"description":"Create log_streams","value":"create:log_streams"},{"description":"Delete - log_streams","value":"delete:log_streams"},{"description":"Update log_streams","value":"update:log_streams"},{"description":"Create - signing keys","value":"create:signing_keys"},{"description":"Read signing - keys","value":"read:signing_keys"},{"description":"Update signing keys","value":"update:signing_keys"},{"description":"Read - entity limits","value":"read:limits"},{"description":"Update entity limits","value":"update:limits"},{"description":"Create - role members","value":"create:role_members"},{"description":"Read role members","value":"read:role_members"},{"description":"Update - role members","value":"delete:role_members"},{"description":"Read entitlements","value":"read:entitlements"},{"description":"Read - attack protection","value":"read:attack_protection"},{"description":"Update - attack protection","value":"update:attack_protection"},{"value":"read:organizations","description":"Read - Organizations"},{"value":"update:organizations","description":"Update Organizations"},{"value":"create:organizations","description":"Create - Organizations"},{"value":"delete:organizations","description":"Delete Organizations"},{"value":"create:organization_members","description":"Create - organization members"},{"value":"read:organization_members","description":"Read - organization members"},{"value":"delete:organization_members","description":"Delete - organization members"},{"value":"create:organization_connections","description":"Create - organization connections"},{"value":"read:organization_connections","description":"Read - organization connections"},{"value":"update:organization_connections","description":"Update - organization connections"},{"value":"delete:organization_connections","description":"Delete - organization connections"},{"value":"create:organization_member_roles","description":"Create - organization member roles"},{"value":"read:organization_member_roles","description":"Read - organization member roles"},{"value":"delete:organization_member_roles","description":"Delete - organization member roles"},{"value":"create:organization_invitations","description":"Create - organization invitations"},{"value":"read:organization_invitations","description":"Read - organization invitations"},{"value":"delete:organization_invitations","description":"Delete - organization invitations"}],"is_system":true},{"id":"5bbbbb62e3e31929c9a761dc","name":"Test - Custom API","identifier":"https://brucke.club/custom/api/v1/","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":true,"token_lifetime":86400,"token_lifetime_for_web":7200,"signing_alg":"RS256","scopes":[{"value":"test:scope","description":"A - test scope"}]},{"id":"5d1a6921c3c57e0694a674d8","name":"PHP SDK Integration - Tests - DO NOT DELETE","identifier":"php-sdk-integration-tests","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":true,"token_lifetime":86400,"token_lifetime_for_web":7200,"signing_alg":"RS256","enforce_policies":false,"token_dialect":"access_token"},{"id":"5d2d06551374a706b687d09e","name":"TEST_PHP_SDK_UPDATE_5d2d0655988b6","identifier":"TEST_PHP_SDK_ID_5d2d0654eefac","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":25069,"token_lifetime_for_web":7200,"signing_alg":"RS256","signing_secret":"mhk5P7NTtAtBVaB2vbA4b3KvdjwAEJXp","scopes":[{"value":"read:test1","description":"Testing - scope"},{"value":"read:test2","description":"Testing scope"}]},{"id":"5d2d06b731702e06abb042e4","name":"TEST_PHP_SDK_UPDATE_5d2d06b82c07c","identifier":"TEST_PHP_SDK_ID_5d2d06b754ed2","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":25123,"token_lifetime_for_web":7200,"signing_alg":"RS256","signing_secret":"XnR7QRBbAbaBt1BpbxNe2bpeyAftK7Fi","scopes":[{"value":"read:test1","description":"Testing - scope"},{"value":"read:test2","description":"Testing scope"}]},{"id":"5d2d070b4d065e06aea34559","name":"TEST_PHP_SDK_UPDATE_5d2d070c3e23e","identifier":"TEST_PHP_SDK_ID_5d2d070b917e4","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":21807,"token_lifetime_for_web":7200,"signing_alg":"RS256","signing_secret":"j06zuVXrlk3e7PhZHOqJN2lg0SXmpkal","scopes":[{"value":"read:test1","description":"Testing - scope"},{"value":"read:test2","description":"Testing scope"}]},{"id":"5d2d0bb6b25377069fce01ce","name":"TEST_PHP_SDK_CREATE_5d2d0bb511bc8","identifier":"TEST_PHP_SDK_CLIENT_GRANT_API_5d2d0bb611d13","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":10917,"token_lifetime_for_web":7200,"signing_alg":"RS256"},{"id":"5d2d0bc756138006a73f32f3","name":"TEST_PHP_SDK_UPDATE_5d2d0bca4859a","identifier":"TEST_PHP_SDK_ID_5d2d0bc6865fd","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":29539,"token_lifetime_for_web":7200,"signing_alg":"RS256","signing_secret":"jIIkF4TvY0RrSq8nAvZz874dG4C0C2P9","scopes":[{"value":"read:test1","description":"Testing - scope"},{"value":"read:test2","description":"Testing scope"}]},{"id":"5d2d0c6c5b197406ab3167c4","name":"TEST_PHP_SDK_CREATE_5d2d0c6c38026","identifier":"TEST_PHP_SDK_CLIENT_GRANT_API_5d2d0c6c38056","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":18395,"token_lifetime_for_web":7200,"signing_alg":"RS256"},{"id":"5d6e812aa3194e0708dafba3","name":"TEST_PHP_SDK_CREATE_5d6e812a446dc","identifier":"TEST_PHP_SDK_ID_5d6e812942d73","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":17662,"token_lifetime_for_web":7200,"signing_alg":"HS256","signing_secret":"K74M54vHigT1r6Shk761V4423SySDQfD","scopes":[{"value":"read:test1","description":"Testing - scope"}]},{"id":"5d826a11e5cb6c0704528ae1","name":"TEST_PHP_SDK_UPDATE_5d826a1516331","identifier":"TEST_PHP_SDK_ID_5d826a0fbd929","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":25115,"token_lifetime_for_web":7200,"signing_alg":"RS256","signing_secret":"euGeOaWjE1gckTtOsT8uSB0Ca2BsWuZo","scopes":[{"value":"read:test1","description":"Testing - scope"},{"value":"read:test2","description":"Testing scope"}]},{"id":"5d826b4f6dbbd00703ace09a","name":"TEST_PHP_SDK_CREATE_5d826b4cbe2e3","identifier":"TEST_PHP_SDK_CLIENT_GRANT_API_5d826b4ebe435","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":16059,"token_lifetime_for_web":7200,"signing_alg":"RS256"},{"id":"5d83fb49616f0c075b2d7f21","name":"TEST_PHP_SDK_CREATE_5d83fb4743ba3","identifier":"TEST_PHP_SDK_CLIENT_GRANT_API_5d83fb4943c84","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":18414,"token_lifetime_for_web":7200,"signing_alg":"RS256"},{"id":"5d851b56651d8407666fca58","name":"TEST_PHP_SDK_CREATE_5d851b53b2fd8","identifier":"TEST_PHP_SDK_CLIENT_GRANT_API_5d851b55b30cd","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":14984,"token_lifetime_for_web":7200,"signing_alg":"RS256"},{"id":"5d851f7c882414075a8e095a","name":"TEST_PHP_SDK_CREATE_5d851f79b9056","identifier":"TEST_PHP_SDK_CLIENT_GRANT_API_5d851f7bb9169","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":14644,"token_lifetime_for_web":7200,"signing_alg":"RS256"},{"id":"5d8525b0735bc4070777e087","name":"TEST_PHP_SDK_CREATE_5d8525adf3bf5","identifier":"TEST_PHP_SDK_CLIENT_GRANT_API_5d8525aff3d8b","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":19164,"token_lifetime_for_web":7200,"signing_alg":"RS256"},{"id":"5d8529330cc3100759e4a284","name":"TEST_PHP_SDK_UPDATE_5d852936cdbcc","identifier":"TEST_PHP_SDK_ID_5d852930d4807","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":24036,"token_lifetime_for_web":7200,"signing_alg":"RS256","signing_secret":"LDsBO8bn9xtlezY01L0FJl23ZsaqNcRU","scopes":[{"value":"read:test1","description":"Testing - scope"},{"value":"read:test2","description":"Testing scope"}]},{"id":"5d852f66c87e160708e707d5","name":"TEST_PHP_SDK_CREATE_5d852f66b014c","identifier":"TEST_PHP_SDK_CLIENT_GRANT_API_5d852f66b015c","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":19382,"token_lifetime_for_web":7200,"signing_alg":"RS256"},{"id":"5d852f676cfebd07433778fc","name":"TEST_PHP_SDK_CREATE_5d852f67569d0","identifier":"TEST_PHP_SDK_CLIENT_GRANT_API_5d852f67569e3","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":10667,"token_lifetime_for_web":7200,"signing_alg":"RS256"},{"id":"5d852fc22204ec06f3f2d265","name":"TEST_PHP_SDK_CREATE_5d852fc2767b7","identifier":"TEST_PHP_SDK_CLIENT_GRANT_API_5d852fc2767e3","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":19551,"token_lifetime_for_web":7200,"signing_alg":"RS256"},{"id":"5d852fcb9e0e32074971a758","name":"TEST_PHP_SDK_CREATE_5d852fcb73f5b","identifier":"TEST_PHP_SDK_CLIENT_GRANT_API_5d852fcb73f66","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":19886,"token_lifetime_for_web":7200,"signing_alg":"RS256"},{"id":"5d852fcd1bbd3c0710424924","name":"TEST_PHP_SDK_CREATE_5d852fccde96a","identifier":"TEST_PHP_SDK_CLIENT_GRANT_API_5d852fccde971","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":14063,"token_lifetime_for_web":7200,"signing_alg":"RS256"},{"id":"5d852fe40cc3100759e4a28c","name":"TEST_PHP_SDK_CREATE_5d852fe41d2dd","identifier":"TEST_PHP_SDK_CLIENT_GRANT_API_5d852fe41d2e6","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":18603,"token_lifetime_for_web":7200,"signing_alg":"RS256"},{"id":"5d852fe56c3e05071b3ff963","name":"TEST_PHP_SDK_CREATE_5d852fe56982b","identifier":"TEST_PHP_SDK_CLIENT_GRANT_API_5d852fe569858","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":18128,"token_lifetime_for_web":7200,"signing_alg":"RS256"},{"id":"5d853155b4b0480711a50523","name":"TEST_PHP_SDK_CREATE_5d853154e0a5e","identifier":"TEST_PHP_SDK_CLIENT_GRANT_API_5d853154e0a66","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":15836,"token_lifetime_for_web":7200,"signing_alg":"RS256"},{"id":"5d8531ab1ff01a0701271a7b","name":"TEST_PHP_SDK_CREATE_5d8531ab50f72","identifier":"TEST_PHP_SDK_CLIENT_GRANT_API_5d8531ab50fa0","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":11187,"token_lifetime_for_web":7200,"signing_alg":"RS256"},{"id":"5d8531fb38625b070e09a907","name":"TEST_PHP_SDK_CREATE_5d8531fae9fd8","identifier":"TEST_PHP_SDK_CLIENT_GRANT_API_5d8531fae9fec","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":17872,"token_lifetime_for_web":7200,"signing_alg":"RS256"},{"id":"5d8533af9b915e070e0545b1","name":"TEST_PHP_SDK_CREATE_5d8533af50216","identifier":"TEST_PHP_SDK_CLIENT_GRANT_API_5d8533af50254","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":13437,"token_lifetime_for_web":7200,"signing_alg":"RS256"},{"id":"5d8535f5d4842906fa0c0659","name":"TEST_PHP_SDK_CREATE_5d8535f52e1eb","identifier":"TEST_PHP_SDK_CLIENT_GRANT_API_5d8535f52e215","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":18345,"token_lifetime_for_web":7200,"signing_alg":"RS256"},{"id":"5d85361d3482ee0717748000","name":"TEST_PHP_SDK_CREATE_5d85361d87958","identifier":"TEST_PHP_SDK_CLIENT_GRANT_API_5d85361d8796b","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":12031,"token_lifetime_for_web":7200,"signing_alg":"RS256"},{"id":"5d8536e156daa70700b23cd7","name":"TEST_PHP_SDK_CREATE_5d8536e144800","identifier":"TEST_PHP_SDK_CLIENT_GRANT_API_5d8536e14483d","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":13328,"token_lifetime_for_web":7200,"signing_alg":"RS256"},{"id":"5d892eedcdf9dd06f6c671a2","name":"TEST_PHP_SDK_CREATE_5d892eed7ab99","identifier":"TEST_PHP_SDK_CLIENT_GRANT_API_5d892eed7abd7","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":12317,"token_lifetime_for_web":7200,"signing_alg":"RS256"},{"id":"5d892ef14efdb6077a80796d","name":"TEST_PHP_SDK_CREATE_5d892ef140a0e","identifier":"TEST_PHP_SDK_ID_5d892ef13d6a6","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":19650,"token_lifetime_for_web":7200,"signing_alg":"HS256","signing_secret":"MC8SatBxBgjiXH2a3CvDF8CoTZr1U9H3","scopes":[{"value":"read:test1","description":"Testing - scope"}]},{"id":"5d8b9412039b3206fe68ce70","name":"TEST_PHP_SDK_CREATE_131312312","identifier":"TEST_PHP_SDK_CREATE_131312312","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":86400,"token_lifetime_for_web":7200,"signing_alg":"RS256","scopes":[{"value":"banana"}]},{"id":"5dcdc7cba421e007cb38524e","name":"TEST_PHP_SDK_CREATE_5dcdc7ca2d8d1","identifier":"TEST_PHP_SDK_CLIENT_GRANT_API_5dcdc7ca2d8df","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":12046,"token_lifetime_for_web":7200,"signing_alg":"RS256"},{"id":"5dd57ac220f165081b242ae3","name":"TEST_PHP_SDK_CREATE_5dd57ac241e49","identifier":"TEST_PHP_SDK_CLIENT_GRANT_API_5dd57ac241e5e","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":11405,"token_lifetime_for_web":7200,"signing_alg":"RS256"},{"id":"5e3df232403c5209c28d0343","name":"TEST_PHP_SDK_CREATE_5e3df23066e03","identifier":"TEST_PHP_SDK_ID_5e3df23065e9f","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":19080,"token_lifetime_for_web":7200,"signing_alg":"HS256","signing_secret":"5Lr82tIUI2Kwb0ktS5cx6wp1ykQCrENl","scopes":[{"value":"read:test1","description":"Testing - scope"}]},{"id":"5e9f263bb4b76a090131060c","name":"TEST_PHP_SDK_CREATE_5e9f2638664d5","identifier":"TEST_PHP_SDK_CLIENT_GRANT_API_5e9f2638664f4","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":10279,"token_lifetime_for_web":7200,"signing_alg":"RS256"},{"id":"613282a2cdbe5d00408561ea","name":"TestServer-rubytest-210908","identifier":"https://localhost.test/api/v1/","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":123456,"token_lifetime_for_web":7200,"signing_alg":"RS256","signing_secret":"jPd1d0TWbg7pN9iPcXdtYtEIIGAk5zhmCi"}]' - recorded_at: Fri, 03 Sep 2021 20:16:34 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_resource_servers/should_return_at_least_1_result.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_resource_servers/should_return_at_least_1_result.yml deleted file mode 100644 index e217a48b7..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_resource_servers/should_return_at_least_1_result.yml +++ /dev/null @@ -1,182 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/resource-servers - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:34 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a8164f633203-LAX - Cache-Control: - - no-cache - Link: - - ; - rel="first", ; - rel="last" - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a8164f633203 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 349af1aa2c9e9a1a - Ot-Tracer-Traceid: - - 0a0ee31914549058 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700195' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '[{"id":"5a26a8581b937a5d15410049","name":"Auth0 Management API","identifier":"https://auth0-sdk-tests.auth0.com/api/v2/","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":86400,"token_lifetime_for_web":7200,"signing_alg":"RS256","scopes":[{"description":"Read - Client Grants","value":"read:client_grants"},{"description":"Create Client - Grants","value":"create:client_grants"},{"description":"Delete Client Grants","value":"delete:client_grants"},{"description":"Update - Client Grants","value":"update:client_grants"},{"description":"Read Users","value":"read:users"},{"description":"Update - Users","value":"update:users"},{"description":"Delete Users","value":"delete:users"},{"description":"Create - Users","value":"create:users"},{"description":"Read Users App Metadata","value":"read:users_app_metadata"},{"description":"Update - Users App Metadata","value":"update:users_app_metadata"},{"description":"Delete - Users App Metadata","value":"delete:users_app_metadata"},{"description":"Create - Users App Metadata","value":"create:users_app_metadata"},{"description":"Read - Custom User Blocks","value":"read:user_custom_blocks"},{"description":"Create - Custom User Blocks","value":"create:user_custom_blocks"},{"description":"Delete - Custom User Blocks","value":"delete:user_custom_blocks"},{"description":"Create - User Tickets","value":"create:user_tickets"},{"description":"Read Clients","value":"read:clients"},{"description":"Update - Clients","value":"update:clients"},{"description":"Delete Clients","value":"delete:clients"},{"description":"Create - Clients","value":"create:clients"},{"description":"Read Client Keys","value":"read:client_keys"},{"description":"Update - Client Keys","value":"update:client_keys"},{"description":"Delete Client Keys","value":"delete:client_keys"},{"description":"Create - Client Keys","value":"create:client_keys"},{"description":"Read Connections","value":"read:connections"},{"description":"Update - Connections","value":"update:connections"},{"description":"Delete Connections","value":"delete:connections"},{"description":"Create - Connections","value":"create:connections"},{"description":"Read Resource Servers","value":"read:resource_servers"},{"description":"Update - Resource Servers","value":"update:resource_servers"},{"description":"Delete - Resource Servers","value":"delete:resource_servers"},{"description":"Create - Resource Servers","value":"create:resource_servers"},{"description":"Read - Device Credentials","value":"read:device_credentials"},{"description":"Update - Device Credentials","value":"update:device_credentials"},{"description":"Delete - Device Credentials","value":"delete:device_credentials"},{"description":"Create - Device Credentials","value":"create:device_credentials"},{"description":"Read - Rules","value":"read:rules"},{"description":"Update Rules","value":"update:rules"},{"description":"Delete - Rules","value":"delete:rules"},{"description":"Create Rules","value":"create:rules"},{"description":"Read - Rules Configs","value":"read:rules_configs"},{"description":"Update Rules - Configs","value":"update:rules_configs"},{"description":"Delete Rules Configs","value":"delete:rules_configs"},{"description":"Read - Hooks","value":"read:hooks"},{"description":"Update Hooks","value":"update:hooks"},{"description":"Delete - Hooks","value":"delete:hooks"},{"description":"Create Hooks","value":"create:hooks"},{"description":"Read - Actions","value":"read:actions"},{"description":"Update Actions","value":"update:actions"},{"description":"Delete - Actions","value":"delete:actions"},{"description":"Create Actions","value":"create:actions"},{"description":"Read - Email Provider","value":"read:email_provider"},{"description":"Update Email - Provider","value":"update:email_provider"},{"description":"Delete Email Provider","value":"delete:email_provider"},{"description":"Create - Email Provider","value":"create:email_provider"},{"description":"Blacklist - Tokens","value":"blacklist:tokens"},{"description":"Read Stats","value":"read:stats"},{"description":"Read - Insights","value":"read:insights"},{"description":"Read Tenant Settings","value":"read:tenant_settings"},{"description":"Update - Tenant Settings","value":"update:tenant_settings"},{"description":"Read Logs","value":"read:logs"},{"description":"Read - logs relating to users","value":"read:logs_users"},{"description":"Read Shields","value":"read:shields"},{"description":"Create - Shields","value":"create:shields"},{"description":"Update Shields","value":"update:shields"},{"description":"Delete - Shields","value":"delete:shields"},{"description":"Read Anomaly Detection - Blocks","value":"read:anomaly_blocks"},{"description":"Delete Anomaly Detection - Blocks","value":"delete:anomaly_blocks"},{"description":"Update Triggers","value":"update:triggers"},{"description":"Read - Triggers","value":"read:triggers"},{"description":"Read User Grants","value":"read:grants"},{"description":"Delete - User Grants","value":"delete:grants"},{"description":"Read Guardian factors - configuration","value":"read:guardian_factors"},{"description":"Update Guardian - factors","value":"update:guardian_factors"},{"description":"Read Guardian - enrollments","value":"read:guardian_enrollments"},{"description":"Delete Guardian - enrollments","value":"delete:guardian_enrollments"},{"description":"Create - enrollment tickets for Guardian","value":"create:guardian_enrollment_tickets"},{"description":"Read - Users IDP tokens","value":"read:user_idp_tokens"},{"description":"Create password - checking jobs","value":"create:passwords_checking_job"},{"description":"Deletes - password checking job and all its resources","value":"delete:passwords_checking_job"},{"description":"Read - custom domains configurations","value":"read:custom_domains"},{"description":"Delete - custom domains configurations","value":"delete:custom_domains"},{"description":"Configure - new custom domains","value":"create:custom_domains"},{"description":"Update - custom domain configurations","value":"update:custom_domains"},{"description":"Read - email templates","value":"read:email_templates"},{"description":"Create email - templates","value":"create:email_templates"},{"description":"Update email - templates","value":"update:email_templates"},{"description":"Read Multifactor - Authentication policies","value":"read:mfa_policies"},{"description":"Update - Multifactor Authentication policies","value":"update:mfa_policies"},{"description":"Read - roles","value":"read:roles"},{"description":"Create roles","value":"create:roles"},{"description":"Delete - roles","value":"delete:roles"},{"description":"Update roles","value":"update:roles"},{"description":"Read - prompts settings","value":"read:prompts"},{"description":"Update prompts settings","value":"update:prompts"},{"description":"Read - branding settings","value":"read:branding"},{"description":"Update branding - settings","value":"update:branding"},{"description":"Delete branding settings","value":"delete:branding"},{"description":"Read - log_streams","value":"read:log_streams"},{"description":"Create log_streams","value":"create:log_streams"},{"description":"Delete - log_streams","value":"delete:log_streams"},{"description":"Update log_streams","value":"update:log_streams"},{"description":"Create - signing keys","value":"create:signing_keys"},{"description":"Read signing - keys","value":"read:signing_keys"},{"description":"Update signing keys","value":"update:signing_keys"},{"description":"Read - entity limits","value":"read:limits"},{"description":"Update entity limits","value":"update:limits"},{"description":"Create - role members","value":"create:role_members"},{"description":"Read role members","value":"read:role_members"},{"description":"Update - role members","value":"delete:role_members"},{"description":"Read entitlements","value":"read:entitlements"},{"description":"Read - attack protection","value":"read:attack_protection"},{"description":"Update - attack protection","value":"update:attack_protection"},{"value":"read:organizations","description":"Read - Organizations"},{"value":"update:organizations","description":"Update Organizations"},{"value":"create:organizations","description":"Create - Organizations"},{"value":"delete:organizations","description":"Delete Organizations"},{"value":"create:organization_members","description":"Create - organization members"},{"value":"read:organization_members","description":"Read - organization members"},{"value":"delete:organization_members","description":"Delete - organization members"},{"value":"create:organization_connections","description":"Create - organization connections"},{"value":"read:organization_connections","description":"Read - organization connections"},{"value":"update:organization_connections","description":"Update - organization connections"},{"value":"delete:organization_connections","description":"Delete - organization connections"},{"value":"create:organization_member_roles","description":"Create - organization member roles"},{"value":"read:organization_member_roles","description":"Read - organization member roles"},{"value":"delete:organization_member_roles","description":"Delete - organization member roles"},{"value":"create:organization_invitations","description":"Create - organization invitations"},{"value":"read:organization_invitations","description":"Read - organization invitations"},{"value":"delete:organization_invitations","description":"Delete - organization invitations"}],"is_system":true},{"id":"5bbbbb62e3e31929c9a761dc","name":"Test - Custom API","identifier":"https://brucke.club/custom/api/v1/","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":true,"token_lifetime":86400,"token_lifetime_for_web":7200,"signing_alg":"RS256","scopes":[{"value":"test:scope","description":"A - test scope"}]},{"id":"5d1a6921c3c57e0694a674d8","name":"PHP SDK Integration - Tests - DO NOT DELETE","identifier":"php-sdk-integration-tests","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":true,"token_lifetime":86400,"token_lifetime_for_web":7200,"signing_alg":"RS256","enforce_policies":false,"token_dialect":"access_token"},{"id":"5d2d06551374a706b687d09e","name":"TEST_PHP_SDK_UPDATE_5d2d0655988b6","identifier":"TEST_PHP_SDK_ID_5d2d0654eefac","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":25069,"token_lifetime_for_web":7200,"signing_alg":"RS256","signing_secret":"mhk5P7NTtAtBVaB2vbA4b3KvdjwAEJXp","scopes":[{"value":"read:test1","description":"Testing - scope"},{"value":"read:test2","description":"Testing scope"}]},{"id":"5d2d06b731702e06abb042e4","name":"TEST_PHP_SDK_UPDATE_5d2d06b82c07c","identifier":"TEST_PHP_SDK_ID_5d2d06b754ed2","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":25123,"token_lifetime_for_web":7200,"signing_alg":"RS256","signing_secret":"XnR7QRBbAbaBt1BpbxNe2bpeyAftK7Fi","scopes":[{"value":"read:test1","description":"Testing - scope"},{"value":"read:test2","description":"Testing scope"}]},{"id":"5d2d070b4d065e06aea34559","name":"TEST_PHP_SDK_UPDATE_5d2d070c3e23e","identifier":"TEST_PHP_SDK_ID_5d2d070b917e4","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":21807,"token_lifetime_for_web":7200,"signing_alg":"RS256","signing_secret":"j06zuVXrlk3e7PhZHOqJN2lg0SXmpkal","scopes":[{"value":"read:test1","description":"Testing - scope"},{"value":"read:test2","description":"Testing scope"}]},{"id":"5d2d0bb6b25377069fce01ce","name":"TEST_PHP_SDK_CREATE_5d2d0bb511bc8","identifier":"TEST_PHP_SDK_CLIENT_GRANT_API_5d2d0bb611d13","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":10917,"token_lifetime_for_web":7200,"signing_alg":"RS256"},{"id":"5d2d0bc756138006a73f32f3","name":"TEST_PHP_SDK_UPDATE_5d2d0bca4859a","identifier":"TEST_PHP_SDK_ID_5d2d0bc6865fd","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":29539,"token_lifetime_for_web":7200,"signing_alg":"RS256","signing_secret":"jIIkF4TvY0RrSq8nAvZz874dG4C0C2P9","scopes":[{"value":"read:test1","description":"Testing - scope"},{"value":"read:test2","description":"Testing scope"}]},{"id":"5d2d0c6c5b197406ab3167c4","name":"TEST_PHP_SDK_CREATE_5d2d0c6c38026","identifier":"TEST_PHP_SDK_CLIENT_GRANT_API_5d2d0c6c38056","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":18395,"token_lifetime_for_web":7200,"signing_alg":"RS256"},{"id":"5d6e812aa3194e0708dafba3","name":"TEST_PHP_SDK_CREATE_5d6e812a446dc","identifier":"TEST_PHP_SDK_ID_5d6e812942d73","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":17662,"token_lifetime_for_web":7200,"signing_alg":"HS256","signing_secret":"K74M54vHigT1r6Shk761V4423SySDQfD","scopes":[{"value":"read:test1","description":"Testing - scope"}]},{"id":"5d826a11e5cb6c0704528ae1","name":"TEST_PHP_SDK_UPDATE_5d826a1516331","identifier":"TEST_PHP_SDK_ID_5d826a0fbd929","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":25115,"token_lifetime_for_web":7200,"signing_alg":"RS256","signing_secret":"euGeOaWjE1gckTtOsT8uSB0Ca2BsWuZo","scopes":[{"value":"read:test1","description":"Testing - scope"},{"value":"read:test2","description":"Testing scope"}]},{"id":"5d826b4f6dbbd00703ace09a","name":"TEST_PHP_SDK_CREATE_5d826b4cbe2e3","identifier":"TEST_PHP_SDK_CLIENT_GRANT_API_5d826b4ebe435","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":16059,"token_lifetime_for_web":7200,"signing_alg":"RS256"},{"id":"5d83fb49616f0c075b2d7f21","name":"TEST_PHP_SDK_CREATE_5d83fb4743ba3","identifier":"TEST_PHP_SDK_CLIENT_GRANT_API_5d83fb4943c84","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":18414,"token_lifetime_for_web":7200,"signing_alg":"RS256"},{"id":"5d851b56651d8407666fca58","name":"TEST_PHP_SDK_CREATE_5d851b53b2fd8","identifier":"TEST_PHP_SDK_CLIENT_GRANT_API_5d851b55b30cd","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":14984,"token_lifetime_for_web":7200,"signing_alg":"RS256"},{"id":"5d851f7c882414075a8e095a","name":"TEST_PHP_SDK_CREATE_5d851f79b9056","identifier":"TEST_PHP_SDK_CLIENT_GRANT_API_5d851f7bb9169","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":14644,"token_lifetime_for_web":7200,"signing_alg":"RS256"},{"id":"5d8525b0735bc4070777e087","name":"TEST_PHP_SDK_CREATE_5d8525adf3bf5","identifier":"TEST_PHP_SDK_CLIENT_GRANT_API_5d8525aff3d8b","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":19164,"token_lifetime_for_web":7200,"signing_alg":"RS256"},{"id":"5d8529330cc3100759e4a284","name":"TEST_PHP_SDK_UPDATE_5d852936cdbcc","identifier":"TEST_PHP_SDK_ID_5d852930d4807","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":24036,"token_lifetime_for_web":7200,"signing_alg":"RS256","signing_secret":"LDsBO8bn9xtlezY01L0FJl23ZsaqNcRU","scopes":[{"value":"read:test1","description":"Testing - scope"},{"value":"read:test2","description":"Testing scope"}]},{"id":"5d852f66c87e160708e707d5","name":"TEST_PHP_SDK_CREATE_5d852f66b014c","identifier":"TEST_PHP_SDK_CLIENT_GRANT_API_5d852f66b015c","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":19382,"token_lifetime_for_web":7200,"signing_alg":"RS256"},{"id":"5d852f676cfebd07433778fc","name":"TEST_PHP_SDK_CREATE_5d852f67569d0","identifier":"TEST_PHP_SDK_CLIENT_GRANT_API_5d852f67569e3","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":10667,"token_lifetime_for_web":7200,"signing_alg":"RS256"},{"id":"5d852fc22204ec06f3f2d265","name":"TEST_PHP_SDK_CREATE_5d852fc2767b7","identifier":"TEST_PHP_SDK_CLIENT_GRANT_API_5d852fc2767e3","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":19551,"token_lifetime_for_web":7200,"signing_alg":"RS256"},{"id":"5d852fcb9e0e32074971a758","name":"TEST_PHP_SDK_CREATE_5d852fcb73f5b","identifier":"TEST_PHP_SDK_CLIENT_GRANT_API_5d852fcb73f66","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":19886,"token_lifetime_for_web":7200,"signing_alg":"RS256"},{"id":"5d852fcd1bbd3c0710424924","name":"TEST_PHP_SDK_CREATE_5d852fccde96a","identifier":"TEST_PHP_SDK_CLIENT_GRANT_API_5d852fccde971","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":14063,"token_lifetime_for_web":7200,"signing_alg":"RS256"},{"id":"5d852fe40cc3100759e4a28c","name":"TEST_PHP_SDK_CREATE_5d852fe41d2dd","identifier":"TEST_PHP_SDK_CLIENT_GRANT_API_5d852fe41d2e6","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":18603,"token_lifetime_for_web":7200,"signing_alg":"RS256"},{"id":"5d852fe56c3e05071b3ff963","name":"TEST_PHP_SDK_CREATE_5d852fe56982b","identifier":"TEST_PHP_SDK_CLIENT_GRANT_API_5d852fe569858","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":18128,"token_lifetime_for_web":7200,"signing_alg":"RS256"},{"id":"5d853155b4b0480711a50523","name":"TEST_PHP_SDK_CREATE_5d853154e0a5e","identifier":"TEST_PHP_SDK_CLIENT_GRANT_API_5d853154e0a66","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":15836,"token_lifetime_for_web":7200,"signing_alg":"RS256"},{"id":"5d8531ab1ff01a0701271a7b","name":"TEST_PHP_SDK_CREATE_5d8531ab50f72","identifier":"TEST_PHP_SDK_CLIENT_GRANT_API_5d8531ab50fa0","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":11187,"token_lifetime_for_web":7200,"signing_alg":"RS256"},{"id":"5d8531fb38625b070e09a907","name":"TEST_PHP_SDK_CREATE_5d8531fae9fd8","identifier":"TEST_PHP_SDK_CLIENT_GRANT_API_5d8531fae9fec","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":17872,"token_lifetime_for_web":7200,"signing_alg":"RS256"},{"id":"5d8533af9b915e070e0545b1","name":"TEST_PHP_SDK_CREATE_5d8533af50216","identifier":"TEST_PHP_SDK_CLIENT_GRANT_API_5d8533af50254","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":13437,"token_lifetime_for_web":7200,"signing_alg":"RS256"},{"id":"5d8535f5d4842906fa0c0659","name":"TEST_PHP_SDK_CREATE_5d8535f52e1eb","identifier":"TEST_PHP_SDK_CLIENT_GRANT_API_5d8535f52e215","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":18345,"token_lifetime_for_web":7200,"signing_alg":"RS256"},{"id":"5d85361d3482ee0717748000","name":"TEST_PHP_SDK_CREATE_5d85361d87958","identifier":"TEST_PHP_SDK_CLIENT_GRANT_API_5d85361d8796b","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":12031,"token_lifetime_for_web":7200,"signing_alg":"RS256"},{"id":"5d8536e156daa70700b23cd7","name":"TEST_PHP_SDK_CREATE_5d8536e144800","identifier":"TEST_PHP_SDK_CLIENT_GRANT_API_5d8536e14483d","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":13328,"token_lifetime_for_web":7200,"signing_alg":"RS256"},{"id":"5d892eedcdf9dd06f6c671a2","name":"TEST_PHP_SDK_CREATE_5d892eed7ab99","identifier":"TEST_PHP_SDK_CLIENT_GRANT_API_5d892eed7abd7","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":12317,"token_lifetime_for_web":7200,"signing_alg":"RS256"},{"id":"5d892ef14efdb6077a80796d","name":"TEST_PHP_SDK_CREATE_5d892ef140a0e","identifier":"TEST_PHP_SDK_ID_5d892ef13d6a6","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":19650,"token_lifetime_for_web":7200,"signing_alg":"HS256","signing_secret":"MC8SatBxBgjiXH2a3CvDF8CoTZr1U9H3","scopes":[{"value":"read:test1","description":"Testing - scope"}]},{"id":"5d8b9412039b3206fe68ce70","name":"TEST_PHP_SDK_CREATE_131312312","identifier":"TEST_PHP_SDK_CREATE_131312312","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":86400,"token_lifetime_for_web":7200,"signing_alg":"RS256","scopes":[{"value":"banana"}]},{"id":"5dcdc7cba421e007cb38524e","name":"TEST_PHP_SDK_CREATE_5dcdc7ca2d8d1","identifier":"TEST_PHP_SDK_CLIENT_GRANT_API_5dcdc7ca2d8df","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":12046,"token_lifetime_for_web":7200,"signing_alg":"RS256"},{"id":"5dd57ac220f165081b242ae3","name":"TEST_PHP_SDK_CREATE_5dd57ac241e49","identifier":"TEST_PHP_SDK_CLIENT_GRANT_API_5dd57ac241e5e","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":11405,"token_lifetime_for_web":7200,"signing_alg":"RS256"},{"id":"5e3df232403c5209c28d0343","name":"TEST_PHP_SDK_CREATE_5e3df23066e03","identifier":"TEST_PHP_SDK_ID_5e3df23065e9f","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":19080,"token_lifetime_for_web":7200,"signing_alg":"HS256","signing_secret":"5Lr82tIUI2Kwb0ktS5cx6wp1ykQCrENl","scopes":[{"value":"read:test1","description":"Testing - scope"}]},{"id":"5e9f263bb4b76a090131060c","name":"TEST_PHP_SDK_CREATE_5e9f2638664d5","identifier":"TEST_PHP_SDK_CLIENT_GRANT_API_5e9f2638664f4","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":10279,"token_lifetime_for_web":7200,"signing_alg":"RS256"},{"id":"613282a2cdbe5d00408561ea","name":"TestServer-rubytest-210908","identifier":"https://localhost.test/api/v1/","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":123456,"token_lifetime_for_web":7200,"signing_alg":"RS256","signing_secret":"jPd1d0TWbg7pN9iPcXdtYtEIIGAk5zhmCi"}]' - recorded_at: Fri, 03 Sep 2021 20:16:34 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_resource_servers/should_return_the_first_page_of_one_result.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_resource_servers/should_return_the_first_page_of_one_result.yml deleted file mode 100644 index 819e804dc..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/_resource_servers/should_return_the_first_page_of_one_result.yml +++ /dev/null @@ -1,171 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/resource-servers?page=0&per_page=1 - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:34 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a818ac0febad-LAX - Cache-Control: - - no-cache - Link: - - ; - rel="first", ; - rel="next", ; - rel="last" - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a818ac0febad - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 0e35daab3b26332f - Ot-Tracer-Traceid: - - 06c68bdd5d3e3871 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700195' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '[{"id":"5a26a8581b937a5d15410049","name":"Auth0 Management API","identifier":"https://auth0-sdk-tests.auth0.com/api/v2/","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":86400,"token_lifetime_for_web":7200,"signing_alg":"RS256","scopes":[{"description":"Read - Client Grants","value":"read:client_grants"},{"description":"Create Client - Grants","value":"create:client_grants"},{"description":"Delete Client Grants","value":"delete:client_grants"},{"description":"Update - Client Grants","value":"update:client_grants"},{"description":"Read Users","value":"read:users"},{"description":"Update - Users","value":"update:users"},{"description":"Delete Users","value":"delete:users"},{"description":"Create - Users","value":"create:users"},{"description":"Read Users App Metadata","value":"read:users_app_metadata"},{"description":"Update - Users App Metadata","value":"update:users_app_metadata"},{"description":"Delete - Users App Metadata","value":"delete:users_app_metadata"},{"description":"Create - Users App Metadata","value":"create:users_app_metadata"},{"description":"Read - Custom User Blocks","value":"read:user_custom_blocks"},{"description":"Create - Custom User Blocks","value":"create:user_custom_blocks"},{"description":"Delete - Custom User Blocks","value":"delete:user_custom_blocks"},{"description":"Create - User Tickets","value":"create:user_tickets"},{"description":"Read Clients","value":"read:clients"},{"description":"Update - Clients","value":"update:clients"},{"description":"Delete Clients","value":"delete:clients"},{"description":"Create - Clients","value":"create:clients"},{"description":"Read Client Keys","value":"read:client_keys"},{"description":"Update - Client Keys","value":"update:client_keys"},{"description":"Delete Client Keys","value":"delete:client_keys"},{"description":"Create - Client Keys","value":"create:client_keys"},{"description":"Read Connections","value":"read:connections"},{"description":"Update - Connections","value":"update:connections"},{"description":"Delete Connections","value":"delete:connections"},{"description":"Create - Connections","value":"create:connections"},{"description":"Read Resource Servers","value":"read:resource_servers"},{"description":"Update - Resource Servers","value":"update:resource_servers"},{"description":"Delete - Resource Servers","value":"delete:resource_servers"},{"description":"Create - Resource Servers","value":"create:resource_servers"},{"description":"Read - Device Credentials","value":"read:device_credentials"},{"description":"Update - Device Credentials","value":"update:device_credentials"},{"description":"Delete - Device Credentials","value":"delete:device_credentials"},{"description":"Create - Device Credentials","value":"create:device_credentials"},{"description":"Read - Rules","value":"read:rules"},{"description":"Update Rules","value":"update:rules"},{"description":"Delete - Rules","value":"delete:rules"},{"description":"Create Rules","value":"create:rules"},{"description":"Read - Rules Configs","value":"read:rules_configs"},{"description":"Update Rules - Configs","value":"update:rules_configs"},{"description":"Delete Rules Configs","value":"delete:rules_configs"},{"description":"Read - Hooks","value":"read:hooks"},{"description":"Update Hooks","value":"update:hooks"},{"description":"Delete - Hooks","value":"delete:hooks"},{"description":"Create Hooks","value":"create:hooks"},{"description":"Read - Actions","value":"read:actions"},{"description":"Update Actions","value":"update:actions"},{"description":"Delete - Actions","value":"delete:actions"},{"description":"Create Actions","value":"create:actions"},{"description":"Read - Email Provider","value":"read:email_provider"},{"description":"Update Email - Provider","value":"update:email_provider"},{"description":"Delete Email Provider","value":"delete:email_provider"},{"description":"Create - Email Provider","value":"create:email_provider"},{"description":"Blacklist - Tokens","value":"blacklist:tokens"},{"description":"Read Stats","value":"read:stats"},{"description":"Read - Insights","value":"read:insights"},{"description":"Read Tenant Settings","value":"read:tenant_settings"},{"description":"Update - Tenant Settings","value":"update:tenant_settings"},{"description":"Read Logs","value":"read:logs"},{"description":"Read - logs relating to users","value":"read:logs_users"},{"description":"Read Shields","value":"read:shields"},{"description":"Create - Shields","value":"create:shields"},{"description":"Update Shields","value":"update:shields"},{"description":"Delete - Shields","value":"delete:shields"},{"description":"Read Anomaly Detection - Blocks","value":"read:anomaly_blocks"},{"description":"Delete Anomaly Detection - Blocks","value":"delete:anomaly_blocks"},{"description":"Update Triggers","value":"update:triggers"},{"description":"Read - Triggers","value":"read:triggers"},{"description":"Read User Grants","value":"read:grants"},{"description":"Delete - User Grants","value":"delete:grants"},{"description":"Read Guardian factors - configuration","value":"read:guardian_factors"},{"description":"Update Guardian - factors","value":"update:guardian_factors"},{"description":"Read Guardian - enrollments","value":"read:guardian_enrollments"},{"description":"Delete Guardian - enrollments","value":"delete:guardian_enrollments"},{"description":"Create - enrollment tickets for Guardian","value":"create:guardian_enrollment_tickets"},{"description":"Read - Users IDP tokens","value":"read:user_idp_tokens"},{"description":"Create password - checking jobs","value":"create:passwords_checking_job"},{"description":"Deletes - password checking job and all its resources","value":"delete:passwords_checking_job"},{"description":"Read - custom domains configurations","value":"read:custom_domains"},{"description":"Delete - custom domains configurations","value":"delete:custom_domains"},{"description":"Configure - new custom domains","value":"create:custom_domains"},{"description":"Update - custom domain configurations","value":"update:custom_domains"},{"description":"Read - email templates","value":"read:email_templates"},{"description":"Create email - templates","value":"create:email_templates"},{"description":"Update email - templates","value":"update:email_templates"},{"description":"Read Multifactor - Authentication policies","value":"read:mfa_policies"},{"description":"Update - Multifactor Authentication policies","value":"update:mfa_policies"},{"description":"Read - roles","value":"read:roles"},{"description":"Create roles","value":"create:roles"},{"description":"Delete - roles","value":"delete:roles"},{"description":"Update roles","value":"update:roles"},{"description":"Read - prompts settings","value":"read:prompts"},{"description":"Update prompts settings","value":"update:prompts"},{"description":"Read - branding settings","value":"read:branding"},{"description":"Update branding - settings","value":"update:branding"},{"description":"Delete branding settings","value":"delete:branding"},{"description":"Read - log_streams","value":"read:log_streams"},{"description":"Create log_streams","value":"create:log_streams"},{"description":"Delete - log_streams","value":"delete:log_streams"},{"description":"Update log_streams","value":"update:log_streams"},{"description":"Create - signing keys","value":"create:signing_keys"},{"description":"Read signing - keys","value":"read:signing_keys"},{"description":"Update signing keys","value":"update:signing_keys"},{"description":"Read - entity limits","value":"read:limits"},{"description":"Update entity limits","value":"update:limits"},{"description":"Create - role members","value":"create:role_members"},{"description":"Read role members","value":"read:role_members"},{"description":"Update - role members","value":"delete:role_members"},{"description":"Read entitlements","value":"read:entitlements"},{"description":"Read - attack protection","value":"read:attack_protection"},{"description":"Update - attack protection","value":"update:attack_protection"},{"value":"read:organizations","description":"Read - Organizations"},{"value":"update:organizations","description":"Update Organizations"},{"value":"create:organizations","description":"Create - Organizations"},{"value":"delete:organizations","description":"Delete Organizations"},{"value":"create:organization_members","description":"Create - organization members"},{"value":"read:organization_members","description":"Read - organization members"},{"value":"delete:organization_members","description":"Delete - organization members"},{"value":"create:organization_connections","description":"Create - organization connections"},{"value":"read:organization_connections","description":"Read - organization connections"},{"value":"update:organization_connections","description":"Update - organization connections"},{"value":"delete:organization_connections","description":"Delete - organization connections"},{"value":"create:organization_member_roles","description":"Create - organization member roles"},{"value":"read:organization_member_roles","description":"Read - organization member roles"},{"value":"delete:organization_member_roles","description":"Delete - organization member roles"},{"value":"create:organization_invitations","description":"Create - organization invitations"},{"value":"read:organization_invitations","description":"Read - organization invitations"},{"value":"delete:organization_invitations","description":"Delete - organization invitations"}],"is_system":true}]' - recorded_at: Fri, 03 Sep 2021 20:16:34 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/create_test_server.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/create_test_server.yml deleted file mode 100644 index 2b7e4d9a1..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/create_test_server.yml +++ /dev/null @@ -1,76 +0,0 @@ ---- -http_interactions: -- request: - method: post - uri: https://auth0-sdk-tests.auth0.com/api/v2/resource-servers - body: - encoding: UTF-8 - string: '{"name":"TestServer-rubytest-210908","signing_alg":"RS256","signing_secret":"jPd1d0TWbg7pN9iPcXdtYtEIIGAk5zhmCi","token_lifetime":123456,"identifier":"https://localhost.test/api/v1/"}' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '183' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 201 - message: Created - headers: - Date: - - Fri, 03 Sep 2021 20:16:34 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a814eae231af-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a814eae231af - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 266825315a5333d7 - Ot-Tracer-Traceid: - - 28523a556911c7b9 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700195' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"id":"613282a2cdbe5d00408561ea","name":"TestServer-rubytest-210908","identifier":"https://localhost.test/api/v1/","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":123456,"token_lifetime_for_web":7200,"signing_alg":"RS256","signing_secret":"jPd1d0TWbg7pN9iPcXdtYtEIIGAk5zhmCi"}' - recorded_at: Fri, 03 Sep 2021 20:16:34 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/delete_test_server.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/delete_test_server.yml deleted file mode 100644 index 8744bf0b9..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_ResourceServers/delete_test_server.yml +++ /dev/null @@ -1,72 +0,0 @@ ---- -http_interactions: -- request: - method: delete - uri: https://auth0-sdk-tests.auth0.com/api/v2/resource-servers/613282a2cdbe5d00408561ea - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 204 - message: No Content - headers: - Date: - - Fri, 03 Sep 2021 20:16:35 GMT - Content-Type: - - application/json; charset=utf-8 - Connection: - - keep-alive - Cf-Ray: - - 6891a81ddbf754e7-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a81ddbf754e7 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 738fb101088c9d2d - Ot-Tracer-Traceid: - - 1c752dc7113248d4 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700196' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: UTF-8 - string: '' - recorded_at: Fri, 03 Sep 2021 20:16:35 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_add_role_permissions/should_add_a_Permission_to_the_Role_successfully.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_add_role_permissions/should_add_a_Permission_to_the_Role_successfully.yml deleted file mode 100644 index b4f3c442b..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_add_role_permissions/should_add_a_Permission_to_the_Role_successfully.yml +++ /dev/null @@ -1,76 +0,0 @@ ---- -http_interactions: -- request: - method: post - uri: https://auth0-sdk-tests.auth0.com/api/v2/roles/rol_09CHZmuc9AHc48Ie/permissions - body: - encoding: UTF-8 - string: '{"permissions":[{"permission_name":"rubytest-210908-test-permission","resource_server_identifier":"rubytest-210908-test-api-for-roles"}]}' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '137' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 201 - message: Created - headers: - Date: - - Fri, 03 Sep 2021 20:16:37 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a82b09f8367e-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a82b09f8367e - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 31055f3858bd57cc - Ot-Tracer-Traceid: - - 26c130a27326d41a - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700198' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: "{}" - recorded_at: Fri, 03 Sep 2021 20:16:37 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_add_role_users/should_add_a_User_to_the_Role_successfully.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_add_role_users/should_add_a_User_to_the_Role_successfully.yml deleted file mode 100644 index 3ffada18e..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_add_role_users/should_add_a_User_to_the_Role_successfully.yml +++ /dev/null @@ -1,76 +0,0 @@ ---- -http_interactions: -- request: - method: post - uri: https://auth0-sdk-tests.auth0.com/api/v2/roles/rol_09CHZmuc9AHc48Ie/users - body: - encoding: UTF-8 - string: '{"users":["auth0|613282a3c2d480007114acbb"]}' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '44' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:37 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a826ce490503-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a826ce490503 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 3875d49862c88071 - Ot-Tracer-Traceid: - - 17593cd863aac7b4 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700198' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: "{}" - recorded_at: Fri, 03 Sep 2021 20:16:37 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_delete_role/should_delete_the_Role_successfully.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_delete_role/should_delete_the_Role_successfully.yml deleted file mode 100644 index d6d29f767..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_delete_role/should_delete_the_Role_successfully.yml +++ /dev/null @@ -1,74 +0,0 @@ ---- -http_interactions: -- request: - method: delete - uri: https://auth0-sdk-tests.auth0.com/api/v2/roles/rol_09CHZmuc9AHc48Ie - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:38 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a8303a9031d3-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a8303a9031d3 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 41702c1b5bdc8826 - Ot-Tracer-Traceid: - - 456ab47109e99f8d - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700199' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: "{}" - recorded_at: Fri, 03 Sep 2021 20:16:38 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role/should_get_the_Role_successfully.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role/should_get_the_Role_successfully.yml deleted file mode 100644 index 920db9d74..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role/should_get_the_Role_successfully.yml +++ /dev/null @@ -1,75 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/roles/rol_09CHZmuc9AHc48Ie - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:36 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a8233aec3185-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a8233aec3185 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - '0475393f41fdfb94' - Ot-Tracer-Traceid: - - 15131623704473ee - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700197' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"id":"rol_09CHZmuc9AHc48Ie","name":"rubytest-210908-test-role","description":"Test - role description"}' - recorded_at: Fri, 03 Sep 2021 20:16:36 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role_permissions/should_get_exactly_1_Permission.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role_permissions/should_get_exactly_1_Permission.yml deleted file mode 100644 index 83d4a70bc..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role_permissions/should_get_exactly_1_Permission.yml +++ /dev/null @@ -1,74 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/roles/rol_09CHZmuc9AHc48Ie/permissions - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:37 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a82c4bf1314f-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a82c4bf1314f - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 18e035c7325dc9e6 - Ot-Tracer-Traceid: - - 22d9b1f8267e4b77 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700198' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '[{"permission_name":"rubytest-210908-test-permission","description":"","resource_server_name":"rubytest-210908-test-api-for-roles","resource_server_identifier":"rubytest-210908-test-api-for-roles"}]' - recorded_at: Fri, 03 Sep 2021 20:16:37 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role_permissions/should_get_the_added_Permission_from_the_Role_successfully.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role_permissions/should_get_the_added_Permission_from_the_Role_successfully.yml deleted file mode 100644 index e1d7590f5..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role_permissions/should_get_the_added_Permission_from_the_Role_successfully.yml +++ /dev/null @@ -1,74 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/roles/rol_09CHZmuc9AHc48Ie/permissions - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:38 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a82dfa280caf-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a82dfa280caf - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 6145dea24cbc140a - Ot-Tracer-Traceid: - - 18b0b4d929884a2a - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700199' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '[{"permission_name":"rubytest-210908-test-permission","description":"","resource_server_name":"rubytest-210908-test-api-for-roles","resource_server_identifier":"rubytest-210908-test-api-for-roles"}]' - recorded_at: Fri, 03 Sep 2021 20:16:38 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role_users/should_get_exactly_1_User.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role_users/should_get_exactly_1_User.yml deleted file mode 100644 index 719d119e8..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role_users/should_get_exactly_1_User.yml +++ /dev/null @@ -1,74 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/roles/rol_09CHZmuc9AHc48Ie/users - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:37 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a8285d130d44-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a8285d130d44 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 6cb682a04f2fffcc - Ot-Tracer-Traceid: - - 1ac09453394b7cf4 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700198' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '[{"user_id":"auth0|613282a3c2d480007114acbb","email":"rubytest-210908-rubytest-210908-username-for-roles@auth0.com","picture":"https://s.gravatar.com/avatar/b3dbe5ced2cdf6ecb535701bd8245fa4?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fru.png","name":"rubytest-210908-username-for-roles"}]' - recorded_at: Fri, 03 Sep 2021 20:16:37 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role_users/should_get_the_added_User_from_the_Role_successfully.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role_users/should_get_the_added_User_from_the_Role_successfully.yml deleted file mode 100644 index e7918c269..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_role_users/should_get_the_added_User_from_the_Role_successfully.yml +++ /dev/null @@ -1,74 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/roles/rol_09CHZmuc9AHc48Ie/users - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:37 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a8299962eb55-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a8299962eb55 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 7e933cb8775eb3a0 - Ot-Tracer-Traceid: - - 03b8f227268590eb - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700198' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '[{"user_id":"auth0|613282a3c2d480007114acbb","email":"rubytest-210908-rubytest-210908-username-for-roles@auth0.com","picture":"https://s.gravatar.com/avatar/b3dbe5ced2cdf6ecb535701bd8245fa4?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fru.png","name":"rubytest-210908-username-for-roles"}]' - recorded_at: Fri, 03 Sep 2021 20:16:37 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_roles/should_get_the_Role_successfully.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_roles/should_get_the_Role_successfully.yml deleted file mode 100644 index e8a773b93..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_get_roles/should_get_the_Role_successfully.yml +++ /dev/null @@ -1,75 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/roles - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:36 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a8247e863684-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a8247e863684 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 0b5779782d859f45 - Ot-Tracer-Traceid: - - 346330447bd98196 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700197' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '[{"id":"rol_09CHZmuc9AHc48Ie","name":"rubytest-210908-test-role","description":"Test - role description"}]' - recorded_at: Fri, 03 Sep 2021 20:16:36 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_remove_role_permissions/should_remove_a_Permission_from_the_Role_successfully.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_remove_role_permissions/should_remove_a_Permission_from_the_Role_successfully.yml deleted file mode 100644 index 267793ee9..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_remove_role_permissions/should_remove_a_Permission_from_the_Role_successfully.yml +++ /dev/null @@ -1,74 +0,0 @@ ---- -http_interactions: -- request: - method: delete - uri: https://auth0-sdk-tests.auth0.com/api/v2/roles/rol_09CHZmuc9AHc48Ie/permissions - body: - encoding: UTF-8 - string: '{"permissions":[{"permission_name":"rubytest-210908-test-permission","resource_server_identifier":"rubytest-210908-test-api-for-roles"}]}' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '137' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 204 - message: No Content - headers: - Date: - - Fri, 03 Sep 2021 20:16:38 GMT - Content-Type: - - application/json; charset=utf-8 - Connection: - - keep-alive - Cf-Ray: - - 6891a82f1da63643-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a82f1da63643 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 4d88811b3adfe548 - Ot-Tracer-Traceid: - - 12f33b672c23d8fb - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700199' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: UTF-8 - string: '' - recorded_at: Fri, 03 Sep 2021 20:16:38 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_update_role/should_update_the_Role_successfully.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_update_role/should_update_the_Role_successfully.yml deleted file mode 100644 index cfeec60eb..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/_update_role/should_update_the_Role_successfully.yml +++ /dev/null @@ -1,76 +0,0 @@ ---- -http_interactions: -- request: - method: patch - uri: https://auth0-sdk-tests.auth0.com/api/v2/roles/rol_09CHZmuc9AHc48Ie - body: - encoding: UTF-8 - string: '{"name":"New name","description":"New description"}' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '51' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:36 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a825bae10d24-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a825bae10d24 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 4054577411012d5c - Ot-Tracer-Traceid: - - '058f93d500beee3e' - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700197' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"id":"rol_09CHZmuc9AHc48Ie","name":"New name","description":"New description"}' - recorded_at: Fri, 03 Sep 2021 20:16:36 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/create_test_api.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/create_test_api.yml deleted file mode 100644 index bac6c5349..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/create_test_api.yml +++ /dev/null @@ -1,76 +0,0 @@ ---- -http_interactions: -- request: - method: post - uri: https://auth0-sdk-tests.auth0.com/api/v2/resource-servers - body: - encoding: UTF-8 - string: '{"name":"rubytest-210908-test-api-for-roles","scopes":[{"value":"rubytest-210908-test-permission"}],"identifier":"rubytest-210908-test-api-for-roles"}' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '150' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 201 - message: Created - headers: - Date: - - Fri, 03 Sep 2021 20:16:36 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a8210b410579-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a8210b410579 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 4de568830775fba5 - Ot-Tracer-Traceid: - - 1033a0251d6dfbe0 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700197' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"id":"613282a4fb0a8d0042bd7496","name":"rubytest-210908-test-api-for-roles","identifier":"rubytest-210908-test-api-for-roles","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":86400,"token_lifetime_for_web":7200,"signing_alg":"RS256","scopes":[{"value":"rubytest-210908-test-permission"}]}' - recorded_at: Fri, 03 Sep 2021 20:16:36 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/create_test_role.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/create_test_role.yml deleted file mode 100644 index 7dc5d57a6..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/create_test_role.yml +++ /dev/null @@ -1,77 +0,0 @@ ---- -http_interactions: -- request: - method: post - uri: https://auth0-sdk-tests.auth0.com/api/v2/roles - body: - encoding: UTF-8 - string: '{"description":"Test role description","name":"rubytest-210908-test-role"}' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '74' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:36 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a8222b1a3604-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a8222b1a3604 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 2ab450cd6d060086 - Ot-Tracer-Traceid: - - 4af1d9e1058beae0 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700197' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"id":"rol_09CHZmuc9AHc48Ie","name":"rubytest-210908-test-role","description":"Test - role description"}' - recorded_at: Fri, 03 Sep 2021 20:16:36 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/create_test_user.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/create_test_user.yml deleted file mode 100644 index 2a9a6f037..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/create_test_user.yml +++ /dev/null @@ -1,76 +0,0 @@ ---- -http_interactions: -- request: - method: post - uri: https://auth0-sdk-tests.auth0.com/api/v2/users - body: - encoding: UTF-8 - string: '{"name":"rubytest-210908-username-for-roles","email":"rubytest-210908-rubytest-210908-username-for-roles@auth0.com","password":"7F3yEtPc","connection":"Username-Password-Authentication"}' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '186' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 201 - message: Created - headers: - Date: - - Fri, 03 Sep 2021 20:16:35 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a81f1cfd3197-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a81f1cfd3197 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 70a48a35280ea33c - Ot-Tracer-Traceid: - - 5171477c3ad8e54d - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700196' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"created_at":"2021-09-03T20:16:35.900Z","email":"rubytest-210908-rubytest-210908-username-for-roles@auth0.com","email_verified":false,"identities":[{"connection":"Username-Password-Authentication","user_id":"613282a3c2d480007114acbb","provider":"auth0","isSocial":false}],"name":"rubytest-210908-username-for-roles","nickname":"rubytest-210908-rubytest-210908-username-for-roles","picture":"https://s.gravatar.com/avatar/b3dbe5ced2cdf6ecb535701bd8245fa4?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fru.png","updated_at":"2021-09-03T20:16:35.900Z","user_id":"auth0|613282a3c2d480007114acbb"}' - recorded_at: Fri, 03 Sep 2021 20:16:35 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/delete_test_api.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/delete_test_api.yml deleted file mode 100644 index 5d3da6515..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/delete_test_api.yml +++ /dev/null @@ -1,72 +0,0 @@ ---- -http_interactions: -- request: - method: delete - uri: https://auth0-sdk-tests.auth0.com/api/v2/resource-servers/613282a4fb0a8d0042bd7496 - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 204 - message: No Content - headers: - Date: - - Fri, 03 Sep 2021 20:16:39 GMT - Content-Type: - - application/json; charset=utf-8 - Connection: - - keep-alive - Cf-Ray: - - 6891a8337be50d1c-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a8337be50d1c - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 702bdc1354ee50b3 - Ot-Tracer-Traceid: - - 04c3ddce7dc206c5 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700200' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: UTF-8 - string: '' - recorded_at: Fri, 03 Sep 2021 20:16:39 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/delete_test_user.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/delete_test_user.yml deleted file mode 100644 index ddac506e4..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Roles/delete_test_user.yml +++ /dev/null @@ -1,72 +0,0 @@ ---- -http_interactions: -- request: - method: delete - uri: https://auth0-sdk-tests.auth0.com/api/v2/users/auth0%7C613282a3c2d480007114acbb - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 204 - message: No Content - headers: - Date: - - Fri, 03 Sep 2021 20:16:38 GMT - Content-Type: - - application/json; charset=utf-8 - Connection: - - keep-alive - Cf-Ray: - - 6891a831ee410cdf-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a831ee410cdf - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 49013fa013276abe - Ot-Tracer-Traceid: - - 6cb56b51047df86a - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700199' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: UTF-8 - string: '' - recorded_at: Fri, 03 Sep 2021 20:16:38 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_delete_rule/should_delete_the_test_disabled_rule_without_an_error.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_delete_rule/should_delete_the_test_disabled_rule_without_an_error.yml deleted file mode 100644 index f37775006..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_delete_rule/should_delete_the_test_disabled_rule_without_an_error.yml +++ /dev/null @@ -1,72 +0,0 @@ ---- -http_interactions: -- request: - method: delete - uri: https://auth0-sdk-tests.auth0.com/api/v2/rules/rul_bsg64xEPZz4WOkXz - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 204 - message: No Content - headers: - Date: - - Fri, 03 Sep 2021 20:16:42 GMT - Content-Type: - - application/json; charset=utf-8 - Connection: - - keep-alive - Cf-Ray: - - 6891a8479b873616-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a8479b873616 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 5f437b4a2e74bcb6 - Ot-Tracer-Traceid: - - 2ec7aa7b2a13f4f7 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700203' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: UTF-8 - string: '' - recorded_at: Fri, 03 Sep 2021 20:16:42 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_delete_rule/should_delete_the_test_enabled_rule_without_an_error.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_delete_rule/should_delete_the_test_enabled_rule_without_an_error.yml deleted file mode 100644 index caa6baee9..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_delete_rule/should_delete_the_test_enabled_rule_without_an_error.yml +++ /dev/null @@ -1,72 +0,0 @@ ---- -http_interactions: -- request: - method: delete - uri: https://auth0-sdk-tests.auth0.com/api/v2/rules/rul_jczlrqACfJJEzyYn - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 204 - message: No Content - headers: - Date: - - Fri, 03 Sep 2021 20:16:42 GMT - Content-Type: - - application/json; charset=utf-8 - Connection: - - keep-alive - Cf-Ray: - - 6891a84688ef361f-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a84688ef361f - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 06bfc82c618edea7 - Ot-Tracer-Traceid: - - 24c75ba8342f4ec8 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700203' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: UTF-8 - string: '' - recorded_at: Fri, 03 Sep 2021 20:16:42 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rule/_filters/should_exclude_the_fields_not_specified.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rule/_filters/should_exclude_the_fields_not_specified.yml deleted file mode 100644 index f44a5c5dd..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rule/_filters/should_exclude_the_fields_not_specified.yml +++ /dev/null @@ -1,75 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/rules/rul_jczlrqACfJJEzyYn?fields=stage&include_fields=false - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:41 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a843dd86361f-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a843dd86361f - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 5c3c8c0044ca72eb - Ot-Tracer-Traceid: - - 308fda526c305bc4 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700202' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"id":"rul_jczlrqACfJJEzyYn","enabled":true,"script":"function (user, - context, cb) { cb(null, user, context);}","name":"rubytest-210908 - ENABLED","order":39}' - recorded_at: Fri, 03 Sep 2021 20:16:41 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rule/_filters/should_exclude_the_specified_fields.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rule/_filters/should_exclude_the_specified_fields.yml deleted file mode 100644 index 866ac7192..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rule/_filters/should_exclude_the_specified_fields.yml +++ /dev/null @@ -1,75 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/rules/rul_jczlrqACfJJEzyYn?fields=stage&include_fields=false - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:41 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a842ba6a5208-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a842ba6a5208 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 3c52c3643c1691dd - Ot-Tracer-Traceid: - - 609d67c7125a40df - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700202' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"id":"rul_jczlrqACfJJEzyYn","enabled":true,"script":"function (user, - context, cb) { cb(null, user, context);}","name":"rubytest-210908 - ENABLED","order":39}' - recorded_at: Fri, 03 Sep 2021 20:16:41 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rule/_filters/should_include_the_specified_fields.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rule/_filters/should_include_the_specified_fields.yml deleted file mode 100644 index f4391b17a..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rule/_filters/should_include_the_specified_fields.yml +++ /dev/null @@ -1,74 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/rules/rul_jczlrqACfJJEzyYn?fields=stage,order,script - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:41 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a8417ad7535b-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a8417ad7535b - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - '0272658f5fe8b9ca' - Ot-Tracer-Traceid: - - 7daba9d047c55d56 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700202' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"script":"function (user, context, cb) { cb(null, user, context);}","order":39,"stage":"login_success"}' - recorded_at: Fri, 03 Sep 2021 20:16:41 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rule/should_get_a_specific_rule.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rule/should_get_a_specific_rule.yml deleted file mode 100644 index d0034ccab..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rule/should_get_a_specific_rule.yml +++ /dev/null @@ -1,75 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/rules/rul_jczlrqACfJJEzyYn - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:41 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a8405eb8360f-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a8405eb8360f - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 1d2945396736f3a8 - Ot-Tracer-Traceid: - - 28d7615156a93234 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700202' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"id":"rul_jczlrqACfJJEzyYn","enabled":true,"script":"function (user, - context, cb) { cb(null, user, context);}","name":"rubytest-210908 - ENABLED","order":39,"stage":"login_success"}' - recorded_at: Fri, 03 Sep 2021 20:16:41 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_exclude_fields_not_specified.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_exclude_fields_not_specified.yml deleted file mode 100644 index 74ea70f86..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_exclude_fields_not_specified.yml +++ /dev/null @@ -1,116 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/rules?fields=script - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:40 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a83c8f470cdf-LAX - Cache-Control: - - no-cache - Link: - - ; - rel="first", ; - rel="last" - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a83c8f470cdf - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 42a4ada14a26f8b7 - Ot-Tracer-Traceid: - - 2199957f532ca7c4 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700201' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '[{"script":"function (user, context, callback) {\n // TODO: implement - your rule\n callback(null, user, context);\n}"},{"script":"function (user, - context, cb) { cb(null, user, context); }"},{"script":"function (user, context, - cb) { cb(null, user, context); }"},{"script":"function (user, context, cb) - { cb(null, user, context); }"},{"script":"function (user, context, cb) { cb(null, - user, context); }"},{"script":"function (user, context, cb) { cb(null, user, - context); }"},{"script":"function (user, context, cb) { cb(null, user, context); - }"},{"script":"function (user, context, cb) { cb(null, user, context); }"},{"script":"function - (user, context, cb) { cb(null, user, context); }"},{"script":"function (user, - context, cb) { cb(null, user, context); }"},{"script":"function (user, context, - cb) { cb(null, user, context); }"},{"script":"function (user, context, cb) - { cb(null, user, context); }"},{"script":"function (user, context, cb) { cb(null, - user, context); }"},{"script":"function (user, context, cb) { cb(null, user, - context); }"},{"script":"function (user, context, cb) { cb(null, user, context);}"},{"script":"function - (user, context, callback) {\n // TODO: implement your rule\n callback(null, - user, context);\n}"},{"script":"function (user, context, callback) { callback(null, - user, context); }"},{"script":"function (user, context, callback) { callback(null, - user, context); }"},{"script":"function (user, context, callback) { callback(null, - user, context); }"},{"script":"function (user, context, callback) { callback(null, - user, context); }"},{"script":"function (user, context, callback) { callback(null, - user, context); }"},{"script":"function (user, context, callback) { callback(null, - user, context); }"},{"script":"function (user, context, callback) { callback(null, - user, context); }"},{"script":"function (user, context, callback) { callback(null, - user, context); }"},{"script":"function (user, context, callback) { callback(null, - user, context); }"},{"script":"function (user, context, cb) { cb(null, user, - context);}"},{"script":"function (user, context, callback) { callback(null, - user, context); }"},{"script":"function (user, context, callback) { callback(null, - user, context); }"},{"script":"function (user, context, callback) { callback(null, - user, context); }"},{"script":"function (user, context, callback) { callback(null, - user, context); }"},{"script":"function (user, context, callback) { callback(null, - user, context); }"},{"script":"function (user, context, callback) { callback(null, - user, context); }"},{"script":"function (user, context, callback) { callback(null, - user, context); }"},{"script":"function (user, context, callback) { callback(null, - user, context); }"},{"script":"function (user, context, callback) { callback(null, - user, context); }"},{"script":"function (user, context, callback) { callback(null, - user, context); }"},{"script":"function (user, context, callback) { callback(null, - user, context); }"},{"script":"function (user, context, callback) { callback(null, - user, context); }"},{"script":"function (user, context, cb) { cb(null, user, - context);}"}]' - recorded_at: Fri, 03 Sep 2021 20:16:40 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_include_the_specified_fields.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_include_the_specified_fields.yml deleted file mode 100644 index 4a04421d0..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_include_the_specified_fields.yml +++ /dev/null @@ -1,118 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/rules?fields=script,order - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:40 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a83b1c9952f5-LAX - Cache-Control: - - no-cache - Link: - - ; - rel="first", ; - rel="last" - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a83b1c9952f5 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 2ee16ac804bc6603 - Ot-Tracer-Traceid: - - 60179d002ad2ad8c - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700201' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '[{"script":"function (user, context, callback) {\n // TODO: implement - your rule\n callback(null, user, context);\n}","order":1},{"script":"function - (user, context, cb) { cb(null, user, context); }","order":9},{"script":"function - (user, context, cb) { cb(null, user, context); }","order":11},{"script":"function - (user, context, cb) { cb(null, user, context); }","order":12},{"script":"function - (user, context, cb) { cb(null, user, context); }","order":16},{"script":"function - (user, context, cb) { cb(null, user, context); }","order":19},{"script":"function - (user, context, cb) { cb(null, user, context); }","order":21},{"script":"function - (user, context, cb) { cb(null, user, context); }","order":23},{"script":"function - (user, context, cb) { cb(null, user, context); }","order":25},{"script":"function - (user, context, cb) { cb(null, user, context); }","order":26},{"script":"function - (user, context, cb) { cb(null, user, context); }","order":28},{"script":"function - (user, context, cb) { cb(null, user, context); }","order":29},{"script":"function - (user, context, cb) { cb(null, user, context); }","order":34},{"script":"function - (user, context, cb) { cb(null, user, context); }","order":38},{"script":"function - (user, context, cb) { cb(null, user, context);}","order":40},{"script":"function - (user, context, callback) {\n // TODO: implement your rule\n callback(null, - user, context);\n}","order":2},{"script":"function (user, context, callback) - { callback(null, user, context); }","order":3},{"script":"function (user, - context, callback) { callback(null, user, context); }","order":4},{"script":"function - (user, context, callback) { callback(null, user, context); }","order":5},{"script":"function - (user, context, callback) { callback(null, user, context); }","order":6},{"script":"function - (user, context, callback) { callback(null, user, context); }","order":7},{"script":"function - (user, context, callback) { callback(null, user, context); }","order":8},{"script":"function - (user, context, callback) { callback(null, user, context); }","order":10},{"script":"function - (user, context, callback) { callback(null, user, context); }","order":11},{"script":"function - (user, context, callback) { callback(null, user, context); }","order":13},{"script":"function - (user, context, cb) { cb(null, user, context);}","order":14},{"script":"function - (user, context, callback) { callback(null, user, context); }","order":15},{"script":"function - (user, context, callback) { callback(null, user, context); }","order":18},{"script":"function - (user, context, callback) { callback(null, user, context); }","order":22},{"script":"function - (user, context, callback) { callback(null, user, context); }","order":24},{"script":"function - (user, context, callback) { callback(null, user, context); }","order":27},{"script":"function - (user, context, callback) { callback(null, user, context); }","order":30},{"script":"function - (user, context, callback) { callback(null, user, context); }","order":31},{"script":"function - (user, context, callback) { callback(null, user, context); }","order":32},{"script":"function - (user, context, callback) { callback(null, user, context); }","order":33},{"script":"function - (user, context, callback) { callback(null, user, context); }","order":35},{"script":"function - (user, context, callback) { callback(null, user, context); }","order":36},{"script":"function - (user, context, callback) { callback(null, user, context); }","order":37},{"script":"function - (user, context, cb) { cb(null, user, context);}","order":39}]' - recorded_at: Fri, 03 Sep 2021 20:16:40 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_return_at_least_1_disabled_rule.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_return_at_least_1_disabled_rule.yml deleted file mode 100644 index b3fb3fb7a..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_return_at_least_1_disabled_rule.yml +++ /dev/null @@ -1,95 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/rules?enabled=false - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:40 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a83a1eaf0ccf-LAX - Cache-Control: - - no-cache - Link: - - ; - rel="first", ; - rel="last" - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a83a1eaf0ccf - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 3e26c90a48148472 - Ot-Tracer-Traceid: - - 5842f8584f0d9b4a - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700201' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '[{"id":"rul_7MKFToUZ1xB2BvAq","enabled":false,"script":"function (user, - context, callback) {\n // TODO: implement your rule\n callback(null, user, - context);\n}","name":"Testing Rule - Disabled - DO NOT DELETE","order":1,"stage":"login_success"},{"id":"rul_sxWR96dOYrhtMwhH","enabled":false,"script":"function - (user, context, cb) { cb(null, user, context); }","name":"test-create-rule-1355015546","order":9,"stage":"login_success"},{"id":"rul_VMW16gL4xzysOhED","enabled":false,"script":"function - (user, context, cb) { cb(null, user, context); }","name":"test-create-rule-973421001","order":11,"stage":"login_success"},{"id":"rul_VYXGCYcuGK06tKp9","enabled":false,"script":"function - (user, context, cb) { cb(null, user, context); }","name":"test-create-rule-542392910","order":12,"stage":"login_success"},{"id":"rul_Z5UXBV6H9kFlU1zT","enabled":false,"script":"function - (user, context, cb) { cb(null, user, context); }","name":"test-create-rule-1205327462","order":16,"stage":"login_success"},{"id":"rul_aNDYcteiXnZQcBop","enabled":false,"script":"function - (user, context, cb) { cb(null, user, context); }","name":"test-create-rule-1172870501","order":19,"stage":"login_success"},{"id":"rul_mjGhkxNuZDku9Zmy","enabled":false,"script":"function - (user, context, cb) { cb(null, user, context); }","name":"test-create-rule-601153869","order":21,"stage":"login_success"},{"id":"rul_sjXr9kHO81su6RLa","enabled":false,"script":"function - (user, context, cb) { cb(null, user, context); }","name":"test-create-rule-1860284439","order":23,"stage":"login_success"},{"id":"rul_7P77tgvrsFpXChX2","enabled":false,"script":"function - (user, context, cb) { cb(null, user, context); }","name":"test-create-rule-41643451","order":25,"stage":"login_success"},{"id":"rul_3GYl8HwYDID70g64","enabled":false,"script":"function - (user, context, cb) { cb(null, user, context); }","name":"test-create-rule-1765834470","order":26,"stage":"login_success"},{"id":"rul_sShsD4ccdMm5lv0g","enabled":false,"script":"function - (user, context, cb) { cb(null, user, context); }","name":"test-create-rule-566417894","order":28,"stage":"login_success"},{"id":"rul_MtYeAMV6z2Ns16Z6","enabled":false,"script":"function - (user, context, cb) { cb(null, user, context); }","name":"test-create-rule-39737334","order":29,"stage":"login_success"},{"id":"rul_nJBy2BjsyhQGCMRI","enabled":false,"script":"function - (user, context, cb) { cb(null, user, context); }","name":"test-create-rule-87703473","order":34,"stage":"login_success"},{"id":"rul_IbJ9aqTsqEwWABwV","enabled":false,"script":"function - (user, context, cb) { cb(null, user, context); }","name":"test-create-rule-1114628245","order":38,"stage":"login_success"},{"id":"rul_bsg64xEPZz4WOkXz","enabled":false,"script":"function - (user, context, cb) { cb(null, user, context);}","name":"rubytest-210908 - - DISABLED","order":40,"stage":"login_success"}]' - recorded_at: Fri, 03 Sep 2021 20:16:40 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_return_at_least_1_enabled_rule.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_return_at_least_1_enabled_rule.yml deleted file mode 100644 index 5c2589623..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_return_at_least_1_enabled_rule.yml +++ /dev/null @@ -1,104 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/rules?enabled=true - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:39 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a838fa50eb19-LAX - Cache-Control: - - no-cache - Link: - - ; - rel="first", ; - rel="last" - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a838fa50eb19 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 30eb1bb37a2442ea - Ot-Tracer-Traceid: - - 29e0e4043e428565 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700200' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '[{"id":"rul_XEg7l2SjkSj80TEl","enabled":true,"script":"function (user, - context, callback) {\n // TODO: implement your rule\n callback(null, user, - context);\n}","name":"Testing Rule - Enabled - DO NOT DELETE","order":2,"stage":"login_success"},{"id":"rul_zovKsgDI6p9B7R3E","enabled":true,"script":"function - (user, context, callback) { callback(null, user, context); }","name":"test-create-rule-572297978","order":3,"stage":"login_success"},{"id":"rul_4ThsB79m2Ylzi0PR","enabled":true,"script":"function - (user, context, callback) { callback(null, user, context); }","name":"test-create-rule-1644985744","order":4,"stage":"login_success"},{"id":"rul_9SLLnG5XYVWw6AML","enabled":true,"script":"function - (user, context, callback) { callback(null, user, context); }","name":"test-create-rule-1617652680","order":5,"stage":"login_success"},{"id":"rul_1sxM0pron2Usb48v","enabled":true,"script":"function - (user, context, callback) { callback(null, user, context); }","name":"test-create-rule-158131848","order":6,"stage":"login_success"},{"id":"rul_0np3M51ifkhWUIeJ","enabled":true,"script":"function - (user, context, callback) { callback(null, user, context); }","name":"test-create-rule-197846898","order":7,"stage":"login_success"},{"id":"rul_rW2s3cEbE5fNEpLl","enabled":true,"script":"function - (user, context, callback) { callback(null, user, context); }","name":"test-create-rule-1335774409","order":8,"stage":"login_success"},{"id":"rul_ZbcicKdbT71nhYVu","enabled":true,"script":"function - (user, context, callback) { callback(null, user, context); }","name":"test-create-rule-1347206543","order":10,"stage":"login_success"},{"id":"rul_D24jWvPklghPjiCy","enabled":true,"script":"function - (user, context, callback) { callback(null, user, context); }","name":"test-create-rule-333043480","order":11,"stage":"login_success"},{"id":"rul_dIZhOgbD3Cse9lYc","enabled":true,"script":"function - (user, context, callback) { callback(null, user, context); }","name":"test-create-rule-897276455","order":13,"stage":"login_success"},{"id":"rul_BYoI0npqUg1qInYt","enabled":true,"script":"function - (user, context, cb) { cb(null, user, context);}","name":"rubytest - ENABLED","order":14,"stage":"login_success"},{"id":"rul_KrsY3b8wVY9diywO","enabled":true,"script":"function - (user, context, callback) { callback(null, user, context); }","name":"test-create-rule-1580689","order":15,"stage":"login_success"},{"id":"rul_8rKsaUaIdMcfKgvB","enabled":true,"script":"function - (user, context, callback) { callback(null, user, context); }","name":"test-create-rule-2065795738","order":18,"stage":"login_success"},{"id":"rul_icKxH34okhl7x73a","enabled":true,"script":"function - (user, context, callback) { callback(null, user, context); }","name":"test-create-rule-841289392","order":22,"stage":"login_success"},{"id":"rul_xrk2gO575IKljNVl","enabled":true,"script":"function - (user, context, callback) { callback(null, user, context); }","name":"test-create-rule-50717463","order":24,"stage":"login_success"},{"id":"rul_vZyeDhJC2z0NfEz8","enabled":true,"script":"function - (user, context, callback) { callback(null, user, context); }","name":"test-create-rule-1561298966","order":27,"stage":"login_success"},{"id":"rul_WqRSdWQz6Ewoa8Z9","enabled":true,"script":"function - (user, context, callback) { callback(null, user, context); }","name":"test-create-rule-440573815","order":30,"stage":"login_success"},{"id":"rul_dinu5Xde36glw9NB","enabled":true,"script":"function - (user, context, callback) { callback(null, user, context); }","name":"test-create-rule-1744575305","order":31,"stage":"login_success"},{"id":"rul_vTTKoyMq7twoV53O","enabled":true,"script":"function - (user, context, callback) { callback(null, user, context); }","name":"test-create-rule-728769991","order":32,"stage":"login_success"},{"id":"rul_GrZ1Yq2K2Qm3wKxt","enabled":true,"script":"function - (user, context, callback) { callback(null, user, context); }","name":"test-create-rule-204085622","order":33,"stage":"login_success"},{"id":"rul_qRXOtfu55SzpkBd2","enabled":true,"script":"function - (user, context, callback) { callback(null, user, context); }","name":"test-create-rule-1624647222","order":35,"stage":"login_success"},{"id":"rul_K1dlO0lvy8679QEr","enabled":true,"script":"function - (user, context, callback) { callback(null, user, context); }","name":"test-create-rule-1717882009","order":36,"stage":"login_success"},{"id":"rul_4WrC4GUhyU7AchiK","enabled":true,"script":"function - (user, context, callback) { callback(null, user, context); }","name":"test-create-rule-1545284162","order":37,"stage":"login_success"},{"id":"rul_jczlrqACfJJEzyYn","enabled":true,"script":"function - (user, context, cb) { cb(null, user, context);}","name":"rubytest-210908 - - ENABLED","order":39,"stage":"login_success"}]' - recorded_at: Fri, 03 Sep 2021 20:16:39 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_return_paginated_results.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_return_paginated_results.yml deleted file mode 100644 index 2863c05c7..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/_filters/should_return_paginated_results.yml +++ /dev/null @@ -1,157 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/rules?fields=name&page=0&per_page=2 - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:40 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a83dacd842f3-LAX - Cache-Control: - - no-cache - Link: - - ; - rel="first", ; - rel="next", ; - rel="last" - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a83dacd842f3 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - '0393451714793f5d' - Ot-Tracer-Traceid: - - 3164a0a8468aaf93 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700201' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '[{"name":"Testing Rule - Disabled - DO NOT DELETE"},{"name":"Testing - Rule - Enabled - DO NOT DELETE"}]' - recorded_at: Fri, 03 Sep 2021 20:16:40 GMT -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/rules?fields=name&page=1&per_page=1 - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:40 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a83f1a7042b7-LAX - Cache-Control: - - no-cache - Link: - - ; - rel="first", ; - rel="prev", ; - rel="next", ; - rel="last" - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a83f1a7042b7 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 6e2ed49b1b586f72 - Ot-Tracer-Traceid: - - 115e28e9329af11f - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700201' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '[{"name":"Testing Rule - Enabled - DO NOT DELETE"}]' - recorded_at: Fri, 03 Sep 2021 20:16:40 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/should_return_at_least_1_rule.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/should_return_at_least_1_rule.yml deleted file mode 100644 index 9d014dceb..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_rules/should_return_at_least_1_rule.yml +++ /dev/null @@ -1,120 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/rules - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:39 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a837aac342d7-LAX - Cache-Control: - - no-cache - Link: - - ; rel="first", - ; rel="last" - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a837aac342d7 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 1c9dc09c0636c3a2 - Ot-Tracer-Traceid: - - 65cf4a8f34381559 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700200' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '[{"id":"rul_7MKFToUZ1xB2BvAq","enabled":false,"script":"function (user, - context, callback) {\n // TODO: implement your rule\n callback(null, user, - context);\n}","name":"Testing Rule - Disabled - DO NOT DELETE","order":1,"stage":"login_success"},{"id":"rul_sxWR96dOYrhtMwhH","enabled":false,"script":"function - (user, context, cb) { cb(null, user, context); }","name":"test-create-rule-1355015546","order":9,"stage":"login_success"},{"id":"rul_VMW16gL4xzysOhED","enabled":false,"script":"function - (user, context, cb) { cb(null, user, context); }","name":"test-create-rule-973421001","order":11,"stage":"login_success"},{"id":"rul_VYXGCYcuGK06tKp9","enabled":false,"script":"function - (user, context, cb) { cb(null, user, context); }","name":"test-create-rule-542392910","order":12,"stage":"login_success"},{"id":"rul_Z5UXBV6H9kFlU1zT","enabled":false,"script":"function - (user, context, cb) { cb(null, user, context); }","name":"test-create-rule-1205327462","order":16,"stage":"login_success"},{"id":"rul_aNDYcteiXnZQcBop","enabled":false,"script":"function - (user, context, cb) { cb(null, user, context); }","name":"test-create-rule-1172870501","order":19,"stage":"login_success"},{"id":"rul_mjGhkxNuZDku9Zmy","enabled":false,"script":"function - (user, context, cb) { cb(null, user, context); }","name":"test-create-rule-601153869","order":21,"stage":"login_success"},{"id":"rul_sjXr9kHO81su6RLa","enabled":false,"script":"function - (user, context, cb) { cb(null, user, context); }","name":"test-create-rule-1860284439","order":23,"stage":"login_success"},{"id":"rul_7P77tgvrsFpXChX2","enabled":false,"script":"function - (user, context, cb) { cb(null, user, context); }","name":"test-create-rule-41643451","order":25,"stage":"login_success"},{"id":"rul_3GYl8HwYDID70g64","enabled":false,"script":"function - (user, context, cb) { cb(null, user, context); }","name":"test-create-rule-1765834470","order":26,"stage":"login_success"},{"id":"rul_sShsD4ccdMm5lv0g","enabled":false,"script":"function - (user, context, cb) { cb(null, user, context); }","name":"test-create-rule-566417894","order":28,"stage":"login_success"},{"id":"rul_MtYeAMV6z2Ns16Z6","enabled":false,"script":"function - (user, context, cb) { cb(null, user, context); }","name":"test-create-rule-39737334","order":29,"stage":"login_success"},{"id":"rul_nJBy2BjsyhQGCMRI","enabled":false,"script":"function - (user, context, cb) { cb(null, user, context); }","name":"test-create-rule-87703473","order":34,"stage":"login_success"},{"id":"rul_IbJ9aqTsqEwWABwV","enabled":false,"script":"function - (user, context, cb) { cb(null, user, context); }","name":"test-create-rule-1114628245","order":38,"stage":"login_success"},{"id":"rul_bsg64xEPZz4WOkXz","enabled":false,"script":"function - (user, context, cb) { cb(null, user, context);}","name":"rubytest-210908 - - DISABLED","order":40,"stage":"login_success"},{"id":"rul_XEg7l2SjkSj80TEl","enabled":true,"script":"function - (user, context, callback) {\n // TODO: implement your rule\n callback(null, - user, context);\n}","name":"Testing Rule - Enabled - DO NOT DELETE","order":2,"stage":"login_success"},{"id":"rul_zovKsgDI6p9B7R3E","enabled":true,"script":"function - (user, context, callback) { callback(null, user, context); }","name":"test-create-rule-572297978","order":3,"stage":"login_success"},{"id":"rul_4ThsB79m2Ylzi0PR","enabled":true,"script":"function - (user, context, callback) { callback(null, user, context); }","name":"test-create-rule-1644985744","order":4,"stage":"login_success"},{"id":"rul_9SLLnG5XYVWw6AML","enabled":true,"script":"function - (user, context, callback) { callback(null, user, context); }","name":"test-create-rule-1617652680","order":5,"stage":"login_success"},{"id":"rul_1sxM0pron2Usb48v","enabled":true,"script":"function - (user, context, callback) { callback(null, user, context); }","name":"test-create-rule-158131848","order":6,"stage":"login_success"},{"id":"rul_0np3M51ifkhWUIeJ","enabled":true,"script":"function - (user, context, callback) { callback(null, user, context); }","name":"test-create-rule-197846898","order":7,"stage":"login_success"},{"id":"rul_rW2s3cEbE5fNEpLl","enabled":true,"script":"function - (user, context, callback) { callback(null, user, context); }","name":"test-create-rule-1335774409","order":8,"stage":"login_success"},{"id":"rul_ZbcicKdbT71nhYVu","enabled":true,"script":"function - (user, context, callback) { callback(null, user, context); }","name":"test-create-rule-1347206543","order":10,"stage":"login_success"},{"id":"rul_D24jWvPklghPjiCy","enabled":true,"script":"function - (user, context, callback) { callback(null, user, context); }","name":"test-create-rule-333043480","order":11,"stage":"login_success"},{"id":"rul_dIZhOgbD3Cse9lYc","enabled":true,"script":"function - (user, context, callback) { callback(null, user, context); }","name":"test-create-rule-897276455","order":13,"stage":"login_success"},{"id":"rul_BYoI0npqUg1qInYt","enabled":true,"script":"function - (user, context, cb) { cb(null, user, context);}","name":"rubytest - ENABLED","order":14,"stage":"login_success"},{"id":"rul_KrsY3b8wVY9diywO","enabled":true,"script":"function - (user, context, callback) { callback(null, user, context); }","name":"test-create-rule-1580689","order":15,"stage":"login_success"},{"id":"rul_8rKsaUaIdMcfKgvB","enabled":true,"script":"function - (user, context, callback) { callback(null, user, context); }","name":"test-create-rule-2065795738","order":18,"stage":"login_success"},{"id":"rul_icKxH34okhl7x73a","enabled":true,"script":"function - (user, context, callback) { callback(null, user, context); }","name":"test-create-rule-841289392","order":22,"stage":"login_success"},{"id":"rul_xrk2gO575IKljNVl","enabled":true,"script":"function - (user, context, callback) { callback(null, user, context); }","name":"test-create-rule-50717463","order":24,"stage":"login_success"},{"id":"rul_vZyeDhJC2z0NfEz8","enabled":true,"script":"function - (user, context, callback) { callback(null, user, context); }","name":"test-create-rule-1561298966","order":27,"stage":"login_success"},{"id":"rul_WqRSdWQz6Ewoa8Z9","enabled":true,"script":"function - (user, context, callback) { callback(null, user, context); }","name":"test-create-rule-440573815","order":30,"stage":"login_success"},{"id":"rul_dinu5Xde36glw9NB","enabled":true,"script":"function - (user, context, callback) { callback(null, user, context); }","name":"test-create-rule-1744575305","order":31,"stage":"login_success"},{"id":"rul_vTTKoyMq7twoV53O","enabled":true,"script":"function - (user, context, callback) { callback(null, user, context); }","name":"test-create-rule-728769991","order":32,"stage":"login_success"},{"id":"rul_GrZ1Yq2K2Qm3wKxt","enabled":true,"script":"function - (user, context, callback) { callback(null, user, context); }","name":"test-create-rule-204085622","order":33,"stage":"login_success"},{"id":"rul_qRXOtfu55SzpkBd2","enabled":true,"script":"function - (user, context, callback) { callback(null, user, context); }","name":"test-create-rule-1624647222","order":35,"stage":"login_success"},{"id":"rul_K1dlO0lvy8679QEr","enabled":true,"script":"function - (user, context, callback) { callback(null, user, context); }","name":"test-create-rule-1717882009","order":36,"stage":"login_success"},{"id":"rul_4WrC4GUhyU7AchiK","enabled":true,"script":"function - (user, context, callback) { callback(null, user, context); }","name":"test-create-rule-1545284162","order":37,"stage":"login_success"},{"id":"rul_jczlrqACfJJEzyYn","enabled":true,"script":"function - (user, context, cb) { cb(null, user, context);}","name":"rubytest-210908 - - ENABLED","order":39,"stage":"login_success"}]' - recorded_at: Fri, 03 Sep 2021 20:16:39 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_update_rule/should_update_the_disabled_rule_to_be_enabled.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_update_rule/should_update_the_disabled_rule_to_be_enabled.yml deleted file mode 100644 index aa051d59a..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/_update_rule/should_update_the_disabled_rule_to_be_enabled.yml +++ /dev/null @@ -1,77 +0,0 @@ ---- -http_interactions: -- request: - method: patch - uri: https://auth0-sdk-tests.auth0.com/api/v2/rules/rul_bsg64xEPZz4WOkXz - body: - encoding: UTF-8 - string: '{"enabled":true}' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '16' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:41 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a8452a7f0d48-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a8452a7f0d48 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 75e45be945cc5720 - Ot-Tracer-Traceid: - - 214f34655f9f0bcb - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700202' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"id":"rul_bsg64xEPZz4WOkXz","enabled":true,"script":"function (user, - context, cb) { cb(null, user, context);}","name":"rubytest-210908 - DISABLED","order":40,"stage":"login_success"}' - recorded_at: Fri, 03 Sep 2021 20:16:41 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/create_test_disabled_rule.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/create_test_disabled_rule.yml deleted file mode 100644 index fe5880b7e..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/create_test_disabled_rule.yml +++ /dev/null @@ -1,78 +0,0 @@ ---- -http_interactions: -- request: - method: post - uri: https://auth0-sdk-tests.auth0.com/api/v2/rules - body: - encoding: UTF-8 - string: '{"name":"rubytest-210908 - DISABLED","enabled":false,"script":"function - (user, context, cb) { cb(null, user, context);}","stage":"login_success"}' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '145' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 201 - message: Created - headers: - Date: - - Fri, 03 Sep 2021 20:16:39 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a83689a152a1-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a83689a152a1 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 15aaa2002389d0d1 - Ot-Tracer-Traceid: - - 4720a9fe6706ce82 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700200' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"id":"rul_bsg64xEPZz4WOkXz","enabled":false,"script":"function (user, - context, cb) { cb(null, user, context);}","name":"rubytest-210908 - DISABLED","order":40,"stage":"login_success"}' - recorded_at: Fri, 03 Sep 2021 20:16:39 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/create_test_enabled_rule.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/create_test_enabled_rule.yml deleted file mode 100644 index da11e59db..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Rules/create_test_enabled_rule.yml +++ /dev/null @@ -1,78 +0,0 @@ ---- -http_interactions: -- request: - method: post - uri: https://auth0-sdk-tests.auth0.com/api/v2/rules - body: - encoding: UTF-8 - string: '{"name":"rubytest-210908 - ENABLED","enabled":true,"script":"function - (user, context, cb) { cb(null, user, context);}","stage":"login_success"}' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '143' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 201 - message: Created - headers: - Date: - - Fri, 03 Sep 2021 20:16:39 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a8350f863609-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a8350f863609 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 0f626c2e65bf2371 - Ot-Tracer-Traceid: - - 353b22232d29b9e1 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700200' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"id":"rul_jczlrqACfJJEzyYn","enabled":true,"script":"function (user, - context, cb) { cb(null, user, context);}","name":"rubytest-210908 - ENABLED","order":39,"stage":"login_success"}' - recorded_at: Fri, 03 Sep 2021 20:16:39 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Stats/_active_users/should_have_at_least_one_active_user.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Stats/_active_users/should_have_at_least_one_active_user.yml deleted file mode 100644 index ed2aae1ef..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Stats/_active_users/should_have_at_least_one_active_user.yml +++ /dev/null @@ -1,74 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/stats/active-users - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:42 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a84b0dfc318b-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a84b0dfc318b - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 0166b93f79b8729d - Ot-Tracer-Traceid: - - 555d8ff1352fed41 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700203' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '1' - recorded_at: Fri, 03 Sep 2021 20:16:42 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Stats/_daily_stats/should_have_at_least_one_stats_entry_for_the_timeframe.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Stats/_daily_stats/should_have_at_least_one_stats_entry_for_the_timeframe.yml deleted file mode 100644 index 8e8b3f6e4..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Stats/_daily_stats/should_have_at_least_one_stats_entry_for_the_timeframe.yml +++ /dev/null @@ -1,74 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/stats/daily?from=20170101&to=20180101 - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:43 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a84c1d4342b1-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a84c1d4342b1 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 3e52c6e632a29958 - Ot-Tracer-Traceid: - - 1372afa65f748daa - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700204' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '[{"date":"2017-12-05T00:00:00.000Z","logins":0,"signups":523,"leaked_passwords":0},{"date":"2017-12-06T00:00:00.000Z","logins":0,"signups":534,"leaked_passwords":0},{"date":"2017-12-07T00:00:00.000Z","logins":0,"signups":690,"leaked_passwords":0},{"date":"2017-12-08T00:00:00.000Z","logins":0,"signups":594,"leaked_passwords":0},{"date":"2017-12-11T00:00:00.000Z","logins":0,"signups":519,"leaked_passwords":0},{"date":"2017-12-12T00:00:00.000Z","logins":0,"signups":78,"leaked_passwords":0},{"date":"2017-12-13T00:00:00.000Z","logins":0,"signups":205,"leaked_passwords":0},{"date":"2017-12-14T00:00:00.000Z","logins":0,"signups":186,"leaked_passwords":0},{"date":"2017-12-15T00:00:00.000Z","logins":0,"signups":489,"leaked_passwords":0},{"date":"2017-12-18T00:00:00.000Z","logins":0,"signups":1033,"leaked_passwords":0},{"date":"2017-12-19T00:00:00.000Z","logins":0,"signups":1403,"leaked_passwords":0},{"date":"2017-12-20T00:00:00.000Z","logins":0,"signups":1568,"leaked_passwords":0},{"date":"2017-12-21T00:00:00.000Z","logins":0,"signups":1078,"leaked_passwords":0},{"date":"2017-12-22T00:00:00.000Z","logins":0,"signups":98,"leaked_passwords":0},{"date":"2017-12-26T00:00:00.000Z","logins":0,"signups":270,"leaked_passwords":0}]' - recorded_at: Fri, 03 Sep 2021 20:16:43 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_get_tenant_settings/should_get_the_tenant_settings.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_get_tenant_settings/should_get_the_tenant_settings.yml deleted file mode 100644 index 0fef85270..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_get_tenant_settings/should_get_the_tenant_settings.yml +++ /dev/null @@ -1,108 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/tenants/settings?include_fields=true - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:43 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a84e0ecc523f-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a84e0ecc523f - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 575ecf0e338abcb4 - Ot-Tracer-Traceid: - - 1065a3753ebe5554 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700204' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"change_password":{"enabled":true,"html":"\n\n\n \n \n Change - your password\n \n\n \n\n\n\n\n
\n
\n
\n \n
\n \n
\n
\n
\n\n \n\n \n\n\n"},"default_audience":"","default_directory":"Username-Password-Authentication","enabled_locales":["en"],"error_page":{"html":"","show_log_link":false,"url":""},"flags":{"allow_changing_enable_sso":true,"allow_legacy_tokeninfo_endpoint":true,"disable_impersonation":true,"enable_idtoken_api2":true,"enable_legacy_profile":true,"enable_public_signup_user_exists_error":true,"enable_sso":false,"disable_clickjack_protection_headers":true,"include_email_in_reset_pwd_redirect":true,"include_email_in_verify_email_redirect":true},"friendly_name":"Auth0","picture_url":"https://cdn.auth0.com/website/assets/pages/press/img/resources/auth0-glyph-109d4c73c4.svg","sandbox_version":"8","support_email":"support@auth0.org","support_url":"https://support.auth0.com","sandbox_versions_available":["12","8"]}' - recorded_at: Fri, 03 Sep 2021 20:16:43 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_get_tenant_settings_with_specific_fields/should_exclude_a_field_not_requested.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_get_tenant_settings_with_specific_fields/should_exclude_a_field_not_requested.yml deleted file mode 100644 index 489bed78f..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_get_tenant_settings_with_specific_fields/should_exclude_a_field_not_requested.yml +++ /dev/null @@ -1,74 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/tenants/settings?fields=support_email&include_fields=true - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:43 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a8504c660507-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a8504c660507 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 0dbf0b52361b10a7 - Ot-Tracer-Traceid: - - 330646a969505303 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700204' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"support_email":"support@auth0.org","sandbox_version":"8","sandbox_versions_available":["12","8"]}' - recorded_at: Fri, 03 Sep 2021 20:16:43 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_get_tenant_settings_with_specific_fields/should_include_the_field_requested.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_get_tenant_settings_with_specific_fields/should_include_the_field_requested.yml deleted file mode 100644 index 4d1de1f80..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_get_tenant_settings_with_specific_fields/should_include_the_field_requested.yml +++ /dev/null @@ -1,74 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/tenants/settings?fields=support_email&include_fields=true - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:43 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a84f48f252d7-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a84f48f252d7 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 6fbe4d955db365e6 - Ot-Tracer-Traceid: - - 67e1a95e3e625de1 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700204' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"support_email":"support@auth0.org","sandbox_version":"8","sandbox_versions_available":["12","8"]}' - recorded_at: Fri, 03 Sep 2021 20:16:43 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_update_tenant_settings/should_revert_the_tenant_name.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_update_tenant_settings/should_revert_the_tenant_name.yml deleted file mode 100644 index c58657940..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_update_tenant_settings/should_revert_the_tenant_name.yml +++ /dev/null @@ -1,110 +0,0 @@ ---- -http_interactions: -- request: - method: patch - uri: https://auth0-sdk-tests.auth0.com/api/v2/tenants/settings - body: - encoding: UTF-8 - string: '{"friendly_name":"Auth0"}' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '25' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:44 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a852aa8f521a-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a852aa8f521a - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 1e14ce97064fd175 - Ot-Tracer-Traceid: - - '08cc64f25d2e396d' - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700205' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"change_password":{"enabled":true,"html":"\n\n\n \n \n Change - your password\n \n\n \n\n\n\n\n
\n
\n
\n \n
\n \n
\n
\n
\n\n \n\n \n\n\n"},"default_audience":"","default_directory":"Username-Password-Authentication","enabled_locales":["en"],"error_page":{"html":"","show_log_link":false,"url":""},"flags":{"allow_changing_enable_sso":true,"allow_legacy_tokeninfo_endpoint":true,"cannot_change_enforce_client_authentication_on_passwordless_start":true,"disable_impersonation":true,"enable_idtoken_api2":true,"enable_legacy_profile":true,"enable_public_signup_user_exists_error":true,"enable_sso":false,"enforce_client_authentication_on_passwordless_start":true,"disable_clickjack_protection_headers":true,"include_email_in_reset_pwd_redirect":true,"include_email_in_verify_email_redirect":true},"friendly_name":"Auth0","picture_url":"https://cdn.auth0.com/website/assets/pages/press/img/resources/auth0-glyph-109d4c73c4.svg","sandbox_version":"8","support_email":"support@auth0.org","support_url":"https://support.auth0.com"}' - recorded_at: Fri, 03 Sep 2021 20:16:44 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_update_tenant_settings/should_update_the_tenant_settings_with_a_new_tenant_name.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_update_tenant_settings/should_update_the_tenant_settings_with_a_new_tenant_name.yml deleted file mode 100644 index 7f6e20a65..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tenants/_update_tenant_settings/should_update_the_tenant_settings_with_a_new_tenant_name.yml +++ /dev/null @@ -1,110 +0,0 @@ ---- -http_interactions: -- request: - method: patch - uri: https://auth0-sdk-tests.auth0.com/api/v2/tenants/settings - body: - encoding: UTF-8 - string: '{"friendly_name":"Auth0-CHANGED"}' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '33' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:43 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a8514db60d54-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a8514db60d54 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 605d99756ff314bc - Ot-Tracer-Traceid: - - 757c56c051d538e9 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700204' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"change_password":{"enabled":true,"html":"\n\n\n \n \n Change - your password\n \n\n \n\n\n\n\n
\n
\n
\n \n
\n \n
\n
\n
\n\n \n\n \n\n\n"},"default_audience":"","default_directory":"Username-Password-Authentication","enabled_locales":["en"],"error_page":{"html":"","show_log_link":false,"url":""},"flags":{"allow_changing_enable_sso":true,"allow_legacy_tokeninfo_endpoint":true,"cannot_change_enforce_client_authentication_on_passwordless_start":true,"disable_impersonation":true,"enable_idtoken_api2":true,"enable_legacy_profile":true,"enable_public_signup_user_exists_error":true,"enable_sso":false,"enforce_client_authentication_on_passwordless_start":true,"disable_clickjack_protection_headers":true,"include_email_in_reset_pwd_redirect":true,"include_email_in_verify_email_redirect":true},"friendly_name":"Auth0-CHANGED","picture_url":"https://cdn.auth0.com/website/assets/pages/press/img/resources/auth0-glyph-109d4c73c4.svg","sandbox_version":"8","support_email":"support@auth0.org","support_url":"https://support.auth0.com"}' - recorded_at: Fri, 03 Sep 2021 20:16:43 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tickets/_post_email_verification/should_create_an_email_verification_ticket.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tickets/_post_email_verification/should_create_an_email_verification_ticket.yml deleted file mode 100644 index ed3a0bca2..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tickets/_post_email_verification/should_create_an_email_verification_ticket.yml +++ /dev/null @@ -1,76 +0,0 @@ ---- -http_interactions: -- request: - method: post - uri: https://auth0-sdk-tests.auth0.com/api/v2/tickets/email-verification - body: - encoding: UTF-8 - string: '{"user_id":"auth0|613282ac6c364200701fbc1d","result_url":"https://auth0.com/callback"}' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '86' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 201 - message: Created - headers: - Date: - - Fri, 03 Sep 2021 20:16:44 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a855bf5d31fd-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a855bf5d31fd - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 25b98d4b1a2c0368 - Ot-Tracer-Traceid: - - 0c40e31273e3707e - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700205' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"ticket":"https://auth0-sdk-tests.auth0.com/u/email-verification?ticket=2S37wTxh1qAzuEg7cPsBPayVCMGHUL7h#"}' - recorded_at: Fri, 03 Sep 2021 20:16:44 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tickets/_post_password_change/should_create_a_password_change_ticket.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tickets/_post_password_change/should_create_a_password_change_ticket.yml deleted file mode 100644 index 16073bab6..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tickets/_post_password_change/should_create_a_password_change_ticket.yml +++ /dev/null @@ -1,76 +0,0 @@ ---- -http_interactions: -- request: - method: post - uri: https://auth0-sdk-tests.auth0.com/api/v2/tickets/password-change - body: - encoding: UTF-8 - string: '{"result_url":"https://auth0.com/callback","user_id":"auth0|613282ac6c364200701fbc1d","new_password":"secret"}' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '110' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 201 - message: Created - headers: - Date: - - Fri, 03 Sep 2021 20:16:44 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a856ef80c3c4-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a856ef80c3c4 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 72d63c825f77a605 - Ot-Tracer-Traceid: - - 1fc630ed2c7ed533 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700205' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"ticket":"https://auth0-sdk-tests.auth0.com/lo/reset?ticket=0GyVA2AJbht9i5LHFSLEJX5cIyfljck0#"}' - recorded_at: Fri, 03 Sep 2021 20:16:44 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tickets/create_test_user.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tickets/create_test_user.yml deleted file mode 100644 index f517590ff..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tickets/create_test_user.yml +++ /dev/null @@ -1,76 +0,0 @@ ---- -http_interactions: -- request: - method: post - uri: https://auth0-sdk-tests.auth0.com/api/v2/users - body: - encoding: UTF-8 - string: '{"name":"rubytest-210908-username","email":"rubytest-210908-rubytest-210908-username@auth0.com","password":"LyL8kDxMsKa","connection":"Username-Password-Authentication"}' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '169' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 201 - message: Created - headers: - Date: - - Fri, 03 Sep 2021 20:16:44 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a853f98e52e3-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a853f98e52e3 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 6fe35949357c8c6e - Ot-Tracer-Traceid: - - 5e6c9da96da0fdc5 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700205' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"created_at":"2021-09-03T20:16:44.319Z","email":"rubytest-210908-rubytest-210908-username@auth0.com","email_verified":false,"identities":[{"connection":"Username-Password-Authentication","user_id":"613282ac6c364200701fbc1d","provider":"auth0","isSocial":false}],"name":"rubytest-210908-username","nickname":"rubytest-210908-rubytest-210908-username","picture":"https://s.gravatar.com/avatar/28607929c5bdf4954ee65d055fea6e69?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fru.png","updated_at":"2021-09-03T20:16:44.319Z","user_id":"auth0|613282ac6c364200701fbc1d"}' - recorded_at: Fri, 03 Sep 2021 20:16:44 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tickets/delete_test_user.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tickets/delete_test_user.yml deleted file mode 100644 index 0e2ac313c..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Tickets/delete_test_user.yml +++ /dev/null @@ -1,72 +0,0 @@ ---- -http_interactions: -- request: - method: delete - uri: https://auth0-sdk-tests.auth0.com/api/v2/users/auth0%7C613282ac6c364200701fbc1d - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 204 - message: No Content - headers: - Date: - - Fri, 03 Sep 2021 20:16:45 GMT - Content-Type: - - application/json; charset=utf-8 - Connection: - - keep-alive - Cf-Ray: - - 6891a85859fa04cc-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a85859fa04cc - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 3d57743200f5cdef - Ot-Tracer-Traceid: - - 1138b36634fa56bb - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700205' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: UTF-8 - string: '' - recorded_at: Fri, 03 Sep 2021 20:16:44 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_add_user_permissions/should_add_a_Permissions_for_a_User_successfully.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_add_user_permissions/should_add_a_Permissions_for_a_User_successfully.yml deleted file mode 100644 index 5db4b5dea..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_add_user_permissions/should_add_a_Permissions_for_a_User_successfully.yml +++ /dev/null @@ -1,71 +0,0 @@ ---- -http_interactions: -- request: - method: post - uri: https://auth0-sdk-tests.auth0.com/api/v2/users/auth0%7C613282adac819400692c0dd9/permissions - body: - encoding: UTF-8 - string: '{"permissions":[{"permission_name":"rubytest-210908-test-permission-for-users","resource_server_identifier":"rubytest-210908-test-api-for-users"}]}' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '147' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 404 - message: Not Found - headers: - Date: - - Fri, 03 Sep 2021 20:16:50 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a87c7bf23673-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a87c7bf23673 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 32073f5f5eb032b2 - Ot-Tracer-Traceid: - - 57706f5e353a1c41 - X-Content-Type-Options: - - nosniff - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"statusCode":404,"error":"Not Found","message":"This permission does - not exist: ''rubytest-210908-test-api-for-users - rubytest-210908-test-permission-for-users''","errorCode":"inexistent_resource_server_permission"}' - recorded_at: Fri, 03 Sep 2021 20:16:50 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_add_user_roles/should_add_a_Role_to_a_User_successfully.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_add_user_roles/should_add_a_Role_to_a_User_successfully.yml deleted file mode 100644 index 7c5110422..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_add_user_roles/should_add_a_Role_to_a_User_successfully.yml +++ /dev/null @@ -1,74 +0,0 @@ ---- -http_interactions: -- request: - method: post - uri: https://auth0-sdk-tests.auth0.com/api/v2/users/auth0%7C613282adac819400692c0dd9/roles - body: - encoding: UTF-8 - string: '{"roles":["rol_2VZOCes8HgBar3Tp"]}' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '34' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 204 - message: No Content - headers: - Date: - - Fri, 03 Sep 2021 20:16:49 GMT - Content-Type: - - application/json; charset=utf-8 - Connection: - - keep-alive - Cf-Ray: - - 6891a8774b4e5287-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a8774b4e5287 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 770d3c643b69b524 - Ot-Tracer-Traceid: - - 679502c821fe6251 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700210' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: UTF-8 - string: '' - recorded_at: Fri, 03 Sep 2021 20:16:49 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_delete_user/should_delete_the_User_successfully.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_delete_user/should_delete_the_User_successfully.yml deleted file mode 100644 index 6c789d09f..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_delete_user/should_delete_the_User_successfully.yml +++ /dev/null @@ -1,72 +0,0 @@ ---- -http_interactions: -- request: - method: delete - uri: https://auth0-sdk-tests.auth0.com/api/v2/users/auth0%7C613282adac819400692c0dd9 - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 204 - message: No Content - headers: - Date: - - Fri, 03 Sep 2021 20:16:51 GMT - Content-Type: - - application/json; charset=utf-8 - Connection: - - keep-alive - Cf-Ray: - - 6891a883a8775307-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a883a8775307 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 4dfb36f77a81b128 - Ot-Tracer-Traceid: - - 6d003e5a5b2384fb - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700212' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: UTF-8 - string: '' - recorded_at: Fri, 03 Sep 2021 20:16:51 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_delete_user/should_delete_the_secondary_User_successfully.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_delete_user/should_delete_the_secondary_User_successfully.yml deleted file mode 100644 index a183a3223..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_delete_user/should_delete_the_secondary_User_successfully.yml +++ /dev/null @@ -1,72 +0,0 @@ ---- -http_interactions: -- request: - method: delete - uri: https://auth0-sdk-tests.auth0.com/api/v2/users/auth0%7C613282ad45244d0069782b56 - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 204 - message: No Content - headers: - Date: - - Fri, 03 Sep 2021 20:16:52 GMT - Content-Type: - - application/json; charset=utf-8 - Connection: - - keep-alive - Cf-Ray: - - 6891a884eede362b-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a884eede362b - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 53affc4954100cc9 - Ot-Tracer-Traceid: - - 15e49650635ff8ec - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700213' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: UTF-8 - string: '' - recorded_at: Fri, 03 Sep 2021 20:16:52 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_delete_user_provider/should_attempt_to_delete_the_MFA_provider_for_the_User.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_delete_user_provider/should_attempt_to_delete_the_MFA_provider_for_the_User.yml deleted file mode 100644 index 1d810bead..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_delete_user_provider/should_attempt_to_delete_the_MFA_provider_for_the_User.yml +++ /dev/null @@ -1,72 +0,0 @@ ---- -http_interactions: -- request: - method: delete - uri: https://auth0-sdk-tests.auth0.com/api/v2/users/auth0%7C613282adac819400692c0dd9/multifactor/google-authenticator - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 204 - message: No Content - headers: - Date: - - Fri, 03 Sep 2021 20:16:49 GMT - Content-Type: - - application/json; charset=utf-8 - Connection: - - keep-alive - Cf-Ray: - - 6891a8723e8f0599-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a8723e8f0599 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 6993747e52bad920 - Ot-Tracer-Traceid: - - 1c6c19294b9e95e2 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700210' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: UTF-8 - string: '' - recorded_at: Fri, 03 Sep 2021 20:16:49 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_get_enrollments/should_get_Enrollments_for_a_User_successfully.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_get_enrollments/should_get_Enrollments_for_a_User_successfully.yml deleted file mode 100644 index 55a84db3f..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_get_enrollments/should_get_Enrollments_for_a_User_successfully.yml +++ /dev/null @@ -1,74 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/users/auth0%7C613282adac819400692c0dd9/enrollments - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:50 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a87b48fe52e9-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a87b48fe52e9 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 0cc495772346eb6b - Ot-Tracer-Traceid: - - 6a5288d823f0dcd5 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700211' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: "[]" - recorded_at: Fri, 03 Sep 2021 20:16:50 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_get_user_permissions/should_get_exactly_1_Permission_for_a_User_successfully.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_get_user_permissions/should_get_exactly_1_Permission_for_a_User_successfully.yml deleted file mode 100644 index cc9d55c42..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_get_user_permissions/should_get_exactly_1_Permission_for_a_User_successfully.yml +++ /dev/null @@ -1,74 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/users/auth0%7C613282adac819400692c0dd9/permissions - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:50 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a87e2b753610-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a87e2b753610 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 4a8adf2149d56ef7 - Ot-Tracer-Traceid: - - 5b0210147f7c43f8 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700211' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: "[]" - recorded_at: Fri, 03 Sep 2021 20:16:50 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_get_user_permissions/should_get_the_correct_Permission_for_a_User_successfully.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_get_user_permissions/should_get_the_correct_Permission_for_a_User_successfully.yml deleted file mode 100644 index 0dd6fcbc2..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_get_user_permissions/should_get_the_correct_Permission_for_a_User_successfully.yml +++ /dev/null @@ -1,74 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/users/auth0%7C613282adac819400692c0dd9/permissions - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:51 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a87f4c27eacb-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a87f4c27eacb - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 36ccc46c10e5e468 - Ot-Tracer-Traceid: - - 16d51a891522e6ca - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700212' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: "[]" - recorded_at: Fri, 03 Sep 2021 20:16:51 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_get_user_roles/should_get_Roles_for_a_User_successfully.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_get_user_roles/should_get_Roles_for_a_User_successfully.yml deleted file mode 100644 index 0e878e052..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_get_user_roles/should_get_Roles_for_a_User_successfully.yml +++ /dev/null @@ -1,75 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/users/auth0%7C613282adac819400692c0dd9/roles - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:50 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a8788c615319-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a8788c615319 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 6b172b115ccc1c50 - Ot-Tracer-Traceid: - - 0c6687e910acde25 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700211' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '[{"id":"rol_2VZOCes8HgBar3Tp","name":"rubytest-210908-test-role-for-users","description":"Test - role description"}]' - recorded_at: Fri, 03 Sep 2021 20:16:50 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_invalidate_browsers/should_invalidate_MFA_browsers_for_the_User_successfully.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_invalidate_browsers/should_invalidate_MFA_browsers_for_the_User_successfully.yml deleted file mode 100644 index 309102c5e..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_invalidate_browsers/should_invalidate_MFA_browsers_for_the_User_successfully.yml +++ /dev/null @@ -1,74 +0,0 @@ ---- -http_interactions: -- request: - method: post - uri: https://auth0-sdk-tests.auth0.com/api/v2/users/auth0%7C613282adac819400692c0dd9/multifactor/actions/invalidate-remember-browser - body: - encoding: UTF-8 - string: "{}" - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '2' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 204 - message: No Content - headers: - Date: - - Fri, 03 Sep 2021 20:16:51 GMT - Content-Type: - - application/json; charset=utf-8 - Connection: - - keep-alive - Cf-Ray: - - 6891a8827bb631c7-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a8827bb631c7 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 30357af001557539 - Ot-Tracer-Traceid: - - 1a45d9de52283799 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700212' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: UTF-8 - string: '' - recorded_at: Fri, 03 Sep 2021 20:16:51 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_link_user_account/should_link_two_Users_successfully.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_link_user_account/should_link_two_Users_successfully.yml deleted file mode 100644 index 2ece716e4..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_link_user_account/should_link_two_Users_successfully.yml +++ /dev/null @@ -1,76 +0,0 @@ ---- -http_interactions: -- request: - method: post - uri: https://auth0-sdk-tests.auth0.com/api/v2/users/auth0%7C613282adac819400692c0dd9/identities - body: - encoding: UTF-8 - string: '{"provider":"auth0","user_id":"auth0|613282ad45244d0069782b56"}' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '63' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 201 - message: Created - headers: - Date: - - Fri, 03 Sep 2021 20:16:49 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a8735ff1051b-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a8735ff1051b - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - '0459048b2393ddc0' - Ot-Tracer-Traceid: - - 46ca1fd80756dada - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700210' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '[{"profileData":{"name":"rubytest-210908-username","email":"rubytest-210908-rubytest-210908-username@auth0.com","email_verified":true},"connection":"Username-Password-Authentication","user_id":"613282adac819400692c0dd9","provider":"auth0","isSocial":false},{"profileData":{"name":"rubytest-210908-username-secondary","email":"rubytest-210908-rubytest-210908-username-secondary@auth0.com","email_verified":false},"connection":"Username-Password-Authentication","user_id":"613282ad45244d0069782b56","provider":"auth0","isSocial":false}]' - recorded_at: Fri, 03 Sep 2021 20:16:49 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_patch_user/should_patch_the_User_successfully.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_patch_user/should_patch_the_User_successfully.yml deleted file mode 100644 index 9b33576df..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_patch_user/should_patch_the_User_successfully.yml +++ /dev/null @@ -1,78 +0,0 @@ ---- -http_interactions: -- request: - method: patch - uri: https://auth0-sdk-tests.auth0.com/api/v2/users/auth0%7C613282adac819400692c0dd9 - body: - encoding: UTF-8 - string: '{"email_verified":true,"user_metadata":{"addresses":{"home_address":"742 - Evergreen Terrace"}}}' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '94' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:48 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a8707eed31a3-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a8707eed31a3 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - '0293209b7d397631' - Ot-Tracer-Traceid: - - 289e6802678bf46e - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700209' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"created_at":"2021-09-03T20:16:45.288Z","email":"rubytest-210908-rubytest-210908-username@auth0.com","email_verified":true,"identities":[{"connection":"Username-Password-Authentication","user_id":"613282adac819400692c0dd9","provider":"auth0","isSocial":false}],"name":"rubytest-210908-username","nickname":"rubytest-210908-rubytest-210908-username","picture":"https://s.gravatar.com/avatar/28607929c5bdf4954ee65d055fea6e69?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fru.png","updated_at":"2021-09-03T20:16:48.864Z","user_id":"auth0|613282adac819400692c0dd9","user_metadata":{"addresses":{"home_address":"742 - Evergreen Terrace"}}}' - recorded_at: Fri, 03 Sep 2021 20:16:48 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_remove_user_permissions/should_remove_a_Permission_from_a_User_successfully.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_remove_user_permissions/should_remove_a_Permission_from_a_User_successfully.yml deleted file mode 100644 index dc0bd8f6b..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_remove_user_permissions/should_remove_a_Permission_from_a_User_successfully.yml +++ /dev/null @@ -1,74 +0,0 @@ ---- -http_interactions: -- request: - method: delete - uri: https://auth0-sdk-tests.auth0.com/api/v2/users/auth0%7C613282adac819400692c0dd9/permissions - body: - encoding: UTF-8 - string: '{"permissions":[{"permission_name":"rubytest-210908-test-permission-for-users","resource_server_identifier":"rubytest-210908-test-api-for-users"}]}' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '147' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 204 - message: No Content - headers: - Date: - - Fri, 03 Sep 2021 20:16:51 GMT - Content-Type: - - application/json; charset=utf-8 - Connection: - - keep-alive - Cf-Ray: - - 6891a880fe09429f-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a880fe09429f - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 40874c834782e96d - Ot-Tracer-Traceid: - - 4fae182a4efb4c02 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700212' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: UTF-8 - string: '' - recorded_at: Fri, 03 Sep 2021 20:16:51 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_remove_user_roles/should_remove_a_Role_from_a_User_successfully.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_remove_user_roles/should_remove_a_Role_from_a_User_successfully.yml deleted file mode 100644 index e2fbc6e3b..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_remove_user_roles/should_remove_a_Role_from_a_User_successfully.yml +++ /dev/null @@ -1,74 +0,0 @@ ---- -http_interactions: -- request: - method: delete - uri: https://auth0-sdk-tests.auth0.com/api/v2/users/auth0%7C613282adac819400692c0dd9/roles - body: - encoding: UTF-8 - string: '{"roles":["rol_2VZOCes8HgBar3Tp"]}' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '34' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 204 - message: No Content - headers: - Date: - - Fri, 03 Sep 2021 20:16:50 GMT - Content-Type: - - application/json; charset=utf-8 - Connection: - - keep-alive - Cf-Ray: - - 6891a87a3d4c3191-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a87a3d4c3191 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 6306dab15f653025 - Ot-Tracer-Traceid: - - 194af4432d81298e - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700211' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: UTF-8 - string: '' - recorded_at: Fri, 03 Sep 2021 20:16:50 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_unlink_user_account/should_unlink_two_Users_successfully.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_unlink_user_account/should_unlink_two_Users_successfully.yml deleted file mode 100644 index 1f59dc6f9..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_unlink_user_account/should_unlink_two_Users_successfully.yml +++ /dev/null @@ -1,74 +0,0 @@ ---- -http_interactions: -- request: - method: delete - uri: https://auth0-sdk-tests.auth0.com/api/v2/users/auth0%7C613282adac819400692c0dd9/identities/auth0/auth0%7C613282ad45244d0069782b56 - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:49 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a8748e640cb7-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a8748e640cb7 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 456702ea1fa3773e - Ot-Tracer-Traceid: - - 0b51aadc3bbdd26b - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700210' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '[{"profileData":{"name":"rubytest-210908-username","email":"rubytest-210908-rubytest-210908-username@auth0.com","email_verified":true},"connection":"Username-Password-Authentication","user_id":"613282adac819400692c0dd9","provider":"auth0","isSocial":false},{"profileData":{"name":"rubytest-210908-username-secondary","email":"rubytest-210908-rubytest-210908-username-secondary@auth0.com","email_verified":false},"connection":"Username-Password-Authentication","user_id":"613282ad45244d0069782b56","provider":"auth0","isSocial":false}]' - recorded_at: Fri, 03 Sep 2021 20:16:49 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user/_filters/should_exclude_fields_not_indicated.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user/_filters/should_exclude_fields_not_indicated.yml deleted file mode 100644 index 799369af0..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user/_filters/should_exclude_fields_not_indicated.yml +++ /dev/null @@ -1,74 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/users/auth0%7C613282adac819400692c0dd9?fields=email&include_fields=true - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:48 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a86f2d1a3113-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a86f2d1a3113 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 4859a1da1080589e - Ot-Tracer-Traceid: - - 4c8e3b7616a4c252 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700209' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"email":"rubytest-210908-rubytest-210908-username@auth0.com"}' - recorded_at: Fri, 03 Sep 2021 20:16:48 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user/_filters/should_exclude_the_fields_indicated.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user/_filters/should_exclude_the_fields_indicated.yml deleted file mode 100644 index e284f1c83..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user/_filters/should_exclude_the_fields_indicated.yml +++ /dev/null @@ -1,74 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/users/auth0%7C613282adac819400692c0dd9?fields=picture,email,user_id&include_fields=false - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:48 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a86dcf6452ad-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a86dcf6452ad - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 0eb6b255441a5e88 - Ot-Tracer-Traceid: - - 2d106eb5092b7276 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700209' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"created_at":"2021-09-03T20:16:45.288Z","email_verified":false,"identities":[{"connection":"Username-Password-Authentication","user_id":"613282adac819400692c0dd9","provider":"auth0","isSocial":false}],"name":"rubytest-210908-username","nickname":"rubytest-210908-rubytest-210908-username","updated_at":"2021-09-03T20:16:45.288Z"}' - recorded_at: Fri, 03 Sep 2021 20:16:48 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user/_filters/should_include_the_fields_indicated.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user/_filters/should_include_the_fields_indicated.yml deleted file mode 100644 index 973631d09..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user/_filters/should_include_the_fields_indicated.yml +++ /dev/null @@ -1,74 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/users/auth0%7C613282adac819400692c0dd9?fields=picture,email,user_id&include_fields=true - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:48 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a86c8ba55377-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a86c8ba55377 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 57a2bbce6660e69d - Ot-Tracer-Traceid: - - 30c6eb187ee21b18 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700209' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"email":"rubytest-210908-rubytest-210908-username@auth0.com","picture":"https://s.gravatar.com/avatar/28607929c5bdf4954ee65d055fea6e69?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fru.png","user_id":"auth0|613282adac819400692c0dd9"}' - recorded_at: Fri, 03 Sep 2021 20:16:48 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user/should_retrieve_the_created_user.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user/should_retrieve_the_created_user.yml deleted file mode 100644 index 88a4c353c..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user/should_retrieve_the_created_user.yml +++ /dev/null @@ -1,74 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/users/auth0%7C613282adac819400692c0dd9?include_fields=true - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:47 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a86b39e95251-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a86b39e95251 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 38c815dc57846f80 - Ot-Tracer-Traceid: - - '056359a12fd6c398' - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700208' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"created_at":"2021-09-03T20:16:45.288Z","email":"rubytest-210908-rubytest-210908-username@auth0.com","email_verified":false,"identities":[{"connection":"Username-Password-Authentication","user_id":"613282adac819400692c0dd9","provider":"auth0","isSocial":false}],"name":"rubytest-210908-username","nickname":"rubytest-210908-rubytest-210908-username","picture":"https://s.gravatar.com/avatar/28607929c5bdf4954ee65d055fea6e69?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fru.png","updated_at":"2021-09-03T20:16:45.288Z","user_id":"auth0|613282adac819400692c0dd9"}' - recorded_at: Fri, 03 Sep 2021 20:16:47 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user_logs/should_get_Logs_for_a_User_successfully.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user_logs/should_get_Logs_for_a_User_successfully.yml deleted file mode 100644 index 37c296265..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_user_logs/should_get_Logs_for_a_User_successfully.yml +++ /dev/null @@ -1,81 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/users/auth0%7C613282adac819400692c0dd9/logs?per_page=2 - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:49 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a87618955233-LAX - Cache-Control: - - no-cache - Link: - - ; - rel="first", ; - rel="last" - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a87618955233 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 30c4ee477f56756b - Ot-Tracer-Traceid: - - 16a54bee05ba63a2 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700210' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '[{"date":"2021-09-03T20:16:45.272Z","type":"ss","description":"","connection":"Username-Password-Authentication","connection_id":"con_Xx4Kruoab04wvlYX","client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","client_name":"Ruby - SDK Integration Tests - DO NOT DELETE","ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","user_agent":"Other - 0.0.0 / Other 0.0.0","details":{"body":{"client_id":"2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI","tenant":"auth0-sdk-tests","name":"rubytest-210908-username","email":"rubytest-210908-rubytest-210908-username@auth0.com","password":"*****","connection":"Username-Password-Authentication"}},"user_id":"auth0|613282adac819400692c0dd9","user_name":"rubytest-210908-rubytest-210908-username@auth0.com","strategy":"auth0","strategy_type":"database","log_id":"90020210903201649024782996693783848742043710581901361218","_id":"90020210903201649024782996693783848742043710581901361218","isMobile":false,"location_info":{"country_code":"US","country_code3":"USA","country_name":"United - States","city_name":"Bakersfield","latitude":35.3407,"longitude":-119.0596,"time_zone":"America/Los_Angeles","continent_code":"NA"}}]' - recorded_at: Fri, 03 Sep 2021 20:16:49 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/is_expected_to_find_a_user_with_a_v2_search_engine_query.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/is_expected_to_find_a_user_with_a_v2_search_engine_query.yml deleted file mode 100644 index 913458383..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/is_expected_to_find_a_user_with_a_v2_search_engine_query.yml +++ /dev/null @@ -1,74 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/users?fields=user_id&per_page=1&q=updated_at:%7B2016-01-01%20TO%20*%7D&search_engine=v2 - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:47 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a8685ab8312b-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a8685ab8312b - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 417978056e5bae5d - Ot-Tracer-Traceid: - - 425793bd02f6f944 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700208' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '[{"user_id":"auth0|6131c9a8460fa0006a17e4b8"}]' - recorded_at: Fri, 03 Sep 2021 20:16:47 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/is_expected_to_find_a_user_with_a_v3_search_engine_query.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/is_expected_to_find_a_user_with_a_v3_search_engine_query.yml deleted file mode 100644 index ac326c0b0..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/is_expected_to_find_a_user_with_a_v3_search_engine_query.yml +++ /dev/null @@ -1,74 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/users?fields=user_id&per_page=1&q=updated_at:%5B2016-01-01%20TO%20*%5D&search_engine=v3 - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:47 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a8699cfa0d3c-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a8699cfa0d3c - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 6cda040f38b39924 - Ot-Tracer-Traceid: - - 5109603b3adf1972 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700208' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '[{"user_id":"auth0|6131c9a8460fa0006a17e4b8"}]' - recorded_at: Fri, 03 Sep 2021 20:16:47 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/should_exclude_the_indicated_fields_when_paginated.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/should_exclude_the_indicated_fields_when_paginated.yml deleted file mode 100644 index 386a46457..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/should_exclude_the_indicated_fields_when_paginated.yml +++ /dev/null @@ -1,74 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/users?fields=email&include_fields=false&per_page=1 - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:47 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a866dd1436dd-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a866dd1436dd - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 6198b5176797e96e - Ot-Tracer-Traceid: - - 5a1759f44e99071b - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700208' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '[{"created_at":"2021-09-03T07:07:20.288Z","email_verified":false,"identities":[{"user_id":"6131c9a8460fa0006a17e4b8","provider":"auth0","connection":"Username-Password-Authentication","isSocial":false}],"name":"rubytest-210903-username-1@auth0.com","nickname":"rubytest-210903-username-1","picture":"https://s.gravatar.com/avatar/fdd07a60850553d36e9a6360bea6fe72?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fru.png","updated_at":"2021-09-03T07:08:20.562Z","user_id":"auth0|6131c9a8460fa0006a17e4b8","last_login":"2021-09-03T07:08:20.562Z","last_ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","logins_count":3}]' - recorded_at: Fri, 03 Sep 2021 20:16:47 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/should_include_the_indicated_fields_when_paginated.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/should_include_the_indicated_fields_when_paginated.yml deleted file mode 100644 index b8e644b21..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/should_include_the_indicated_fields_when_paginated.yml +++ /dev/null @@ -1,74 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/users?fields=picture,email,user_id&include_fields=true&per_page=1 - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:46 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a863b982eb99-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a863b982eb99 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 1c8e8d630b2c6b7c - Ot-Tracer-Traceid: - - '058e0a4a564fe988' - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700207' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '[{"email":"rubytest-210903-username-1@auth0.com","picture":"https://s.gravatar.com/avatar/fdd07a60850553d36e9a6360bea6fe72?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fru.png","user_id":"auth0|6131c9a8460fa0006a17e4b8"}]' - recorded_at: Fri, 03 Sep 2021 20:16:46 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/should_not_include_other_fields_when_paginated.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/should_not_include_other_fields_when_paginated.yml deleted file mode 100644 index d92ac851c..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/should_not_include_other_fields_when_paginated.yml +++ /dev/null @@ -1,74 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/users?fields=email&per_page=1 - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:47 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a86569700507-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a86569700507 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 49bc931636378617 - Ot-Tracer-Traceid: - - 486e215b75759a24 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700208' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '[{"email":"rubytest-210903-username-1@auth0.com"}]' - recorded_at: Fri, 03 Sep 2021 20:16:47 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/should_return_the_correct_number_of_results_when_paginated.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/should_return_the_correct_number_of_results_when_paginated.yml deleted file mode 100644 index 27a2d7758..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/_filters/should_return_the_correct_number_of_results_when_paginated.yml +++ /dev/null @@ -1,74 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/users?per_page=1 - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:46 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a862781042a5-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a862781042a5 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 54e8842679b9c41f - Ot-Tracer-Traceid: - - 7a274e873d455bfe - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700207' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '[{"created_at":"2021-09-03T07:07:20.288Z","email":"rubytest-210903-username-1@auth0.com","email_verified":false,"identities":[{"user_id":"6131c9a8460fa0006a17e4b8","provider":"auth0","connection":"Username-Password-Authentication","isSocial":false}],"name":"rubytest-210903-username-1@auth0.com","nickname":"rubytest-210903-username-1","picture":"https://s.gravatar.com/avatar/fdd07a60850553d36e9a6360bea6fe72?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fru.png","updated_at":"2021-09-03T07:08:20.562Z","user_id":"auth0|6131c9a8460fa0006a17e4b8","last_login":"2021-09-03T07:08:20.562Z","last_ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","logins_count":3}]' - recorded_at: Fri, 03 Sep 2021 20:16:46 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/should_have_at_least_one_user.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/should_have_at_least_one_user.yml deleted file mode 100644 index 7a7cd8bb4..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/_users/should_have_at_least_one_user.yml +++ /dev/null @@ -1,75 +0,0 @@ ---- -http_interactions: -- request: - method: get - uri: https://auth0-sdk-tests.auth0.com/api/v2/users - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:46 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a8608e3a5307-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a8608e3a5307 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 1ff91cca787820b1 - Ot-Tracer-Traceid: - - 45ff116b3f577c98 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700207' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '[{"created_at":"2021-09-03T07:07:20.288Z","email":"rubytest-210903-username-1@auth0.com","email_verified":false,"identities":[{"user_id":"6131c9a8460fa0006a17e4b8","provider":"auth0","connection":"Username-Password-Authentication","isSocial":false}],"name":"rubytest-210903-username-1@auth0.com","nickname":"rubytest-210903-username-1","picture":"https://s.gravatar.com/avatar/fdd07a60850553d36e9a6360bea6fe72?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fru.png","updated_at":"2021-09-03T07:08:20.562Z","user_id":"auth0|6131c9a8460fa0006a17e4b8","last_login":"2021-09-03T07:08:20.562Z","last_ip":"2603:9008:1a05:f179:b872:5281:13d6:5758","logins_count":3},{"email":"test-ro-login@auth0.com","email_verified":false,"updated_at":"2019-06-28T19:01:41.270Z","picture":"https://s.gravatar.com/avatar/bb7512278de17e1d813d3e8155d75fef?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fte.png","user_id":"auth0|5bc7713e30533f47d4764a99","nickname":"test-ro-login","identities":[{"user_id":"5bc7713e30533f47d4764a99","provider":"auth0","connection":"Username-Password-Authentication","isSocial":false}],"created_at":"2018-10-17T17:28:30.976Z","name":"test-ro-login@auth0.com","multifactor_last_modified":"2019-06-28T19:01:41.270Z","last_login":"2018-10-17T17:28:52.681Z","last_ip":"71.212.126.28","logins_count":1},{"created_at":"2021-09-03T20:16:45.624Z","email":"rubytest-210908-rubytest-210908-username-secondary@auth0.com","email_verified":false,"identities":[{"connection":"Username-Password-Authentication","user_id":"613282ad45244d0069782b56","provider":"auth0","isSocial":false}],"name":"rubytest-210908-username-secondary","nickname":"rubytest-210908-rubytest-210908-username-secondary","picture":"https://s.gravatar.com/avatar/c2a0e9c069b78548d21aefff897d2897?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fru.png","updated_at":"2021-09-03T20:16:45.624Z","user_id":"auth0|613282ad45244d0069782b56"},{"created_at":"2021-09-03T20:16:45.288Z","email":"rubytest-210908-rubytest-210908-username@auth0.com","email_verified":false,"identities":[{"connection":"Username-Password-Authentication","user_id":"613282adac819400692c0dd9","provider":"auth0","isSocial":false}],"name":"rubytest-210908-username","nickname":"rubytest-210908-rubytest-210908-username","picture":"https://s.gravatar.com/avatar/28607929c5bdf4954ee65d055fea6e69?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fru.png","updated_at":"2021-09-03T20:16:45.288Z","user_id":"auth0|613282adac819400692c0dd9"},{"created_at":"2021-09-03T20:16:29.747Z","email":"rubytest-210908herbert@example.net","email_verified":false,"identities":[{"connection":"Username-Password-Authentication","user_id":"6132829d2f7d3d006a216aad","provider":"auth0","isSocial":false}],"name":"herbert","nickname":"rubytest-210908herbert","picture":"https://s.gravatar.com/avatar/cd0b06c3c11c846ad51bc8f7ee15ee70?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fhe.png","updated_at":"2021-09-03T20:16:29.747Z","user_id":"auth0|6132829d2f7d3d006a216aad"},{"created_at":"2021-09-03T20:16:29.160Z","email":"rubytest-210908byron_schaden@example.org","email_verified":false,"identities":[{"connection":"Username-Password-Authentication","user_id":"6132829d7b569700698af981","provider":"auth0","isSocial":false}],"name":"byron.schaden","nickname":"rubytest-210908byron_schaden","picture":"https://s.gravatar.com/avatar/32658f9d62513c10242821f682c242c8?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fby.png","updated_at":"2021-09-03T20:16:29.160Z","user_id":"auth0|6132829d7b569700698af981"},{"email":"rubytest-210908aaron_spencer@example.org","email_verified":false,"user_metadata":{"theme":"light"},"created_at":"2021-09-03T20:16:28.047Z","updated_at":"2021-09-03T20:16:28.047Z","identities":[{"provider":"auth0","connection":"Username-Password-Authentication","isSocial":false,"user_id":"6132829cde90c20019937a21"}],"user_id":"auth0|6132829cde90c20019937a21","name":"rubytest-210908aaron_spencer@example.org","picture":"https://secure.gravatar.com/avatar/c5f74fac7ce98eac0ad11c2a76b5ce4a?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fru.png","nickname":"rubytest-210908aaron_spencer","app_metadata":{"roles":["admin"]}},{"email":"rubytest-210908marleen_hagenes@example.net","email_verified":false,"user_metadata":{"theme":"light"},"created_at":"2021-09-03T20:16:27.622Z","updated_at":"2021-09-03T20:16:27.622Z","identities":[{"provider":"auth0","connection":"Username-Password-Authentication","isSocial":false,"user_id":"6132829b11c9b7001aa8341b"}],"user_id":"auth0|6132829b11c9b7001aa8341b","name":"rubytest-210908marleen_hagenes@example.net","picture":"https://secure.gravatar.com/avatar/54ab4835d808c4b61596ef2363c45543?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fru.png","nickname":"rubytest-210908marleen_hagenes","app_metadata":{"roles":["admin"]}},{"created_at":"2021-09-03T20:01:13.591Z","email":"rubytest-210906denver_bruen@example.com","email_verified":false,"identities":[{"connection":"Username-Password-Authentication","user_id":"61327f09edc2ea0071b2426f","provider":"auth0","isSocial":false}],"name":"denver_bruen","nickname":"rubytest-210906denver_bruen","picture":"https://s.gravatar.com/avatar/c5ec8b5f2e8cee993e32afd3f10900d8?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fde.png","updated_at":"2021-09-03T20:01:13.591Z","user_id":"auth0|61327f09edc2ea0071b2426f"},{"created_at":"2021-09-03T20:01:12.972Z","email":"rubytest-210906archie@example.com","email_verified":false,"identities":[{"connection":"Username-Password-Authentication","user_id":"61327f08abfba0006b03b3d7","provider":"auth0","isSocial":false}],"name":"archie","nickname":"rubytest-210906archie","picture":"https://s.gravatar.com/avatar/86d5ed6c6761cbfe1112c17cf3f2fd9d?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Far.png","updated_at":"2021-09-03T20:01:12.972Z","user_id":"auth0|61327f08abfba0006b03b3d7"},{"email":"rubytest-210906mason@example.net","email_verified":false,"user_metadata":{"theme":"light"},"created_at":"2021-09-03T20:01:11.781Z","updated_at":"2021-09-03T20:01:11.781Z","identities":[{"provider":"auth0","connection":"Username-Password-Authentication","isSocial":false,"user_id":"61327f072e2864001dc12601"}],"user_id":"auth0|61327f072e2864001dc12601","name":"rubytest-210906mason@example.net","picture":"https://secure.gravatar.com/avatar/1d39f745501648e4d7487e5346c0450c?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fru.png","nickname":"rubytest-210906mason","app_metadata":{"roles":["admin"]}},{"email":"rubytest-210906cara@example.com","email_verified":false,"user_metadata":{"theme":"light"},"created_at":"2021-09-03T20:01:10.982Z","updated_at":"2021-09-03T20:01:10.982Z","identities":[{"provider":"auth0","connection":"Username-Password-Authentication","isSocial":false,"user_id":"61327f072ed876001b025dc6"}],"user_id":"auth0|61327f072ed876001b025dc6","name":"rubytest-210906cara@example.com","picture":"https://secure.gravatar.com/avatar/92e8c05b2f387e96c53ff23ae266684b?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fru.png","nickname":"rubytest-210906cara","app_metadata":{"roles":["admin"]}},{"created_at":"2021-09-03T19:18:38.407Z","email":"rubytest-210904luther@example.org","email_verified":false,"identities":[{"connection":"Username-Password-Authentication","user_id":"6132750e45244d006977c46b","provider":"auth0","isSocial":false}],"name":"luther","nickname":"rubytest-210904luther","picture":"https://s.gravatar.com/avatar/50a066a0bae1722eff20ffe54b538438?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Flu.png","updated_at":"2021-09-03T19:18:38.407Z","user_id":"auth0|6132750e45244d006977c46b"},{"created_at":"2021-09-03T19:18:37.820Z","email":"rubytest-210904aaron@example.com","email_verified":false,"identities":[{"connection":"Username-Password-Authentication","user_id":"6132750df1bd890069a76fb8","provider":"auth0","isSocial":false}],"name":"aaron","nickname":"rubytest-210904aaron","picture":"https://s.gravatar.com/avatar/c111cb31980aa6e9d0f6f787fb97c76c?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Faa.png","updated_at":"2021-09-03T19:18:37.820Z","user_id":"auth0|6132750df1bd890069a76fb8"},{"email":"rubytest-210904champlin.jacques@example.org","email_verified":false,"user_metadata":{"theme":"light"},"created_at":"2021-09-03T19:18:36.736Z","updated_at":"2021-09-03T19:18:36.736Z","identities":[{"provider":"auth0","connection":"Username-Password-Authentication","isSocial":false,"user_id":"6132750c2e2864001dc125ff"}],"user_id":"auth0|6132750c2e2864001dc125ff","name":"rubytest-210904champlin.jacques@example.org","picture":"https://secure.gravatar.com/avatar/d6a7aeeb1f12d411d8fbcc7c6a8eb7bc?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fru.png","nickname":"rubytest-210904champlin.jacques","app_metadata":{"roles":["admin"]}},{"email":"rubytest-210904elijah_reichel@example.net","email_verified":false,"user_metadata":{"theme":"light"},"created_at":"2021-09-03T19:18:36.275Z","updated_at":"2021-09-03T19:18:36.275Z","identities":[{"provider":"auth0","connection":"Username-Password-Authentication","isSocial":false,"user_id":"6132750c2ed876001b025dc4"}],"user_id":"auth0|6132750c2ed876001b025dc4","name":"rubytest-210904elijah_reichel@example.net","picture":"https://secure.gravatar.com/avatar/6e86b26551a6cdb0aa36d5447f67cd00?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fru.png","nickname":"rubytest-210904elijah_reichel","app_metadata":{"roles":["admin"]}},{"created_at":"2021-09-03T06:39:58.991Z","email":"rubytest-210903buckridge.gustavo@example.org","email_verified":false,"identities":[{"connection":"Username-Password-Authentication","user_id":"6131c33e45244d006973063a","provider":"auth0","isSocial":false}],"name":"gustavo.buckridge","nickname":"rubytest-210903buckridge.gustavo","picture":"https://s.gravatar.com/avatar/fda2a25e0ea2112dc39730592d43525b?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fgu.png","updated_at":"2021-09-03T06:39:58.991Z","user_id":"auth0|6131c33e45244d006973063a"},{"created_at":"2021-09-03T06:39:58.378Z","email":"rubytest-210903minh.bergstrom@example.com","email_verified":false,"identities":[{"connection":"Username-Password-Authentication","user_id":"6131c33e9afcea00689ec2f1","provider":"auth0","isSocial":false}],"name":"minh.bergstrom","nickname":"rubytest-210903minh.bergstrom","picture":"https://s.gravatar.com/avatar/a03b740bbb8c79ea35b6a5b8c6543fe9?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fmi.png","updated_at":"2021-09-03T06:39:58.378Z","user_id":"auth0|6131c33e9afcea00689ec2f1"},{"email":"rubytest-210903aisha@example.net","email_verified":false,"user_metadata":{"theme":"light"},"created_at":"2021-09-03T06:39:57.152Z","updated_at":"2021-09-03T06:39:57.152Z","identities":[{"provider":"auth0","connection":"Username-Password-Authentication","isSocial":false,"user_id":"6131c33d2ed876001b025d02"}],"user_id":"auth0|6131c33d2ed876001b025d02","name":"rubytest-210903aisha@example.net","picture":"https://secure.gravatar.com/avatar/e004541ab8cd86b27d465670885214d9?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fru.png","nickname":"rubytest-210903aisha","app_metadata":{"roles":["admin"]}},{"email":"rubytest-210903darnell@example.com","email_verified":false,"user_metadata":{"theme":"light"},"created_at":"2021-09-03T06:39:56.533Z","updated_at":"2021-09-03T06:39:56.533Z","identities":[{"provider":"auth0","connection":"Username-Password-Authentication","isSocial":false,"user_id":"6131c33cdf44f100194e6baf"}],"user_id":"auth0|6131c33cdf44f100194e6baf","name":"rubytest-210903darnell@example.com","picture":"https://secure.gravatar.com/avatar/8c8e9fb54bdb424bf0fc9565a113028f?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fru.png","nickname":"rubytest-210903darnell","app_metadata":{"roles":["admin"]}},{"created_at":"2021-09-03T06:29:47.961Z","email":"rubytest-210902-rubytest-210902-username@auth0.com","email_verified":true,"identities":[{"connection":"Username-Password-Authentication","user_id":"6131c0dbce67b00071910e02","provider":"auth0","isSocial":false},{"profileData":{"email":"rubytest-210902-rubytest-210902-username-secondary@auth0.com","email_verified":false},"connection":"Username-Password-Authentication","user_id":"6131c0dc148a95006b32b614","provider":"auth0","isSocial":false}],"name":"rubytest-210902-rubytest-210902-username@auth0.com","nickname":"rubytest-210902-rubytest-210902-username","picture":"https://s.gravatar.com/avatar/18b1ec8cbc12623d9e2e14697a8dd355?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fru.png","updated_at":"2021-09-03T06:29:52.303Z","user_id":"auth0|6131c0dbce67b00071910e02","user_metadata":{"addresses":{"home_address":"742 - Evergreen Terrace"}},"multifactor_last_modified":"2021-09-03T06:29:52.053Z"},{"created_at":"2021-09-03T05:20:18.802Z","email":"rubytest-210902-rubytest-210902-username22@auth0.com","email_verified":false,"identities":[{"connection":"Username-Password-Authentication","user_id":"6131b092ce67b0007190b9c0","provider":"auth0","isSocial":false}],"name":"rubytest-210902-rubytest-210902-username22@auth0.com","nickname":"rubytest-210902-rubytest-210902-username22","picture":"https://s.gravatar.com/avatar/4b4badb46e332f00d3ecacd62ee8d24e?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fru.png","updated_at":"2021-09-03T05:20:18.802Z","user_id":"auth0|6131b092ce67b0007190b9c0"},{"email":"rubytest-210902calvin@example.org","email_verified":false,"user_metadata":{"theme":"light"},"created_at":"2021-09-03T04:58:19.502Z","updated_at":"2021-09-03T04:58:19.502Z","identities":[{"provider":"auth0","connection":"Username-Password-Authentication","isSocial":false,"user_id":"6131ab6b2ed876001b025cf8"}],"user_id":"auth0|6131ab6b2ed876001b025cf8","name":"rubytest-210902calvin@example.org","picture":"https://secure.gravatar.com/avatar/ee110d5f18d8e757a98b86cc53762096?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fru.png","nickname":"rubytest-210902calvin","app_metadata":{"roles":["admin"]}},{"email":"rubytestrex@example.net","email_verified":false,"user_metadata":{"theme":"light"},"created_at":"2021-09-03T04:49:20.466Z","updated_at":"2021-09-03T04:49:20.466Z","identities":[{"provider":"auth0","connection":"Username-Password-Authentication","isSocial":false,"user_id":"6131a950de90c20019937a17"}],"user_id":"auth0|6131a950de90c20019937a17","name":"rubytestrex@example.net","picture":"https://secure.gravatar.com/avatar/d4a8822294f3dd34443edf4fb6379720?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fru.png","nickname":"rubytestrex","app_metadata":{"roles":["admin"]}},{"email":"rubytest-1kendrick_cronin@example.com","email_verified":false,"user_metadata":{"theme":"light"},"created_at":"2021-09-03T04:31:49.871Z","updated_at":"2021-09-03T04:31:49.871Z","identities":[{"provider":"auth0","connection":"Username-Password-Authentication","isSocial":false,"user_id":"6131a5352ed876001b025cf6"}],"user_id":"auth0|6131a5352ed876001b025cf6","name":"rubytest-1kendrick_cronin@example.com","picture":"https://secure.gravatar.com/avatar/3432729ae9d7cfa111f51995771c860b?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fru.png","nickname":"rubytest-1kendrick_cronin","app_metadata":{"roles":["admin"]}},{"email":"rubytestjerold_kuphal@example.net","email_verified":false,"user_metadata":{"theme":"light"},"created_at":"2021-09-03T04:27:29.728Z","updated_at":"2021-09-03T04:27:29.728Z","identities":[{"provider":"auth0","connection":"Username-Password-Authentication","isSocial":false,"user_id":"6131a4318ba681001f662fc1"}],"user_id":"auth0|6131a4318ba681001f662fc1","name":"rubytestjerold_kuphal@example.net","picture":"https://secure.gravatar.com/avatar/5da920774a75331a850de6ac1cfec5f0?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fru.png","nickname":"rubytestjerold_kuphal","app_metadata":{"roles":["admin"]}},{"email":"php-sdk-test-import-user-job@auth0.com","email_verified":true,"user_metadata":{"theme":"dark"},"created_at":"2019-09-17T19:59:38.548Z","updated_at":"2021-03-19T20:04:30.105Z","identities":[{"provider":"auth0","connection":"Username-Password-Authentication","isSocial":false,"user_id":"5d813b2a8fb547038b0f037e"}],"user_id":"auth0|5d813b2a8fb547038b0f037e","name":"php-sdk-test-import-user-job@auth0.com","picture":"https://secure.gravatar.com/avatar/948d2dbfe9cdc074e496fa0557716d41?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fph.png","nickname":"php-sdk-test-import-user-job","app_metadata":{"roles":["admin","super"],"plan":"premium"}},{"created_at":"2021-03-19T20:04:20.278Z","email":"test-dbconnections-user2017503941@test.com","email_verified":false,"identities":[{"user_id":"605503c4c2426c006a696e35","connection":"Username-Password-Authentication","provider":"auth0","isSocial":false}],"name":"test-dbconnections-user2017503941@test.com","nickname":"test-dbconnections-user2017503941","picture":"https://s.gravatar.com/avatar/d81bc35d9eb004293cc7ceb3c35ea6c9?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fte.png","updated_at":"2021-03-19T20:04:20.278Z","user_id":"auth0|605503c4c2426c006a696e35"},{"created_at":"2021-03-19T19:35:59.958Z","email":"test-dbconnections-user2116979931@test.com","email_verified":false,"identities":[{"user_id":"6054fd1f6ab9840069a33698","connection":"Username-Password-Authentication","provider":"auth0","isSocial":false}],"name":"test-dbconnections-user2116979931@test.com","nickname":"test-dbconnections-user2116979931","picture":"https://s.gravatar.com/avatar/c891fc768532a5494874ebc480ef40fd?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fte.png","updated_at":"2021-03-19T19:35:59.958Z","user_id":"auth0|6054fd1f6ab9840069a33698"},{"created_at":"2021-03-18T20:36:28.383Z","email":"test-dbconnections-user588315854@test.com","email_verified":false,"identities":[{"user_id":"6053b9ccbda5a40070d44974","connection":"Username-Password-Authentication","provider":"auth0","isSocial":false}],"name":"test-dbconnections-user588315854@test.com","nickname":"test-dbconnections-user588315854","picture":"https://s.gravatar.com/avatar/9123ee20439d398ddab1ff57f99792f1?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fte.png","updated_at":"2021-03-18T20:36:28.383Z","user_id":"auth0|6053b9ccbda5a40070d44974"},{"created_at":"2021-02-01T15:04:16.447Z","email":"test-dbconnections-user1652912635@test.com","email_verified":false,"identities":[{"user_id":"60181870acec2b006ab07eef","connection":"Username-Password-Authentication","provider":"auth0","isSocial":false}],"name":"test-dbconnections-user1652912635@test.com","nickname":"test-dbconnections-user1652912635","picture":"https://s.gravatar.com/avatar/fd96339eb3f45fe689e67a9fc2cd51ec?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fte.png","updated_at":"2021-02-01T15:04:16.447Z","user_id":"auth0|60181870acec2b006ab07eef"},{"created_at":"2021-01-26T14:53:00.455Z","email":"test-dbconnections-user1504417331@test.com","email_verified":false,"identities":[{"user_id":"60102ccc1ccc72006aca2c78","connection":"Username-Password-Authentication","provider":"auth0","isSocial":false}],"name":"test-dbconnections-user1504417331@test.com","nickname":"test-dbconnections-user1504417331","picture":"https://s.gravatar.com/avatar/ae10bb4fda9a0d97c9be48758cb20a1d?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fte.png","updated_at":"2021-01-26T14:53:00.456Z","user_id":"auth0|60102ccc1ccc72006aca2c78"},{"created_at":"2021-01-14T14:47:38.859Z","email":"test-dbconnections-user1891034975@test.com","email_verified":false,"identities":[{"user_id":"6000598a93324d0076dc8946","connection":"Username-Password-Authentication","provider":"auth0","isSocial":false}],"name":"test-dbconnections-user1891034975@test.com","nickname":"test-dbconnections-user1891034975","picture":"https://s.gravatar.com/avatar/e30468e9f277d0e77924fd2954ddc077?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fte.png","updated_at":"2021-01-14T14:47:38.859Z","user_id":"auth0|6000598a93324d0076dc8946"},{"created_at":"2021-01-05T17:18:58.985Z","email":"test-dbconnections-user1209381820@test.com","email_verified":false,"identities":[{"user_id":"5ff49f82cf30c8006985ef43","connection":"Username-Password-Authentication","provider":"auth0","isSocial":false}],"name":"test-dbconnections-user1209381820@test.com","nickname":"test-dbconnections-user1209381820","picture":"https://s.gravatar.com/avatar/1e385faccf24a108523cae6444ae1b9a?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fte.png","updated_at":"2021-01-05T17:18:58.985Z","user_id":"auth0|5ff49f82cf30c8006985ef43"},{"created_at":"2021-01-04T21:50:05.778Z","email":"test-dbconnections-user1938776465@test.com","email_verified":false,"identities":[{"user_id":"5ff38d8d197152006fba9cdb","connection":"Username-Password-Authentication","provider":"auth0","isSocial":false}],"name":"test-dbconnections-user1938776465@test.com","nickname":"test-dbconnections-user1938776465","picture":"https://s.gravatar.com/avatar/a46be601bec90abd5f2fb8f7ec16ebf7?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fte.png","updated_at":"2021-01-04T21:50:05.779Z","user_id":"auth0|5ff38d8d197152006fba9cdb"},{"created_at":"2021-01-04T16:49:10.830Z","email":"test-dbconnections-user1754595567@test.com","email_verified":false,"identities":[{"user_id":"5ff347065b204f006fe229ac","connection":"Username-Password-Authentication","provider":"auth0","isSocial":false}],"name":"test-dbconnections-user1754595567@test.com","nickname":"test-dbconnections-user1754595567","picture":"https://s.gravatar.com/avatar/6c4e19b910d2977339a949ceeffc1b30?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fte.png","updated_at":"2021-01-04T16:49:10.830Z","user_id":"auth0|5ff347065b204f006fe229ac"},{"created_at":"2020-12-29T18:01:51.030Z","email":"test-dbconnections-user763703690@test.com","email_verified":false,"identities":[{"user_id":"5feb6f0fcb8d8e00762ed0dc","connection":"Username-Password-Authentication","provider":"auth0","isSocial":false}],"name":"test-dbconnections-user763703690@test.com","nickname":"test-dbconnections-user763703690","picture":"https://s.gravatar.com/avatar/b32a99d7bccd2efe3e7471da88e0fd15?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fte.png","updated_at":"2020-12-29T18:01:51.030Z","user_id":"auth0|5feb6f0fcb8d8e00762ed0dc"},{"created_at":"2020-12-29T17:52:32.257Z","email":"test-dbconnections-user1191665289@test.com","email_verified":false,"identities":[{"user_id":"5feb6ce089f2700069ebe351","connection":"Username-Password-Authentication","provider":"auth0","isSocial":false}],"name":"test-dbconnections-user1191665289@test.com","nickname":"test-dbconnections-user1191665289","picture":"https://s.gravatar.com/avatar/a00528579c353fcf600d4d04722959fe?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fte.png","updated_at":"2020-12-29T17:52:32.257Z","user_id":"auth0|5feb6ce089f2700069ebe351"},{"created_at":"2020-11-18T13:59:22.049Z","email":"test-dbconnections-user110194348@test.com","email_verified":false,"identities":[{"user_id":"5fb528bae6dfa60069c47412","connection":"Username-Password-Authentication","provider":"auth0","isSocial":false}],"name":"test-dbconnections-user110194348@test.com","nickname":"test-dbconnections-user110194348","picture":"https://s.gravatar.com/avatar/6392f339896eb0f92e93c2196ad6f92c?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fte.png","updated_at":"2020-11-18T13:59:22.049Z","user_id":"auth0|5fb528bae6dfa60069c47412"},{"created_at":"2020-11-16T13:02:14.177Z","email":"test-dbconnections-user474330142@test.com","email_verified":false,"identities":[{"user_id":"5fb2785607583d0071ac55f5","connection":"Username-Password-Authentication","provider":"auth0","isSocial":false}],"name":"test-dbconnections-user474330142@test.com","nickname":"test-dbconnections-user474330142","picture":"https://s.gravatar.com/avatar/701bce9987f1b6dd02670f78fa1b696b?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fte.png","updated_at":"2020-11-16T13:02:14.177Z","user_id":"auth0|5fb2785607583d0071ac55f5"},{"created_at":"2020-11-13T20:31:14.588Z","email":"test-dbconnections-user1905761359@test.com","email_verified":false,"identities":[{"user_id":"5faeed1259a0970078af1469","connection":"Username-Password-Authentication","provider":"auth0","isSocial":false}],"name":"test-dbconnections-user1905761359@test.com","nickname":"test-dbconnections-user1905761359","picture":"https://s.gravatar.com/avatar/e6f5012cc5e6d070aac0af855f0ef1ce?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fte.png","updated_at":"2020-11-13T20:31:14.588Z","user_id":"auth0|5faeed1259a0970078af1469"},{"created_at":"2020-11-09T19:51:24.370Z","email":"test-dbconnections-user880960561@test.com","email_verified":false,"identities":[{"user_id":"5fa99dbc6408fc006e32421d","connection":"Username-Password-Authentication","provider":"auth0","isSocial":false}],"name":"test-dbconnections-user880960561@test.com","nickname":"test-dbconnections-user880960561","picture":"https://s.gravatar.com/avatar/dee47500ae1c025c511ef33b806927da?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fte.png","updated_at":"2020-11-09T19:51:24.370Z","user_id":"auth0|5fa99dbc6408fc006e32421d"},{"created_at":"2020-11-09T17:30:39.312Z","email":"test-dbconnections-user2061341363@test.com","email_verified":false,"identities":[{"user_id":"5fa97cbf04cfe0006fec1e81","connection":"Username-Password-Authentication","provider":"auth0","isSocial":false}],"name":"test-dbconnections-user2061341363@test.com","nickname":"test-dbconnections-user2061341363","picture":"https://s.gravatar.com/avatar/d364933e3a0928007675a9f1e3c291fc?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fte.png","updated_at":"2020-11-09T17:30:39.312Z","user_id":"auth0|5fa97cbf04cfe0006fec1e81"},{"created_at":"2020-11-08T20:44:58.375Z","email":"test-dbconnections-user1836636391@test.com","email_verified":false,"identities":[{"user_id":"5fa858cae0383d00758c1ab9","connection":"Username-Password-Authentication","provider":"auth0","isSocial":false}],"name":"test-dbconnections-user1836636391@test.com","nickname":"test-dbconnections-user1836636391","picture":"https://s.gravatar.com/avatar/19e66d911ecea0714d801415d3be8f7f?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fte.png","updated_at":"2020-11-08T20:44:58.375Z","user_id":"auth0|5fa858cae0383d00758c1ab9"},{"created_at":"2020-10-27T12:28:32.125Z","email":"test-dbconnections-user896156406@test.com","email_verified":false,"identities":[{"user_id":"5f981270ea53e500759ef2b0","connection":"Username-Password-Authentication","provider":"auth0","isSocial":false}],"name":"test-dbconnections-user896156406@test.com","nickname":"test-dbconnections-user896156406","picture":"https://s.gravatar.com/avatar/c499fcc75ae77ebefb24a4a0c1ee9c25?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fte.png","updated_at":"2020-10-27T12:28:32.125Z","user_id":"auth0|5f981270ea53e500759ef2b0"},{"created_at":"2020-10-27T11:58:03.557Z","email":"test-dbconnections-user2003113662@test.com","email_verified":false,"identities":[{"user_id":"5f980b4b9991bd0068d03c06","connection":"Username-Password-Authentication","provider":"auth0","isSocial":false}],"name":"test-dbconnections-user2003113662@test.com","nickname":"test-dbconnections-user2003113662","picture":"https://s.gravatar.com/avatar/92f2c19befae7abba1a323db74412625?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fte.png","updated_at":"2020-10-27T11:58:03.557Z","user_id":"auth0|5f980b4b9991bd0068d03c06"},{"created_at":"2020-09-28T14:42:22.345Z","email":"test-dbconnections-user1309284199@test.com","email_verified":false,"identities":[{"user_id":"5f71f64e3b5e8f00695ea2d6","connection":"Username-Password-Authentication","provider":"auth0","isSocial":false}],"name":"test-dbconnections-user1309284199@test.com","nickname":"test-dbconnections-user1309284199","picture":"https://s.gravatar.com/avatar/3683950004bc05f32b132e6359f26abe?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fte.png","updated_at":"2020-09-28T14:42:22.345Z","user_id":"auth0|5f71f64e3b5e8f00695ea2d6"},{"created_at":"2020-09-25T14:25:01.734Z","email":"test-dbconnections-user297240722@test.com","email_verified":false,"identities":[{"user_id":"5f6dfdbdd0ea9d00689ea1fa","connection":"Username-Password-Authentication","provider":"auth0","isSocial":false}],"name":"test-dbconnections-user297240722@test.com","nickname":"test-dbconnections-user297240722","picture":"https://s.gravatar.com/avatar/91949ad95749c03e5749cd8659a41f65?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fte.png","updated_at":"2020-09-25T14:25:01.734Z","user_id":"auth0|5f6dfdbdd0ea9d00689ea1fa"},{"created_at":"2020-09-09T18:41:35.346Z","email":"test-dbconnections-user10294259@test.com","email_verified":false,"identities":[{"user_id":"5f5921df1e076c007979f096","connection":"Username-Password-Authentication","provider":"auth0","isSocial":false}],"name":"test-dbconnections-user10294259@test.com","nickname":"test-dbconnections-user10294259","picture":"https://s.gravatar.com/avatar/d912727d6bef1d31706e53649d40fc58?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fte.png","updated_at":"2020-09-09T18:41:35.346Z","user_id":"auth0|5f5921df1e076c007979f096"},{"created_at":"2020-08-27T18:36:39.308Z","email":"test-dbconnections-user1920028867@test.com","email_verified":false,"identities":[{"user_id":"5f47fd37e7ef8c0068deb388","connection":"Username-Password-Authentication","provider":"auth0","isSocial":false}],"name":"test-dbconnections-user1920028867@test.com","nickname":"test-dbconnections-user1920028867","picture":"https://s.gravatar.com/avatar/840e7c1970b9424680ac63a0f2238593?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fte.png","updated_at":"2020-08-27T18:36:39.308Z","user_id":"auth0|5f47fd37e7ef8c0068deb388"}]' - recorded_at: Fri, 03 Sep 2021 20:16:46 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/create_secondary_test_user.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/create_secondary_test_user.yml deleted file mode 100644 index 3c09fd3da..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/create_secondary_test_user.yml +++ /dev/null @@ -1,76 +0,0 @@ ---- -http_interactions: -- request: - method: post - uri: https://auth0-sdk-tests.auth0.com/api/v2/users - body: - encoding: UTF-8 - string: '{"name":"rubytest-210908-username-secondary","email":"rubytest-210908-rubytest-210908-username-secondary@auth0.com","password":"TeN4eRrIpTy","connection":"Username-Password-Authentication"}' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '189' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 201 - message: Created - headers: - Date: - - Fri, 03 Sep 2021 20:16:45 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a85c1fad0558-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a85c1fad0558 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 744357ce378858dc - Ot-Tracer-Traceid: - - 4112faca2de9a062 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700206' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"created_at":"2021-09-03T20:16:45.624Z","email":"rubytest-210908-rubytest-210908-username-secondary@auth0.com","email_verified":false,"identities":[{"connection":"Username-Password-Authentication","user_id":"613282ad45244d0069782b56","provider":"auth0","isSocial":false}],"name":"rubytest-210908-username-secondary","nickname":"rubytest-210908-rubytest-210908-username-secondary","picture":"https://s.gravatar.com/avatar/c2a0e9c069b78548d21aefff897d2897?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fru.png","updated_at":"2021-09-03T20:16:45.624Z","user_id":"auth0|613282ad45244d0069782b56"}' - recorded_at: Fri, 03 Sep 2021 20:16:45 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/create_test_api.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/create_test_api.yml deleted file mode 100644 index b9558cbf4..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/create_test_api.yml +++ /dev/null @@ -1,76 +0,0 @@ ---- -http_interactions: -- request: - method: post - uri: https://auth0-sdk-tests.auth0.com/api/v2/resource-servers - body: - encoding: UTF-8 - string: '{"name":"rubytest-210908-test-api-for-users","scopes":[{"value":"test:scope"}],"identifier":"rubytest-210908-test-api-for-users"}' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '129' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 201 - message: Created - headers: - Date: - - Fri, 03 Sep 2021 20:16:45 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a85de9eb52b9-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a85de9eb52b9 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 555d65a5029066b2 - Ot-Tracer-Traceid: - - 74da0d8b0fd50ee9 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700206' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"id":"613282ad5a606500490b4915","name":"rubytest-210908-test-api-for-users","identifier":"rubytest-210908-test-api-for-users","allow_offline_access":false,"skip_consent_for_verifiable_first_party_clients":false,"token_lifetime":86400,"token_lifetime_for_web":7200,"signing_alg":"RS256","scopes":[{"value":"test:scope"}]}' - recorded_at: Fri, 03 Sep 2021 20:16:45 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/create_test_role.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/create_test_role.yml deleted file mode 100644 index fd49aee88..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/create_test_role.yml +++ /dev/null @@ -1,77 +0,0 @@ ---- -http_interactions: -- request: - method: post - uri: https://auth0-sdk-tests.auth0.com/api/v2/roles - body: - encoding: UTF-8 - string: '{"description":"Test role description","name":"rubytest-210908-test-role-for-users"}' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '84' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:46 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a85f5804530d-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a85f5804530d - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 21976d4d1bd2bfa1 - Ot-Tracer-Traceid: - - 6e2c0c5515bd9c84 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700207' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"id":"rol_2VZOCes8HgBar3Tp","name":"rubytest-210908-test-role-for-users","description":"Test - role description"}' - recorded_at: Fri, 03 Sep 2021 20:16:46 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/create_test_user.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/create_test_user.yml deleted file mode 100644 index 4cdf08f8c..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/create_test_user.yml +++ /dev/null @@ -1,76 +0,0 @@ ---- -http_interactions: -- request: - method: post - uri: https://auth0-sdk-tests.auth0.com/api/v2/users - body: - encoding: UTF-8 - string: '{"name":"rubytest-210908-username","email":"rubytest-210908-rubytest-210908-username@auth0.com","password":"5MzHy3An33X","connection":"Username-Password-Authentication"}' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Content-Length: - - '169' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 201 - message: Created - headers: - Date: - - Fri, 03 Sep 2021 20:16:45 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a859ed71eb6d-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a859ed71eb6d - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 0240f1bc6b19e30d - Ot-Tracer-Traceid: - - 30e011a3135bf475 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700206' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: '{"created_at":"2021-09-03T20:16:45.288Z","email":"rubytest-210908-rubytest-210908-username@auth0.com","email_verified":false,"identities":[{"connection":"Username-Password-Authentication","user_id":"613282adac819400692c0dd9","provider":"auth0","isSocial":false}],"name":"rubytest-210908-username","nickname":"rubytest-210908-rubytest-210908-username","picture":"https://s.gravatar.com/avatar/28607929c5bdf4954ee65d055fea6e69?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fru.png","updated_at":"2021-09-03T20:16:45.288Z","user_id":"auth0|613282adac819400692c0dd9"}' - recorded_at: Fri, 03 Sep 2021 20:16:45 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/delete_test_api.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/delete_test_api.yml deleted file mode 100644 index 02584b803..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/delete_test_api.yml +++ /dev/null @@ -1,72 +0,0 @@ ---- -http_interactions: -- request: - method: delete - uri: https://auth0-sdk-tests.auth0.com/api/v2/resource-servers/613282ad5a606500490b4915 - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 204 - message: No Content - headers: - Date: - - Fri, 03 Sep 2021 20:16:52 GMT - Content-Type: - - application/json; charset=utf-8 - Connection: - - keep-alive - Cf-Ray: - - 6891a885fa423125-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a885fa423125 - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 6d85504963064dd8 - Ot-Tracer-Traceid: - - 5254312b1ae38963 - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700213' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: UTF-8 - string: '' - recorded_at: Fri, 03 Sep 2021 20:16:52 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/delete_test_role.yml b/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/delete_test_role.yml deleted file mode 100644 index 051725811..000000000 --- a/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Users/delete_test_role.yml +++ /dev/null @@ -1,74 +0,0 @@ ---- -http_interactions: -- request: - method: delete - uri: https://auth0-sdk-tests.auth0.com/api/v2/roles/rol_2VZOCes8HgBar3Tp - body: - encoding: US-ASCII - string: '' - headers: - Accept: - - "*/*" - User-Agent: - - rest-client/2.1.0 (darwin19.6.0 x86_64) ruby/2.7.0p0 - Content-Type: - - application/json - Auth0-Client: - - eyJuYW1lIjoicnVieS1hdXRoMCIsInZlcnNpb24iOiI1LjUuMCIsImVudiI6eyJydWJ5IjoiMi43LjAifX0= - Authorization: - - Bearer API_TOKEN - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - auth0-sdk-tests.auth0.com - response: - status: - code: 200 - message: OK - headers: - Date: - - Fri, 03 Sep 2021 20:16:52 GMT - Content-Type: - - application/json; charset=utf-8 - Transfer-Encoding: - - chunked - Connection: - - keep-alive - Cf-Ray: - - 6891a8879ed90d5c-LAX - Cache-Control: - - no-cache - Strict-Transport-Security: - - max-age=31536000 - Vary: - - origin,accept-encoding - Cf-Cache-Status: - - DYNAMIC - Expect-Ct: - - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - Ot-Baggage-Auth0-Request-Id: - - 6891a8879ed90d5c - Ot-Tracer-Sampled: - - 'true' - Ot-Tracer-Spanid: - - 4de9efab03fc8f7f - Ot-Tracer-Traceid: - - 68f917530e572e3f - X-Content-Type-Options: - - nosniff - X-Ratelimit-Limit: - - '50' - X-Ratelimit-Remaining: - - '49' - X-Ratelimit-Reset: - - '1630700213' - Server: - - cloudflare - Alt-Svc: - - h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400, h3=":443"; - ma=86400 - body: - encoding: ASCII-8BIT - string: "{}" - recorded_at: Fri, 03 Sep 2021 20:16:52 GMT -recorded_with: VCR 6.0.0 diff --git a/spec/integration/lib/auth0/api/api_authentication_spec.rb b/spec/integration/lib/auth0/api/api_authentication_spec.rb deleted file mode 100644 index ec1d30dbf..000000000 --- a/spec/integration/lib/auth0/api/api_authentication_spec.rb +++ /dev/null @@ -1,120 +0,0 @@ -require 'spec_helper' -describe Auth0::Api::AuthenticationEndpoints do - attr_reader :client, :test_user_email, :test_user_pwd, :test_user - - before(:all) do - @client = Auth0Client.new(v2_creds) - - @test_user_email = "#{entity_suffix}-username-1@auth0.com" - @test_user_pwd = '23kejn2jk3en2jke2jk3be2jk3ber' - - VCR.use_cassette('Auth0_Api_AuthenticationEndpoints/create_test_user') do - @test_user ||= @client.signup( - test_user_email, - test_user_pwd - ) - end - end - - after(:all) do - VCR.use_cassette('Auth0_Api_AuthenticationEndpoints/delete_test_user') do - @client.delete_user('auth0|' + test_user['_id']) - end - end - - describe '.signup', vcr: true do - it 'should signup a new user' do - expect(test_user).to(include('_id', 'email')) - end - - it 'should return the correct email address' do - expect(test_user['email']).to eq test_user_email - end - end - - describe '.change_password', vcr: true do - it 'should trigger a password reset' do - expect( - @client.change_password(test_user_email, '') - ).to(include("We've just sent you an email to reset your password.")) - end - end - - describe '.saml_metadata', vcr: true do - it 'should retrieve SAML metadata' do - expect(@client.saml_metadata).to(include(' test_user_email ) - ) - end - end - - describe '.login_with_resource_owner', vcr: true do - it 'should fail with an incorrect email' do - expect do - @client.login_with_resource_owner( - test_user['email'] + '_invalid', - test_user_pwd - ) - end.to raise_error Auth0::AccessDenied - end - - it 'should fail with an incorrect password' do - expect do - @client.login_with_resource_owner( - test_user['email'], - test_user_pwd + '_invalid' - ) - end.to raise_error Auth0::AccessDenied - end - - it 'should login successfully with a default scope' do - expect( - @client.login_with_resource_owner( - test_user['email'], - test_user_pwd - ).token - ).to_not be_empty - end - - it 'should fail with an invalid audience' do - expect do - @client.login_with_resource_owner( - test_user['email'], - test_user_pwd, - scope: 'test:scope', - audience: 'https://brucke.club/invalid/api/v1/' - ) - end.to raise_error Auth0::BadRequest - end - - it 'should login successfully with a custom audience' do - expect( - @client.login_with_resource_owner( - test_user['email'], - test_user_pwd, - scope: 'test:scope', - audience: 'https://brucke.club/custom/api/v1/' - ).token - ).to_not be_empty - end - end -end diff --git a/spec/integration/lib/auth0/api/v2/api_blacklist_spec.rb b/spec/integration/lib/auth0/api/v2/api_blacklist_spec.rb deleted file mode 100644 index 9ddd50ea0..000000000 --- a/spec/integration/lib/auth0/api/v2/api_blacklist_spec.rb +++ /dev/null @@ -1,27 +0,0 @@ -require 'spec_helper' -describe Auth0::Api::V2::Blacklists do - let(:client) { Auth0Client.new(v2_creds) } - let(:token) { 'faketoken' } - - describe '.add_token_to_blacklist', vcr: true do - it 'should add a token to the blacklist' do - expect do - client.add_token_to_blacklist( - token, - v2_creds[:client_id] - ) - end.to_not raise_error - end - end - - describe '.blacklisted_tokens', vcr: true do - it 'should get the added token from the blacklist' do - expect(client.blacklisted_tokens.first).to( - include( - 'aud' => v2_creds[:client_id], - 'jti' => token - ) - ) - end - end -end diff --git a/spec/integration/lib/auth0/api/v2/api_client_grants_spec.rb b/spec/integration/lib/auth0/api/v2/api_client_grants_spec.rb deleted file mode 100644 index df134997a..000000000 --- a/spec/integration/lib/auth0/api/v2/api_client_grants_spec.rb +++ /dev/null @@ -1,66 +0,0 @@ -require 'spec_helper' -describe Auth0::Api::V2::ClientGrants do - attr_reader :client, :test_client_grant, :test_client - - before(:all) do - @client = Auth0Client.new(v2_creds) - - VCR.use_cassette('Auth0_Api_V2_ClientGrants/create_test_client') do - @test_client = client.create_client( - "ClientGrantTestClient-#{entity_suffix}" - ) - end - - VCR.use_cassette('Auth0_Api_V2_ClientGrants/create_test_client_grant') do - @test_client_grant = client.create_client_grant( - 'client_id' => test_client['client_id'], - 'audience' => "https://#{test_client['tenant']}.auth0.com/api/v2/", - 'scope' => ['test:scope'] - ) - end - - end - - after(:all) do - VCR.use_cassette('Auth0_Api_V2_ClientGrants/delete_test_client') do - client.delete_client(test_client['client_id']) - end - - VCR.use_cassette('Auth0_Api_V2_ClientGrants/delete_test_client_grant') do - client.delete_client_grant(test_client_grant['id']) - end - end - - describe '.client_grants', vcr: true do - let(:client_grants) do - client.client_grants - end - - it 'should return at least 1 result' do - expect(client_grants.size).to be > 0 - end - - it 'should return the test client grant' do - expect(client_grants).to include(test_client_grant) - end - end - - describe '.patch_client_grant', vcr: true do - it 'should update the test client grant' do - expect( - client.patch_client_grant( - test_client_grant['id'], - 'scope' => ['new:scope'] - ) - ).to(include('scope' => ['new:scope'])) - end - end - - describe '.delete_client_grant', vcr: true do - it 'should delete the test client grant' do - expect do - client.delete_client_grant(test_client_grant['id']) - end.to_not raise_error - end - end -end diff --git a/spec/integration/lib/auth0/api/v2/api_clients_spec.rb b/spec/integration/lib/auth0/api/v2/api_clients_spec.rb deleted file mode 100644 index ce969a27b..000000000 --- a/spec/integration/lib/auth0/api/v2/api_clients_spec.rb +++ /dev/null @@ -1,166 +0,0 @@ -require 'spec_helper' - -describe Auth0::Api::V2::Clients do - attr_reader :client, :test_client_name, :test_client - - before(:all) do - @client ||= Auth0Client.new(v2_creds) - @test_client_name = "TestClient-#{entity_suffix}" - - VCR.use_cassette('Auth0_Api_V2_Clients/create_test_client') do - @test_client ||= client.create_client( - test_client_name, - custom_login_page_on: false, - description: 'Client description' - ) - end - end - - describe '.create_client', vcr: true do - it 'should raise an error with a missing client_id' do - expect do - client.create_client('', custom_login_page_on: false) - end.to raise_error Auth0::MissingParameter - end - - it 'should create a new client with the specified attributes' do - expect(test_client).to( - include( - 'name' => test_client_name, - 'custom_login_page_on' => false, - 'description' => 'Client description' - ) - ) - end - end - - describe '.clients', vcr: true do - let(:clients) do - client.clients - end - - it 'should get at least one client' do - expect(clients.size).to be > 0 - end - - context '#filters' do - it 'should include the specified fields' do - expect(client.clients( - fields: [:name, :callbacks].join(',') - ).first).to(include('name', 'callbacks')) - end - - it 'should exclude fields not specified' do - expect(client.clients( - fields: [:callbacks].join(',')).first - ).to_not(include('name')) - end - - it 'should exclude the specified fields' do - expect(client.clients( - fields: [:callbacks].join(','), - include_fields: false - ).first).to_not(include('callbacks')) - end - - it 'should paginate results' do - results = client.clients( - fields: :name, - page: 0, - per_page: 1 - ) - expect(results.first).to equal(results.last) - end - end - end - - describe '.client', vcr: true do - - it 'should raise an error with a missing client_id' do - expect do - client.client('') - end.to raise_error Auth0::MissingClientId - end - - it 'should get the test client' do - expect( - client.client(test_client['client_id']) - ).to include('client_id' => test_client['client_id']) - end - - it 'should raise an error when passing an empty client_id' do - expect { client.client '' }.to raise_error(Auth0::MissingClientId) - end - - context '#filters' do - let(:client_include) do - client.client( - test_client['client_id'], - fields: [:name, :client_secret, :jwt_configuration].join(',') - ) - end - - let(:client_not_include) do - client.client( - test_client['client_id'], - fields: :jwt_configuration, - include_fields: false - ) - end - - it 'should include the specified fields' do - expect( - client_include - ).to(include('name', 'client_secret', 'jwt_configuration')) - end - - it 'should exclude and include fields properly' do - expect(client_not_include).to(include('name', 'client_secret')) - expect(client_not_include).to_not(include('jwt_configuration')) - end - end - end - - describe '.patch_client', vcr: true do - it 'should raise an error with a missing client_id' do - expect do - client.patch_client('', custom_login_page_on: false) - end.to raise_error Auth0::MissingClientId - end - - it 'should raise an error with a missing client_id' do - expect do - client.patch_client('__test_client_id__', '') - end.to raise_error Auth0::MissingParameter - end - - it 'should update the client with the correct attributes' do - expect( - client.patch_client( - test_client['client_id'], - custom_login_page_on: false, - sso: true - ) - ).to( - include( - 'custom_login_page_on' => false, - 'sso' => true - ) - ) - end - end - - describe '.delete_client', vcr: true do - it 'should raise an error with an empty client_id' do - expect do - client.delete_client '' - end.to raise_error Auth0::MissingClientId - end - - it 'should delete the test client without an error' do - expect do - client.delete_client(test_client['client_id']) - end.to_not raise_error - end - end -end diff --git a/spec/integration/lib/auth0/api/v2/api_connections_spec.rb b/spec/integration/lib/auth0/api/v2/api_connections_spec.rb deleted file mode 100644 index 1913e42b3..000000000 --- a/spec/integration/lib/auth0/api/v2/api_connections_spec.rb +++ /dev/null @@ -1,159 +0,0 @@ -require 'spec_helper' -describe Auth0::Api::V2::Connections do - attr_reader :client, - :test_user_name, :test_user_email, - :test_con_name, :test_con_strategy, :test_conn - - before(:all) do - @client ||= Auth0Client.new(v2_creds) - @test_user_name = "#{entity_suffix}-username" - @test_user_email = "#{entity_suffix}-#{test_user_name}@auth0.com" - @test_con_name = "TestConnection-#{entity_suffix}" - @test_con_strategy = 'auth0' - - VCR.use_cassette( - 'Auth0_Api_V2_Connections/create_test_connection' - ) do - @test_conn ||= client.create_connection( - name: test_con_name, - strategy: test_con_strategy - ) - end - - VCR.use_cassette( - 'Auth0_Api_V2_Connections/create_test_user' - ) do - @test_user ||= client.create_user( - Auth0::Api::AuthenticationEndpoints::UP_AUTH, - name: test_user_name, - email: test_user_email, - password: Faker::Internet.password - ) - end - end - - describe '.create_connection', vcr: true do - let(:subject) { test_conn } - - it 'should return specific fields upon creation' do - should include('id', 'name', 'options', 'strategy') - end - - it 'should return the data sent' do - should include( - 'name' => test_conn['name'], - 'strategy' => test_con_strategy, - ) - end - end - - describe '.connection', vcr: true do - let(:subject) do - client.connection(test_conn['id']) - end - - it 'should find the correct connection' do - should include('name' => test_conn['name']) - end - - context '#filters' do - it 'should include the fields indicated' do - expect( - client.connection( - test_conn['id'], - fields: [:name, :id].join(',') - ) - ).to include('id', 'name') - end - - it 'should exclude the fields indicated' do - expect( - client.connection( - test_conn['id'], - fields: [:name, :id].join(','), - include_fields: false - ) - ).to_not( - include('id', 'name') - ) - end - end - end - - describe '.connections', vcr: true do - let(:connections) do - client.connections - end - - it 'should not be empty' do - expect(connections.size).to be > 0 - end - - it 'should include the previously created connection' do - expect( - connections.find do |con| - con['name'] == test_con_name - end - ).to_not be_empty - end - - context '#filters' do - it 'should include previously-created connection when filtered' do - expect( - client.connections(strategy: test_con_strategy).size - ).to be > 0 - end - - it 'should should include the fields indicated from filtered results' do - expect( - client.connections( - strategy: test_con_strategy, - fields: [:name].join(',') - ).first - ).to include('name') - end - - it 'should should exclude the fields indicated from filtered results' do - expect( - client.connections( - strategy: test_con_strategy, - fields: [:name].join(','), - include_fields: false - ).first).to_not include('name') - end - end - end - - describe '.delete_connection_user', vcr: true do - let(:connection) do - client.connections.find do |connection| - connection['name'] == Auth0::Api::AuthenticationEndpoints::UP_AUTH - end - end - - it 'should delete the user created' do - expect( - client.delete_connection_user(connection['id'], test_user_email) - ).to be_empty - end - end - - describe '.update_connection', vcr: true do - it 'should update the connection' do - new_options = test_conn['options'] - new_options['passwordPolicy'] = 'excellent' - expect( - client.update_connection( - test_conn['id'], - options: new_options - )['options']['passwordPolicy'] - ).to eq 'excellent' - end - end - - describe '.delete_connection', vcr: true do - it 'should delete the connection' do - expect { client.delete_connection test_conn['id'] }.to_not raise_error - end - end -end diff --git a/spec/integration/lib/auth0/api/v2/api_email_spec.rb b/spec/integration/lib/auth0/api/v2/api_email_spec.rb deleted file mode 100644 index 7ceabeb6b..000000000 --- a/spec/integration/lib/auth0/api/v2/api_email_spec.rb +++ /dev/null @@ -1,86 +0,0 @@ -require 'spec_helper' -describe Auth0::Api::V2::Emails do - attr_reader :client - - before(:all) do - @client = Auth0Client.new(v2_creds) - - begin - VCR.use_cassette( - 'Auth0_Api_V2_Emails/delete_existing_provider' - ) do - client.delete_provider - end - rescue Auth0::NotFound - puts 'no email provider to delete' - end - end - - let(:name) { 'mandrill' } - let(:enabled) { true } - let(:credentials) { {api_key: 'api_key'} } - - let(:settings) do - { - first_setting: 'first_setting_set', - second_setting: 'second_setting_set' - } - end - - let(:body) do - { - name: name, - enabled: enabled, - credentials: credentials, - settings: settings - } - end - - describe '.get_provider', vcr: true do - it 'should get the existing email provider' do - begin - expect(client.get_provider.size).to be > 0 - rescue Auth0::NotFound - 'No email provider configured' - end - end - - context '#filters' do - it 'should get the existing email provider with specific fields' do - begin - expect( - client.get_provider( - fields: [:name, :enabled, :credentials].join(','), - include_fields: true - ) - ).to include('name', 'enabled', 'credentials') - rescue Auth0::NotFound - 'No email provider configured' - end - end - - it 'should get the existing email provider without specific fields' do - begin - expect( - client.get_provider( - fields: [:enabled].join(','), - include_fields: false - ).first - ).to_not include('enabled') - rescue Auth0::NotFound - 'No email provider configured' - end - end - end - end - - describe '.delete_provider', vcr: true do - it 'should delete the existing email provider without an error' do - expect { client.delete_provider }.to_not raise_error - end - - it 'should throw an error trying to get the email provider' do - expect { client.get_provider }.to raise_error(Auth0::NotFound) - end - end -end diff --git a/spec/integration/lib/auth0/api/v2/api_jobs_spec.rb b/spec/integration/lib/auth0/api/v2/api_jobs_spec.rb deleted file mode 100644 index ad0d23dde..000000000 --- a/spec/integration/lib/auth0/api/v2/api_jobs_spec.rb +++ /dev/null @@ -1,124 +0,0 @@ -require 'spec_helper' -describe Auth0::Api::V2::Jobs do - UP_AUTH = Auth0::Api::AuthenticationEndpoints::UP_AUTH - - let(:client) { Auth0Client.new(v2_creds) } - let(:username) { Faker::Internet.user_name } - let(:email) { "#{entity_suffix}#{Faker::Internet.safe_email(name: username)}" } - let(:connection_id) do - VCR.use_cassette('Auth0_Api_V2_Jobs/search_for_connection_id') do - client.connections.find do |connection| - connection['name'].include?(UP_AUTH) - end['id'] - end - end - - describe '.import_users and .get_job', vcr: true do - let(:file_name) { 'spec/fixtures/api-jobs-spec-import-users.json' } - let(:file_content) do - [{ - email: email, - email_verified: false, - app_metadata: { roles: ['admin'] }, - user_metadata: { theme: 'light' } - }].to_json - end - let(:import_file) do - File.open(file_name, 'w+') { |f| f.write(file_content) } - File.new(file_name, 'rb') - end - let(:imported_users) { client.import_users(import_file, connection_id) } - let(:import_job_id) { imported_users['id'] } - - it 'should create an import users job successfully' do - expect(imported_users).to include( - 'connection' => UP_AUTH, - 'type' => 'users_import' - ) - end - - it 'should get the import users job' do - expect(client.get_job(import_job_id)).to include( - 'connection' => UP_AUTH, - 'type' => 'users_import', - 'id' => import_job_id - ) - end - - after do - File.delete(file_name) - end - end - - describe '.export_users and .get_job', vcr: true do - let(:exported_users) { client.export_users(connection_id: connection_id) } - let(:export_job_id) { exported_users['id'] } - - it 'should create an export users job successfully' do - expect(exported_users).to include( - 'connection' => UP_AUTH, - 'type' => 'users_export' - ) - end - - it 'should get the export users job' do - expect(client.get_job(export_job_id)).to include( - 'connection' => UP_AUTH, - 'type' => 'users_export', - 'id' => export_job_id - ) - end - end - - describe '.send_verification_email and .get_job', vcr: true do - let(:user) do - client.create_user( - Auth0::Api::AuthenticationEndpoints::UP_AUTH, - name: username, - email: email, - password: Faker::Internet.password - ) - end - let(:email_verification_job) { client.send_verification_email(user['user_id']) } - let(:email_job_id) { email_verification_job['id'] } - - it 'should create a new verification_email job' do - expect( - email_verification_job - ).to include('status' => 'pending', 'type' => 'verification_email') - end - - it 'should get the completed verification_email' do - expect(client.get_job(email_job_id)).to include( - 'type' => 'verification_email', - 'id' => email_job_id - ) - end - - it 'should reject an invalid client_id' do - expect do - client.send_verification_email(user['user_id'], Random.new(32).to_s) - end.to raise_error Auth0::BadRequest - end - - it 'should raise an error if the user id is empty' do - expect do - client.send_verification_email( '' ) - end.to raise_error Auth0::InvalidParameter, 'Must specify a user id' - end - - it 'should raise an error if the identity supplied is not a Hash' do - expect do - client.send_verification_email( 'user_id', identity: 'not a hash') - end.to raise_error Auth0::InvalidParameter, 'Identity must be a hash send an email verification' - end - end - - after(:all) do - VCR.use_cassette('Auth0_Api_V2_Jobs/delete_imported_user') do - new_client = Auth0Client.new(v2_creds) - delete_user = new_client.get_users(q: "email:#{entity_suffix}*").first - new_client.delete_user(delete_user['user_id']) unless delete_user.nil? - end - end -end diff --git a/spec/integration/lib/auth0/api/v2/api_logs_spec.rb b/spec/integration/lib/auth0/api/v2/api_logs_spec.rb deleted file mode 100644 index 1e2a222ae..000000000 --- a/spec/integration/lib/auth0/api/v2/api_logs_spec.rb +++ /dev/null @@ -1,91 +0,0 @@ -require 'spec_helper' - -describe Auth0::Api::V2::Logs do - attr_reader :client, :test_user - - before(:all) do - @client = Auth0Client.new(v2_creds) - test_user_name = "#{entity_suffix}-username" - - VCR.use_cassette('Auth0_Api_V2_Logs/create_test_user') do - @test_user = client.create_user( - Auth0::Api::AuthenticationEndpoints::UP_AUTH, - name: test_user_name, - email: "#{entity_suffix}-#{test_user_name}@auth0.com", - password: Faker::Internet.password - ) - end - - end - - after(:all) do - VCR.use_cassette('Auth0_Api_V2_Logs/delete_test_user') do - client.delete_user(test_user['user_id']) - end - end - - describe '.logs', vcr: true do - let(:logs) do - client.logs - end - - context '#filters' do - it 'should have one log entry' do - expect(client.logs(per_page: 1).size).to be 1 - end - - it 'should include the specified fields' do - expect( - client.logs( - per_page: 1, - fields: [:date, :description, :type].join(','), - include_fields: true - ).first - ).to(include('date', 'description', 'type')) - end - - it 'should exclude fields not specified' do - expect( - client.logs( - per_page: 1, - fields: [:date].join(',') - ).first - ).to_not include('type', 'description') - end - - it 'should exclude the specified fields' do - expect( - client.logs( - per_page: 1, - fields: [:date].join(','), - include_fields: false - ).first - ).to_not include('date') - end - end - - context '#from' do - it 'should take one log entry' do - expect(client.logs(from: logs.last['_id'], take: 1).size).to be 1 - end - end - end - - describe '.log', vcr: true do - let(:first_log) do - client.logs.first - end - - let(:log) do - client.log(first_log['_id']) - end - - it 'should not be empty' do - expect(log).to_not be_empty - end - - it 'should match the created log entry' do - expect(log['_id']).to eq(first_log['_id']) - end - end -end diff --git a/spec/integration/lib/auth0/api/v2/api_resource_servers_spec.rb b/spec/integration/lib/auth0/api/v2/api_resource_servers_spec.rb deleted file mode 100644 index 1172a0459..000000000 --- a/spec/integration/lib/auth0/api/v2/api_resource_servers_spec.rb +++ /dev/null @@ -1,130 +0,0 @@ -require 'spec_helper' -describe Auth0::Api::V2::ResourceServers do - attr_reader :client, :test_server - - before(:all) do - @client = Auth0Client.new(v2_creds) - - VCR.use_cassette('Auth0_Api_V2_ResourceServers/create_test_server') do - @test_server = client.create_resource_server( - 'https://localhost.test/api/v1/', - 'name' => "TestServer-#{entity_suffix}", - 'signing_alg' => 'RS256', - 'signing_secret' => 'jPd1d0TWbg7pN9iPcXdtYtEIIGAk5zhmCi', - 'token_lifetime' => 123456 - ) - end - end - - after(:all) do - VCR.use_cassette('Auth0_Api_V2_ResourceServers/delete_test_server') do - client.delete_resource_server(test_server['id']) - end - end - - describe '.resource_servers', vcr: true do - let(:resource_servers) do - client.resource_servers - end - - it 'should return at least 1 result' do - expect(resource_servers.size).to be > 0 - end - - it 'should get the test server' do - expect(resource_servers).to include(test_server) - end - - it 'should return the first page of one result' do - results = client.resource_servers( - page: 0, - per_page: 1 - ) - expect(results.first).to equal(results.last) - end - end - - describe '.create_resource_server', vcr: true do - it 'should raise an error if the identifier is empty' do - expect do - client.create_resource_server('') - end.to raise_error Auth0::InvalidParameter - end - - it 'should raise an error if the name includes an invalid char' do - expect do - client.create_resource_server( - 'https://localhost.test/api/v2/', - name: '' - ) - end.to raise_error Auth0::InvalidParameter - end - - it 'should create the test server' do - expect(test_server).to( - include( - 'name' => test_server['name'], - 'identifier' => test_server['identifier'], - 'signing_alg' => test_server['signing_alg'], - 'signing_secret' => test_server['signing_secret'], - 'token_lifetime' => test_server['token_lifetime'] - ) - ) - end - end - - describe '.resource_server', vcr: true do - it 'should raise an error if the id is empty' do - expect do - client.resource_server('') - end.to raise_error Auth0::InvalidParameter - end - - it 'should get the test server' do - expect( - client.resource_server(test_server['id']) - ).to( - include('identifier' => test_server['identifier']) - ) - end - end - - describe '.patch_resource_server', vcr: true do - it 'should update the resource server with the correct attributes' do - expect( - client.patch_resource_server( - test_server['id'], - token_lifetime: 654321, - ) - ).to( - include( - 'token_lifetime' => 654321, - ) - ) - end - end - - describe '.delete_resource_server', vcr: true do - it 'should raise an error if the id is empty' do - expect do - client.delete_resource_server('') - end.to raise_error Auth0::InvalidParameter - end - - it 'should delete the test server without an error' do - expect do - client.delete_resource_server(test_server['id']) - end.to_not raise_error - end - end - -end diff --git a/spec/integration/lib/auth0/api/v2/api_roles_spec.rb b/spec/integration/lib/auth0/api/v2/api_roles_spec.rb deleted file mode 100644 index 1f5ebabe2..000000000 --- a/spec/integration/lib/auth0/api/v2/api_roles_spec.rb +++ /dev/null @@ -1,145 +0,0 @@ -require 'spec_helper' - -describe Auth0::Api::V2::Roles do - attr_reader :client, :test_user, :test_role_name, :test_permission, :test_api, :test_role - - before(:all) do - @client ||= Auth0::Client.new(v2_creds) - - @test_user_name = "#{entity_suffix}-username-for-roles" - @test_user_email = "#{entity_suffix}-#{@test_user_name}@auth0.com" - - @test_api_name = "#{entity_suffix}-test-api-for-roles" - - @test_role_name = "#{entity_suffix}-test-role" - - @test_permission_name = "#{entity_suffix}-test-permission" - @test_permission = ::Auth0::Permission.new(@test_permission_name , @test_api_name) - - VCR.use_cassette('Auth0_Api_V2_Roles/create_test_user') do - @test_user ||= client.create_user( - Auth0::Api::AuthenticationEndpoints::UP_AUTH, - name: @test_user_name, - email: @test_user_email, - password: Faker::Internet.password - ) - end - - VCR.use_cassette('Auth0_Api_V2_Roles/create_test_api') do - @test_api ||= client.create_resource_server( - @test_api_name, - name: @test_api_name, - scopes: [{ value: @test_permission_name }] - ) - end - - VCR.use_cassette('Auth0_Api_V2_Roles/create_test_role') do - @test_role ||= client.create_role( - @test_role_name, - description: 'Test role description' - ) - end - end - - after(:all) do - VCR.use_cassette('Auth0_Api_V2_Roles/delete_test_user') do - client.delete_user test_user['user_id'] - end - - VCR.use_cassette('Auth0_Api_V2_Roles/delete_test_api') do - client.delete_resource_server test_api['id'] - end - end - - describe '.create_role' do - it 'should create the Role successfully' do - expect(test_role).to include('id', 'name', 'description') - expect(test_role).to include( - 'name' => @test_role_name, - 'description' => 'Test role description' - ) - end - end - - describe '.get_role', vcr: true do - let(:test_get_role) { client.get_role test_role['id'] } - - it 'should get the Role successfully' do - expect(test_get_role).to include('id', 'name', 'description') - expect(test_get_role).to include( - 'id' => test_role['id'], - 'name' => @test_role_name, - 'description' => 'Test role description' - ) - end - end - - describe '.get_roles', vcr: true do - it 'should get the Role successfully' do - expect(client.get_roles.count).to be >= 1 - end - end - - describe '.update_role', vcr: true do - it 'should update the Role successfully' do - expect( - client.update_role( - test_role['id'], - name: 'New name', - description: 'New description' - ) - ).to include( - 'name' => 'New name', - 'description' => 'New description' - ) - end - end - - describe '.add_role_users', vcr: true do - it 'should add a User to the Role successfully' do - expect { client.add_role_users test_role['id'], [test_user['user_id']] }.to_not raise_error - end - end - - describe '.get_role_users', vcr: true do - let(:test_get_role_users) { client.get_role_users test_role['id'] } - - it 'should get exactly 1 User' do - expect(test_get_role_users.count).to equal 1 - end - - it 'should get the added User from the Role successfully' do - expect(test_get_role_users[0]['user_id']).to eq(test_user['user_id']) - end - end - - describe '.add_role_permissions', vcr: true do - it 'should add a Permission to the Role successfully' do - expect { client.add_role_permissions test_role['id'], [test_permission] }.to_not raise_error - end - end - - describe '.get_role_permissions', vcr: true do - let(:test_get_role_permissions) { client.get_role_permissions test_role['id'] } - - it 'should get exactly 1 Permission' do - expect(test_get_role_permissions.count).to equal 1 - end - - it 'should get the added Permission from the Role successfully' do - expect(test_get_role_permissions[0]['permission_name']).to eq("#{entity_suffix}-test-permission") - end - end - - describe '.remove_role_permissions', vcr: true do - it 'should remove a Permission from the Role successfully' do - expect { client.remove_role_permissions test_role['id'], [test_permission] }.to_not raise_error - end - end - - describe '.delete_role', vcr: true do - it 'should delete the Role successfully' do - expect { client.delete_role test_role['id'] }.to_not raise_error - end - end -end diff --git a/spec/integration/lib/auth0/api/v2/api_rules_spec.rb b/spec/integration/lib/auth0/api/v2/api_rules_spec.rb deleted file mode 100644 index 91145bf09..000000000 --- a/spec/integration/lib/auth0/api/v2/api_rules_spec.rb +++ /dev/null @@ -1,177 +0,0 @@ -require 'spec_helper' -describe Auth0::Api::V2::Rules do - attr_reader :client, :test_script, :enabled_rule, :disabled_rule - - before(:all) do - @client = Auth0Client.new(v2_creds) - @test_script = 'function (user, context, cb) { cb(null, user, context);}' - - VCR.use_cassette('Auth0_Api_V2_Rules/create_test_enabled_rule') do - @enabled_rule = client.create_rule( - "#{entity_suffix} - ENABLED", - test_script - ) - end - - VCR.use_cassette('Auth0_Api_V2_Rules/create_test_disabled_rule') do - @disabled_rule = client.create_rule( - "#{entity_suffix} - DISABLED", - test_script, - nil, - false - ) - end - end - - after(:all) do - VCR.use_cassette('Auth0_Api_V2_Logs/delete_test_enabled_rule') do - client.delete_rule(disabled_rule['id']) - end - VCR.use_cassette('Auth0_Api_V2_Logs/delete_test_disabled_rule') do - client.delete_rule(disabled_rule['id']) - end - end - - describe '.create_rule', vcr: true do - it 'should create the test enabled rule with the correct attributes' do - expect(enabled_rule).to( - include( - 'name' => "#{entity_suffix} - ENABLED", - 'stage' => 'login_success', - 'script' => test_script, - 'enabled' => true - ) - ) - end - - it 'should create the test disabled rule with the correct attributes' do - expect(disabled_rule).to( - include( - 'name' => "#{entity_suffix} - DISABLED", - 'stage' => 'login_success', - 'script' => test_script, - 'enabled' => false - ) - ) - end - - it 'should raise an error if the name is empty' do - expect do - client.create_rule('', 'SCRIPT') - end.to raise_error(Auth0::InvalidParameter) - end - - it 'should raise an error if the name is empty' do - expect do - client.create_rule('NAME', '') - end.to raise_error(Auth0::InvalidParameter) - end - end - - describe '.rules', vcr: true do - let(:rules) do - client.rules - end - - it 'should return at least 1 rule' do - expect(rules.size).to be > 0 - end - - context '#filters' do - it 'should return at least 1 enabled rule' do - expect(client.rules(enabled: true).size).to be >= 1 - end - - it 'should return at least 1 disabled rule' do - expect(client.rules(enabled: false).size).to be >= 1 - end - - it 'should include the specified fields' do - expect( - client.rules( - fields: [:script, :order].join(',') - ).first - ).to(include('script', 'order')) - end - - it 'should exclude fields not specified' do - expect( - client.rules( - fields: [:script].join(',') - ).first - ).to_not(include('order', 'name')) - end - - it 'should return paginated results' do - rule_1 = client.rules(fields: :name, page: 0, per_page: 2) - rule_2 = client.rules(fields: :name, page: 1, per_page: 1) - expect(rule_1.last).to eq(rule_2.first) - end - end - end - - describe '.rule', vcr: true do - it 'should get a specific rule' do - expect(client.rule(enabled_rule['id'])).to( - include( - 'name' => enabled_rule['name'], - 'script' => enabled_rule['script'] - ) - ) - end - - context '#filters' do - let(:rule_include) do - client.rule( - enabled_rule['id'], - fields: [:stage, :order, :script].join(',') - ) - end - - let(:rule_not_include) do - client.rule( - enabled_rule['id'], - fields: :stage, - include_fields: false - ) - end - - it 'should include the specified fields' do - expect(rule_include).to(include('stage', 'order', 'script')) - end - - it 'should exclude the specified fields' do - expect(rule_not_include).to(include('order', 'script')) - end - - it 'should exclude the fields not specified' do - expect(rule_not_include).to_not(include('stage')) - end - end - end - - describe '.update_rule', vcr: true do - it 'should update the disabled rule to be enabled' do - expect( - client.update_rule( - disabled_rule['id'], - enabled: true - ) - ).to(include('enabled' => true)) - end - end - - describe '.delete_rule', vcr: true do - it 'should raise an error if the rule ID is not passed' do - expect { client.delete_rule '' }.to raise_error(Auth0::InvalidParameter) - end - - it 'should delete the test enabled rule without an error' do - expect { client.delete_rule(enabled_rule['id']) }.to_not raise_error - end - - it 'should delete the test disabled rule without an error' do - expect { client.delete_rule(disabled_rule['id']) }.to_not raise_error - end - end -end diff --git a/spec/integration/lib/auth0/api/v2/api_stats_spec.rb b/spec/integration/lib/auth0/api/v2/api_stats_spec.rb deleted file mode 100644 index 2e0db9b8a..000000000 --- a/spec/integration/lib/auth0/api/v2/api_stats_spec.rb +++ /dev/null @@ -1,22 +0,0 @@ -require 'spec_helper' -describe Auth0::Api::V2::Stats do - let(:client) { Auth0Client.new(v2_creds) } - - describe '.active_users', vcr: true do - it 'should have at least one active user' do - expect(Integer(client.active_users)).to be >= 0 - end - end - - # rubocop:disable Date - describe '.daily_stats', vcr: true do - it 'should have at least one stats entry for the timeframe' do - expect( - client.daily_stats( - Date.new(2017, 1, 1).strftime('%Y%m%d'), - Date.new(2018, 1, 1).strftime('%Y%m%d') - ).size - ).to be > 0 - end - end -end \ No newline at end of file diff --git a/spec/integration/lib/auth0/api/v2/api_tenants_spec.rb b/spec/integration/lib/auth0/api/v2/api_tenants_spec.rb deleted file mode 100644 index 8184a2e29..000000000 --- a/spec/integration/lib/auth0/api/v2/api_tenants_spec.rb +++ /dev/null @@ -1,59 +0,0 @@ -require 'spec_helper' -describe Auth0::Api::V2::Tenants do - attr_reader :client - - before(:all) do - @client = Auth0Client.new(v2_creds) - end - - let(:default_tenant_name) { 'Auth0' } - - describe '.get_tenant_settings', vcr: true do - it 'should get the tenant settings' do - expect( - client.get_tenant_settings - ).to include( - 'friendly_name' => default_tenant_name, - 'support_email' => 'support@auth0.org' - ) - end - end - - describe '.get_tenant_settings with specific fields', vcr: true do - let(:tenant_setting_fields) do - client.get_tenant_settings(fields: 'support_email') - end - - it 'should include the field requested' do - expect( - tenant_setting_fields - ).to include('support_email') - end - - it 'should exclude a field not requested' do - expect( - tenant_setting_fields - ).to_not include('friendly_name') - end - end - - describe '.update_tenant_settings', vcr: true do - let(:changed_tenant_name) { "#{default_tenant_name}-CHANGED" } - - it 'should update the tenant settings with a new tenant name' do - expect( - client.update_tenant_settings( - { friendly_name: changed_tenant_name } - )['friendly_name'] - ).to include(changed_tenant_name) - end - - it 'should revert the tenant name' do - expect( - client.update_tenant_settings( - { friendly_name: default_tenant_name } - )['friendly_name'] - ).to include(default_tenant_name) - end - end -end diff --git a/spec/integration/lib/auth0/api/v2/api_tickets_spec.rb b/spec/integration/lib/auth0/api/v2/api_tickets_spec.rb deleted file mode 100644 index aa0145329..000000000 --- a/spec/integration/lib/auth0/api/v2/api_tickets_spec.rb +++ /dev/null @@ -1,59 +0,0 @@ -require 'spec_helper' -describe Auth0::Api::V2::Tickets do - attr_reader :client, :test_user - - before(:all) do - @client = Auth0Client.new(v2_creds) - test_user_name = "#{entity_suffix}-username" - - VCR.use_cassette('Auth0_Api_V2_Tickets/create_test_user') do - @test_user = client.create_user( - Auth0::Api::AuthenticationEndpoints::UP_AUTH, - name: test_user_name, - email: "#{entity_suffix}-#{test_user_name}@auth0.com", - password: Faker::Internet.password - ) - end - end - - after(:all) do - VCR.use_cassette('Auth0_Api_V2_Tickets/delete_test_user') do - client.delete_user(test_user['user_id']) - end - end - - describe '.post_email_verification', vcr: true do - it 'should create an email verification ticket' do - expect( - client.post_email_verification( - test_user['user_id'], - result_url: 'https://auth0.com/callback' - ) - ).to include('ticket') - end - - it 'should raise an error if the user id is empty' do - expect do - client.post_email_verification( '' ) - end.to raise_error Auth0::InvalidParameter, 'Must supply a valid user id to post an email verification' - end - - it 'should raise an error if the identity supplied is not a Hash' do - expect do - client.post_email_verification( '', identity: 'not a hash') - end.to raise_error Auth0::InvalidParameter, 'Must supply a valid user id to post an email verification' - end - end - - describe '.post_password_change', vcr: true do - it 'should create a password change ticket' do - expect( - client.post_password_change( - new_password: 'secret', - user_id: test_user['user_id'], - result_url: 'https://auth0.com/callback' - ) - ).to include('ticket') - end - end -end diff --git a/spec/integration/lib/auth0/api/v2/api_user_blocks_spec.rb b/spec/integration/lib/auth0/api/v2/api_user_blocks_spec.rb deleted file mode 100644 index b97a95903..000000000 --- a/spec/integration/lib/auth0/api/v2/api_user_blocks_spec.rb +++ /dev/null @@ -1,76 +0,0 @@ -require 'spec_helper' -describe Auth0::Api::V2::UserBlocks do - attr_reader :client, :user, :email - - skip 'User blocks examples are skipped since is #logins exceeds free tenant limits' do - before(:all) do - @client = Auth0Client.new(v2_creds) - username = Faker::Internet.user_name - @email = "#{entity_suffix}#{Faker::Internet.safe_email(name: username)}" - password = Faker::Internet.password - @user = client.create_user( - Auth0::Api::AuthenticationEndpoints::UP_AUTH, - name: username, - email: email, - email_verified: true, - app_metadata: {}, - password: Faker::Internet.password - ) - end - - after(:all) do - client.delete_user(user['user_id']) - end - - describe '.user_blocks' do - let(:user_blocks) do - block_user(email) - client.user_blocks(email) - end - it { expect(user_blocks['blocked_for'].size).to be > 0 } - it { expect(user_blocks['blocked_for'].first['identifier']).to eq email } - end - - describe '.user_blocks_by_id' do - let(:user_blocks) do - block_user(email) - client.user_blocks_by_id(user['user_id']) - end - it { expect(user_blocks['blocked_for'].size).to be > 0 } - it { expect(user_blocks['blocked_for'].first['identifier']).to eq email } - end - - describe '.delete_user_blocks' do - let(:user_blocks) do - block_user(email) - client.delete_user_blocks(email) - client.user_blocks(email) - end - it { expect(user_blocks['blocked_for']).to eq [] } - end - - describe '.delete_user_blocks_by_id' do - let(:user_blocks) do - block_user(email) - client.delete_user_blocks_by_id(user['user_id']) - client.user_blocks(email) - end - it { expect(user_blocks['blocked_for']).to eq [] } - end - end - - private - - def block_user(email) - 100.times do - begin - client.login(email, 'invalid password') - rescue Auth0::Unauthorized - next - rescue Auth0::Unsupported => e - puts e.message - break - end - end - end -end diff --git a/spec/integration/lib/auth0/api/v2/api_users_spec.rb b/spec/integration/lib/auth0/api/v2/api_users_spec.rb deleted file mode 100644 index 38774e7e0..000000000 --- a/spec/integration/lib/auth0/api/v2/api_users_spec.rb +++ /dev/null @@ -1,273 +0,0 @@ -require 'spec_helper' -describe Auth0::Api::V2::Users do - - attr_reader :client, :test_user_name, :test_user_email, :test_user, :test_user_secondary, - :test_role, :test_api_name, :test_permission_name, :test_permission - - before(:all) do - @client ||= Auth0::Client.new(v2_creds) - - @test_user_name = "#{entity_suffix}-username" - @test_user_email = "#{entity_suffix}-#{@test_user_name}@auth0.com" - - @test_api_name = "#{entity_suffix}-test-api-for-users" - @test_api_scope = 'test:scope' - - @test_permission_name = "#{entity_suffix}-test-permission-for-users" - @test_permission = ::Auth0::Permission.new("#{entity_suffix}-test-permission-for-users", @test_api_name) - - VCR.use_cassette('Auth0_Api_V2_Users/create_test_user') do - @test_user ||= client.create_user( - Auth0::Api::AuthenticationEndpoints::UP_AUTH, - name: @test_user_name, - email: @test_user_email, - password: Faker::Internet.password - ) - end - - VCR.use_cassette('Auth0_Api_V2_Users/create_secondary_test_user') do - @test_user_secondary ||= client.create_user( - Auth0::Api::AuthenticationEndpoints::UP_AUTH, - name: "#{test_user_name}-secondary", - email: "#{entity_suffix}-#{@test_user_name}-secondary@auth0.com", - password: Faker::Internet.password - ) - end - - VCR.use_cassette('Auth0_Api_V2_Users/create_test_api') do - @test_api ||= client.create_resource_server( - @test_api_name, - name: @test_api_name, - scopes: [{ value: @test_api_scope }] - ) - end - - VCR.use_cassette('Auth0_Api_V2_Users/create_test_role') do - @test_role ||= client.create_role( - "#{entity_suffix}-test-role-for-users", - description: 'Test role description' - ) - end - end - - after(:all) do - VCR.use_cassette('Auth0_Api_V2_Users/delete_test_api') do - client.delete_resource_server @test_api['id'] - end - - VCR.use_cassette('Auth0_Api_V2_Users/delete_test_role') do - client.delete_role @test_role['id'] - end - end - - describe '.create_user', vcr: true do - it 'should return the created user' do - expect(test_user).to include('user_id', 'email', 'email_verified', 'name') - expect(test_user).to include( - 'email' => test_user_email, - 'name' => test_user_name, - 'email_verified' => false - ) - end - end - - describe '.users', vcr: true do - let(:users) do - client.users - end - - it 'should have at least one user' do - expect(users.size).to be > 0 - end - - context '#filters' do - it 'should return the correct number of results when paginated' do - expect(client.users(per_page: 1).size).to be 1 - end - - it 'should include the indicated fields when paginated' do - expect( - client.users( - per_page: 1, - fields: [:picture, :email, :user_id].join(','), - include_fields: true - ).first - ).to(include('email', 'user_id', 'picture')) - end - - it 'should not include other fields when paginated' do - expect( - client.users( - per_page: 1, - fields: [:email].join(',') - ).first - ).to_not include('user_id', 'picture') - end - - it 'should exclude the indicated fields when paginated' do - expect( - client.users( - per_page: 1, - fields: [:email].join(','), - include_fields: false - ).first - ).to include('user_id', 'picture') - end - - it 'is expected to find a user with a v2 search engine query' do - expect( - client.users( - per_page: 1, - fields: 'user_id', - q: "updated_at:{2016-01-01 TO *}", - search_engine: 'v2' - ).first - ).to include('user_id') - end - - it 'is expected to find a user with a v3 search engine query' do - expect( - client.users( - per_page: 1, - fields: 'user_id', - q: "updated_at:[2016-01-01 TO *]", - search_engine: 'v3' - ).first - ).to include('user_id') - end - end - end - - describe '.user', vcr: true do - it 'should retrieve the created user' do - expect( - client.user(test_user['user_id']) - ).to include( - 'email' => test_user_email, - 'name' => test_user_name - ) - end - - context '#filters' do - it 'should include the fields indicated' do - expect( - client.user( - test_user['user_id'], - fields: [:picture, :email, :user_id].join(','), - include_fields: true - ) - ).to include('email', 'user_id', 'picture') - end - - it 'should exclude the fields indicated' do - expect( - client.user( - test_user['user_id'], - fields: [:picture, :email, :user_id].join(','), - include_fields: false - ) - ).not_to include('picture', 'email', 'user_id') - end - - it 'should exclude fields not indicated' do - expect( - client.user( - test_user['user_id'], - fields: [:email].join(',')) - ).to_not include('user_id', 'picture') - end - end - end - - describe '.patch_user', vcr: true do - let(:patch_user_body) do - { - 'email_verified' => true, - 'user_metadata' => { - 'addresses' => { 'home_address' => '742 Evergreen Terrace' } - } - } - end - - it 'should patch the User successfully' do - expect( - client.patch_user(test_user['user_id'], patch_user_body) - ).to include(patch_user_body) - end - end - - describe '.delete_user_provider', vcr: true do - it 'should attempt to delete the MFA provider for the User' do - expect { client.delete_user_provider test_user['user_id'], 'google-authenticator' }.to_not raise_error - end - end - - describe '.link_user_account', vcr: true do - let(:secondary_account_body) do - { - provider: 'auth0', - user_id: test_user_secondary['user_id'] - } - end - - it 'should link two Users successfully' do - expect { client.link_user_account test_user['user_id'], secondary_account_body }.to_not raise_error - end - end - - describe '.unlink_user_account', vcr: true do - it 'should unlink two Users successfully' do - expect do - client.unlink_user_account test_user['user_id'], 'auth0', test_user_secondary['user_id'] - end.to_not raise_error - end - end - - describe '.user_logs', vcr: true do - it 'should get Logs for a User successfully' do - expect { client.user_logs( test_user['user_id'], per_page: 2 ) }.to_not raise_error - end - end - - describe '.add_user_roles', vcr: true do - it 'should add a Role to a User successfully' do - expect { client.add_user_roles test_user['user_id'], [ test_role['id'] ] }.to_not raise_error - end - end - - describe '.get_user_roles', vcr: true do - it 'should get Roles for a User successfully' do - expect( client.get_user_roles(test_user['user_id']).first ).to include( - 'id' => test_role['id'] - ) - end - end - - describe '.remove_user_roles', vcr: true do - it 'should remove a Role from a User successfully' do - expect { client.remove_user_roles test_user['user_id'], [ test_role['id'] ] }.to_not raise_error - end - end - - describe '.get_enrollments', vcr: true do - it 'should get Enrollments for a User successfully' do - expect { client.get_enrollments test_user['user_id'] }.to_not raise_error - end - end - - describe '.invalidate_browsers', vcr: true do - it 'should invalidate MFA browsers for the User successfully' do - expect { client.invalidate_browsers test_user['user_id'] }.to_not raise_error - end - end - - describe '.delete_user', vcr: true do - it 'should delete the User successfully' do - expect { client.delete_user test_user['user_id'] }.to_not raise_error - end - - it 'should delete the secondary User successfully' do - expect { client.delete_user test_user_secondary['user_id'] }.to_not raise_error - end - end -end diff --git a/spec/integration/lib/auth0/auth0_client_spec.rb b/spec/integration/lib/auth0/auth0_client_spec.rb deleted file mode 100644 index d1938e574..000000000 --- a/spec/integration/lib/auth0/auth0_client_spec.rb +++ /dev/null @@ -1,90 +0,0 @@ -require 'spec_helper' -describe Auth0::Client do - shared_examples 'invalid credentials' do |credentials, error| - it "raise an error with credentials #{credentials}" do - if error.nil? - expect { Auth0Client.new(credentials) }.to raise_error - else - expect { Auth0Client.new(credentials) }.to raise_error(error) - end - end - end - - it_should_behave_like 'invalid credentials', { - namespace: 'samples.auth0.com' - }, Auth0::InvalidCredentials - - it_should_behave_like 'invalid credentials', { - namespace: 'samples.auth0.com', client_id: 'client_id' - }, Auth0::InvalidCredentials - - it_should_behave_like 'invalid credentials', { - namespace: 'samples.auth0.com', client_secret: 'secret' - }, Auth0::InvalidCredentials - - it_should_behave_like 'invalid credentials', { - namespace: 'samples.auth0.com', api_version: 2 - }, Auth0::InvalidCredentials - - it_should_behave_like 'invalid credentials', {}, Auth0::InvalidApiNamespace - - it_should_behave_like 'invalid credentials', { - api_version: 2 - }, Auth0::InvalidApiNamespace - - it_should_behave_like 'invalid credentials', { - api_version: 1 - }, Auth0::InvalidApiNamespace - - it_should_behave_like 'invalid credentials', { - client_id: 'client_id', client_secret: 'secret' - }, Auth0::InvalidApiNamespace - - it_should_behave_like 'invalid credentials', { - api_version: 2, token: 'token' - }, Auth0::InvalidApiNamespace - - let(:v2_credentials) { { domain: 'test.auth0.com' } } - - shared_examples 'valid credentials' do - it { expect { Auth0Client.new(credentials) }.to_not raise_error } - end - - it_should_behave_like 'valid credentials' do - let(:credentials) { v2_credentials.merge(token: 'TEST_API_TOKEN') } - end - - it_should_behave_like 'valid credentials' do - let(:credentials) { v2_credentials.merge(access_token: 'TEST_API_TOKEN') } - end - - context 'client headers' do - let(:client) { Auth0::Client.new(v2_credentials.merge(access_token: 'abc123', domain: 'myhost.auth0.com')) } - let(:headers) { client.headers } - let(:telemetry) { JSON.parse(Base64::urlsafe_decode64(headers['Auth0-Client'])) } - - it 'has the correct headers present' do - expect(headers.keys.sort).to eql(['Auth0-Client', 'Authorization', 'Content-Type']) - end - - it 'uses the correct access token' do - expect(headers['Authorization']).to eql 'Bearer abc123' - end - - it 'is always json' do - expect(headers['Content-Type']).to eql 'application/json' - end - - it 'should include the correct name in telemetry data' do - expect(telemetry['name']).to eq('ruby-auth0') - end - - it 'should include the correct version in telemetry data' do - expect(telemetry['version']).to eq(Auth0::VERSION) - end - - it 'should include the correct env in telemetry data' do - expect(telemetry['env']['ruby']).to eq(RUBY_VERSION) - end - end -end diff --git a/spec/lib/auth0/api/authentication_endpoints_spec.rb b/spec/lib/auth0/api/authentication_endpoints_spec.rb deleted file mode 100644 index 299184dea..000000000 --- a/spec/lib/auth0/api/authentication_endpoints_spec.rb +++ /dev/null @@ -1,750 +0,0 @@ -require 'spec_helper' -require 'timecop' - -describe Auth0::Api::AuthenticationEndpoints do - let(:client_id) { 'test-client-id' } - let(:client_secret) { 'test-client-secret' } - let(:api_identifier) { 'test-audience' } - let(:domain) { 'samples.auth0.com' } - let(:request_uri) { 'urn:ietf:params:oauth:request_uri:the.request.uri' } - - let(:client_secret_config) { { - domain: domain, - client_id: client_id, - client_secret: client_secret, - token: 'test', - api_identifier: api_identifier - } } - - let(:client_assertion_config) { { - domain: domain, - client_id: client_id, - client_assertion_signing_key: client_assertion_signing_key_pair[:private_key], - client_assertion_signing_alg: 'RS256', - token: 'test', - api_identifier: api_identifier - } } - - let(:client_assertion_signing_key_pair) do - rsa_private = OpenSSL::PKey::RSA.generate 2048 - - { - public_key: rsa_private.public_key, - private_key: rsa_private - } - end - - let(:client_secret_instance) { DummyClassForTokens.send(:include, described_class).new(client_secret_config) } - let(:client_assertion_instance) { DummyClassForTokens.send(:include, described_class).new(client_assertion_config) } - let(:time_now) { Time.now } - - before :each do - Timecop.freeze(time_now) - end - - after :each do - Timecop.return - end - - context 'AuthenticationEndponts' do - context 'api_token' do - it 'requests a new token using client_secret' do - expect(RestClient::Request).to receive(:execute).with(hash_including( - method: :post, - url: 'https://samples.auth0.com/oauth/token', - payload: { - grant_type: 'client_credentials', - client_id: client_id, - audience: api_identifier, - organization: nil, - client_secret: client_secret - }.to_json - )) - .and_return(StubResponse.new({ - "access_token" => "test_response", - "expires_in" => 86400, - "scope" => "scope"}, - true, - 200)) - - result = client_secret_instance.send :api_token, audience: api_identifier - - expect(result).to be_a_kind_of(Auth0::ApiToken) - expect(result.access_token).not_to be_nil - expect(result.scope).not_to be_nil - expect(result.expires_in).not_to be_nil - end - - it 'requests a new token using organization' do - expect(RestClient::Request).to receive(:execute).with(hash_including( - method: :post, - url: 'https://samples.auth0.com/oauth/token', - payload: { - grant_type: 'client_credentials', - client_id: client_id, - audience: api_identifier, - organization: 'foo', - client_secret: client_secret - }.to_json - )) - .and_return(StubResponse.new({ - "access_token" => "test_response", - "expires_in" => 86400, - "scope" => "scope"}, - true, - 200)) - - result = client_secret_instance.send :api_token, audience: api_identifier, organization: 'foo' - - expect(result).to be_a_kind_of(Auth0::ApiToken) - expect(result.access_token).not_to be_nil - expect(result.scope).not_to be_nil - expect(result.expires_in).not_to be_nil - end - - it 'requests a new token using client_assertion' do - expect(RestClient::Request).to receive(:execute) do |arg| - expect(arg).to match( - include( - method: :post, - url: 'https://samples.auth0.com/oauth/token' - )) - - payload = JSON.parse(arg[:payload], { symbolize_names: true }) - - expect(payload[:client_secret]).to be_nil - expect(payload[:client_assertion]).not_to be_nil - expect(payload[:client_assertion_type]).to eq(Auth0::ClientAssertion::CLIENT_ASSERTION_TYPE) - - StubResponse.new({ - "access_token" => "test_response", - "expires_in" => 86400, - "scope" => "scope"}, - true, - 200) - end - - result = client_assertion_instance.send :api_token, audience: api_identifier - - expect(result).to be_a_kind_of(Auth0::ApiToken) - expect(result.access_token).not_to be_nil - expect(result.scope).not_to be_nil - expect(result.expires_in).not_to be_nil - end - end - - context 'exchange_auth_code_for_tokens' do - it 'requests a new token using client_secret' do - expect(RestClient::Request).to receive(:execute) do |arg| - expect(arg).to match( - include( - method: :post, - url: 'https://samples.auth0.com/oauth/token' - ) - ) - - expect(JSON.parse(arg[:payload], { symbolize_names: true })).to eq({ - grant_type: 'authorization_code', - client_id: client_id, - client_secret: client_secret, - code: 'the_auth_code', - redirect_uri: nil - }) - - StubResponse.new({ - "id_token" => "id_token", - "access_token" => "test_access_token", - "expires_in" => 86400}, - true, - 200) - end - - result = client_secret_instance.send :exchange_auth_code_for_tokens, 'the_auth_code' - - expect(result).to be_a_kind_of(Auth0::AccessToken) - expect(result.id_token).not_to be_nil - expect(result.access_token).not_to be_nil - expect(result.expires_in).not_to be_nil - end - - it 'requests a new token using client_assertion' do - expect(RestClient::Request).to receive(:execute) do |arg| - expect(arg).to match( - include( - method: :post, - url: 'https://samples.auth0.com/oauth/token', - ) - ) - - payload = JSON.parse arg[:payload], symbolize_names: true - - expect(payload[:client_secret]).to be_nil - expect(payload[:client_assertion]).not_to be_nil - expect(payload[:client_assertion_type]).to eq Auth0::ClientAssertion::CLIENT_ASSERTION_TYPE - - StubResponse.new({ - "id_token" => "id_token", - "access_token" => "test_access_token", - "expires_in" => 86400}, - true, - 200) - end - - result = client_assertion_instance.send :exchange_auth_code_for_tokens, 'the_auth_code' - - expect(result).to be_a_kind_of(Auth0::AccessToken) - expect(result.id_token).not_to be_nil - expect(result.access_token).not_to be_nil - expect(result.expires_in).not_to be_nil - end - end - - context 'exchange_refresh_token' do - it 'exchanges the refresh token using a client secret' do - expect(RestClient::Request).to receive(:execute) do |arg| - expect(arg).to match( - include( - method: :post, - url: 'https://samples.auth0.com/oauth/token' - ) - ) - - expect(JSON.parse(arg[:payload], { symbolize_names: true })).to eq({ - grant_type: 'refresh_token', - client_id: client_id, - client_secret: client_secret, - refresh_token: 'the_refresh_token' - }) - - StubResponse.new({ - "id_token" => "id_token", - "access_token" => "test_access_token", - "expires_in" => 86400}, - true, - 200) - end - - result = client_secret_instance.send :exchange_refresh_token, 'the_refresh_token' - - expect(result).to be_a_kind_of(Auth0::AccessToken) - expect(result.id_token).not_to be_nil - expect(result.access_token).not_to be_nil - expect(result.expires_in).not_to be_nil - end - - it 'exchanges the refresh token using client_assertion' do - expect(RestClient::Request).to receive(:execute) do |arg| - expect(arg).to match( - include( - method: :post, - url: 'https://samples.auth0.com/oauth/token' - ) - ) - - payload = JSON.parse arg[:payload], symbolize_names: true - - expect(payload[:grant_type]).to eq('refresh_token') - expect(payload[:refresh_token]).to eq('the_refresh_token') - expect(payload[:client_secret]).to be_nil - expect(payload[:client_assertion]).not_to be_nil - expect(payload[:client_assertion_type]).to eq Auth0::ClientAssertion::CLIENT_ASSERTION_TYPE - - StubResponse.new({ - "id_token" => "id_token", - "access_token" => "test_access_token", - "expires_in" => 86400}, - true, - 200) - end - - result = client_assertion_instance.send :exchange_refresh_token, 'the_refresh_token' - - expect(result).to be_a_kind_of(Auth0::AccessToken) - expect(result.id_token).not_to be_nil - expect(result.access_token).not_to be_nil - expect(result.expires_in).not_to be_nil - end - end - - context 'exchange_sms_otp_for_tokens' do - it 'requests the tokens using an OTP from SMS' do - expect(RestClient::Request).to receive(:execute) do |arg| - expect(arg).to match( - include( - method: :post, - url: 'https://samples.auth0.com/oauth/token' - ) - ) - - payload = JSON.parse arg[:payload], symbolize_names: true - - expect(payload[:grant_type]).to eq 'http://auth0.com/oauth/grant-type/passwordless/otp' - expect(payload[:username]).to eq 'phone_number' - expect(payload[:realm]).to eq 'sms' - expect(payload[:otp]).to eq 'code' - expect(payload[:client_id]).to eq client_id - expect(payload[:client_secret]).to eq client_secret - expect(payload[:scope]).to eq 'openid profile email' - expect(payload[:audience]).to be_nil - - StubResponse.new({ - "id_token" => "id_token", - "access_token" => "test_access_token", - "expires_in" => 86400}, - true, - 200) - end - - result = client_secret_instance.send :exchange_sms_otp_for_tokens, 'phone_number', 'code' - - expect(result).to be_a_kind_of(Auth0::AccessToken) - expect(result.id_token).not_to be_nil - expect(result.access_token).not_to be_nil - expect(result.expires_in).not_to be_nil - end - - it 'requests the tokens using OTP from SMS, and overrides scope and audience' do - expect(RestClient::Request).to receive(:execute) do |arg| - expect(arg).to match( - include( - method: :post, - url: 'https://samples.auth0.com/oauth/token' - ) - ) - - payload = JSON.parse arg[:payload], symbolize_names: true - - expect(payload[:scope]).to eq 'openid' - expect(payload[:audience]).to eq api_identifier - - StubResponse.new({ - "id_token" => "id_token", - "access_token" => "test_access_token", - "expires_in" => 86400}, - true, - 200) - end - - result = client_secret_instance.send(:exchange_sms_otp_for_tokens, 'phone_number', 'code', - audience: api_identifier, - scope: 'openid' - ) - - expect(result).to be_a_kind_of(Auth0::AccessToken) - expect(result.id_token).not_to be_nil - expect(result.access_token).not_to be_nil - expect(result.expires_in).not_to be_nil - end - - it 'requests the tokens using an OTP from SMS using client assertion' do - expect(RestClient::Request).to receive(:execute) do |arg| - expect(arg).to match( - include( - method: :post, - url: 'https://samples.auth0.com/oauth/token' - ) - ) - - payload = JSON.parse arg[:payload], symbolize_names: true - - expect(payload[:grant_type]).to eq 'http://auth0.com/oauth/grant-type/passwordless/otp' - expect(payload[:client_secret]).to be_nil - expect(payload[:client_assertion]).not_to be_nil - expect(payload[:client_assertion_type]).to eq Auth0::ClientAssertion::CLIENT_ASSERTION_TYPE - - StubResponse.new({ - "id_token" => "id_token", - "access_token" => "test_access_token", - "expires_in" => 86400}, - true, - 200) - end - - client_assertion_instance.send :exchange_sms_otp_for_tokens, 'phone_number', 'code' - end - end - - context 'exchange_email_otp_for_tokens' do - it 'requests the tokens using email OTP' do - expect(RestClient::Request).to receive(:execute) do |arg| - expect(arg).to match( - include( - method: :post, - url: 'https://samples.auth0.com/oauth/token' - ) - ) - - payload = JSON.parse arg[:payload], symbolize_names: true - - expect(payload[:grant_type]).to eq 'http://auth0.com/oauth/grant-type/passwordless/otp' - expect(payload[:username]).to eq 'email_address' - expect(payload[:realm]).to eq 'email' - expect(payload[:otp]).to eq 'code' - expect(payload[:client_id]).to eq client_id - expect(payload[:client_secret]).to eq client_secret - expect(payload[:scope]).to eq 'openid profile email' - expect(payload[:audience]).to be_nil - - StubResponse.new({ - "id_token" => "id_token", - "access_token" => "test_access_token", - "expires_in" => 86400}, - true, - 200) - end - - result = client_secret_instance.send :exchange_email_otp_for_tokens, 'email_address', 'code' - - expect(result).to be_a_kind_of(Auth0::AccessToken) - expect(result.id_token).not_to be_nil - expect(result.access_token).not_to be_nil - expect(result.expires_in).not_to be_nil - end - - it 'requests the tokens using OTP from email, and overrides scope and audience' do - expect(RestClient::Request).to receive(:execute) do |arg| - expect(arg).to match( - include( - method: :post, - url: 'https://samples.auth0.com/oauth/token' - ) - ) - - payload = JSON.parse arg[:payload], symbolize_names: true - - expect(payload[:scope]).to eq 'openid' - expect(payload[:audience]).to eq api_identifier - - StubResponse.new({ - "id_token" => "id_token", - "access_token" => "test_access_token", - "expires_in" => 86400}, - true, - 200) - end - - client_secret_instance.send(:exchange_email_otp_for_tokens, 'email_address', 'code', - audience: api_identifier, - scope: 'openid' - ) - end - - it 'requests the tokens using OTP from email using client assertion' do - expect(RestClient::Request).to receive(:execute) do |arg| - expect(arg).to match( - include( - method: :post, - url: 'https://samples.auth0.com/oauth/token' - ) - ) - - payload = JSON.parse arg[:payload], symbolize_names: true - - expect(payload[:grant_type]).to eq 'http://auth0.com/oauth/grant-type/passwordless/otp' - expect(payload[:client_secret]).to be_nil - expect(payload[:client_assertion]).not_to be_nil - expect(payload[:client_assertion_type]).to eq Auth0::ClientAssertion::CLIENT_ASSERTION_TYPE - - StubResponse.new({ - "id_token" => "id_token", - "access_token" => "test_access_token", - "expires_in" => 86400}, - true, - 200) - end - - client_assertion_instance.send(:exchange_email_otp_for_tokens, 'email_address', 'code', - audience: api_identifier, - scope: 'openid' - ) - end - end - - context 'login_with_resource_owner' do - it 'logs in using a client secret' do - expect(RestClient::Request).to receive(:execute) do |arg| - expect(arg).to match( - include( - method: :post, - url: 'https://samples.auth0.com/oauth/token' - ) - ) - - expect(JSON.parse(arg[:payload], { symbolize_names: true })).to eq({ - username: 'the_username', - password: 'the_password', - grant_type: 'password', - client_id: client_id, - client_secret: client_secret, - realm: nil, - audience: nil, - scope: 'openid' - }) - - StubResponse.new({ - "id_token" => "id_token", - "access_token" => "test_access_token", - "expires_in" => 86400}, - true, - 200) - end - - result = client_secret_instance.send :login_with_resource_owner, 'the_username', 'the_password' - - expect(result).to be_a_kind_of(Auth0::AccessToken) - expect(result.id_token).not_to be_nil - expect(result.access_token).not_to be_nil - expect(result.expires_in).not_to be_nil - end - - it 'logs in using a client secret, realm and audience' do - expect(RestClient::Request).to receive(:execute) do |arg| - expect(arg).to match( - include( - method: :post, - url: 'https://samples.auth0.com/oauth/token' - ) - ) - - expect(JSON.parse(arg[:payload], { symbolize_names: true })).to eq({ - username: 'the_username', - password: 'the_password', - grant_type: 'http://auth0.com/oauth/grant-type/password-realm', - client_id: client_id, - client_secret: client_secret, - realm: 'my-realm', - audience: api_identifier, - scope: 'openid' - }) - - StubResponse.new({ - "id_token" => "id_token", - "access_token" => "test_access_token", - "expires_in" => 86400}, - true, - 200) - end - - result = client_secret_instance.send :login_with_resource_owner, 'the_username', 'the_password', realm: 'my-realm', audience: api_identifier - - expect(result).to be_a_kind_of(Auth0::AccessToken) - expect(result.id_token).not_to be_nil - expect(result.access_token).not_to be_nil - expect(result.expires_in).not_to be_nil - end - - it 'logs in using client assertion' do - expect(RestClient::Request).to receive(:execute) do |arg| - expect(arg).to match( - include( - method: :post, - url: 'https://samples.auth0.com/oauth/token' - ) - ) - - payload = JSON.parse arg[:payload], symbolize_names: true - - expect(payload[:grant_type]).to eq('password') - expect(payload[:client_secret]).to be_nil - expect(payload[:client_assertion]).not_to be_nil - expect(payload[:client_assertion_type]).to eq Auth0::ClientAssertion::CLIENT_ASSERTION_TYPE - - StubResponse.new({ - "id_token" => "id_token", - "access_token" => "test_access_token", - "expires_in" => 86400}, - true, - 200) - end - - result = client_assertion_instance.send :login_with_resource_owner, 'the_username', 'the_password' - - expect(result).to be_a_kind_of(Auth0::AccessToken) - expect(result.id_token).not_to be_nil - expect(result.access_token).not_to be_nil - expect(result.expires_in).not_to be_nil - end - end - - context 'start_passwordless_email_flow' do - it 'starts passwordless flow using a client secret' do - expect(RestClient::Request).to receive(:execute) do |arg| - expect(arg).to match( - include( - method: :post, - url: 'https://samples.auth0.com/passwordless/start' - ) - ) - - expect(JSON.parse(arg[:payload], { symbolize_names: true })).to eq({ - email: 'email@test.com', - send: 'link', - authParams: {}, - connection: 'email', - client_id: client_id, - client_secret: client_secret - }) - - StubResponse.new({}, true, 200) - end - - client_secret_instance.send :start_passwordless_email_flow, 'email@test.com' - end - - it 'starts passwordless email flow using client assertion' do - expect(RestClient::Request).to receive(:execute) do |arg| - expect(arg).to match( - include( - method: :post, - url: 'https://samples.auth0.com/passwordless/start' - ) - ) - - payload = JSON.parse arg[:payload], symbolize_names: true - - expect(payload[:client_secret]).to be_nil - expect(payload[:client_assertion]).not_to be_nil - expect(payload[:client_assertion_type]).to eq Auth0::ClientAssertion::CLIENT_ASSERTION_TYPE - - StubResponse.new({}, true, 200) - end - - client_assertion_instance.send :start_passwordless_email_flow, 'email@test.com' - end - end - - context 'start_passwordless_sms_flow' do - it 'starts passwordless flow using a client secret' do - expect(RestClient::Request).to receive(:execute) do |arg| - expect(arg).to match( - include( - method: :post, - url: 'https://samples.auth0.com/passwordless/start' - ) - ) - - expect(JSON.parse(arg[:payload], { symbolize_names: true })).to eq({ - phone_number: '123456789', - connection: 'sms', - client_id: client_id, - client_secret: client_secret - }) - - StubResponse.new({}, true, 200) - end - - client_secret_instance.send :start_passwordless_sms_flow, '123456789' - end - - it 'starts passwordless email flow using client assertion' do - expect(RestClient::Request).to receive(:execute) do |arg| - expect(arg).to match( - include( - method: :post, - url: 'https://samples.auth0.com/passwordless/start' - ) - ) - - payload = JSON.parse arg[:payload], symbolize_names: true - - expect(payload[:client_secret]).to be_nil - expect(payload[:client_assertion]).not_to be_nil - expect(payload[:client_assertion_type]).to eq Auth0::ClientAssertion::CLIENT_ASSERTION_TYPE - - StubResponse.new({}, true, 200) - end - - client_assertion_instance.send :start_passwordless_sms_flow, '123456789' - end - end - - context 'par_authorization_url' do - it 'throws an exception if request_uri is nil' do - expect { client_secret_instance.send :par_authorization_url, nil}.to raise_error Auth0::InvalidParameter - end - - it 'throws an exception if request_uri is empty' do - expect { client_secret_instance.send :par_authorization_url, ''}.to raise_error Auth0::InvalidParameter - end - - it 'builds a URL containing the request_uri' do - url = client_secret_instance.send :par_authorization_url, request_uri - expect(CGI.unescape(url.to_s)).to eq("https://samples.auth0.com/authorize?client_id=#{client_id}&request_uri=#{request_uri}") - end - end - - context 'pushed_authorization_request' do - it 'sends the request as a form post' do - expect(RestClient::Request).to receive(:execute) do |arg| - expect(arg[:url]).to eq('https://samples.auth0.com/oauth/par') - expect(arg[:method]).to eq(:post) - - expect(arg[:payload]).to eq({ - client_id: client_id, - client_secret: client_secret, - response_type: 'code', - }) - - StubResponse.new({}, true, 200) - end - - client_secret_instance.send :pushed_authorization_request - end - - it 'allows the RestClient to handle the correct header defaults' do - expect(RestClient::Request).to receive(:execute) do |arg| - expect(arg[:headers]).not_to have_key('Content-Type') - - StubResponse.new({}, true, 200) - end - - client_secret_instance.headers['Content-Type'] = 'application/x-www-form-urlencoded' - client_secret_instance.send :pushed_authorization_request - end - - it 'sends the request as a form post with all known overrides' do - expect(RestClient::Request).to receive(:execute) do |arg| - expect(arg[:url]).to eq('https://samples.auth0.com/oauth/par') - expect(arg[:method]).to eq(:post) - - expect(arg[:payload]).to eq({ - client_id: client_id, - client_secret: client_secret, - connection: 'google-oauth2', - organization: 'org_id', - invitation: 'http://invite.url', - redirect_uri: 'http://localhost:3000', - response_type: 'id_token', - scope: 'openid', - state: 'random_value' - }) - - StubResponse.new({}, true, 200) - end - - client_secret_instance.send(:pushed_authorization_request, - response_type: 'id_token', - redirect_uri: 'http://localhost:3000', - organization: 'org_id', - invitation: 'http://invite.url', - scope: 'openid', - state: 'random_value', - connection: 'google-oauth2') - end - - it 'sends the request as a form post using client assertion' do - expect(RestClient::Request).to receive(:execute) do |arg| - expect(arg[:url]).to eq('https://samples.auth0.com/oauth/par') - expect(arg[:method]).to eq(:post) - expect(arg[:payload][:client_secret]).to be_nil - expect(arg[:payload][:client_assertion]).not_to be_nil - expect(arg[:payload][:client_assertion_type]).to eq Auth0::ClientAssertion::CLIENT_ASSERTION_TYPE - - StubResponse.new({}, true, 200) - end - - client_assertion_instance.send :pushed_authorization_request - end - end - end -end \ No newline at end of file diff --git a/spec/lib/auth0/api/v2/actions_spec.rb b/spec/lib/auth0/api/v2/actions_spec.rb deleted file mode 100644 index d1f0e5aff..000000000 --- a/spec/lib/auth0/api/v2/actions_spec.rb +++ /dev/null @@ -1,322 +0,0 @@ -require 'spec_helper' -describe Auth0::Api::V2::Actions do - before :all do - dummy_instance = DummyClass.new - dummy_instance.extend(Auth0::Api::V2::Actions) - @instance = dummy_instance - end - - context '.actions' do - it 'is expected to respond to a actions method' do - expect(@instance).to respond_to(:actions) - end - - it 'is expected to respond to a get_actions method' do - expect(@instance).to respond_to(:get_actions) - end - - it 'is expected to support all optional arguments' do - expect(@instance).to receive(:get).with( - '/api/v2/actions/actions', { - triggerId: nil, - actionName: nil, - deployed: nil, - per_page: nil, - page: nil, - installed: nil - } - ) - - expect do - @instance.actions() - end.not_to raise_error - end - - it 'is expected to get /api/v2/actions with custom parameters' do - expect(@instance).to receive(:get).with( - '/api/v2/actions/actions', { - triggerId: 'post-login', - actionName: 'loginHandler', - deployed: true, - per_page: 10, - page: 1, - installed: true - }) - expect do - @instance.actions( - 'post-login', - 'loginHandler', - deployed: true, - per_page: 10, - page: 1, - installed: true - ) - end.not_to raise_error - end - - end - - context '.action' do - it 'is expected to respond to a action method' do - expect(@instance).to respond_to(:action) - expect(@instance).to respond_to(:get_action) - end - - it 'is expected to call get request to /api/v2/actions/actions/{id}' do - expect(@instance).to receive(:get).with( - '/api/v2/actions/actions/123' - ) - expect { @instance.action('123') }.not_to raise_error - end - - it 'is expected to raise an exception when the action ID is empty' do - expect { @instance.action(nil) }.to raise_exception(Auth0::MissingActionId) - end - end - - context '.create_action' do - it 'is expected to respond to a create_action method' do - expect(@instance).to respond_to(:create_action) - end - - it 'is expected to post to /api/v2/actions' do - expect(@instance).to receive(:post).with( - '/api/v2/actions/actions', { - name: 'test_org' - }) - expect do - @instance.create_action( - name: 'test_org' - ) - end.not_to raise_error - end - end - - context '.delete_action' do - it 'is expected to respond to a delete_action method' do - expect(@instance).to respond_to :delete_action - end - - it 'is expected to call delete to /api/v2/actions/actions/{id}' do - expect(@instance).to receive(:delete).with('/api/v2/actions/actions/123', { force: false }) - expect { @instance.delete_action('123') }.not_to raise_error - end - - it 'is expected not to delete /api/v2/actions if action_id is blank' do - expect(@instance).not_to receive(:delete) - expect { @instance.delete_action(nil) }.to raise_exception( - Auth0::MissingActionId - ) - end - end - - context '.patch_action' do - it 'is expected to respond to a patch_action method' do - expect(@instance).to respond_to(:patch_action) - end - - it 'is expected to respond to a update_action method' do - expect(@instance).to respond_to(:update_action) - end - - it 'is expected to patch /api/v2/actions/actions/{id}' do - expect(@instance).to receive(:patch).with( - '/api/v2/actions/actions/123', - { name: 'name' } - ) - - expect { @instance.patch_action('123', { name: 'name' }) }.not_to raise_error - end - end - - context '.execution' do - it 'is expected to respond to a user method' do - expect(@instance).to respond_to(:execution) - end - - it 'is expected to call get request to /api/v2/actions/executions/{id}' do - expect(@instance).to receive(:get).with('/api/v2/actions/executions/123') - expect { @instance.execution('123') }.not_to raise_error - end - - it 'is expected to raise an exception when the execution ID is empty' do - expect { @instance.execution(nil) }.to raise_exception(Auth0::MissingExecutionId) - end - end - - context '.actions_versions' do - it 'is expected to respond to a user method' do - expect(@instance).to respond_to(:actions_versions) - end - - it 'is expected to call get request to /api/v2/actions/actions/{id}/versions' do - expect(@instance).to receive(:get).with( - '/api/v2/actions/actions/123/versions', { - per_page: nil, - page: nil - }) - expect { @instance.actions_versions('123') }.not_to raise_error - end - - it 'is expected to raise an exception when the action ID is empty' do - expect { @instance.actions_versions(nil) }.to raise_exception(Auth0::MissingActionId) - end - - it 'is expected to get /api/v2/actions/actions/{id}/versions with custom parameters' do - expect(@instance).to receive(:get).with( - '/api/v2/actions/actions/123/versions', { - per_page: 10, - page: 1 - }) - expect do - @instance.actions_versions( - '123', - per_page: 10, - page: 1 - ) - end.not_to raise_error - end - end - - context '.trigger_bindings' do - it 'is expected to respond to a trigger_bindings method' do - expect(@instance).to respond_to(:trigger_bindings) - expect(@instance).to respond_to(:get_trigger_bindings) - end - - it 'is expected to call get request to /api/v2/actions/triggers/{id}/bindings' do - expect(@instance).to receive(:get).with( - '/api/v2/actions/triggers/123/bindings', { - per_page: nil, - page: nil - }) - expect { @instance.trigger_bindings('123') }.not_to raise_error - end - - it 'is expected to raise an exception when the action_id ID is empty' do - expect { @instance.trigger_bindings(nil) }.to raise_exception(Auth0::MissingTriggerId) - end - - it 'is expected to get /api/v2/actions/triggers/{id}/bindings with custom parameters' do - expect(@instance).to receive(:get).with( - '/api/v2/actions/triggers/123/bindings', { - per_page: 10, - page: 1 - }) - expect do - @instance.trigger_bindings( - '123', - per_page: 10, - page: 1 - ) - end.not_to raise_error - end - end - - - context '.patch_trigger_bindings' do - it 'is expected to respond to a patch_trigger_bindings method' do - expect(@instance).to respond_to(:patch_trigger_bindings) - expect(@instance).to respond_to(:update_trigger_bindings) - end - - it 'is expected to patch /api/v2/actions/triggers/{id}/bindings' do - expect(@instance).to receive(:patch).with( - '/api/v2/actions/triggers/post-login/bindings', - { name: 'name' } - ) - expect { @instance.patch_trigger_bindings('post-login', { :name => 'name' }) }.not_to raise_error - end - - it 'is expected to raise an exception when the trigger ID is empty' do - expect { @instance.patch_trigger_bindings(nil) }.to raise_exception(Auth0::MissingTriggerId) - end - - it 'is expected to raise an exception when the body is empty' do - expect { @instance.patch_trigger_bindings('post-login') }.to raise_exception(Auth0::InvalidParameter) - end - end - - context '.action_by_version' do - it 'is expected to respond to a action_by_version method' do - expect(@instance).to respond_to(:action_by_version) - expect(@instance).to respond_to(:get_action_by_version) - end - - it 'is expected to call get request to /api/v2/actions/actions/{id}/versions/{version_id}' do - expect(@instance).to receive(:get).with( - '/api/v2/actions/actions/123/versions/v1' - ) - expect { @instance.action_by_version('123', 'v1') }.not_to raise_error - end - - it 'is expected to raise an exception when the action ID is empty' do - expect { @instance.action_by_version(nil, nil) }.to raise_exception(Auth0::MissingActionId) - end - - it 'is expected to raise an exception when the version ID is empty' do - expect { @instance.action_by_version('123', nil) }.to raise_exception(Auth0::MissingVersionId) - end - end - - context '.deploy_action' do - it 'is expected to respond to a deploy_action method' do - expect(@instance).to respond_to(:deploy_action) - end - - it 'is expected to call post request to /api/v2/actions/actions/{id}/deploy' do - expect(@instance).to receive(:post).with( - '/api/v2/actions/actions/123/deploy' - ) - expect { @instance.deploy_action('123') }.not_to raise_error - end - - it 'is expected to raise an exception when the action ID is empty' do - expect { @instance.deploy_action(nil) }.to raise_exception(Auth0::MissingActionId) - end - end - - context '.test_action' do - it 'is expected to respond to a test_action method' do - expect(@instance).to respond_to(:test_action) - end - - it 'is expected to raise an exception when the action ID is empty' do - expect { @instance.test_action(nil) }.to raise_exception(Auth0::MissingActionId) - end - - it 'is expected to post to /api/v2/actions/{id}/test' do - expect(@instance).to receive(:post).with( - '/api/v2/actions/actions/123/test', - { name: 'test_org' } - ) - expect do - @instance.test_action( - '123', - name: 'test_org' - ) - end.not_to raise_error - end - end - - context '.rollback_action' do - it 'is expected to respond to a rollback_action method' do - expect(@instance).to respond_to(:rollback_action) - end - - it 'is expected to call post request to /api/v2/actions/actions/{id}/versions/{version_id}/deploy' do - expect(@instance).to receive(:post).with( - '/api/v2/actions/actions/123/versions/v1/deploy' - ) - expect { @instance.rollback_action('123', 'v1') }.not_to raise_error - end - - it 'is expected to raise an exception when the action ID is empty' do - expect { @instance.rollback_action(nil, nil) }.to raise_exception(Auth0::MissingActionId) - end - - it 'is expected to raise an exception when the version ID is empty' do - expect { @instance.rollback_action('123', nil) }.to raise_exception(Auth0::MissingVersionId) - end - end -end diff --git a/spec/lib/auth0/api/v2/anomaly_spec.rb b/spec/lib/auth0/api/v2/anomaly_spec.rb deleted file mode 100644 index a464786f4..000000000 --- a/spec/lib/auth0/api/v2/anomaly_spec.rb +++ /dev/null @@ -1,26 +0,0 @@ -require 'spec_helper' -describe Auth0::Api::V2::Anomaly do - before :all do - dummy_instance = DummyClass.new - dummy_instance.extend(Auth0::Api::V2::Anomaly) - @instance = dummy_instance - end - - context '.check_if_ip_is_blocked' do - it { expect(@instance).to respond_to(:check_if_ip_is_blocked) } - it 'expect client to send get to /api/v2/anomaly/blocks/ips/192.0.2.0' do - expect(@instance).to receive(:get).with('/api/v2/anomaly/blocks/ips/192.0.2.0') - expect { @instance.check_if_ip_is_blocked('192.0.2.0') }.not_to raise_error - end - it { expect { @instance.check_if_ip_is_blocked('') }.to raise_error('Must specify an IP') } - end - - context '.remove_ip_block' do - it { expect(@instance).to respond_to(:remove_ip_block) } - it 'expect client to send delete to /api/v2/anomaly/blocks/ips/192.0.2.0' do - expect(@instance).to receive(:delete).with('/api/v2/anomaly/blocks/ips/192.0.2.0') - expect { @instance.remove_ip_block('192.0.2.0') }.not_to raise_error - end - it { expect { @instance.remove_ip_block('') }.to raise_error('Must specify an IP') } - end -end diff --git a/spec/lib/auth0/api/v2/attack_protection_spec.rb b/spec/lib/auth0/api/v2/attack_protection_spec.rb deleted file mode 100644 index dedec5ddc..000000000 --- a/spec/lib/auth0/api/v2/attack_protection_spec.rb +++ /dev/null @@ -1,132 +0,0 @@ -require 'spec_helper' - -describe Auth0::Api::V2::AttackProtection do - before :all do - dummy_instance = DummyClass.new - dummy_instance.extend(Auth0::Api::V2::AttackProtection) - @instance = dummy_instance - end - - context '.get breached-password-detection' do - it 'responds to a breached_password_detection method' do - expect(@instance).to respond_to(:breached_password_detection) - end - - it 'responds to get_breached_password_detection_settings' do - expect(@instance).to respond_to(:get_breached_password_detection_settings) - end - - it 'is expected to get /api/v2/attack-protection/breached-password' do - expect(@instance).to receive(:get).with( - '/api/v2/attack-protection/breached-password-detection' - ) - - expect { @instance.breached_password_detection }.not_to raise_error - end - end - - context '.patch breached-password-detection' do - it 'responds to a patch_breached_password_detection method' do - expect(@instance).to respond_to(:patch_breached_password_detection) - end - - it 'responds to a update_breached_password_detection_settings method' do - expect(@instance).to respond_to(:update_breached_password_detection_settings) - end - - it 'is expected to patch /api/v2/attack-protection/breached-password-detection' do - expect(@instance).to receive(:patch).with( - '/api/v2/attack-protection/breached-password-detection', - { - enabled: true - } - ) - - @instance.patch_breached_password_detection({ - enabled: true - }) - end - end - - context '.get brute_force_protection' do - it 'responds to brute_force_protection' do - expect(@instance).to respond_to(:brute_force_protection) - end - - it 'responds to get_brute_force_protection_settings' do - expect(@instance).to respond_to(:get_brute_force_protection_settings) - end - - it 'is expected to get /api/v2/attack-protection/brute-force-protection' do - expect(@instance).to receive(:get).with( - '/api/v2/attack-protection/brute-force-protection' - ) - - expect { @instance.brute_force_protection }.not_to raise_error - end - end - - context '.patch brute-force-protection' do - it 'responds to patch_brute-force-protection' do - expect(@instance).to respond_to(:patch_brute_force_protection) - end - - it 'responds to update_brute_force_protection_settings' do - expect(@instance).to respond_to(:update_brute_force_protection_settings) - end - - it 'is expected to respond to patch /api/v2/attack-protection/brute-force-protection' do - expect(@instance).to receive(:patch).with( - '/api/v2/attack-protection/brute-force-protection', - { - enabled: true - } - ) - - @instance.patch_brute_force_protection({ - enabled: true - }) - end - end - - context '.get suspicious-ip-throttling' do - it 'responds to suspicious_ip_throttling' do - expect(@instance).to respond_to(:suspicious_ip_throttling) - end - - it 'responds to get_suspicious_ip_throttling_settings' do - expect(@instance).to respond_to(:get_suspicious_ip_throttling_settings) - end - - it 'is expected to get /api/v2/attack-protection/suspicious-ip-throttling' do - expect(@instance).to receive(:get).with( - '/api/v2/attack-protection/suspicious-ip-throttling' - ) - - expect { @instance.suspicious_ip_throttling }.not_to raise_error - end - end - - context '.patch suspicious-ip-throttling' do - it 'responds to patch_suspicious_ip_throttling' do - expect(@instance).to respond_to(:patch_suspicious_ip_throttling) - end - - it 'responds to update_suspicious_ip_throttling_settings' do - expect(@instance).to respond_to(:update_suspicious_ip_throttling_settings) - end - - it 'is expected to patch /api/v2/attack-protection/suspicious-ip-throttling' do - expect(@instance).to receive(:patch).with( - '/api/v2/attack-protection/suspicious-ip-throttling', - { - enabled: true - } - ) - - @instance.patch_suspicious_ip_throttling({ - enabled: true - }) - end - end -end \ No newline at end of file diff --git a/spec/lib/auth0/api/v2/blacklists_spec.rb b/spec/lib/auth0/api/v2/blacklists_spec.rb deleted file mode 100644 index e7f93fd42..000000000 --- a/spec/lib/auth0/api/v2/blacklists_spec.rb +++ /dev/null @@ -1,25 +0,0 @@ -require 'spec_helper' -describe Auth0::Api::V2::Blacklists do - before :all do - dummy_instance = DummyClass.new - dummy_instance.extend(Auth0::Api::V2::Blacklists) - @instance = dummy_instance - end - - context '.blacklisted_tokens' do - it { expect(@instance).to respond_to(:blacklisted_tokens) } - it 'is expected to call /api/v2/blacklists/tokens' do - expect(@instance).to receive(:get).with('/api/v2/blacklists/tokens', { aud: nil }) - expect { @instance.blacklisted_tokens }.not_to raise_error - end - end - - context '.add_token.to_blacklist' do - it { expect(@instance).to respond_to(:add_token_to_blacklist) } - it 'is expected to call post to /api/v2/blacklists/tokens' do - expect(@instance).to receive(:post).with('/api/v2/blacklists/tokens', { aud: 'aud', jti: 'jti' }) - @instance.add_token_to_blacklist('jti', 'aud') - end - it { expect { @instance.add_token_to_blacklist('', '') }.to raise_error 'Must specify a valid JTI' } - end -end diff --git a/spec/lib/auth0/api/v2/branding_spec.rb b/spec/lib/auth0/api/v2/branding_spec.rb deleted file mode 100644 index 142c0f01e..000000000 --- a/spec/lib/auth0/api/v2/branding_spec.rb +++ /dev/null @@ -1,71 +0,0 @@ -require 'spec_helper' -describe Auth0::Api::V2::Branding do - before :all do - dummy_instance = DummyClass.new - dummy_instance.extend(Auth0::Api::V2::Branding) - dummy_instance.extend(Auth0::Mixins::Initializer) - @instance = dummy_instance - end - - context '.branding' do - it { expect(@instance).to respond_to(:branding) } - - it 'is expected to call get /api/v2/branding' do - expect(@instance).to receive(:get).with('/api/v2/branding') - expect { @instance.branding }.not_to raise_error - end - - it 'is expected to respond to a get_branding method' do - expect(@instance).to respond_to(:get_branding) - end - end - - context '.patch_branding' do - it { expect(@instance).to respond_to(:patch_branding) } - it 'is expected to call post /api/v2/branding' do - expect(@instance).to receive(:patch).with( - '/api/v2/branding', { - template: 'Test' - } - ) - expect { @instance.patch_branding({ template: 'Test' }) }.not_to raise_error - end - - it 'is expected to respond to a get_branding method' do - expect(@instance).to respond_to(:update_branding) - end - end - - context '.branding_templates_for_universal_login' do - it { expect(@instance).to respond_to(:branding) } - - it 'is expected to call get /api/v2/branding/templates/universal-login' do - expect(@instance).to receive(:get).with('/api/v2/branding/templates/universal-login') - expect { @instance.branding_templates_for_universal_login }.not_to raise_error - end - - it 'is expected to respond to a get_branding_templates_for_universal_login method' do - expect(@instance).to respond_to(:get_branding_templates_for_universal_login) - end - end - - context '.put_branding_templates_for_universal_login' do - it { expect(@instance).to respond_to(:put_branding_templates_for_universal_login) } - it 'is expected to call put /api/v2/branding/templates/universal-login' do - expect(@instance).to receive(:put).with( - '/api/v2/branding/templates/universal-login', { template: 'Template' } - ) - expect do - @instance.put_branding_templates_for_universal_login(template: 'Template') - end.not_to raise_error - end - end - - context '.delete_branding_templates_for_universal_login' do - it { expect(@instance).to respond_to(:delete_branding_templates_for_universal_login) } - it 'is expected to call delete /api/v2/branding/templates/universal-login' do - expect(@instance).to receive(:delete).with('/api/v2/branding/templates/universal-login') - expect { @instance.delete_branding_templates_for_universal_login() }.not_to raise_error - end - end -end diff --git a/spec/lib/auth0/api/v2/client_grants_spec.rb b/spec/lib/auth0/api/v2/client_grants_spec.rb deleted file mode 100644 index 7df1a362b..000000000 --- a/spec/lib/auth0/api/v2/client_grants_spec.rb +++ /dev/null @@ -1,106 +0,0 @@ -require 'spec_helper' -describe Auth0::Api::V2::ClientGrants do - before :all do - dummy_instance = DummyClass.new - dummy_instance.extend(Auth0::Api::V2::ClientGrants) - @instance = dummy_instance - end - - context '.client_grants' do - it { expect(@instance).to respond_to(:client_grants) } - it { expect(@instance).to respond_to(:get_all_client_grants) } - - it 'is expected to get /api/v2/client-grants/' do - expect(@instance).to receive(:get).with( - '/api/v2/client-grants', { - client_id: nil, - allow_any_organization: nil, - audience: nil, - page: nil, - per_page: nil - }) - expect { @instance.client_grants }.not_to raise_error - end - - it 'is expected to send get /api/v2/client-grants/ with client_id and audience' do - audience = "https://samples.auth0.com/api/v2/" - - expect(@instance).to receive(:get).with( - '/api/v2/client-grants', { - client_id: '1', - allow_any_organization: nil, - audience: audience, - page: nil, - per_page: nil - }) - expect { @instance.client_grants(client_id: '1', audience: audience ) }.not_to raise_error - end - - it 'is expected to send get /api/v2/client-grants/ with pagination' do - expect(@instance).to receive(:get).with( - '/api/v2/client-grants', { - client_id: nil, - allow_any_organization: nil, - audience: nil, - page: 1, - per_page: 2 - }) - expect { @instance.client_grants(page: 1, per_page: 2) }.not_to raise_error - end - - it 'is expected to send get /api/v2/client-grants/ with allow_any_organization' do - expect(@instance).to receive(:get).with( - '/api/v2/client-grants', { - client_id: nil, - allow_any_organization: true, - audience: nil, - page: nil, - per_page: nil - }) - expect { @instance.client_grants(allow_any_organization: true) }.not_to raise_error - end - end - - context '.create_client_grant' do - it { expect(@instance).to respond_to(:create_client_grant) } - it 'is expected to send post to /api/v2/client-grants' do - expect(@instance).to receive(:post).with('/api/v2/client-grants', { opt: 'test body' }) - expect { @instance.create_client_grant(opt: 'test body') }.not_to raise_error - end - end - - context '.delete_client_grant' do - it { expect(@instance).to respond_to(:delete_client_grant) } - it 'is expected to send delete to /api/v2/client-grants/1' do - expect(@instance).to receive(:delete).with('/api/v2/client-grants/1') - expect { @instance.delete_client_grant('1') }.not_to raise_error - end - it { expect { @instance.delete_client_grant('') }.to raise_error 'Must specify a client grant id' } - end - - context '.patch_client_grant' do - it { expect(@instance).to respond_to(:patch_client_grant) } - it { expect(@instance).to respond_to(:update_client_grant) } - it 'is expected to send patch to /api/v2/client-grants/1' do - expect(@instance).to receive(:patch).with('/api/v2/client-grants/1', 'test body') - expect { @instance.patch_client_grant('1', 'test body') }.not_to raise_error - end - it { expect { @instance.patch_client_grant('', nil) }.to raise_error 'Must specify a client grant id' } - it { expect { @instance.patch_client_grant('some', nil) }.to raise_error 'Must specify a valid body' } - end - - context '.get_client_grants_organizations' do - it { expect(@instance).to respond_to(:get_client_grants_organizations) } - it 'is expected to send get to /api/v2/client-grants/organizations' do - expect(@instance).to receive(:get).with('/api/v2/client-grants/1/organizations', { - per_page: nil, - page: nil, - from: nil, - take: nil, - include_totals: nil - }) - expect { @instance.get_client_grants_organizations('1') }.not_to raise_error - end - it { expect { @instance.get_client_grants_organizations('') }.to raise_error 'Must specify a client grant id' } - end -end diff --git a/spec/lib/auth0/api/v2/clients_spec.rb b/spec/lib/auth0/api/v2/clients_spec.rb deleted file mode 100644 index cac5e18c2..000000000 --- a/spec/lib/auth0/api/v2/clients_spec.rb +++ /dev/null @@ -1,155 +0,0 @@ -require 'spec_helper' -describe Auth0::Api::V2::Clients do - before :all do - dummy_instance = DummyClass.new - dummy_instance.extend(Auth0::Api::V2::Clients) - @instance = dummy_instance - end - - context '.clients' do - it { expect(@instance).to respond_to(:clients) } - it { expect(@instance).to respond_to(:get_clients) } - - it 'is expected to send get request to the Clients endpoint' do - expect(@instance).to receive(:get).with( - '/api/v2/clients', { - fields: nil, - include_fields: nil, - page: nil, - per_page: nil - }) - expect { @instance.clients }.not_to raise_error - end - - it 'is expected to send get request to the Clients endpoint with a name parameter' do - expect(@instance).to receive(:get).with( - '/api/v2/clients', { - include_fields: true, - fields: 'name', - page: nil, - per_page: nil - }) - expect { - @instance.clients(fields: 'name', include_fields: true) - }.not_to raise_error - end - - it 'is expected to send get request to Clients endpoint using an array of fields' do - expect(@instance).to receive(:get).with( - '/api/v2/clients', { - include_fields: true, - fields: 'name,app_type', - page: nil, - per_page: nil - }) - expect { - @instance.clients(fields: ['name','app_type'], include_fields: true) - }.not_to raise_error - end - - it 'is expected to send get request to Clients endpoint with pagination' do - expect(@instance).to receive(:get).with( - '/api/v2/clients', { - page: 1, - per_page: 10, - fields: nil, - include_fields: nil - }) - expect { - @instance.clients(page: 1, per_page: 10) - }.not_to raise_error - end - end - - context '.client' do - it { expect(@instance).to respond_to(:client) } - it 'is expected to send get request to /api/v2/clients/1' do - expect(@instance).to receive(:get).with('/api/v2/clients/1', { fields: nil, include_fields: nil }) - expect { @instance.client(1) }.not_to raise_error - end - it 'is expected to send get request to /api/v2/clients?fields=name&include_fields=true' do - expect(@instance).to receive(:get).with('/api/v2/clients/1', { include_fields: true, fields: [:name] }) - expect { @instance.client(1, include_fields: true, fields: [:name]) }.not_to raise_error - end - it { expect { @instance.client('') }.to raise_error 'Must specify a client id' } - end - - context '.create_client' do - it { expect(@instance).to respond_to(:create_client) } - it 'is expected to send post to /api/v2/clients' do - expect(@instance).to receive(:post).with('/api/v2/clients', { name: 'name', opt: 'opt' }) - expect { @instance.create_client('name', name: '/name1', opt: 'opt') }.not_to raise_error - end - it { expect { @instance.create_client('') }.to raise_error 'Must specify a valid client name' } - end - - context '.delete_client' do - it { expect(@instance).to respond_to(:delete_client) } - it 'is expected to send delete to /api/v2/clients/1' do - expect(@instance).to receive(:delete).with('/api/v2/clients/1') - expect { @instance.delete_client('1') }.not_to raise_error - end - it { expect { @instance.delete_client('') }.to raise_error 'Must specify a client id' } - end - - context '.patch_client' do - it { expect(@instance).to respond_to(:patch_client) } - it 'is expected to send patch to /api/v2/clients/1' do - expect(@instance).to receive(:patch).with('/api/v2/clients/1', { fields: 'fields' }) - expect { @instance.patch_client('1', fields: 'fields') }.not_to raise_error - end - it { expect { @instance.patch_client('', nil) }.to raise_error 'Must specify a client id' } - it { expect { @instance.patch_client('some', nil) }.to raise_error 'Must specify a valid body' } - end - - context '.create_client_credentials' do - it { expect(@instance).to respond_to(:create_client_credentials) } - - it 'is expected to send post to /api/v2/clients/1/credentials' do - payload = { credential_type: 'public_key', name: 'my credentials', pem: '' } - - expect(@instance).to receive(:post).with('/api/v2/clients/1/credentials', payload) - expect { @instance.create_client_credentials('1', payload) }.not_to raise_error - end - - it { expect { @instance.create_client_credentials('', nil) }.to raise_error 'Must specify a client id' } - it { expect { @instance.create_client_credentials('1', nil) }.to raise_error 'Must specify a valid body' } - end - - context '.client_credentials' do - it { expect(@instance).to respond_to(:client_credentials) } - it { expect(@instance).to respond_to(:get_client_credentials) } - - it 'is expected to send get to /api/v2/clients/1/credentials' do - expect(@instance).to receive(:get).with('/api/v2/clients/1/credentials') - expect { @instance.client_credentials('1') }.not_to raise_error - end - - it { expect { @instance.client_credentials('') }.to raise_error 'Must specify a client id' } - end - - context '.client_credential' do - it { expect(@instance).to respond_to(:client_credential) } - it { expect(@instance).to respond_to(:get_client_credential) } - - it 'is expected to send get to /api/v2/clients/1/credentials/2' do - expect(@instance).to receive(:get).with('/api/v2/clients/1/credentials/2') - expect { @instance.client_credential('1', '2') }.not_to raise_error - end - - it { expect { @instance.client_credential('', '') }.to raise_error 'Must specify a client id' } - it { expect { @instance.client_credential('1', '') }.to raise_error 'Must specify a credential id' } - end - - context '.delete_client_credential' do - it { expect(@instance).to respond_to(:delete_client_credential) } - - it 'is expected to delete /api/v2/clients/1/credentials/2' do - expect(@instance).to receive(:delete).with('/api/v2/clients/1/credentials/2') - expect { @instance.delete_client_credential('1', '2') }.not_to raise_error - end - - it { expect { @instance.delete_client_credential('', '') }.to raise_error 'Must specify a client id' } - it { expect { @instance.delete_client_credential('1', '') }.to raise_error 'Must specify a credential id' } - end -end diff --git a/spec/lib/auth0/api/v2/connections_spec.rb b/spec/lib/auth0/api/v2/connections_spec.rb deleted file mode 100644 index b024e6aff..000000000 --- a/spec/lib/auth0/api/v2/connections_spec.rb +++ /dev/null @@ -1,164 +0,0 @@ -require 'spec_helper' -describe Auth0::Api::V2::Connections do - before :all do - dummy_instance = DummyClass.new - dummy_instance.extend(Auth0::Api::V2::Connections) - @instance = dummy_instance - end - - context '.connections' do - it { expect(@instance).to respond_to(:connections) } - it { expect(@instance).to respond_to(:get_connections) } - - it 'is expected to call /api/v2/connections' do - expect(@instance).to receive(:get).with( - '/api/v2/connections', { - strategy: nil, - name: nil, - fields: nil, - include_fields: nil, - page: nil, - per_page: nil, - include_totals: nil - }) - expect { @instance.connections }.not_to raise_error - end - - it 'is expected to send get request to /api/v2/connections?fields=name' do - expect(@instance).to receive(:get).with( - '/api/v2/connections', { - include_fields: true, - fields: 'name', - strategy: nil, - name: nil, - page: nil, - per_page: nil, - include_totals: nil - }) - expect { - @instance.connections(fields: 'name', include_fields: true) - }.not_to raise_error - end - - it 'is expected to convert fields param from Array to string' do - expect(@instance).to receive(:get).with( - '/api/v2/connections', { - include_fields: true, - fields: 'name,strategy', - strategy: nil, - name: nil, - page: nil, - per_page: nil, - include_totals: nil - }) - expect { - @instance.connections(fields: ['name','strategy'], include_fields: true) - }.not_to raise_error - end - - it 'is expected to add pagination' do - expect(@instance).to receive(:get).with( - '/api/v2/connections', { - page: 1, - per_page: 10, - strategy: nil, - name: nil, - fields: nil, - include_fields: nil, - include_totals: nil - }) - expect { - @instance.connections(page: 1, per_page: 10) - }.not_to raise_error - end - - it 'is expected to include totals' do - expect(@instance).to receive(:get).with( - '/api/v2/connections', { - page: 1, - per_page: 10, - strategy: nil, - name: nil, - fields: nil, - include_fields: nil, - include_totals: true - }) - expect { - @instance.connections(page: 1, per_page: 10, include_totals: true) - }.not_to raise_error - end - end - - context '.create_connection' do - it { expect(@instance).to respond_to(:connection) } - it { expect(@instance).to respond_to(:create_connection) } - - it 'is expected to call /api/v2/connections' do - body = double - expect(@instance).to receive(:post).with('/api/v2/connections', body) - expect { @instance.create_connection(body) }.not_to raise_error - end - - it 'is expected to raise an error when calling with empty body' do - expect(@instance).not_to receive(:post) - expect { @instance.create_connection(nil) }.to raise_error 'Must specify a body to create a connection' - end - end - - context '.connection' do - it { expect(@instance).to respond_to(:connection) } - it 'is expected to call get request to /api/v2/connection/connectionId' do - expect(@instance).to receive(:get).with('/api/v2/connections/connectionId', { fields: nil, include_fields: true }) - expect { @instance.connection('connectionId') }.not_to raise_error - end - it 'is expected raise an error when calling with empty id' do - expect(@instance).not_to receive(:get) - expect { @instance.connection(nil) }.to raise_error 'Must supply a valid connection id' - end - end - - context '.delete_connection' do - it { expect(@instance).to respond_to(:delete_connection) } - it 'is expected to call delete to /api/v2/connections/connectionId' do - expect(@instance).to receive(:delete).with('/api/v2/connections/connectionId') - @instance.delete_connection('connectionId') - end - - it 'is expected raise an error when calling with empty id' do - expect(@instance).not_to receive(:delete) - expect { @instance.delete_connection(nil) }.to raise_error 'Must supply a valid connection id' - end - end - - context '.delete_connection_user' do - it { expect(@instance).to respond_to(:delete_connection_user) } - it 'is expected to call delete to /api/v2/connections/connectionId/users' do - expect(@instance).to receive(:delete).with('/api/v2/connections/connectionId/users', { email: 'email@test.com' }) - @instance.delete_connection_user('connectionId', 'email@test.com') - end - - it 'is expected raise an error when calling with empty id' do - expect(@instance).not_to receive(:delete) - expect { @instance.delete_connection_user(nil, nil) }.to raise_error 'Must supply a valid connection id' - end - - it 'is expected raise an error when calling with empty email' do - expect(@instance).not_to receive(:delete) - expect { @instance.delete_connection_user('Connection ID', nil) }.to raise_error 'Must supply a valid user email' - end - end - - context '.update_connection' do - it { expect(@instance).to respond_to(:update_connection) } - it 'is expected to call patch to /api/v2/connections/connectionId' do - body = double - expect(@instance).to receive(:patch).with('/api/v2/connections/connectionId', body) - @instance.update_connection('connectionId', body) - end - - it 'is expected raise an error when calling with empty id' do - expect(@instance).not_to receive(:patch) - expect { @instance.delete_connection(nil) }.to raise_error 'Must supply a valid connection id' - end - end -end diff --git a/spec/lib/auth0/api/v2/device_credentials_spec.rb b/spec/lib/auth0/api/v2/device_credentials_spec.rb deleted file mode 100644 index 997c6b9de..000000000 --- a/spec/lib/auth0/api/v2/device_credentials_spec.rb +++ /dev/null @@ -1,102 +0,0 @@ -require 'spec_helper' -describe Auth0::Api::V2::DeviceCredentials do - before :all do - dummy_instance = DummyClass.new - dummy_instance.extend(Auth0::Api::V2::DeviceCredentials) - @instance = dummy_instance - end - context '.device_credentials' do - it { expect(@instance).to respond_to(:device_credentials) } - it { expect(@instance).to respond_to(:list_device_credentials) } - it 'is expected to send get request with no parameters to /api/v2/device-credentials' do - expect(@instance).to receive(:get).with( - '/api/v2/device-credentials', { - fields: nil, - include_fields: nil, - user_id: nil, - client_id: nil, - type: nil, - page: nil, - per_page: nil, - include_totals: nil - }) - expect { @instance.device_credentials }.not_to raise_error - end - it 'is expected to send get request with client_id to /api/v2/device-credentials' do - client_id = Faker::Lorem.word - expect(@instance).to receive(:get).with( - '/api/v2/device-credentials', { - fields: nil, - include_fields: nil, - user_id: nil, - client_id: client_id, - type: nil, - page: nil, - per_page: nil, - include_totals: nil - }) - expect { @instance.device_credentials(client_id) }.not_to raise_error - end - it 'is expected to send get request with options to /api/v2/device-credentials' do - expect(@instance).to receive(:get).with( - '/api/v2/device-credentials', { - fields: 'name', - include_fields: true, - user_id: '1', - client_id: 'client_id', - type: 'rotating_refresh_token', - page: 1, - per_page: 10, - include_totals: true - }) - expect { @instance.device_credentials('client_id', fields: 'name', include_fields: true, user_id: '1', type: 'rotating_refresh_token', page: 1, per_page: 10, include_totals: true) }.not_to raise_error - end - it 'is expect to raise an error when type is not one of \'public_key\', \'refresh_token\', \'rotating_refresh_token\'' do - expect { @instance.device_credentials('client_id', type: 'invalid_type') }.to raise_error( - 'Type must be one of \'public_key\', \'refresh_token\', \'rotating_refresh_token\'' - ) - end - end - - context '.create_device_credential' do - it { expect(@instance).to respond_to(:create_device_credential) } - it { expect(@instance).to respond_to(:create_device_public_key) } - it 'is expected to send post to /api/v2/device-credentials' do - expect(@instance).to receive(:post).with( - '/api/v2/device-credentials', { - device_name: 'device_name', - value: 'value', - device_id: 'device_id', - client_id: 'client_id', - type: 'public_key' - }) - expect { @instance.create_device_credential('device_name', 'value', 'device_id', 'client_id') } - .not_to raise_error - end - it do - expect { @instance.create_device_credential(nil, 'value', 'device_id', 'client_id') } - .to raise_error('Must supply a valid device_name') - end - it do - expect { @instance.create_device_credential('device_name', nil, 'device_id', 'client_id') } - .to raise_error('Must supply a valid value') - end - it do - expect { @instance.create_device_credential('device_name', 'value', nil, 'client_id') } - .to raise_error('Must supply a valid device_id') - end - it do - expect { @instance.create_device_credential('device_name', 'value', 'device_id', nil) } - .to raise_error('Must supply a valid client_id') - end - end - - context '.delete_device_credential' do - it { expect(@instance).to respond_to(:delete_device_credential) } - it 'is expected to send delete to /api/v2/device-credentials/1' do - expect(@instance).to receive(:delete).with('/api/v2/device-credentials/1') - expect { @instance.delete_device_credential('1') }.not_to raise_error - end - it { expect { @instance.delete_device_credential('') }.to raise_error 'Must supply a valid id' } - end -end diff --git a/spec/lib/auth0/api/v2/emails_spec.rb b/spec/lib/auth0/api/v2/emails_spec.rb deleted file mode 100644 index 5026bcf68..000000000 --- a/spec/lib/auth0/api/v2/emails_spec.rb +++ /dev/null @@ -1,47 +0,0 @@ -require 'spec_helper' -describe Auth0::Api::V2::Emails do - before :all do - dummy_instance = DummyClass.new - dummy_instance.extend(Auth0::Api::V2::Emails) - @instance = dummy_instance - end - - context '.get_email' do - it { expect(@instance).to respond_to(:get_provider) } - it 'expect client to send get to /api/v2/emails/provider with fields' do - expect(@instance).to receive(:get).with('/api/v2/emails/provider', { fields: 'some', include_fields: true }) - expect { @instance.get_provider(fields: 'some', include_fields: true) }.not_to raise_error - end - it 'expect client to send get to /api/v2/emails/provider with empty fields' do - expect(@instance).to receive(:get).with('/api/v2/emails/provider', { fields: nil, include_fields: nil }) - expect { @instance.get_provider }.not_to raise_error - end - end - context '.configure_email' do - it { expect(@instance).to respond_to(:configure_provider) } - it 'expect client to send post to /api/v2/emails/provider' do - expect(@instance).to receive(:post).with('/api/v2/emails/provider', 'test body') - expect { @instance.configure_provider('test body') }.not_to raise_error - end - it 'expect client to raise an error when calling with empty body' do - expect { @instance.configure_provider(nil) }.to raise_error 'Must supply a valid body to create an email provider' - end - end - context '.delete_email' do - it { expect(@instance).to respond_to(:delete_provider) } - it 'expect client to send delete to /api/v2/emails/provider' do - expect(@instance).to receive(:delete).with('/api/v2/emails/provider') - expect { @instance.delete_provider }.not_to raise_error - end - end - context '.patch_email' do - it { expect(@instance).to respond_to(:update_provider) } - it 'expect client to send patch to /api/v2/emails/provider' do - expect(@instance).to receive(:patch).with('/api/v2/emails/provider', 'test body') - expect { @instance.update_provider('test body') }.not_to raise_error - end - it 'expect client to raise an error when calling with empty body' do - expect { @instance.update_provider(nil) }.to raise_error 'Must supply a valid body to update an email provider' - end - end -end diff --git a/spec/lib/auth0/api/v2/grants_spec.rb b/spec/lib/auth0/api/v2/grants_spec.rb deleted file mode 100644 index 48763e412..000000000 --- a/spec/lib/auth0/api/v2/grants_spec.rb +++ /dev/null @@ -1,91 +0,0 @@ -require 'spec_helper' -describe Auth0::Api::V2::Grants do - before :all do - dummy_instance = DummyClass.new - dummy_instance.extend(Auth0::Api::V2::Grants) - @instance = dummy_instance - end - - context '.grants' do - it { expect(@instance).to respond_to(:grants) } - it { expect(@instance).to respond_to(:get_all_grants) } - - it 'is expected to get /api/v2/grants/' do - expect(@instance).to receive(:get).with( - '/api/v2/grants', { - client_id: nil, - user_id: nil, - audience: nil, - page: nil, - per_page: nil, - include_totals: nil - }) - expect { @instance.grants }.not_to raise_error - end - - it 'is expected to send get /api/v2/grants/ with client_id and audience' do - audience = "https://samples.auth0.com/api/v2/" - - expect(@instance).to receive(:get).with( - '/api/v2/grants', { - client_id: '1', - user_id: nil, - audience: audience, - page: nil, - per_page: nil, - include_totals: nil - }) - expect { @instance.grants(client_id: '1', audience: audience) }.not_to raise_error - end - - it 'is expected to send get /api/v2/grants/ with client_id and user_id' do - expect(@instance).to receive(:get).with( - '/api/v2/grants', { - client_id: '1', - user_id: '1', - audience: nil, - page: nil, - per_page: nil, - include_totals: nil - }) - expect { @instance.grants(client_id: '1', user_id: '1') }.not_to raise_error - end - - it 'is expected to send get /api/v2/grants/ with pagination' do - expect(@instance).to receive(:get).with( - '/api/v2/grants', { - client_id: nil, - user_id: nil, - audience: nil, - page: 1, - per_page: 2, - include_totals: nil - }) - expect { @instance.grants(page: 1, per_page: 2) }.not_to raise_error - end - - it 'is expected to send get /api/v2/grants/ with include_totals' do - expect(@instance).to receive(:get).with( - '/api/v2/grants', { - client_id: nil, - user_id: nil, - audience: nil, - page: 1, - per_page: 2, - include_totals: true - }) - expect { @instance.grants(page: 1, per_page: 2, include_totals: true) }.not_to raise_error - end - end - - context '.delete_grant' do - it { expect(@instance).to respond_to(:delete_grant) } - it 'is expected to send delete to /api/v2/grants/1?user_id=1' do - expect(@instance).to receive(:delete).with('/api/v2/grants/1', user_id: '1') - expect { @instance.delete_grant('1', '1') }.not_to raise_error - end - it { expect { @instance.delete_grant('', '') }.to raise_error 'Must specify a grant id as id' } - it { expect { @instance.delete_grant('', '1') }.to raise_error 'Must specify a grant id as id' } - it { expect { @instance.delete_grant('1', '') }.to raise_error 'Must specify a user id' } - end -end diff --git a/spec/lib/auth0/api/v2/guardian_spec.rb b/spec/lib/auth0/api/v2/guardian_spec.rb deleted file mode 100644 index 99e53cb35..000000000 --- a/spec/lib/auth0/api/v2/guardian_spec.rb +++ /dev/null @@ -1,154 +0,0 @@ -require 'spec_helper' -describe Auth0::Api::V2::Guardian do - before :all do - dummy_instance = DummyClass.new - dummy_instance.extend(Auth0::Api::V2::Guardian) - @instance = dummy_instance - end - - context '.guardian_factors' do - it 'is expected to respond to a guardian_factors method' do - expect(@instance).to respond_to(:guardian_factors) - end - - it 'is expected to respond to a get_guardian_factors method' do - expect(@instance).to respond_to(:get_guardian_factors) - end - - it 'is expected to get /api/v2/guardian/factors' do - expect(@instance).to receive(:get).with( - '/api/v2/guardian/factors' - ) - expect { @instance.guardian_factors }.not_to raise_error - end - end - - context '.guardian_enrollment' do - it 'is expected to respond to a guardian_enrollment method' do - expect(@instance).to respond_to(:guardian_enrollment) - end - - it 'is expected to call get request to /api/v2/guardian/enrollments/ENROLLMENT_ID' do - expect(@instance).to receive(:get).with( - '/api/v2/guardian/enrollments/ENROLLMENT_ID' - ) - expect { @instance.guardian_enrollment('ENROLLMENT_ID') }.not_to raise_error - end - - it 'is expected to raise an exception when the enrollment ID is empty' do - expect { @instance.guardian_enrollment(nil) }.to raise_exception(Auth0::MissingParameter) - end - end - - context '.delete_guardian_enrollment' do - it 'is expected to respond to a delete_guardian_enrollment method' do - expect(@instance).to respond_to(:delete_guardian_enrollment) - end - - it 'is expected to delete /api/v2/guardian/enrollments/ENROLLMENT_ID' do - expect(@instance).to receive(:delete).with('/api/v2/guardian/enrollments/ENROLLMENT_ID') - @instance.delete_guardian_enrollment('ENROLLMENT_ID') - end - - it 'is expected not to delete /api/v2/guardian/enrollments/ENROLLMENT_ID if enrollment_id is blank' do - expect(@instance).not_to receive(:delete) - expect { @instance.delete_guardian_enrollment(nil) }.to raise_exception( - Auth0::MissingParameter - ) - end - end - - context '.guardian_sms_templates' do - it 'is expected to respond to a guardian_sms_templates method' do - expect(@instance).to respond_to(:guardian_sms_templates) - end - - it 'is expected to call get request to /api/v2/guardian/factors/sms/templates' do - expect(@instance).to receive(:get).with( - '/api/v2/guardian/factors/sms/templates' - ) - expect { @instance.guardian_sms_templates }.not_to raise_error - end - end - - context '.guardian_update_enrollment_verification_templates' do - it 'is expected to respond to a guardian_update_enrollment_verification_templates method' do - expect(@instance).to respond_to(:guardian_update_enrollment_verification_templates) - end - - it 'is expected to patch /api/v2/guardian/factors/sms/templates' do - expect(@instance).to receive(:put).with('/api/v2/guardian/factors/sms/templates', 'BODY') - @instance.guardian_update_enrollment_verification_templates('BODY') - end - end - - context '.guardian_sns_provider_config' do - it 'is expected to respond to a guardian_sns_provider_config method' do - expect(@instance).to respond_to(:guardian_sns_provider_config) - end - - it 'is expected to call get request to /api/v2/guardian/factors/push-notification/providers/sns' do - expect(@instance).to receive(:get).with( - '/api/v2/guardian/factors/push-notification/providers/sns' - ) - expect { @instance.guardian_sns_provider_config }.not_to raise_error - end - end - - context '.guardian_update_sns_provider_config' do - it 'is expected to respond to a guardian_update_sns_provider_config method' do - expect(@instance).to respond_to(:guardian_update_sns_provider_config) - end - - it 'is expected to patch /api/v2/guardian/factors/push-notification/providers/sns' do - expect(@instance).to receive(:put).with('/api/v2/guardian/factors/push-notification/providers/sns', 'BODY') - @instance.guardian_update_sns_provider_config('BODY') - end - end - - context '.guardian_twillo_provider_config' do - it 'is expected to respond to a guardian_twillo_provider_config method' do - expect(@instance).to respond_to(:guardian_twillo_provider_config) - end - - it 'is expected to call get request to /api/v2/guardian/factors/sms/providers/twilio' do - expect(@instance).to receive(:get).with( - '/api/v2/guardian/factors/sms/providers/twilio' - ) - expect { @instance.guardian_twillo_provider_config }.not_to raise_error - end - end - - context '.guardian_update_twillo_provider_config' do - it 'is expected to respond to a guardian_update_twillo_provider_config method' do - expect(@instance).to respond_to(:guardian_update_twillo_provider_config) - end - - it 'is expected to patch /api/v2/guardian/factors/sms/providers/twilio' do - expect(@instance).to receive(:put).with('/api/v2/guardian/factors/sms/providers/twilio', 'BODY') - @instance.guardian_update_twillo_provider_config('BODY') - end - end - - context '.guardian_create_enrollment_ticket' do - it 'is expected to respond to a guardian_create_enrollment_ticket method' do - expect(@instance).to respond_to(:guardian_create_enrollment_ticket) - end - - it 'is expected to post /api/v2/guardian/enrollments/ticket' do - expect(@instance).to receive(:post).with('/api/v2/guardian/enrollments/ticket', 'BODY') - @instance.guardian_create_enrollment_ticket('BODY') - end - end - - context '.guardian_update_factor' do - it 'is expected to respond to a guardian_update_factor method' do - expect(@instance).to respond_to(:guardian_update_factor) - end - - it 'is expected to patch /api/v2/guardian/factors/NAME' do - expect(@instance).to receive(:put).with('/api/v2/guardian/factors/NAME', 'BODY') - @instance.guardian_update_factor('NAME', 'BODY') - end - end -end diff --git a/spec/lib/auth0/api/v2/jobs_spec.rb b/spec/lib/auth0/api/v2/jobs_spec.rb deleted file mode 100644 index 02ab4007a..000000000 --- a/spec/lib/auth0/api/v2/jobs_spec.rb +++ /dev/null @@ -1,158 +0,0 @@ -require 'spec_helper' -describe Auth0::Api::V2::Jobs do - before :all do - dummy_instance = DummyClass.new - dummy_instance.extend(Auth0::Api::V2::Jobs) - @instance = dummy_instance - end - context '.get_job' do - it { expect(@instance).to respond_to(:get_job) } - it 'expect client to send get to /api/v2/stats/jobs/3' do - expect(@instance).to receive(:get).with('/api/v2/jobs/3') - expect { @instance.get_job(3) }.not_to raise_error - end - it { expect { @instance.get_job('') }.to raise_error('Must specify a job id') } - end - context '.get_job_errors' do - it { expect(@instance).to respond_to(:get_job_errors) } - it 'expect client to send get to /api/v2/jobs/3/errors' do - expect(@instance).to receive(:get).with('/api/v2/jobs/3/errors') - expect { @instance.get_job_errors(3) }.not_to raise_error - end - it { expect { @instance.get_job_errors('') }.to raise_error('Must specify a job id') } - end - context '.import_users' do - it { expect(@instance).to respond_to(:import_users) } - it 'expect client to send post to /api/v2/jobs/users-imports' do - expect(@instance).to receive(:post_file).with( - '/api/v2/jobs/users-imports', { - users: 'file', - connection_id: 'connnection_id', - upsert: false, - external_id: nil, - send_completion_email: true - }) - expect { @instance.import_users('file', 'connnection_id') }.not_to raise_error - end - it 'expect client to send post to /api/v2/jobs/users-imports with options' do - expect(@instance).to receive(:post_file).with( - '/api/v2/jobs/users-imports', { - users: 'file', - connection_id: 'connnection_id', - upsert: true, - external_id: 'external_1', - send_completion_email: false - }) - expect do - @instance.import_users( - 'file', - 'connnection_id', - upsert: true, - external_id: 'external_1', - send_completion_email: false - ) - end.not_to raise_error - end - it { expect { @instance.import_users('', 'connnection_id') }.to raise_error('Must specify a valid file') } - it { expect { @instance.import_users('users', '') }.to raise_error('Must specify a connection_id') } - end - context '.export_users' do - it { expect(@instance).to respond_to(:export_users) } - it { expect { @instance.export_users }.not_to raise_error } - it 'sends post to /api/v2/jobs/users-exports with correct params' do - expect(@instance).to receive(:post).with( - '/api/v2/jobs/users-exports', { - fields: [{ name: 'author' }], - connection_id: 'test-connection', - format: 'csv', - limit: 10 - }) - - @instance.export_users( - fields: ['author'], - connection_id: 'test-connection', - format: 'csv', - limit: 10 - ) - end - - it 'sends post to /api/v2/jobs/users-exports with export_as field' do - expect(@instance).to receive(:post).with( - '/api/v2/jobs/users-exports', { - fields: [{ name: 'author', export_as: 'writer' }], - connection_id: 'test-connection', - format: 'csv', - limit: 10 - }) - - @instance.export_users( - fields: [{ name: 'author', export_as: 'writer' }], - connection_id: 'test-connection', - format: 'csv', - limit: 10 - ) - end - end - - context '.send_verification_email' do - it 'should respond to a send_verification_email method' do - expect(@instance).to respond_to(:send_verification_email) - end - - it 'should post to the jobs email verification endpoint' do - expect(@instance).to receive(:post).with( - '/api/v2/jobs/verification-email', { - user_id: 'test_user_id' - }) - expect do - @instance.send_verification_email('test_user_id') - end.not_to raise_error - end - - it 'should post to the jobs email verification endpoint with a client_id' do - expect(@instance).to receive(:post).with( - '/api/v2/jobs/verification-email', { - user_id: 'test_user_id', - client_id: 'test_client_id' - }) - expect do - @instance.send_verification_email('test_user_id', 'test_client_id') - end.not_to raise_error - end - - it 'expect client to accept hash identity' do - expect(@instance).to receive(:post).with('/api/v2/jobs/verification-email', { - user_id: 'user_id', - identity: { - provider: "auth0", - user_id: "user_id" - }}) - expect { - @instance.send_verification_email('user_id', identity: { provider: "auth0", user_id: "user_id"}) - }.not_to raise_error - end - - it 'expect client to return nil when calling with a non-hash identity' do - expect { @instance.send_verification_email('user_id', identity: "nonhash") }.to raise_error( - 'Identity must be a hash send an email verification' - ) - end - - it 'expect client to accept organization_id' do - expect(@instance).to receive(:post).with('/api/v2/jobs/verification-email', { - user_id: 'user_id', - organization_id: 'org_id' - }) - - expect { - @instance.send_verification_email('user_id', organization_id: 'org_id') - }.not_to raise_error - end - - it 'should raise an error if the user_id is empty' do - expect do - @instance.send_verification_email('') - end.to raise_error('Must specify a user id') - end - end -end diff --git a/spec/lib/auth0/api/v2/log_streams_spec.rb b/spec/lib/auth0/api/v2/log_streams_spec.rb deleted file mode 100644 index a58c7cfeb..000000000 --- a/spec/lib/auth0/api/v2/log_streams_spec.rb +++ /dev/null @@ -1,84 +0,0 @@ -require 'spec_helper' -describe Auth0::Api::V2::LogStreams do - before :all do - dummy_instance = DummyClass.new - dummy_instance.extend(Auth0::Api::V2::LogStreams) - dummy_instance.extend(Auth0::Mixins::Initializer) - @instance = dummy_instance - end - - context '.log_streams' do - it { expect(@instance).to respond_to(:log_streams) } - it { expect(@instance).to respond_to(:get_log_streams) } - it 'is expected to call get /api/v2/log-streams' do - expect(@instance).to receive(:get).with( - '/api/v2/log-streams' - ) - expect { @instance.log_streams }.not_to raise_error - end - end - - context '.log_stream' do - it { expect(@instance).to respond_to(:log_stream) } - it 'is expected to call get /api/v2/log-streams/test' do - expect(@instance).to receive(:get).with('/api/v2/log-streams/test') - expect { @instance.log_stream('test') }.not_to raise_error - end - it 'expect to raise an error when calling with empty log stream id' do - expect { @instance.log_stream(nil) }.to raise_error 'Must supply a valid log stream id' - end - end - - context '.create_log_stream' do - it { expect(@instance).to respond_to(:create_log_stream) } - it 'is expected to call post /api/v2/log-streams' do - expect(@instance).to receive(:post).with( - '/api/v2/log-streams', { - name: 'test', - type: 'https', - sink: { - httpEndpoint: "https://mycompany.com", - httpContentType: "string", - httpContentFormat: "JSONLINES", - httpAuthorization: "string" - } - }) - - @instance.create_log_stream('test', 'https', - httpEndpoint: "https://mycompany.com", - httpContentType: "string", - httpContentFormat: "JSONLINES", - httpAuthorization: "string") - end - it 'expect to raise an error when calling with empty name' do - expect { @instance.create_log_stream('', '', '') }.to raise_error 'Name must contain at least one character' - end - it 'expect to raise an error when calling with empty type' do - expect { @instance.create_log_stream('name', '', '') }.to raise_error 'Must specify a valid type' - end - it 'expect to raise an error when calling without options' do - expect { @instance.create_log_stream('name', 'https', nil) }.to raise_error 'Must supply a valid hash for options' - end - end - - context '.delete_log_stream' do - it { expect(@instance).to respond_to(:delete_log_stream) } - it 'is expected to call delete /api/v2/log-streams/test' do - expect(@instance).to receive(:delete).with('/api/v2/log-streams/test') - expect { @instance.delete_log_stream('test') }.not_to raise_error - end - it 'expect to raise an error when calling with empty log stream id' do - expect { @instance.delete_log_stream(nil) }.to raise_error 'Must supply a valid log stream id' - end - end - - context '.patch_log_stream' do - it { expect(@instance).to respond_to(:patch_log_stream) } - it 'is expected to send patch to /api/v2/log_streams/test' do - expect(@instance).to receive(:patch).with('/api/v2/log-streams/test', { status: 'paused' }) - expect { @instance.patch_log_stream('test', 'paused') }.not_to raise_error - end - it { expect { @instance.patch_log_stream('', nil) }.to raise_error 'Must specify a log stream id' } - it { expect { @instance.patch_log_stream('test', nil) }.to raise_error 'Must specify a valid status' } - end -end diff --git a/spec/lib/auth0/api/v2/logs_spec.rb b/spec/lib/auth0/api/v2/logs_spec.rb deleted file mode 100644 index 343486ec5..000000000 --- a/spec/lib/auth0/api/v2/logs_spec.rb +++ /dev/null @@ -1,48 +0,0 @@ -require 'spec_helper' -describe Auth0::Api::V2::Logs do - before :all do - dummy_instance = DummyClass.new - dummy_instance.extend(Auth0::Api::V2::Logs) - @instance = dummy_instance - end - - context '.logs' do - it { expect(@instance).to respond_to(:logs) } - it { expect(@instance).to respond_to(:get_logs) } - it 'is expected to call /api/v2/logs' do - expect(@instance).to receive(:get).with( - '/api/v2/logs', { - q: nil, - page: nil, - per_page: nil, - sort: nil, - fields: nil, - include_fields: nil, - include_totals: nil, - from: nil, - take: nil - }) - expect { @instance.logs }.not_to raise_error - end - it 'is expect to rise an error when take is higher than 100' do - expect { @instance.logs(take: rand(101..2000)) }.to raise_error( - 'The total amount of entries to retrieve should be less than 100' - ) - end - it 'is expect to rise an error when per_page is higher than 100' do - expect { @instance.logs(per_page: rand(101..2000)) }.to raise_error( - 'The total amount of entries per page should be less than 100' - ) - end - end - - context '.log' do - it { expect(@instance).to respond_to(:log) } - it { expect(@instance).to respond_to(:get_logs_by_id) } - it 'is expected to call get request to /api/v2/logs/LOG_ID' do - expect(@instance).to receive(:get).with('/api/v2/logs/LOG_ID') - expect { @instance.log('LOG_ID') }.not_to raise_error - end - it { expect { @instance.log(nil) }.to raise_error('Must supply a valid log_id') } - end -end diff --git a/spec/lib/auth0/api/v2/organizations_spec.rb b/spec/lib/auth0/api/v2/organizations_spec.rb deleted file mode 100644 index 519f7e664..000000000 --- a/spec/lib/auth0/api/v2/organizations_spec.rb +++ /dev/null @@ -1,708 +0,0 @@ -require 'spec_helper' -describe Auth0::Api::V2::Organizations do - before :all do - dummy_instance = DummyClass.new - dummy_instance.extend(Auth0::Api::V2::Organizations) - @instance = dummy_instance - end - - context '.organizations' do - it 'is expected to respond to a organizations method' do - expect(@instance).to respond_to(:organizations) - end - - it 'is expected to respond to a get_organizations method' do - expect(@instance).to respond_to(:get_organizations) - end - - it 'is expected to get /api/v2/organizations' do - expect(@instance).to receive(:get).with( - '/api/v2/organizations', { - per_page: nil, - page: nil, - from: nil, - take: nil, - include_totals: nil - }) - expect { @instance.organizations }.not_to raise_error - end - - it 'is expected to get /api/v2/organizations with custom parameters' do - expect(@instance).to receive(:get).with( - '/api/v2/organizations', { - per_page: 10, - page: 1, - from: 'org_id', - take: 50, - include_totals: true - }) - expect do - @instance.organizations( - per_page: 10, - page: 1, - from: 'org_id', - take: 50, - include_totals: true - ) - end.not_to raise_error - end - end - - context '.organization' do - it 'is expected to respond to a user method' do - expect(@instance).to respond_to(:organization) - end - - it 'is expected to call get request to /api/v2/users/org_id' do - expect(@instance).to receive(:get).with( - '/api/v2/organizations/org_id' - ) - expect { @instance.organization('org_id') }.not_to raise_error - end - - it 'is expected to raise an exception when the organization ID is empty' do - expect { @instance.organization(nil) }.to raise_exception(Auth0::MissingOrganizationId) - end - end - - context '.create_organization' do - it 'is expected to respond to a create_organization method' do - expect(@instance).to respond_to(:create_organization) - end - - it 'is expected to post to /api/v2/organizations' do - expect(@instance).to receive(:post).with( - '/api/v2/organizations', { - name: 'test_org' - }) - expect do - @instance.create_organization( - name: 'test_org' - ) - end.not_to raise_error - end - end - - context '.delete_organization' do - it 'is expected to respond to a delete_organization method' do - expect(@instance).to respond_to :delete_organization - end - - it 'is expected to call delete to /api/v2/organizations/org_id' do - expect(@instance).to receive(:delete).with('/api/v2/organizations/org_id') - expect { @instance.delete_organization('org_id') }.not_to raise_error - end - - it 'is expected not to delete /api/v2/organizations if organization_id is blank' do - expect(@instance).not_to receive(:delete) - expect { @instance.delete_organization(nil) }.to raise_exception( - Auth0::MissingOrganizationId - ) - end - end - - context '.organization_by_name' do - it 'is expected to respond to a user method' do - expect(@instance).to respond_to(:organization_by_name) - end - - it 'is expected to call get request to /api/v2/users/org_id' do - expect(@instance).to receive(:get).with( - '/api/v2/organizations/name/org_id' - ) - expect { @instance.organization_by_name('org_id') }.not_to raise_error - end - - it 'is expected to raise an exception when the organization ID is empty' do - expect { @instance.organization_by_name(nil) }.to raise_exception(Auth0::InvalidParameter) - end - end - - - context '.patch_organization' do - it 'is expected to respond to a patch_organization method' do - expect(@instance).to respond_to(:patch_organization) - end - - it 'is expected to respond to a update_organization method' do - expect(@instance).to respond_to(:update_organization) - end - - it 'is expected to patch /api/v2/organizations/org_id' do - expect(@instance).to receive(:patch).with( - '/api/v2/organizations/org_id', { - name: 'name' - }) - @instance.patch_organization( - 'org_id', - name: 'name' - ) - end - - it 'is expected to raise an exception when the organization id is empty' do - expect { @instance.patch_organization(nil, 'BODY') }.to raise_exception(Auth0::MissingOrganizationId) - end - - it 'is expected to raise an error when the body is empty' do - expect { @instance.patch_organization('org_id', nil) }.to raise_error 'Must supply a valid body' - end - end - - context '.get_organizations_enabled_connections' do - it 'is expected to respond to a get_organizations_enabled_connections method' do - expect(@instance).to respond_to(:get_organizations_enabled_connections) - end - - it 'is expected to raise an exception when the org ID is empty' do - expect { @instance.get_organizations_enabled_connections(nil) }.to raise_exception(Auth0::MissingOrganizationId) - end - - it 'is expected to get enabled_connections for an org' do - expect(@instance).to receive(:get).with( - '/api/v2/organizations/org_id/enabled_connections' - ) - expect { @instance.get_organizations_enabled_connections('org_id') }.not_to raise_error - end - - it 'is expected to get enabled_connections for an org' do - expect(@instance).to receive(:get).with( - '/api/v2/organizations/org_id/enabled_connections' - ) - expect do - @instance.get_organizations_enabled_connections('org_id') - end.not_to raise_error - end - end - - context '.get_organizations_enabled_connection' do - it 'is expected to respond to a get_organizations_enabled_connection method' do - expect(@instance).to respond_to(:get_organizations_enabled_connection) - end - - it 'is expected to raise an exception when the org ID is empty' do - expect { @instance.get_organizations_enabled_connection(nil, nil) }.to raise_exception(Auth0::MissingOrganizationId) - end - - it 'is expected to raise an exception when the org ID is empty' do - expect { @instance.get_organizations_enabled_connection('org_id', nil) }.to raise_exception(Auth0::InvalidParameter) - end - - it 'is expected to get enabled connection for an org' do - expect(@instance).to receive(:get).with( - '/api/v2/organizations/org_id/enabled_connections/connection_id' - ) - expect { @instance.get_organizations_enabled_connection('org_id', 'connection_id') }.not_to raise_error - end - - it 'is expected to get enabled connection for an org' do - expect(@instance).to receive(:get).with( - '/api/v2/organizations/org_id/enabled_connections/connection_id' - ) - expect do - @instance.get_organizations_enabled_connection('org_id', 'connection_id') - end.not_to raise_error - end - end - - context '.patch_organizations_enabled_connection' do - it 'is expected to respond to a patch_organizations_enabled_connection method' do - expect(@instance).to respond_to(:patch_organizations_enabled_connection) - end - - it 'is expected to respond to a update_organizations_enabled_connection method' do - expect(@instance).to respond_to(:update_organizations_enabled_connection) - end - - it 'is expected to patch /api/v2/organizations/org_id/enabled_connections/connection_id' do - expect(@instance).to receive(:patch).with( - '/api/v2/organizations/org_id/enabled_connections/connection_id', - { - assign_membership_on_login: false - } - ) - @instance.patch_organizations_enabled_connection( - 'org_id', - 'connection_id', - assign_membership_on_login: false - ) - end - - it 'is expected to raise an exception when the organization id is empty' do - expect { @instance.patch_organizations_enabled_connection(nil, 'BODY') }.to raise_exception(Auth0::MissingOrganizationId) - end - - it 'is expected to raise an error when the connection_id is empty' do - expect { @instance.patch_organizations_enabled_connection('org_id', nil) }.to raise_error 'Must supply a valid connection id' - end - - it 'is expected to raise an error when assign_membership_on_login is nil' do - expect { @instance.patch_organizations_enabled_connection('org_id', 'connection_id') }.to raise_error 'Must supply a valid assign_membership_on_login value' - end - end - - context '.create_organizations_enabled_connection' do - it 'is expected to respond to a create_organizations_enabled_connection method' do - expect(@instance).to respond_to(:create_organizations_enabled_connection) - end - - it 'is expected to respond to a add_organizations_enabled_connection method' do - expect(@instance).to respond_to(:add_organizations_enabled_connection) - end - - it 'is expected to post /api/v2/organizations/org_id/enabled_connections' do - expect(@instance).to receive(:post).with( - '/api/v2/organizations/org_id/enabled_connections', - { - connection_id: 'connection_id', - assign_membership_on_login: true - } - ) - @instance.create_organizations_enabled_connection('org_id', 'connection_id', assign_membership_on_login: true) - end - - it 'is expected to raise an exception when the organization id is empty' do - expect { @instance.create_organizations_enabled_connection(nil, nil) }.to raise_exception(Auth0::MissingOrganizationId) - end - - it 'is expected to raise an exception when the connection id is empty' do - expect { @instance.create_organizations_enabled_connection('123', nil) }.to raise_error 'Must supply a valid connection id' - end - end - - context '.delete_organizations_enabled_connection' do - it 'is expected to respond to a delete_organizations_enabled_connection method' do - expect(@instance).to respond_to(:delete_organizations_enabled_connection) - end - - it 'is expected to respond to a remove_organizations_enabled_connection method' do - expect(@instance).to respond_to(:remove_organizations_enabled_connection) - end - - it 'is expected to delete /api/v2/organizations/org_id/enabled_connections/connection_id' do - expect(@instance).to receive(:delete).with( - '/api/v2/organizations/org_id/enabled_connections/connection_id' - ) - @instance.delete_organizations_enabled_connection('org_id', 'connection_id') - end - - it 'is expected to raise an exception when the organization id is empty' do - expect { @instance.delete_organizations_enabled_connection(nil, nil) }.to raise_exception(Auth0::MissingOrganizationId) - end - - it 'is expected to raise an exception when the connection id is empty' do - expect { @instance.delete_organizations_enabled_connection('org_id', nil) }.to raise_error 'Must supply a valid connection id' - end - end - - context '.get_organizations_invites' do - it 'is expected to respond to a get_organizations_invites method' do - expect(@instance).to respond_to(:get_organizations_invites) - end - - it 'is expected to raise an exception when the org ID is empty' do - expect { @instance.get_organizations_invites(nil) }.to raise_exception(Auth0::MissingOrganizationId) - end - - it 'is expected to get invitations for an org' do - expect(@instance).to receive(:get).with( - '/api/v2/organizations/org_id/invitations' - ) - expect { @instance.get_organizations_invites('org_id') }.not_to raise_error - end - - it 'is expected to get invitations for an org' do - expect(@instance).to receive(:get).with( - '/api/v2/organizations/org_id/invitations' - ) - expect do - @instance.get_organizations_invites('org_id') - end.not_to raise_error - end - end - - context '.get_organizations_invite' do - it 'is expected to respond to a get_organizations_invite method' do - expect(@instance).to respond_to(:get_organizations_invite) - end - - it 'is expected to raise an exception when the org ID is empty' do - expect { @instance.get_organizations_invite(nil, nil) }.to raise_exception(Auth0::MissingOrganizationId) - end - - it 'is expected to raise an exception when the org ID is empty' do - expect { @instance.get_organizations_invite('org_id', nil) }.to raise_exception(Auth0::InvalidParameter) - end - - it 'is expected to get enabled connection for an org' do - expect(@instance).to receive(:get).with( - '/api/v2/organizations/org_id/invitations/invite_id' - ) - expect { @instance.get_organizations_invite('org_id', 'invite_id') }.not_to raise_error - end - - it 'is expected to get enabled connection for an org' do - expect(@instance).to receive(:get).with( - '/api/v2/organizations/org_id/invitations/invite_id' - ) - expect do - @instance.get_organizations_invite('org_id', 'invite_id') - end.not_to raise_error - end - end - - context '.patch_organizations_enabled_connection' do - it 'is expected to respond to a patch_organizations_enabled_connection method' do - expect(@instance).to respond_to(:patch_organizations_enabled_connection) - end - - it 'is expected to respond to a update_organizations_enabled_connection method' do - expect(@instance).to respond_to(:update_organizations_enabled_connection) - end - - it 'is expected to patch /api/v2/organizations/org_id/enabled_connections/connection_id' do - expect(@instance).to receive(:patch).with( - '/api/v2/organizations/org_id/enabled_connections/connection_id', - { - assign_membership_on_login: false - } - ) - @instance.patch_organizations_enabled_connection( - 'org_id', - 'connection_id', - assign_membership_on_login: false - ) - end - - it 'is expected to raise an exception when the organization id is empty' do - expect { @instance.patch_organizations_enabled_connection(nil, 'BODY') }.to raise_exception(Auth0::MissingOrganizationId) - end - - it 'is expected to raise an error when the connection_id is empty' do - expect { @instance.patch_organizations_enabled_connection('org_id', nil) }.to raise_error 'Must supply a valid connection id' - end - - it 'is expected to raise an error when assign_membership_on_login is nil' do - expect { @instance.patch_organizations_enabled_connection('org_id', 'connection_id') }.to raise_error 'Must supply a valid assign_membership_on_login value' - end - end - - context '.create_organizations_invite' do - it 'is expected to respond to a create_organizations_invite method' do - expect(@instance).to respond_to(:create_organizations_invite) - end - - it 'is expected to respond to a add_organizations_invite method' do - expect(@instance).to respond_to(:add_organizations_invite) - end - - it 'is expected to post /api/v2/organizations/org_id/invitations' do - expect(@instance).to receive(:post).with( - '/api/v2/organizations/org_id/invitations', - { - ttl_sec: 60000 - } - ) - @instance.create_organizations_invite('org_id', ttl_sec: 60000) - end - - it 'is expected to raise an exception when the organization id is empty' do - expect { @instance.create_organizations_invite(nil) }.to raise_exception(Auth0::MissingOrganizationId) - end - end - - context '.delete_organizations_invite' do - it 'is expected to respond to a delete_organizations_invite method' do - expect(@instance).to respond_to(:delete_organizations_invite) - end - - it 'is expected to respond to a remove_organizations_invite method' do - expect(@instance).to respond_to(:remove_organizations_invite) - end - - it 'is expected to delete /api/v2/organizations/org_id/invitations/invite_id' do - expect(@instance).to receive(:delete).with( - '/api/v2/organizations/org_id/invitations/invite_id' - ) - @instance.delete_organizations_invite('org_id', 'invite_id') - end - - it 'is expected to raise an exception when the organization id is empty' do - expect { @instance.delete_organizations_invite(nil, nil) }.to raise_exception(Auth0::MissingOrganizationId) - end - - it 'is expected to raise an exception when the invitation id is empty' do - expect { @instance.delete_organizations_invite('org_id', nil) }.to raise_error 'Must supply a valid invitation id' - end - end - - context '.get_organizations_members' do - it 'is expected to respond to a get_organizations_members method' do - expect(@instance).to respond_to(:get_organizations_members) - end - - it 'is expected to raise an exception when the org ID is empty' do - expect { @instance.get_organizations_members(nil) }.to raise_exception(Auth0::MissingOrganizationId) - end - - it 'is expected to get members for an org' do - expect(@instance).to receive(:get).with( - '/api/v2/organizations/org_id/members', { - per_page: nil, - page: nil, - from: nil, - take: nil, - include_totals: nil, - fields: nil, - include_fields: nil - }) - expect do - @instance.get_organizations_members('org_id') - end.not_to raise_error - end - - it 'is expected to get /api/v2/organizations with custom parameters' do - expect(@instance).to receive(:get).with( - '/api/v2/organizations/org_id/members', { - per_page: 10, - page: 1, - from: 'org_id', - take: 50, - include_totals: true, - fields: nil, - include_fields: nil - }) - expect do - @instance.get_organizations_members( - 'org_id', - per_page: 10, - page: 1, - from: 'org_id', - take: 50, - include_totals: true - ) - end.not_to raise_error - end - - it 'is expected to get /api/v2/organizations with custom fields' do - expect(@instance).to receive(:get).with( - '/api/v2/organizations/org_id/members', { - per_page: nil, - page: nil, - from: nil, - take: nil, - include_totals: nil, - fields: 'foo,bar', - include_fields: false - }) - expect do - @instance.get_organizations_members( - 'org_id', - fields: 'foo,bar', - include_fields: false - ) - end.not_to raise_error - end - end - - context '.create_organizations_members' do - it 'is expected to respond to a create_organizations_members method' do - expect(@instance).to respond_to(:create_organizations_members) - end - - it 'is expected to respond to a add_organizations_members method' do - expect(@instance).to respond_to(:add_organizations_members) - end - - it 'is expected to post /api/v2/organizations/org_id/members' do - expect(@instance).to receive(:post).with( - '/api/v2/organizations/org_id/members', - { - members: ['123', '456'] - } - ) - @instance.create_organizations_members('org_id', ['123', '456']) - end - - it 'is expected to raise an exception when the organization id is empty' do - expect { @instance.create_organizations_members(nil) }.to raise_exception(Auth0::MissingOrganizationId) - end - end - - context '.delete_organizations_members' do - it 'is expected to respond to a delete_organizations_members method' do - expect(@instance).to respond_to(:delete_organizations_members) - end - - it 'is expected to respond to a remove_organizations_members method' do - expect(@instance).to respond_to(:remove_organizations_members) - end - - it 'is expected to delete /api/v2/organizations/org_id/members' do - expect(@instance).to receive(:delete_with_body).with( - '/api/v2/organizations/org_id/members', { - members: ['123', '456'] - } - ) - @instance.delete_organizations_members('org_id', ['123', '456']) - end - - it 'is expected to raise an exception when the organization id is empty' do - expect { @instance.delete_organizations_members(nil, nil) }.to raise_exception(Auth0::MissingOrganizationId) - end - - it 'is expected to raise an exception when the invitation id is empty' do - expect { @instance.delete_organizations_members('org_id', []) }.to raise_error 'Must supply an array of member ids' - end - end - - context '.get_organizations_member_roles' do - it 'is expected to respond to a get_organizations_member_roles method' do - expect(@instance).to respond_to(:get_organizations_member_roles) - end - - it 'is expected to raise an exception when the org ID is empty' do - expect { @instance.get_organizations_member_roles(nil, nil) }.to raise_exception(Auth0::MissingOrganizationId) - end - - it 'is expected to raise an exception when the org ID is empty' do - expect { @instance.get_organizations_member_roles('org_id', nil) }.to raise_exception(Auth0::InvalidParameter) - end - - it 'is expected to get roles for a member in an org' do - expect(@instance).to receive(:get).with( - '/api/v2/organizations/org_id/members/user_id/roles' - ) - expect { @instance.get_organizations_member_roles('org_id', 'user_id') }.not_to raise_error - end - - it 'is expected to get members for an org' do - expect(@instance).to receive(:get).with( - '/api/v2/organizations/org_id/members/user_id/roles' - ) - expect do - @instance.get_organizations_member_roles('org_id', 'user_id') - end.not_to raise_error - end - end - - context '.create_organizations_member_roles' do - it 'is expected to respond to a create_organizations_member_roles method' do - expect(@instance).to respond_to(:create_organizations_member_roles) - end - - it 'is expected to respond to a add_organizations_member_roles method' do - expect(@instance).to respond_to(:add_organizations_member_roles) - end - - it 'is expected to post /api/v2/organizations/org_id/members/user_id/roles' do - expect(@instance).to receive(:post).with( - '/api/v2/organizations/org_id/members/user_id/roles', - { - roles: ['123', '456'] - } - ) - @instance.create_organizations_member_roles('org_id', 'user_id', ['123', '456']) - end - - it 'is expected to raise an exception when the organization id is empty' do - expect { @instance.create_organizations_member_roles(nil, nil) }.to raise_exception(Auth0::MissingOrganizationId) - end - end - - context '.delete_organizations_member_roles' do - it 'is expected to respond to a delete_organizations_member_roles method' do - expect(@instance).to respond_to(:delete_organizations_member_roles) - end - - it 'is expected to respond to a remove_organizations_member_roles method' do - expect(@instance).to respond_to(:remove_organizations_member_roles) - end - - it 'is expected to delete /api/v2/organizations/org_id/members/user_id/roles' do - expect(@instance).to receive(:delete_with_body).with( - '/api/v2/organizations/org_id/members/user_id/roles', { - roles: ['123', '456'] - } - ) - @instance.delete_organizations_member_roles('org_id', 'user_id', ['123', '456']) - end - - it 'is expected to raise an exception when the organization id is empty' do - expect { @instance.delete_organizations_member_roles(nil, nil) }.to raise_exception(Auth0::MissingOrganizationId) - end - - it 'is expected to raise an exception when the invitation id is empty' do - expect { @instance.delete_organizations_member_roles('org_id', nil, nil) }.to raise_error 'Must supply a valid user id' - end - - it 'is expected to raise an exception when the invitation id is empty' do - expect { @instance.delete_organizations_member_roles('org_id', 'user_id') }.to raise_error 'Must supply an array of role ids' - end - end - - context '.get_organizations_client_grants' do - it 'is expected to respond to a get_organizations_client_grants method' do - expect(@instance).to respond_to(:get_organizations_client_grants) - end - - it 'is expected to get /api/v2/organizations/org_id/client-grants' do - expect(@instance).to receive(:get).with( - '/api/v2/organizations/org_id/client-grants', { - per_page: nil, - page: nil, - client_id: nil, - audience: nil, - include_totals: nil - }) - expect { @instance.get_organizations_client_grants('org_id') }.not_to raise_error - end - - it 'is expected to get /api/v2/organizations/org_id/client-grants with custom parameters' do - expect(@instance).to receive(:get).with( - '/api/v2/organizations/org_id/client-grants', { - per_page: 10, - page: 1, - client_id: 'client_id', - audience: 'api', - include_totals: true - }) - expect do - @instance.get_organizations_client_grants( - 'org_id', - per_page: 10, - page: 1, - client_id: 'client_id', - audience: 'api', - include_totals: true - ) - end.not_to raise_error - end - end - - context '.create_organizations_client_grants' do - it 'is expected to respond to a create_organizations_client_grants method' do - expect(@instance).to respond_to(:create_organizations_client_grant) - end - - it 'is expected to post /api/v2/organizations/org_id/client-grants' do - expect(@instance).to receive(:post).with( - '/api/v2/organizations/org_id/client-grants', { - grant_id: 'grant_id' - }) - expect { @instance.create_organizations_client_grant('org_id', 'grant_id') }.not_to raise_error - end - end - - context '.delete_organizations_client_grant' do - it 'is expected to respond to a delete_organizations_client_grant method' do - expect(@instance).to respond_to(:delete_organizations_client_grant) - end - - it 'is expected to delete /api/v2/organizations/org_id/client-grants' do - expect(@instance).to receive(:delete).with( - '/api/v2/organizations/org_id/client-grants/grant_id') - expect { @instance.delete_organizations_client_grant('org_id', 'grant_id') }.not_to raise_error - end - end - -end diff --git a/spec/lib/auth0/api/v2/prompts_spec.rb b/spec/lib/auth0/api/v2/prompts_spec.rb deleted file mode 100644 index da60ad705..000000000 --- a/spec/lib/auth0/api/v2/prompts_spec.rb +++ /dev/null @@ -1,88 +0,0 @@ -require 'spec_helper' -describe Auth0::Api::V2::Prompts do - before :all do - dummy_instance = DummyClass.new - dummy_instance.extend(Auth0::Api::V2::Prompts) - @instance = dummy_instance - end - - context '.prompts' do - it 'is expected to respond to a prompts method' do - expect(@instance).to respond_to(:prompts) - end - - it 'is expected to respond to a get_prompts method' do - expect(@instance).to respond_to(:get_prompts) - end - - it 'is expected to get /api/v2/prompts' do - expect(@instance).to receive(:get).with('/api/v2/prompts') - - expect { @instance.prompts }.not_to raise_error - end - end - - context '.update_prompts' do - it 'is expected to respond to an update_prompts method' do - expect(@instance).to respond_to(:update_prompts) - end - - it 'is expected to respond to a patch_prompts method' do - expect(@instance).to respond_to(:patch_prompts) - end - - it 'is expected to call patch /api/v2/prompts' do - expect(@instance).to receive(:patch).with('/api/v2/prompts', { universal_login_experience: 'new' }) - - expect { @instance.update_prompts(universal_login_experience: 'new') }.not_to raise_error - end - end - - context '.custom_text' do - it 'is expected to respond to a custom_text method' do - expect(@instance).to respond_to(:custom_text) - end - - it 'is expected to respond to a get_custom_text method' do - expect(@instance).to respond_to(:get_custom_text) - end - - it 'is expected to get /api/v2/prompts/PROMPT_NAME/language/LANGUAGE' do - expect(@instance).to receive(:get).with('/api/v2/prompts/PROMPT_NAME/custom-text/LANGUAGE') - - expect { @instance.custom_text('PROMPT_NAME', 'LANGUAGE') }.not_to raise_error - end - - it 'is expected to raise an exception when the prompt is empty' do - expect { @instance.custom_text(nil, 'language') }.to raise_exception(Auth0::InvalidParameter) - end - - it 'is expected to raise an exception when the language is empty' do - expect { @instance.custom_text('prompt_name', nil) }.to raise_exception(Auth0::InvalidParameter) - end - end - - context '.update_custom_text' do - it 'is expected to respond to an update_custom_text method' do - expect(@instance).to respond_to(:update_custom_text) - end - - it 'is expected to respond to a put_custom_text method' do - expect(@instance).to respond_to(:put_custom_text) - end - - it 'is expected to call put /api/v2/prompts/PROMPT_NAME/language/LANGUAGE' do - expect(@instance).to receive(:put).with('/api/v2/prompts/PROMPT_NAME/custom-text/LANGUAGE', 'BODY') - - expect { @instance.update_custom_text('PROMPT_NAME', 'LANGUAGE', 'BODY') }.not_to raise_error - end - - it 'is expected to raise an exception when the prompt is empty' do - expect { @instance.update_custom_text(nil,'language', 'BODY') }.to raise_exception(Auth0::InvalidParameter) - end - - it 'is expected to raise an exception when the language is empty' do - expect { @instance.update_custom_text('prompt_name', nil, 'BODY') }.to raise_exception(Auth0::InvalidParameter) - end - end -end diff --git a/spec/lib/auth0/api/v2/refresh_tokens_spec.rb b/spec/lib/auth0/api/v2/refresh_tokens_spec.rb deleted file mode 100644 index 04a574c50..000000000 --- a/spec/lib/auth0/api/v2/refresh_tokens_spec.rb +++ /dev/null @@ -1,51 +0,0 @@ -# frozen_string_literal: true - -require 'spec_helper' - -describe Auth0::Api::V2::RefreshTokens do - before :all do - dummy_instance = DummyClass.new - dummy_instance.extend(Auth0::Api::V2::RefreshTokens) - @instance = dummy_instance - end - - describe '.refresh_token' do - it 'is expected to respond to a refresh_token method' do - expect(@instance).to respond_to(:refresh_token) - end - - it 'is expected to GET a refresh_token' do - expect(@instance).to receive(:get).with( - '/api/v2/refresh-tokens/REFRESH_TOKEN_ID' - ) - - expect do - @instance.refresh_token('REFRESH_TOKEN_ID') - end.not_to raise_error - end - - it 'is expected to raise an exception when the id is empty' do - expect { @instance.refresh_token(nil) }.to raise_error('Must supply a valid id') - end - end - - describe '.delete_refresh_token' do - it 'is expected to respond to a delete_refresh_token method' do - expect(@instance).to respond_to(:delete_refresh_token) - end - - it 'is expected to DELETE a refresh_token' do - expect(@instance).to receive(:delete).with( - '/api/v2/refresh-tokens/REFRESH_TOKEN_ID' - ) - - expect do - @instance.delete_refresh_token('REFRESH_TOKEN_ID') - end.not_to raise_error - end - - it 'is expected to raise an exception when the id is empty' do - expect { @instance.delete_refresh_token(nil) }.to raise_error('Must supply a valid id') - end - end -end diff --git a/spec/lib/auth0/api/v2/resource_servers_spec.rb b/spec/lib/auth0/api/v2/resource_servers_spec.rb deleted file mode 100644 index 8c7115bb9..000000000 --- a/spec/lib/auth0/api/v2/resource_servers_spec.rb +++ /dev/null @@ -1,86 +0,0 @@ -require 'spec_helper' -describe Auth0::Api::V2::ResourceServers do - before :all do - dummy_instance = DummyClass.new - dummy_instance.extend(Auth0::Api::V2::ResourceServers) - dummy_instance.extend(Auth0::Mixins::Initializer) - @instance = dummy_instance - end - - context '.resource_servers' do - it { expect(@instance).to respond_to(:resource_servers) } - it { expect(@instance).to respond_to(:get_resource_servers) } - it 'is expected to call get /api/v2/resource-servers' do - expect(@instance).to receive(:get).with( - '/api/v2/resource-servers', { - page: nil, - per_page: nil, - }) - expect { @instance.resource_servers }.not_to raise_error - end - end - - context '.resource_server' do - it { expect(@instance).to respond_to(:resource_server) } - it 'is expected to call get /api/v2/resource-servers/test' do - expect(@instance).to receive(:get).with('/api/v2/resource-servers/test') - expect { @instance.resource_server('test') }.not_to raise_error - end - it 'expect to raise an error when calling with empty resource server id' do - expect { @instance.resource_server(nil) }.to raise_error 'Must supply a valid resource server id' - end - end - - context '.create_resource_server' do - it { expect(@instance).to respond_to(:create_resource_server) } - it 'is expected to call post /api/v2/resource-servers' do - expect(@instance).to receive(:post).with( - '/api/v2/resource-servers', { - identifier: 'test', - name: 'name', - signing_alg: 'signing_alg', - signing_secret: 'signing_secret', - token_lifetime: 'token_lifetime', - scopes: 'scopes' - }) - - @instance.create_resource_server('test', name: 'name', - signing_alg: 'signing_alg', - signing_secret: 'signing_secret', - token_lifetime: 'token_lifetime', - scopes: 'scopes') - end - it 'expect to raise an error when calling with empty identifier' do - expect { @instance.create_resource_server(nil) }.to raise_error 'Must supply a valid resource server id' - end - it 'expect to raise an error when name contains < or > characters' do - expect { @instance.create_resource_server('test', name: '<') }.to raise_error( - 'Name must contain at least one character. Does not allow "<" or ">"' - ) - expect { @instance.create_resource_server('test', name: '>') }.to raise_error( - 'Name must contain at least one character. Does not allow "<" or ">"' - ) - end - end - - context '.delete_resource_server' do - it { expect(@instance).to respond_to(:delete_resource_server) } - it 'is expected to call delete /api/v2/resource-server/test' do - expect(@instance).to receive(:delete).with('/api/v2/resource-servers/test') - expect { @instance.delete_resource_server('test') }.not_to raise_error - end - it 'expect to raise an error when calling with empty resource server identifier' do - expect { @instance.delete_resource_server(nil) }.to raise_error 'Must supply a valid resource server id' - end - end - - context '.patch_resource_server' do - it { expect(@instance).to respond_to(:patch_resource_server) } - it 'is expected to send patch to /api/v2/resource_servers/1' do - expect(@instance).to receive(:patch).with('/api/v2/resource-servers/1', { fields: 'fields' }) - expect { @instance.patch_resource_server('1', fields: 'fields') }.not_to raise_error - end - it { expect { @instance.patch_resource_server('', nil) }.to raise_error Auth0::InvalidParameter } - it { expect { @instance.patch_resource_server('some', nil) }.to raise_error Auth0::InvalidParameter } - end -end diff --git a/spec/lib/auth0/api/v2/roles_spec.rb b/spec/lib/auth0/api/v2/roles_spec.rb deleted file mode 100644 index 169c37d35..000000000 --- a/spec/lib/auth0/api/v2/roles_spec.rb +++ /dev/null @@ -1,366 +0,0 @@ -require 'spec_helper' -describe Auth0::Api::V2::Roles do - before :all do - dummy_instance = DummyClass.new - dummy_instance.extend(Auth0::Api::V2::Roles) - @instance = dummy_instance - end - - context '.get_roles' do - it 'is expected to exist' do - expect(@instance).to respond_to(:get_roles) - end - - it 'is expected to have a roles alias' do - expect(@instance).to respond_to(:roles) - end - - it 'is expected to get Roles with default parameters' do - expect(@instance).to receive(:get).with( - '/api/v2/roles', { - per_page: nil, - page: nil, - include_totals: nil, - name_filter: nil - }) - expect { @instance.get_roles }.not_to raise_error - end - - it 'is expected to get Roles with custom parameters' do - expect(@instance).to receive(:get).with( - '/api/v2/roles', { - per_page: 10, - page: 3, - include_totals: true, - name_filter: 'test' - }) - expect do - @instance.get_roles(per_page: 10, page: 3, include_totals: true, name_filter: 'test') - end.not_to raise_error - end - end - - context '.get_role' do - it 'is expected to exist' do - expect(@instance).to respond_to(:get_role) - end - - it 'is expected to have a role alias' do - expect(@instance).to respond_to(:role) - end - - it 'is expected to raise an exception if an empty Role ID is passed' do - expect(@instance).not_to receive(:get) - expect do - @instance.get_role('') - end.to raise_exception Auth0::MissingParameter - end - - it 'is expected to get a Role by ID' do - expect(@instance).to receive(:get).with('/api/v2/roles/ROLE_ID') - expect { @instance.get_role('ROLE_ID') }.not_to raise_error - end - end - - context '.create_role' do - it 'is expected to exist' do - expect(@instance).to respond_to(:create_role) - end - - it 'is expected to raise an exception if an empty Role name is passed' do - expect(@instance).not_to receive(:post) - expect do - @instance.create_role('') - end.to raise_exception Auth0::MissingParameter - end - - it 'is expected to post a new Role' do - expect(@instance).to receive(:post).with( - '/api/v2/roles', { - name: 'ROLE_NAME', - description: 'ROLE_DESCRIPTION' - }) - expect do - @instance.create_role( - 'ROLE_NAME', - description: 'ROLE_DESCRIPTION' - ) - end.not_to raise_error - end - end - - context '.update_role' do - it 'is expected to exist' do - expect(@instance).to respond_to(:update_role) - end - - it 'is expected to raise an exception if an empty Role ID is passed' do - expect(@instance).not_to receive(:patch) - expect do - @instance.update_role('') - end.to raise_exception Auth0::MissingParameter - end - - it 'is expected to post an updated Role' do - expect(@instance).to receive(:patch).with( - '/api/v2/roles/ROLE_ID', { - name: 'ROLE_NAME', - description: 'ROLE_DESCRIPTION' - }) - expect do - @instance.update_role( - 'ROLE_ID', - name: 'ROLE_NAME', - description: 'ROLE_DESCRIPTION' - ) - end.not_to raise_error - end - end - - context '.delete_role' do - it 'is expected to exist' do - expect(@instance).to respond_to(:delete_role) - end - - it 'is expected to raise an exception if an empty Role ID is passed' do - expect(@instance).not_to receive(:delete) - expect do - @instance.delete_role('') - end.to raise_exception Auth0::MissingParameter - end - - it 'is expected to delete a Role' do - expect(@instance).to receive(:delete).with('/api/v2/roles/ROLE_ID') - expect { @instance.delete_role('ROLE_ID') }.not_to raise_error - end - end - - context '.get_users' do - it 'is expected to exist' do - expect(@instance).to respond_to(:get_role_users) - end - - it 'is expected to raise an exception if an empty Role ID is passed' do - expect(@instance).not_to receive(:get) - expect do - @instance.get_role_users('') - end.to raise_exception Auth0::MissingParameter - end - - it 'is expected to get Users for a Role with default parameters' do - expect(@instance).to receive(:get).with( - '/api/v2/roles/ROLE_ID/users', { - per_page: nil, - page: nil, - from: nil, - take: nil, - include_totals: nil - }) - expect { @instance.get_role_users('ROLE_ID') }.not_to raise_error - end - - it 'is expected to get Users for a Role with custom parameters' do - expect(@instance).to receive(:get).with( - '/api/v2/roles/ROLE_ID/users', { - per_page: 30, - page: 4, - from: 'org_id', - take: 50, - include_totals: true - }) - expect do - @instance.get_role_users('ROLE_ID', per_page: 30, page: 4, from: 'org_id', take: 50, include_totals: true) - end.not_to raise_error - end - end - - context '.add_users' do - it 'is expected to exist' do - expect(@instance).to respond_to(:add_role_users) - end - - it 'is expected to raise an exception if an empty Role ID is passed' do - expect(@instance).not_to receive(:post) - expect do - @instance.add_role_users('', []) - end.to raise_exception Auth0::MissingParameter - end - - it 'is expected to raise an exception if an array is not passed for Users' do - expect(@instance).not_to receive(:post) - expect do - @instance.add_role_users('ROLE_ID', 'USERS') - end.to raise_exception Auth0::InvalidParameter - end - - it 'is expected to raise an exception if no User IDs are passed' do - expect(@instance).not_to receive(:post) - expect do - @instance.add_role_users('ROLE_ID', []) - end.to raise_exception Auth0::MissingParameter - end - - it 'is expected to add Users to a Role' do - expect(@instance).to receive(:post).with( - '/api/v2/roles/ROLE_ID/users', { - users: %w[test|user-01 test|user-02] - }) - expect do - @instance.add_role_users('ROLE_ID', %w[test|user-01 test|user-02]) - end.not_to raise_error - end - end - - context '.get_permissions' do - it 'is expected to exist' do - expect(@instance).to respond_to(:get_role_permissions) - end - - it 'is expected to raise an exception if an empty Role ID is passed' do - expect(@instance).not_to receive(:get) - expect do - @instance.get_role_permissions('') - end.to raise_exception Auth0::MissingParameter - end - - it 'is expected to get Roles with default parameters' do - expect(@instance).to receive(:get).with( - '/api/v2/roles/ROLE_ID/permissions', { - per_page: nil, - page: nil, - include_totals: nil - }) - expect { @instance.get_role_permissions('ROLE_ID') }.not_to raise_error - end - - it 'is expected to get Roles with custom parameters' do - expect(@instance).to receive(:get).with( - '/api/v2/roles/ROLE_ID/permissions', { - per_page: 15, - page: 5, - include_totals: true - }) - expect do - @instance.get_role_permissions('ROLE_ID', per_page: 15, page: 5, include_totals: true) - end.not_to raise_error - end - end - - context '.add_permissions' do - it 'is expected to exist' do - expect(@instance).to respond_to(:add_role_permissions) - end - - it 'is expected to raise an exception if an empty Role ID is passed' do - expect(@instance).not_to receive(:post) - expect do - @instance.add_role_permissions('', []) - end.to raise_exception Auth0::MissingParameter - end - - it 'is expected to raise an exception if an array is not passed for permissions' do - expect(@instance).not_to receive(:post) - expect do - @instance.add_role_permissions('ROLE_ID', 'PERMISSIONS') - end.to raise_exception Auth0::InvalidParameter - end - - it 'is expected to raise an exception if an empty permissions array is passed' do - expect(@instance).not_to receive(:post) - expect do - @instance.add_role_permissions('ROLE_ID', []) - end.to raise_exception Auth0::MissingParameter - end - - it 'is expected to raise an exception if the permissions array does not contain Permission structs' do - expect(@instance).not_to receive(:post) - expect do - @instance.add_role_permissions('ROLE_ID', [1, 2, 3]) - end.to raise_exception Auth0::InvalidParameter - end - - it 'is expected to add permissions to a Role' do - expect(@instance).to receive(:post).with( - '/api/v2/roles/ROLE_ID/permissions', { - permissions: [ - { - permission_name: 'permission-name-1', - resource_server_identifier: 'server-id-1' - }, - { - permission_name: 'permission-name-2', - resource_server_identifier: 'server-id-2' - } - ] - }) - expect do - @instance.add_role_permissions( - 'ROLE_ID', - [ - Auth0::Permission.new('permission-name-1', 'server-id-1'), - Auth0::Permission.new('permission-name-2', 'server-id-2') - ] - ) - end.not_to raise_error - end - end - - context '.remove_permissions' do - it 'is expected to exist' do - expect(@instance).to respond_to(:remove_role_permissions) - end - - it 'is expected to raise an exception if an empty Role ID is passed' do - expect(@instance).not_to receive(:delete_with_body) - expect do - @instance.remove_role_permissions('', []) - end.to raise_exception Auth0::MissingParameter - end - - it 'is expected to raise an exception if an array is not passed for permissions' do - expect(@instance).not_to receive(:post) - expect do - @instance.remove_role_permissions('ROLE_ID', 'PERMISSIONS') - end.to raise_exception Auth0::InvalidParameter - end - - it 'is expected to raise an exception if an empty permissions array is passed' do - expect(@instance).not_to receive(:delete_with_body) - expect do - @instance.remove_role_permissions('ROLE_ID', []) - end.to raise_exception Auth0::MissingParameter - end - - it 'is expected to raise an exception if the permissions array does not contain Permission structs' do - expect(@instance).not_to receive(:post) - expect do - @instance.remove_role_permissions('ROLE_ID', [1, 2, 3]) - end.to raise_exception Auth0::InvalidParameter - end - - it 'is expected to remove permissions from a Role' do - expect(@instance).to receive(:delete_with_body).with( - '/api/v2/roles/ROLE_ID/permissions', { - permissions: [ - { - permission_name: 'permission-name-3', - resource_server_identifier: 'server-id-3' - }, - { - permission_name: 'permission-name-4', - resource_server_identifier: 'server-id-4' - } - ] - }) - expect do - @instance.remove_role_permissions( - 'ROLE_ID', - [ - Auth0::Permission.new('permission-name-3', 'server-id-3'), - Auth0::Permission.new('permission-name-4', 'server-id-4') - ] - ) - end.not_to raise_error - end - end -end diff --git a/spec/lib/auth0/api/v2/rules_spec.rb b/spec/lib/auth0/api/v2/rules_spec.rb deleted file mode 100644 index cd05c5e47..000000000 --- a/spec/lib/auth0/api/v2/rules_spec.rb +++ /dev/null @@ -1,95 +0,0 @@ -require 'spec_helper' -describe Auth0::Api::V2::Rules do - before :all do - dummy_instance = DummyClass.new - dummy_instance.extend(Auth0::Api::V2::Rules) - dummy_instance.extend(Auth0::Mixins::Initializer) - @instance = dummy_instance - end - - context '.rules' do - it { expect(@instance).to respond_to(:rules) } - - it 'is expected to call get /api/v2/rules' do - expect(@instance).to receive(:get).with( - '/api/v2/rules', { - enabled: nil, - fields: nil, - include_fields: nil, - stage: nil, - page: nil, - per_page: nil - }) - expect { @instance.rules }.not_to raise_error - end - - it 'is expected to call get /api/v2/rules with pagination' do - expect(@instance).to receive(:get).with( - '/api/v2/rules', { - enabled: nil, - fields: nil, - include_fields: nil, - stage: nil, - page: 1, - per_page: 2 - }) - expect { - @instance.rules(page: 1, per_page: 2) - }.not_to raise_error - end - end - - context '.rule' do - it { expect(@instance).to respond_to(:rule) } - it 'is expected to call get /api/v2/rules/test' do - expect(@instance).to receive(:get).with( - '/api/v2/rules/test', { fields: nil, include_fields: nil } - ) - expect { @instance.rule('test') }.not_to raise_error - end - it 'expect to raise an error when calling with empty rule id' do - expect { @instance.rule(nil) }.to raise_error 'Must supply a valid rule id' - end - end - - context '.create_rule' do - it { expect(@instance).to respond_to(:create_rule) } - it 'is expected to call post /api/v2/rules' do - expect(@instance).to receive(:post).with( - '/api/v2/rules', - { name: 'test', script: 'script', order: 'order', enabled: false, stage: 'login_success' } - ) - expect { @instance.create_rule('test', 'script', 'order', false) }.not_to raise_error - end - it 'expect to raise an error when calling with empty name' do - expect { @instance.create_rule(nil, 'script') }.to raise_error 'Must supply a valid name' - end - it 'expect to raise an error when calling with empty script' do - expect { @instance.create_rule('test', nil) }.to raise_error 'Must supply a valid script' - end - end - context '.update_rule' do - it { expect(@instance).to respond_to(:update_rule) } - it 'is expected to call put /api/v2/rules/test' do - expect(@instance).to receive(:patch).with( - '/api/v2/rules/test', { script: 'script', order: 'order', enabled: true, stage: 'some_stage' } - ) - expect do - @instance.update_rule('test', script: 'script', order: 'order', enabled: true, stage: 'some_stage') - end.not_to raise_error - end - it 'expect to raise an error when calling with empty rule id' do - expect { @instance.update_rule(nil, 'test') }.to raise_error 'Must supply a valid rule id' - end - end - context '.delete_rule' do - it { expect(@instance).to respond_to(:delete_rule) } - it 'is expected to call delete /api/v2/rules/test' do - expect(@instance).to receive(:delete).with('/api/v2/rules/test') - expect { @instance.delete_rule('test') }.not_to raise_error - end - it 'expect to raise an error when calling with empty rule id' do - expect { @instance.delete_rule(nil) }.to raise_error 'Must supply a valid rule id' - end - end -end diff --git a/spec/lib/auth0/api/v2/sessions_spec.rb b/spec/lib/auth0/api/v2/sessions_spec.rb deleted file mode 100644 index 821075123..000000000 --- a/spec/lib/auth0/api/v2/sessions_spec.rb +++ /dev/null @@ -1,71 +0,0 @@ -# frozen_string_literal: true - -require 'spec_helper' - -describe Auth0::Api::V2::Sessions do - before :all do - dummy_instance = DummyClass.new - dummy_instance.extend(Auth0::Api::V2::Sessions) - @instance = dummy_instance - end - - context '.session' do - it 'is expected to respond to a session method' do - expect(@instance).to respond_to(:session) - end - - it 'is expected to GET a session' do - expect(@instance).to receive(:get).with( - '/api/v2/sessions/SESSION_ID' - ) - - expect do - @instance.session('SESSION_ID') - end.not_to raise_error - end - - it 'is expected to raise an exception when the session ID is empty' do - expect { @instance.session(nil) }.to raise_error('Must supply a valid session_id') - end - end - - context '.delete_session' do - it 'is expected to respond to a delete_session method' do - expect(@instance).to respond_to(:delete_session) - end - - it 'is expected to DELETE a session' do - expect(@instance).to receive(:delete).with( - '/api/v2/sessions/SESSION_ID' - ) - - expect do - @instance.delete_session('SESSION_ID') - end.not_to raise_error - end - - it 'is expected to raise an exception when the session ID is empty' do - expect { @instance.delete_session(nil) }.to raise_error('Must supply a valid session_id') - end - end - - context '.revoke_session' do - it 'is expected to respond to a revoke_session method' do - expect(@instance).to respond_to(:revoke_session) - end - - it 'is expected to POST to /api/v2/sessions/{id}/revoke' do - expect(@instance).to receive(:post).with( - '/api/v2/sessions/SESSION_ID/revoke' - ) - - expect do - @instance.revoke_session('SESSION_ID') - end.not_to raise_error - end - - it 'is expected to raise an exception when the session ID is empty' do - expect { @instance.revoke_session(nil) }.to raise_error('Must supply a valid session_id') - end - end -end diff --git a/spec/lib/auth0/api/v2/stats_spec.rb b/spec/lib/auth0/api/v2/stats_spec.rb deleted file mode 100644 index 0c4da311a..000000000 --- a/spec/lib/auth0/api/v2/stats_spec.rb +++ /dev/null @@ -1,22 +0,0 @@ -require 'spec_helper' -describe Auth0::Api::V2::Stats do - before :all do - dummy_instance = DummyClass.new - dummy_instance.extend(Auth0::Api::V2::Stats) - @instance = dummy_instance - end - context '.active_users' do - it { expect(@instance).to respond_to(:active_users) } - it 'expect client to send get to /api/v2/stats/active-users' do - expect(@instance).to receive(:get).with('/api/v2/stats/active-users') - expect { @instance.active_users }.not_to raise_error - end - end - context '.daily_stats' do - it { expect(@instance).to respond_to(:daily_stats) } - it 'expect client to send get to /api/v2/stats/daily' do - expect(@instance).to receive(:get).with('/api/v2/stats/daily', { from: '20120222', to: '20151222' }) - expect { @instance.daily_stats('20120222', '20151222') }.not_to raise_error - end - end -end diff --git a/spec/lib/auth0/api/v2/tenants_spec.rb b/spec/lib/auth0/api/v2/tenants_spec.rb deleted file mode 100644 index 7b2dc95fb..000000000 --- a/spec/lib/auth0/api/v2/tenants_spec.rb +++ /dev/null @@ -1,26 +0,0 @@ -require 'spec_helper' -describe Auth0::Api::V2::Tenants do - before :all do - @instance = DummyClass.new.extend(Auth0::Api::V2::Tenants) - end - - context '.get_tenant_settings' do - it { expect(@instance).to respond_to(:get_tenant_settings) } - it 'expect client to send post to /api/v2/tenants/settings with fields' do - expect(@instance).to receive(:get).with('/api/v2/tenants/settings', { fields: 'field', include_fields: true }) - expect { @instance.get_tenant_settings(fields: 'field') }.not_to raise_error - end - end - context '.update_tenant_settings' do - it { expect(@instance).to respond_to(:update_tenant_settings) } - it 'expect client to send post to /api/v2/tenants/settings with body' do - expect(@instance).to receive(:patch).with('/api/v2/tenants/settings', 'test body') - expect { @instance.update_tenant_settings('test body') }.not_to raise_error - end - it 'expect client to rasie error when calling with empty body' do - expect { @instance.update_tenant_settings(nil) }.to raise_error( - 'Must supply a valid body to update tenant settings' - ) - end - end -end diff --git a/spec/lib/auth0/api/v2/tickets_spec.rb b/spec/lib/auth0/api/v2/tickets_spec.rb deleted file mode 100644 index ad159c787..000000000 --- a/spec/lib/auth0/api/v2/tickets_spec.rb +++ /dev/null @@ -1,118 +0,0 @@ -require 'spec_helper' -describe Auth0::Api::V2::Tickets do - before :all do - @instance = DummyClass.new.extend(Auth0::Api::V2::Tickets) - end - - context '.post_email_verification' do - it { expect(@instance).to respond_to(:post_email_verification) } - it 'expect client to send post to /api/v2/tickets/email-verification with body' do - expect(@instance).to receive(:post).with('/api/v2/tickets/email-verification', { user_id: 'user_id', - result_url: nil, ttl_sec: nil }) - expect { @instance.post_email_verification('user_id') }.not_to raise_error - end - it 'expect client to accept integer ttl_sec' do - expect(@instance).to receive(:post).with('/api/v2/tickets/email-verification', { user_id: 'user_id', - result_url: nil, ttl_sec: 300 }) - expect { @instance.post_email_verification('user_id', ttl_sec: 300) }.not_to raise_error - end - it 'expect client to return nil when calling with a non-integer ttl_sec' do - expect(@instance).to receive(:post).with('/api/v2/tickets/email-verification', { user_id: 'user_id', - result_url: nil, ttl_sec: nil }) - expect { @instance.post_email_verification('user_id', ttl_sec: "noninteger") }.not_to raise_error - end - it 'expect client to accept hash identity' do - expect(@instance).to receive(:post).with('/api/v2/tickets/email-verification', { user_id: 'user_id', - result_url: nil, - ttl_sec: nil, - identity: { - provider: "auth0", - user_id: "user_id" - }}) - expect { - @instance.post_email_verification('user_id', identity: { provider: "auth0", user_id: "user_id"}) - }.not_to raise_error - end - it 'expect client to return nil when calling with a non-hash identity' do - expect { @instance.post_email_verification('user_id', identity: "nonhash") }.to raise_error( - 'Identity must be a hash to post an email verification' - ) - end - it 'expect client to rasie error when calling with empty body' do - expect { @instance.post_email_verification(nil) }.to raise_error( - 'Must supply a valid user id to post an email verification' - ) - end - end - - context '.post_password_change' do - it { expect(@instance).to respond_to(:post_password_change) } - it 'expect client to send post to /api/v2/tickets/password-change with body' do - expect(@instance).to receive(:post).with('/api/v2/tickets/password-change', { - result_url: nil, - user_id: nil, - connection_id: nil, - email: nil, - ttl_sec: nil, - mark_email_as_verified: nil, - includeEmailInRedirect: nil, - new_password: nil }) - expect {@instance.post_password_change}.not_to raise_error - end - - it 'expect client to accept organization_id' do - expect(@instance).to receive(:post).with('/api/v2/tickets/password-change', { - result_url: nil, - user_id: nil, - connection_id: nil, - email: nil, - ttl_sec: nil, - mark_email_as_verified: nil, - includeEmailInRedirect: nil, - new_password: nil, - client_id: '123', - organization_id: '999' - }) - expect { - @instance.post_password_change( - result_url: nil, - user_id: nil, - connection_id: nil, - email: nil, - ttl_sec: nil, - mark_email_as_verified: nil, - includeEmailInRedirect: nil, - new_password: nil, - client_id: '123', - organization_id: '999') - }.not_to raise_error - end - - it 'expect client to accept client_id' do - expect(@instance).to receive(:post).with('/api/v2/tickets/password-change', { - result_url: nil, - user_id: nil, - connection_id: nil, - email: nil, - ttl_sec: nil, - mark_email_as_verified: nil, - includeEmailInRedirect: nil, - new_password: nil, - client_id: '123' - }) - expect { - @instance.post_password_change( - result_url: nil, - user_id: nil, - connection_id: nil, - email: nil, - ttl_sec: nil, - mark_email_as_verified: nil, - includeEmailInRedirect: nil, - new_password: nil, - client_id: '123' - ) - }.not_to raise_error - end - end -end diff --git a/spec/lib/auth0/api/v2/user_blocks_spec.rb b/spec/lib/auth0/api/v2/user_blocks_spec.rb deleted file mode 100644 index 1790a1e1b..000000000 --- a/spec/lib/auth0/api/v2/user_blocks_spec.rb +++ /dev/null @@ -1,52 +0,0 @@ -require 'spec_helper' -describe Auth0::Api::V2::UserBlocks do - before :all do - dummy_instance = DummyClass.new - dummy_instance.extend(Auth0::Api::V2::UserBlocks) - @instance = dummy_instance - end - - context '.user_blocks' do - it { expect(@instance).to respond_to(:user_blocks) } - it 'is expected to call /api/v2/user-blocks?identifier=Test' do - expect(@instance).to receive(:get).with('/api/v2/user-blocks', { identifier: 'Test' }) - expect { @instance.user_blocks('Test') }.not_to raise_error - end - it 'expect client to raise an error when calling with empty identifier' do - expect { @instance.user_blocks(nil) }.to raise_error('Must specify a valid identifier') - end - end - - context '.delete_user_blocks' do - it { expect(@instance).to respond_to(:delete_user_blocks) } - it 'is expected to call /api/v2/user-blocks?identifier=Test' do - expect(@instance).to receive(:delete).with('/api/v2/user-blocks', { identifier: 'Test' }) - expect { @instance.delete_user_blocks('Test') }.not_to raise_error - end - it 'expect client to raise an error when calling with empty identifier' do - expect { @instance.delete_user_blocks(nil) }.to raise_error('Must specify a valid identifier') - end - end - - context '.user_blocks_by_id' do - it { expect(@instance).to respond_to(:user_blocks_by_id) } - it 'is expected to call /api/v2/user-blocks/Test' do - expect(@instance).to receive(:get).with('/api/v2/user-blocks/Test') - expect { @instance.user_blocks_by_id('Test') }.not_to raise_error - end - it 'expect client to raise an error when calling with empty identifier' do - expect { @instance.user_blocks_by_id(nil) }.to raise_error('Must specify a valid identifier') - end - end - - context '.delete_user_blocks_by_id' do - it { expect(@instance).to respond_to(:delete_user_blocks_by_id) } - it 'is expected to call /api/v2/user-blocks/Test' do - expect(@instance).to receive(:delete).with('/api/v2/user-blocks/Test') - expect { @instance.delete_user_blocks_by_id('Test') }.not_to raise_error - end - it 'expect client to raise an error when calling with empty identifier' do - expect { @instance.delete_user_blocks_by_id(nil) }.to raise_error('Must specify a valid identifier') - end - end -end diff --git a/spec/lib/auth0/api/v2/users_by_email_spec.rb b/spec/lib/auth0/api/v2/users_by_email_spec.rb deleted file mode 100644 index e7aa0e48d..000000000 --- a/spec/lib/auth0/api/v2/users_by_email_spec.rb +++ /dev/null @@ -1,21 +0,0 @@ -require 'spec_helper' -describe Auth0::Api::V2::UsersByEmail do - before :all do - dummy_instance = DummyClass.new - dummy_instance.extend(Auth0::Api::V2::UsersByEmail) - @instance = dummy_instance - end - - context '.users_by_email' do - it { expect(@instance).to respond_to(:users_by_email) } - it 'is expected to call /api/v2/users-by-email' do - expect(@instance).to receive(:get).with( - '/api/v2/users-by-email', { - fields: nil, - include_fields: nil, - email: 'email' - }) - expect { @instance.users_by_email('email') }.not_to raise_error - end - end -end diff --git a/spec/lib/auth0/api/v2/users_spec.rb b/spec/lib/auth0/api/v2/users_spec.rb deleted file mode 100644 index 95deb0bd1..000000000 --- a/spec/lib/auth0/api/v2/users_spec.rb +++ /dev/null @@ -1,900 +0,0 @@ -require 'spec_helper' -describe Auth0::Api::V2::Users do - before :all do - dummy_instance = DummyClass.new - dummy_instance.extend(Auth0::Api::V2::Users) - @instance = dummy_instance - end - - context '.users' do - it 'is expected to respond to a users method' do - expect(@instance).to respond_to(:users) - end - - it 'is expected to respond to a get_users method' do - expect(@instance).to respond_to(:get_users) - end - - it 'is expected to get /api/v2/users' do - expect(@instance).to receive(:get).with( - '/api/v2/users', { - per_page: nil, - page: nil, - include_totals: nil, - sort: nil, - connection: nil, - fields: nil, - include_fields: nil, - q: nil, - search_engine: nil - }) - expect { @instance.users }.not_to raise_error - end - - it 'is expected to get /api/v2/users with custom parameters' do - expect(@instance).to receive(:get).with( - '/api/v2/users', { - per_page: 10, - page: 1, - include_totals: true, - sort: nil, - connection: 'auth0', - fields: 'name,email', - include_fields: nil, - q: nil, - search_engine: 'v3' - }) - expect do - @instance.users( - search_engine: 'v3', - per_page: 10, - page: 1, - include_totals: true, - connection: 'auth0', - fields: 'name,email' - ) - end.not_to raise_error - end - end - - context '.user' do - it 'is expected to respond to a user method' do - expect(@instance).to respond_to(:user) - end - - it 'is expected to call get request to /api/v2/users/USER_ID' do - expect(@instance).to receive(:get).with( - '/api/v2/users/USER_ID', { - fields: nil, - include_fields: true - }) - expect { @instance.user('USER_ID') }.not_to raise_error - end - - it 'is expected to raise an exception when the user ID is empty' do - expect { @instance.user(nil) }.to raise_exception(Auth0::MissingUserId) - end - end - - context '.create_user' do - it 'is expected to respond to a create_user method' do - expect(@instance).to respond_to(:create_user) - end - - it 'is expected to post to /api/v2/users' do - expect(@instance).to receive(:post).with( - '/api/v2/users', { - email: 'test@test.com', - password: 'password', - connection: 'conn' - }) - expect do - @instance.create_user( - 'conn', - email: 'test@test.com', - password: 'password' - ) - end.not_to raise_error - end - - it 'is expected to raise error if connection is not specified' do - expect(@instance).not_to receive(:delete) - expect { - @instance.create_user( - email: 'test@test.com', - password: 'password' - ) - }.to raise_exception( - Auth0::MissingParameter - ) - end - end - - context '.delete_users' do - it 'is expected to respond to a delete_users method' do - expect(@instance).to respond_to :delete_users - end - - it 'is expected to call delete to /api/v2/users' do - expect(@instance).to receive(:delete).with('/api/v2/users') - expect { @instance.delete_users }.not_to raise_error - end - end - - context '.delete_user' do - it 'is expected to respond to a delete_user method' do - expect(@instance).to respond_to(:delete_user) - end - - it 'is expected to delete /api/v2/users/USER_ID' do - expect(@instance).to receive(:delete).with('/api/v2/users/USER_ID') - @instance.delete_user('USER_ID') - end - - it 'is expected not to delete /api/v2/users if user_id is blank' do - expect(@instance).not_to receive(:delete) - expect { @instance.delete_user(nil) }.to raise_exception( - Auth0::MissingUserId - ) - end - end - - context '.delete_user_authenticators' do - it 'is expected to respond to a delete_user_authenticators method' do - expect(@instance).to respond_to(:delete_user_authenticators) - end - - it 'is expected to delete /api/v2/users/userId/authenticators' do - expect(@instance).to receive(:delete).with('/api/v2/users/USER_ID/authenticators') - @instance.delete_user_authenticators('USER_ID') - end - - it 'is expected to raise an exception when the user ID is empty' do - expect { @instance.delete_user_authenticators(nil) }.to raise_exception(Auth0::MissingUserId) - end - end - - context '.delete_user_provider' do - it 'is expected to respond to a delete_user_provider method' do - expect(@instance).to respond_to(:delete_user_provider) - end - - it 'is expected to delete /api/v2/users/userId/multifactor/provider' do - expect(@instance).to receive(:delete).with('/api/v2/users/USER_ID/multifactor/PROVIDER_NAME') - @instance.delete_user_provider('USER_ID', 'PROVIDER_NAME') - end - - it 'is expected to raise an exception when the user ID is empty' do - expect { @instance.delete_user_provider(nil, 'PROVIDER_NAME') }.to raise_exception(Auth0::MissingUserId) - end - - it 'is expected to raise an exception when the provider name is empty' do - expect { @instance.delete_user_provider('USER_ID', nil) }.to raise_error 'Must supply a valid provider name' - end - end - - context '.patch_user' do - it 'is expected to respond to a patch_user method' do - expect(@instance).to respond_to(:patch_user) - end - - it 'is expected to respond to a update_user method' do - expect(@instance).to respond_to(:update_user) - end - - it 'is expected to patch /api/v2/users/USER_ID' do - expect(@instance).to receive(:patch).with( - '/api/v2/users/USER_ID', { - email: 'test@test.com', - password: 'password', - connection: 'conn', - name: 'name' - }) - @instance.patch_user( - 'USER_ID', - email: 'test@test.com', - password: 'password', - connection: 'conn', - name: 'name' - ) - end - - it 'is expected to raise an exception when the user ID is empty' do - expect { @instance.patch_user(nil, 'BODY') }.to raise_exception(Auth0::MissingUserId) - end - - it 'is expected to raise an error when the body is empty' do - expect { @instance.patch_user('USER_ID', nil) }.to raise_error 'Must supply a valid body' - end - end - - context '.link_user_account' do - it 'is expected to respond to a link_user_account method' do - expect(@instance).to respond_to(:link_user_account) - end - - it 'is expected to post to /api/v2/users/UserId/identities' do - expect(@instance).to receive(:post).with('/api/v2/users/USER_ID/identities', { body: 'json body' }) - @instance.link_user_account('USER_ID', body: 'json body') - end - - it 'is expected to raise an exception when the user ID is empty' do - expect { @instance.link_user_account(nil, 'BODY') }.to raise_exception(Auth0::MissingUserId) - end - - it 'is expected to raise an error when the body is empty' do - expect { @instance.link_user_account('USER_ID', nil) }.to raise_error 'Must supply a valid body' - end - end - - context '.unlink_user_account' do - it 'is expected to respond to a unlink_user_account method' do - expect(@instance).to respond_to(:unlink_user_account) - end - it 'is expected to respond to a unlink_users_account alias' do - expect(@instance).to respond_to(:unlink_users_account) - end - - it 'is expected to delete /api/v2/users/UserId/identities' do - expect(@instance).to receive(:delete).with('/api/v2/users/USER_ID_1/identities/PROVIDER_NAME/USER_ID_2') - @instance.unlink_users_account('USER_ID_1', 'PROVIDER_NAME', 'USER_ID_2') - end - - it 'is expected to raise an exception when the user ID is empty' do - expect do - @instance.unlink_users_account(nil, 'PROVIDER_NAME', 'USER_ID_2') - end.to raise_error 'Must supply a valid user_id' - end - - it 'is expected to raise an exception when the provider is empty' do - expect do - @instance.unlink_users_account('USER_ID_1', nil, 'USER_ID_2') - end.to raise_error 'Must supply a valid provider' - end - - it 'is expected to raise an exception when the secondary user ID is empty' do - expect do - @instance.unlink_users_account('USER_ID_1', 'PROVIDER_NAME', nil) - end.to raise_error 'Must supply a valid secondary user_id' - end - end - - context '.user_logs' do - it 'is expected to respond to a user_logs method' do - expect(@instance).to respond_to(:user_logs) - end - - it 'is expected to respond to a get_user_log_events method' do - expect(@instance).to respond_to(:get_user_log_events) - end - - it 'is expected to get /api/v2/USER_ID/logs' do - expect(@instance).to receive(:get).with( - '/api/v2/users/USER_ID/logs', { - per_page: nil, - page: nil, - include_totals: nil, - sort: nil - }) - expect { @instance.user_logs('USER_ID') }.not_to raise_error - end - - it 'is expected to raise an exception when the user ID is empty' do - expect { @instance.user_logs(nil) }.to raise_exception(Auth0::MissingUserId) - end - - it 'is expected to raise an error when per_page is higher than 100' do - expect { @instance.user_logs('USER_ID', per_page: rand(101..2000)) }.to raise_error( - 'The total amount of entries per page should be less than 100' - ) - end - - it 'is expected to raise an error when sort does not match pattern' do - expect { @instance.user_logs('USER_ID', sort: 'no match') }.to raise_error( - 'Sort does not match pattern ^(([a-zA-Z0-9_\\.]+))\\:(1|-1)$' - ) - end - end - - context '.get_roles' do - it 'is expected to respond to a get_roles method' do - expect(@instance).to respond_to(:get_user_roles) - end - - it 'is expected to raise an exception when the user ID is empty' do - expect { @instance.get_user_roles(nil) }.to raise_exception(Auth0::MissingUserId) - end - - it 'is expected to get roles with default parameters' do - expect(@instance).to receive(:get).with( - '/api/v2/users/USER_ID/roles', { - per_page: nil, - page: nil, - include_totals: nil - }) - expect { @instance.get_user_roles('USER_ID') }.not_to raise_error - end - - it 'is expected to get roles with custom parameters' do - expect(@instance).to receive(:get).with( - '/api/v2/users/USER_ID/roles', { - per_page: 20, - page: 2, - include_totals: true - }) - expect do - @instance.get_user_roles('USER_ID', per_page: 20, page: 2, include_totals: true) - end.not_to raise_error - end - end - - context '.remove_user_roles' do - it 'is expected to respond to a remove_user_roles method' do - expect(@instance).to respond_to(:remove_user_roles) - end - - it 'is expected to raise an exception when the user ID is empty' do - expect { @instance.remove_user_roles(nil, 'ROLES') }.to raise_exception(Auth0::MissingUserId) - end - - it 'is expected to raise an exception when the roles are not an array' do - expect { @instance.remove_user_roles('USER_ID', 'ROLES') }.to raise_exception(Auth0::InvalidParameter) - end - - it 'is expected to raise an exception when the roles are empty' do - expect { @instance.remove_user_roles('USER_ID', []) }.to raise_exception(Auth0::MissingParameter) - end - - it 'is expected to raise an exception when the roles are empty' do - expect { @instance.remove_user_roles('USER_ID', [1, 2]) }.to raise_exception(Auth0::InvalidParameter) - end - - it 'is expected to remove roles' do - expect(@instance).to receive(:delete_with_body).with( - '/api/v2/users/USER_ID/roles', - roles: %w[test-role-01 test-role-02] - ) - expect do - @instance.remove_user_roles('USER_ID', %w[test-role-01 test-role-02]) - end.not_to raise_error - end - end - - context '.add_roles' do - it 'is expected to respond to a add_roles method' do - expect(@instance).to respond_to(:add_user_roles) - end - - it 'is expected to raise an exception when the user ID is empty' do - expect { @instance.add_user_roles(nil, 'ROLES') }.to raise_exception(Auth0::MissingUserId) - end - - it 'is expected to raise an exception when the user ID is empty' do - expect { @instance.add_user_roles('USER_ID', 'ROLES') }.to raise_exception(Auth0::InvalidParameter) - end - - it 'is expected to raise an exception when the roles are empty' do - expect { @instance.add_user_roles('USER_ID', [3, 4]) }.to raise_exception(Auth0::InvalidParameter) - end - - it 'is expected to add roles' do - expect(@instance).to receive(:post).with( - '/api/v2/users/USER_ID/roles', - roles: %w[test-role-03 test-role-04] - ) - expect do - @instance.add_user_roles('USER_ID', %w[test-role-03 test-role-04]) - end.not_to raise_error - end - end - - context '.get_enrollments' do - it 'is expected to respond to a get_enrollments method' do - expect(@instance).to respond_to(:get_enrollments) - end - - it 'is expected to raise an exception when the user ID is empty' do - expect { @instance.get_enrollments(nil) }.to raise_exception(Auth0::MissingUserId) - end - - it 'is expected to get enrollments' do - expect(@instance).to receive(:get).with('/api/v2/users/USER_ID/enrollments') - expect do - @instance.get_enrollments('USER_ID') - end.not_to raise_error - end - end - - context '.get_permissions' do - it 'is expected to respond to a get_permissions method' do - expect(@instance).to respond_to(:get_user_permissions) - end - - it 'is expected to raise an exception when the user ID is empty' do - expect { @instance.get_user_permissions(nil) }.to raise_exception(Auth0::MissingUserId) - end - - it 'is expected to get permissions' do - expect(@instance).to receive(:get).with( - '/api/v2/users/USER_ID/permissions', { - per_page: nil, - page: nil, - include_totals: nil, - }) - expect do - @instance.get_user_permissions('USER_ID') - end.not_to raise_error - end - - it 'is expected to get permissions with custom parameters' do - expect(@instance).to receive(:get).with( - '/api/v2/users/USER_ID/permissions', { - per_page: 10, - page: 3, - include_totals: true - }) - expect do - @instance.get_user_permissions('USER_ID', per_page: 10, page: 3, include_totals: true) - end.not_to raise_error - end - end - - context '.remove_permissions' do - it 'is expected to respond to a remove_permissions method' do - expect(@instance).to respond_to(:remove_user_permissions) - end - - it 'is expected to raise an exception when the user ID is empty' do - expect { @instance.remove_user_permissions(nil, 'PERMISSIONS') }.to raise_exception(Auth0::MissingUserId) - end - - it 'is expected to raise an exception when the permissions are empty' do - expect { @instance.remove_user_permissions('USER_ID', []) }.to raise_exception(Auth0::MissingParameter) - end - - it 'is expected to raise an exception when the array does not consist of Permissions' do - expect do - @instance.remove_user_permissions('USER_ID', %w[permission-01 permission02]) - end.to raise_exception(Auth0::InvalidParameter) - end - - it 'is expected to remove permissions' do - expect(@instance).to receive(:delete_with_body).with( - '/api/v2/users/USER_ID/permissions', { - permissions: [ - { - permission_name: 'permission-name-1', - resource_server_identifier: 'server-id-1' - }, - { - permission_name: 'permission-name-2', - resource_server_identifier: 'server-id-2' - } - ] - }) - expect do - @instance.remove_user_permissions( - 'USER_ID', - [ - Auth0::Permission.new('permission-name-1', 'server-id-1'), - Auth0::Permission.new('permission-name-2', 'server-id-2') - ] - ) - end.not_to raise_error - end - end - - context '.add_permissions' do - it 'is expected to respond to a add_permissions method' do - expect(@instance).to respond_to(:add_user_permissions) - end - - it 'is expected to raise an exception when the user ID is empty' do - expect { @instance.add_user_permissions(nil, 'PERMISSIONS') }.to raise_exception(Auth0::MissingUserId) - end - - it 'is expected to raise an exception when the permissions are empty' do - expect { @instance.add_user_permissions('USER_ID', []) }.to raise_exception(Auth0::MissingParameter) - end - - it 'is expected to raise an exception when the permissions are not Permission structs' do - expect do - @instance.add_user_permissions('USER_ID', %w[permission-01 permission02]) - end.to raise_exception(Auth0::InvalidParameter) - end - - it 'is expected to add permissions' do - expect(@instance).to receive(:post).with( - '/api/v2/users/USER_ID/permissions', - permissions: [ - { - permission_name: 'permission-name-1', - resource_server_identifier: 'server-id-1' - }, - { - permission_name: 'permission-name-2', - resource_server_identifier: 'server-id-2' - } - ] - ) - expect do - @instance.add_user_permissions( - 'USER_ID', - [ - Auth0::Permission.new('permission-name-1', 'server-id-1'), - Auth0::Permission.new('permission-name-2', 'server-id-2') - ] - ) - end.not_to raise_error - end - end - - context '.generate_recovery_code' do - it 'is expected to respond to a generate_recovery_code method' do - expect(@instance).to respond_to(:generate_recovery_code) - end - - it 'is expected to raise an exception when the user ID is empty' do - expect { @instance.generate_recovery_code(nil) }.to raise_exception(Auth0::MissingUserId) - end - - it 'is expected to get generate a recovery code' do - expect(@instance).to receive(:post).with('/api/v2/users/USER_ID/recovery-code-regeneration') - expect do - @instance.generate_recovery_code('USER_ID') - end.not_to raise_error - end - end - - context '.invalidate_browsers' do - it 'is expected to respond to a invalidate_browsers method' do - expect(@instance).to respond_to(:invalidate_browsers) - end - - it 'is expected to raise an exception when the user ID is empty' do - expect { @instance.invalidate_browsers(nil) }.to raise_exception(Auth0::MissingUserId) - end - - it 'is expected to invalidate remembered browsers' do - expect(@instance).to receive(:post).with( - '/api/v2/users/USER_ID/multifactor/actions/invalidate-remember-browser' - ) - expect do - @instance.invalidate_browsers('USER_ID') - end.not_to raise_error - end - end - - context '.get_user_organizations' do - it 'is expected to respond to a get_user_organizations method' do - expect(@instance).to respond_to(:get_user_organizations) - end - - it 'is expected to raise an exception when the user ID is empty' do - expect { @instance.get_user_organizations(nil) }.to raise_exception(Auth0::MissingUserId) - end - - it 'is expected to get users organizations' do - expect(@instance).to receive(:get).with( - '/api/v2/users/USER_ID/organizations' - ) - expect do - @instance.get_user_organizations('USER_ID') - end.not_to raise_error - end - end - - context '.get_user_authentication_methods' do - it 'is expected to respond to user_authentication_methods method' do - expect(@instance).to respond_to(:user_authentication_methods) - end - - it 'is expected to respond to get_user_authentication_methods method' do - expect(@instance).to respond_to(:get_user_authentication_methods) - end - - it 'is expected to raise an exception when the user ID is empty' do - expect { @instance.user_authentication_methods(nil) }.to raise_exception(Auth0::MissingUserId) - end - - it 'is expected to get user authentication methods' do - expect(@instance).to receive(:get).with( - '/api/v2/users/USER_ID/authentication-methods', { - per_page: nil, - page: nil, - include_totals: nil - } - ) - - expect do - @instance.user_authentication_methods('USER_ID') - end.not_to raise_error - end - - it 'is expected to get user authentication methods with paging' do - expect(@instance).to receive(:get).with( - '/api/v2/users/USER_ID/authentication-methods', { - per_page: 1, - page: 2, - include_totals: true - } - ) - - expect do - @instance.user_authentication_methods('USER_ID', per_page: 1, page: 2, include_totals: true) - end.not_to raise_error - end - end - - context '.get_user_authentication_method' do - it 'is expected to respond to get_user_authentication_method' do - expect(@instance).to respond_to :user_authentication_method - end - - it 'is expected to respond to get_user_authentication_method' do - expect(@instance).to respond_to :get_user_authentication_method - end - - it 'is expected to raise an exception for a missing user ID' do - expect { @instance.user_authentication_method(nil, nil) }.to raise_exception(Auth0::MissingUserId) - end - - it 'is expected to raise an exception for a missing authentication method ID' do - expect { @instance.user_authentication_method('USER_ID', nil) }.to raise_exception(Auth0::MissingParameter) - end - - it 'is expected to GET a user authentication method' do - expect(@instance).to receive(:get).with( - '/api/v2/users/USER_ID/authentication-methods/AUTH_METHOD_ID' - ) - - expect do - @instance.user_authentication_method('USER_ID', 'AUTH_METHOD_ID') - end.not_to raise_error - - end - end - - context '.create_user_authentication_method' do - it 'is expected to respond to create_user_authentication_method' do - expect(@instance).to respond_to :create_user_authentication_method - end - - it 'is expected to respond to post_user_authentication_method' do - expect(@instance).to respond_to :post_user_authentication_method - end - - it 'is expected to raise an exception for a missing user ID' do - expect { @instance.create_user_authentication_method(nil, nil) }.to raise_exception(Auth0::MissingUserId) - end - - it 'is expected to raise an exception for a missing body' do - expect { @instance.create_user_authentication_method('USER_ID', nil) }.to raise_exception(Auth0::MissingParameter) - end - - it 'is expected to send the body to the endpoint' do - body = { - type: 'phone' - } - - expect(@instance).to receive(:post).with( - '/api/v2/users/USER_ID/authentication-methods', - body - ) - - expect do - @instance.create_user_authentication_method 'USER_ID', body - end.not_to raise_error - end - end - - context '.put_all_user_authentication_methods' do - it 'is expected to respond to put_all_user_authentication_methods' do - expect(@instance).to respond_to(:put_all_user_authentication_methods) - end - - it 'is expected to respond to update_all_user_authentication_methods' do - expect(@instance).to respond_to(:update_all_user_authentication_methods) - end - - it 'is expected to raise an exception for a missing user ID' do - expect { @instance.put_all_user_authentication_methods(nil, nil) }.to raise_exception(Auth0::MissingUserId) - end - - it 'is expected to raise an exception for a missing body' do - expect { @instance.put_all_user_authentication_methods('USER_ID', nil) }.to raise_exception(Auth0::MissingParameter) - end - - it 'is expected to send the body to the endpoint' do - body = { - type: 'phone' - } - - expect(@instance).to receive(:put).with( - '/api/v2/users/USER_ID/authentication-methods', - [body] - ) - - expect do - @instance.put_all_user_authentication_methods 'USER_ID', [body] - end.to_not raise_error - end - end - - context '.patch_user_authentication_method' do - it 'is expected to respond to patch_user_authentication_method' do - expect(@instance).to respond_to(:patch_user_authentication_method) - end - - it 'is expected to respond to update_user_authentication_method' do - expect(@instance).to respond_to(:update_user_authentication_method) - end - - it 'is expected to raise an exception for a missing user ID' do - expect { @instance.patch_user_authentication_method(nil, nil, nil) }.to raise_exception(Auth0::MissingUserId) - end - - it 'is expected to raise an exception for a missing authentication_method_id' do - expect { @instance.patch_user_authentication_method('USER_ID', nil, nil) }.to raise_exception(Auth0::MissingParameter) - end - - it 'is expected to raise an exception for a missing body' do - expect { @instance.patch_user_authentication_method('USER_ID', 'AUTH_METHOD_ID', nil) }.to raise_exception(Auth0::MissingParameter) - end - - it 'is expected to send the body to the endpoint' do - body = { - name: 'auth method name' - } - - expect(@instance).to receive(:patch).with( - '/api/v2/users/USER_ID/authentication-methods/AUTH_METHOD_ID', - body - ) - - expect do - @instance.patch_user_authentication_method 'USER_ID', 'AUTH_METHOD_ID', body - end.to_not raise_error - end - end - - context '.delete_user_authentication_methods' do - it 'is expected to respond to delete_user_authentication_methods' do - expect(@instance).to respond_to(:delete_user_authentication_methods) - end - - it 'is expected to raise an exception for a missing user ID' do - expect { @instance.delete_user_authentication_methods(nil) }.to raise_exception(Auth0::MissingUserId) - end - - it 'is expected to call the endpoint' do - expect(@instance).to receive(:delete).with( - '/api/v2/users/USER_ID/authentication-methods' - ) - - expect do - @instance.delete_user_authentication_methods 'USER_ID' - end.to_not raise_error - end - end - - context '.delete_user_authentication_method' do - it 'is expected to respond to delete_user_authentication_method' do - expect(@instance).to respond_to(:delete_user_authentication_method) - end - - it 'is expected to raise an exception for a missing user ID' do - expect { @instance.delete_user_authentication_method(nil, nil) }.to raise_exception(Auth0::MissingUserId) - end - - it 'is expected to raise an exception for a missing authentication_method_id' do - expect { @instance.delete_user_authentication_method('USER_ID', nil) }.to raise_exception(Auth0::MissingParameter) - end - - it 'is expected to call the endpoint' do - expect(@instance).to receive(:delete).with( - '/api/v2/users/USER_ID/authentication-methods/AUTH_METHOD_ID' - ) - - expect do - @instance.delete_user_authentication_method 'USER_ID', 'AUTH_METHOD_ID' - end.to_not raise_error - end - end - - context '.delete_user_sessions' do - it 'is expected to respond to delete_user_sessions' do - expect(@instance).to respond_to(:delete_user_sessions) - end - - it 'is expected to raise an exception for a missing user ID' do - expect { @instance.delete_user_sessions(nil) }.to raise_exception(Auth0::MissingUserId) - end - - it 'is expected to call the endpoint' do - expect(@instance).to receive(:delete).with( - '/api/v2/users/USER_ID/sessions' - ) - - expect do - @instance.delete_user_sessions 'USER_ID' - end.to_not raise_error - end - end - - context '.user_sessions' do - it 'is expected to respond to user_sessions' do - expect(@instance).to respond_to :user_sessions - end - - it 'is expected to raise an exception for a missing user ID' do - expect { @instance.user_sessions(nil) }.to raise_exception(Auth0::MissingUserId) - end - - it 'is expected to GET a user authentication method' do - expect(@instance).to receive(:get).with( - '/api/v2/users/USER_ID/sessions' - ) - - expect do - @instance.user_sessions('USER_ID') - end.not_to raise_error - end - end - - context '.user_refresh_tokens' do - it 'is expected to respond to a user_refresh_tokens method' do - expect(@instance).to respond_to(:user_refresh_tokens) - end - - it 'is expected to raise an exception when the user ID is empty' do - expect { @instance.user_refresh_tokens(nil) }.to raise_exception(Auth0::MissingUserId) - end - - it 'is expected to get user refresh tokens' do - expect(@instance).to receive(:get).with( - '/api/v2/users/USER_ID/refresh-tokens', { - from: nil, - take: nil, - include_totals: nil - } - ) - expect do - @instance.user_refresh_tokens('USER_ID') - end.not_to raise_error - end - - it 'is expected to get user refresh tokens with custom parameters' do - expect(@instance).to receive(:get).with( - '/api/v2/users/USER_ID/refresh-tokens', { - from: 'TOKEN_ID', - take: 10, - include_totals: true - } - ) - expect do - @instance.user_refresh_tokens('USER_ID', from: 'TOKEN_ID', take: 10, include_totals: true) - end.not_to raise_error - end - end - - context '.delete_user_refresh_tokens' do - it 'is expected to respond to delete_user_refresh_tokens' do - expect(@instance).to respond_to(:delete_user_refresh_tokens) - end - - it 'is expected to raise an exception for a missing user ID' do - expect { @instance.delete_user_refresh_tokens(nil) }.to raise_exception(Auth0::MissingUserId) - end - - it 'is expected to call the endpoint' do - expect(@instance).to receive(:delete).with( - '/api/v2/users/USER_ID/refresh-tokens' - ) - - expect do - @instance.delete_user_refresh_tokens 'USER_ID' - end.to_not raise_error - end - end -end diff --git a/spec/lib/auth0/client_spec.rb b/spec/lib/auth0/client_spec.rb deleted file mode 100644 index b7781d936..000000000 --- a/spec/lib/auth0/client_spec.rb +++ /dev/null @@ -1,223 +0,0 @@ -require 'spec_helper' - -describe Auth0::Client do - shared_examples_for 'v2 API client' do - it { should be_a Auth0::Api::V2 } - it { should be_a Auth0::Api::V2::Blacklists } - it { should be_a Auth0::Api::V2::Clients } - it { should be_a Auth0::Api::V2::ClientGrants } - it { should be_a Auth0::Api::V2::Connections } - it { should be_a Auth0::Api::V2::DeviceCredentials } - it { should be_a Auth0::Api::V2::Emails } - it { should be_a Auth0::Api::V2::Jobs } - it { should be_a Auth0::Api::V2::Logs } - it { should be_a Auth0::Api::V2::ResourceServers } - it { should be_a Auth0::Api::V2::Rules } - it { should be_a Auth0::Api::V2::Stats } - it { should be_a Auth0::Api::V2::Tenants } - it { should be_a Auth0::Api::V2::Tickets } - it { should be_a Auth0::Api::V2::UserBlocks } - it { should be_a Auth0::Api::V2::Users } - it { should be_a Auth0::Api::V2::UsersByEmail } - end - - shared_examples_for 'Authentication API client' do - it { should be_a Auth0::Api::AuthenticationEndpoints } - end - - let(:domain) { 'samples.auth0.com' } - let(:client_id) { '__test_client_id__' } - let(:client_secret) { '__test_client_secret__' } - let(:access_token) { '__test_access_token__' } - let(:organization) { '__test_organization__'} - - describe 'V2 client with token' do - - before :each do - expect_any_instance_of(Auth0::Api::AuthenticationEndpoints) - .not_to receive(:obtain_access_token) - end - - context 'and namespace' do - let(:subject) do - Auth0::Client.new( - access_token: access_token, - namespace: domain - ) - end - it_should_behave_like 'v2 API client' - it_should_behave_like 'Authentication API client' - end - - context 'and domain' do - let(:subject) do - Auth0::Client.new( - access_token: access_token, - domain: domain - ) - end - it_should_behave_like 'v2 API client' - it_should_behave_like 'Authentication API client' - end - - context 'and version' do - let(:subject) do - Auth0::Client.new( - api_version: 2, - access_token: access_token, - domain: domain - ) - end - it_should_behave_like 'v2 API client' - it_should_behave_like 'Authentication API client' - end - - context 'with token' do - let(:subject) do - Auth0::Client.new( - api_version: 2, - token: access_token, - domain: domain - ) - end - it_should_behave_like 'v2 API client' - it_should_behave_like 'Authentication API client' - end - - context 'with token and client_secret' do - let(:subject) do - Auth0::Client.new( - token: access_token, - domain: domain, - client_secret: client_secret, - ) - end - it_should_behave_like 'v2 API client' - it_should_behave_like 'Authentication API client' - end - end - - describe 'V2 client without token' do - context 'should try to get an API token' do - before do - stub_api_token - end - - let(:subject) do - Auth0::Client.new( - domain: domain, - client_id: client_id, - client_secret: client_secret, - ) - end - it_should_behave_like 'v2 API client' - it_should_behave_like 'Authentication API client' - end - - context 'when try to get an API tokenwith api_identifier' do - let(:api_identifier) { 'https://samples.api_identifier/api/v2/' } - - before do - stub_api_token_with_api_identifier - end - - let(:subject) do - Auth0::Client.new( - domain: domain, - client_id: client_id, - client_secret: client_secret, - api_identifier: api_identifier - ) - end - - it_should_behave_like 'v2 API client' - it_should_behave_like 'Authentication API client' - end - - context 'when try to get an API token with organization' do - before do - stub_api_token_with_organization - end - - let(:subject) do - Auth0::Client.new( - domain: domain, - client_id: client_id, - client_secret: client_secret, - organization: organization - ) - end - - it_should_behave_like 'v2 API client' - it_should_behave_like 'Authentication API client' - end - - context 'should fail if' do - - it 'does not have a client_secret' do - expect do - Auth0::Client.new( - domain: domain, - client_id: client_id, - ) - end.to raise_error('Must supply a valid API token') - end - end - end - - def stub_api_token - stub_request(:post, "https://#{domain}/oauth/token") - .with( - body: hash_including( - { - grant_type: 'client_credentials', - client_id: client_id, - client_secret: client_secret, - audience: "https://#{domain}/api/v2/" - } - ) - ) - .to_return( - headers: { 'Content-Type' => 'application/json' }, - body: '{"access_token":"__test_access_token__"}', - status: 200 - ) - end - - def stub_api_token_with_api_identifier - stub_request(:post, "https://#{domain}/oauth/token") - .with( - body: hash_including( - { - grant_type: 'client_credentials', - client_id: client_id, - client_secret: client_secret, - audience: api_identifier - } - ) - ) - .to_return( - headers: { 'Content-Type' => 'application/json' }, - body: '{"access_token":"__test_access_token__"}', - status: 200 - ) - end - - def stub_api_token_with_organization - stub_request(:post, "https://#{domain}/oauth/token") - .with( - body: hash_including( - { - grant_type: 'client_credentials', - client_id: client_id, - client_secret: client_secret - } - ) - ) - .to_return( - headers: { 'Content-Type' => 'application/json' }, - body: '{"access_token":"__test_access_token__"}', - status: 200 - ) - end -end diff --git a/spec/lib/auth0/mixins/httpproxy_spec.rb b/spec/lib/auth0/mixins/httpproxy_spec.rb deleted file mode 100644 index 5a45ff067..000000000 --- a/spec/lib/auth0/mixins/httpproxy_spec.rb +++ /dev/null @@ -1,659 +0,0 @@ -require 'json' -require 'spec_helper' - -describe Auth0::Mixins::HTTPProxy do - before :each do - dummy_instance = DummyClassForProxy.new - dummy_instance.extend(Auth0::Mixins::HTTPProxy) - dummy_instance.base_uri = "https://auth0.com" - dummy_instance.retry_count = 0 - - @instance = dummy_instance - @exception = DummyClassForRestClient.new - end - - %i(get delete).each do |http_method| - context ".#{http_method}" do - it { expect(@instance).to respond_to(http_method.to_sym) } - it "should call send http #{http_method} method to path defined through HTTP" do - expect(RestClient::Request).to receive(:execute).with(method: http_method, - url: 'https://auth0.com/test', - timeout: nil, - headers: { params: {} }, - payload: nil) - .and_return(StubResponse.new({}, true, 200)) - expect { @instance.send(http_method, '/test') }.not_to raise_error - end - - it 'should not raise exception if data returned not in json format (should be fixed in v2)' do - allow(RestClient::Request).to receive(:execute).with(method: http_method, - url: 'https://auth0.com/test', - timeout: nil, - headers: { params: {} }, - payload: nil) - .and_return(StubResponse.new('Some random text here', true, 200)) - expect { @instance.send(http_method, '/test') }.not_to raise_error - expect(@instance.send(http_method, '/test')).to eql('Some random text here') - end - - it "should raise Auth0::Unauthorized on send http #{http_method} - method to path defined through HTTP when 401 status received" do - expect(RestClient::Request).to receive(:execute).with(method: http_method, - url: 'https://auth0.com/test', - timeout: nil, - headers: { params: {} }, - payload: nil) - .and_return(StubResponse.new({}, false, 401)) - expect { @instance.send(http_method, '/test') }.to raise_error(Auth0::Unauthorized) - end - - it "should raise Auth0::NotFound on send http #{http_method} method - to path defined through HTTP when 404 status received" do - expect(RestClient::Request).to receive(:execute).with(method: http_method, - url: 'https://auth0.com/test', - timeout: nil, - headers: { params: {} }, - payload: nil) - .and_return(StubResponse.new({}, false, 404)) - expect { @instance.send(http_method, '/test') }.to raise_error(Auth0::NotFound) - end - - it "should raise Auth0::Unsupported on send http #{http_method} method - to path defined through HTTP when 418 or other unknown status received" do - expect(RestClient::Request).to receive(:execute).with(method: http_method, - url: 'https://auth0.com/test', - timeout: nil, - headers: { params: {} }, - payload: nil) - .and_return(StubResponse.new({}, false, 418)) - expect { @instance.send(http_method, '/test') }.to raise_error(Auth0::Unsupported) - end - - it "should raise Auth0::RequestTimeout on send http #{http_method} method - to path defined through HTTP when RestClient::RequestTimeout received" do - allow(RestClient::Request).to receive(:execute).with(method: http_method, - url: 'https://auth0.com/test', - timeout: nil, - headers: { params: {} }, - payload: nil) - .and_raise(RestClient::Exceptions::OpenTimeout.new) - expect { @instance.send(http_method, '/test') }.to raise_error(Auth0::RequestTimeout) - end - - it "should raise Auth0::BadRequest on send http #{http_method} method - to path defined through HTTP when 400 status received" do - @exception.response = StubResponse.new({}, false, 400) - allow(RestClient::Request).to receive(:execute).with(method: http_method, - url: 'https://auth0.com/test', - timeout: nil, - headers: { params: {} }, - payload: nil) - .and_raise(@exception) - expect { @instance.send(http_method, '/test') }.to raise_error(Auth0::BadRequest) - end - - it "should raise Auth0::AccessDenied on send http #{http_method} method - to path defined through HTTP when 403" do - @exception.response = StubResponse.new({}, false, 403) - allow(RestClient::Request).to receive(:execute).with(method: http_method, - url: 'https://auth0.com/test', - timeout: nil, - headers: { params: {} }, - payload: nil) - .and_raise(@exception) - expect { @instance.send(http_method, '/test') }.to raise_error(Auth0::AccessDenied) - end - - it "should raise Auth0::RateLimitEncountered on send http #{http_method} method - to path defined through HTTP when 429 recieved" do - headers = { - :x_ratelimit_limit => 10, - :x_ratelimit_remaining => 0, - :x_ratelimit_reset => 1560564149 - } - @exception.response = StubResponse.new({}, false, 429, headers) - allow(RestClient::Request).to receive(:execute).with(method: http_method, - url: 'https://auth0.com/test', - timeout: nil, - headers: { params: {} }, - payload: nil) - .and_raise(@exception) - expect { @instance.send(http_method, '/test') }.to raise_error { |error| - expect(error).to be_a(Auth0::RateLimitEncountered) - expect(error).to have_attributes( - error_data: { - headers: headers, - code: 429 - }, - headers: headers, - http_code: 429, - reset: Time.at(1560564149) - ) - } - end - - it "should raise Auth0::ServerError on send http #{http_method} method - to path defined through HTTP when 500 received" do - @exception.response = StubResponse.new({}, false, 500) - allow(RestClient::Request).to receive(:execute).with(method: http_method, - url: 'https://auth0.com/test', - timeout: nil, - headers: { params: {} }, - payload: nil) - .and_raise(@exception) - expect { @instance.send(http_method, '/test') }.to raise_error(Auth0::ServerError) - end - - it 'should normalize path with Addressable::URI' do - expect(RestClient::Request).to receive(:execute).with(method: http_method, - url: 'https://auth0.com/te%20st%23test', - timeout: nil, - headers: { params: {} }, - payload: nil) - .and_return(StubResponse.new({}, true, 200)) - expect { @instance.send(http_method, '/te st#test') }.not_to raise_error - end - - context "when status 429 is recieved on send http #{http_method} method" do - it "should retry 3 times when retry_count is not set" do - retry_instance = DummyClassForProxy.new - retry_instance.extend(Auth0::Mixins::HTTPProxy) - retry_instance.base_uri = "https://auth0.com" - - @exception.response = StubResponse.new({}, false, 429) - allow(RestClient::Request).to receive(:execute).with(method: http_method, - url: 'https://auth0.com/test', - timeout: nil, - headers: { params: {} }, - payload: nil) - .and_raise(@exception) - expect(RestClient::Request).to receive(:execute).exactly(4).times - - expect { retry_instance.send(http_method, '/test') }.to raise_error { |error| - expect(error).to be_a(Auth0::RateLimitEncountered) - } - end - - it "should retry 2 times when retry_count is set to 2" do - retry_instance = DummyClassForProxy.new - retry_instance.extend(Auth0::Mixins::HTTPProxy) - retry_instance.base_uri = "https://auth0.com" - retry_instance.retry_count = 2 - - @exception.response = StubResponse.new({}, false, 429) - allow(RestClient::Request).to receive(:execute).with(method: http_method, - url: 'https://auth0.com/test', - timeout: nil, - headers: { params: {} }, - payload: nil) - .and_raise(@exception) - expect(RestClient::Request).to receive(:execute).exactly(3).times - - expect { retry_instance.send(http_method, '/test') }.to raise_error { |error| - expect(error).to be_a(Auth0::RateLimitEncountered) - } - end - - it "should not retry when retry_count is set to 0" do - retry_instance = DummyClassForProxy.new - retry_instance.extend(Auth0::Mixins::HTTPProxy) - retry_instance.base_uri = "https://auth0.com" - retry_instance.retry_count = 0 - - @exception.response = StubResponse.new({}, false, 429) - - allow(RestClient::Request).to receive(:execute).with(method: http_method, - url: 'https://auth0.com/test', - timeout: nil, - headers: { params: {} }, - payload: nil) - .and_raise(@exception) - - expect(RestClient::Request).to receive(:execute).exactly(1).times - expect { retry_instance.send(http_method, '/test') }.to raise_error { |error| - expect(error).to be_a(Auth0::RateLimitEncountered) - } - end - - it "should have have random retry times grow with jitter backoff" do - retry_instance = DummyClassForProxy.new - retry_instance.extend(Auth0::Mixins::HTTPProxy) - retry_instance.base_uri = "https://auth0.com" - retry_instance.retry_count = 2 - time_entries = [] - @time_start - - @exception.response = StubResponse.new({}, false, 429) - allow(RestClient::Request).to receive(:execute).with(method: http_method, - url: 'https://auth0.com/test', - timeout: nil, - headers: { params: {} }, - payload: nil) do - - time_entries.push(Time.now.to_f - @time_start.to_f) - @time_start = Time.now.to_f # restart the clock - raise @exception - end - - @time_start = Time.now.to_f #start the clock - retry_instance.send(http_method, '/test') rescue nil - time_entries_first_set = time_entries.shift(time_entries.length) - - retry_instance.send(http_method, '/test') rescue nil - time_entries.each_with_index do |entry, index| - if index > 0 #skip the first request - expect(entry != time_entries_first_set[index]) - end - end - end - end - end - end - - def expected_payload(method, overrides = {}) - if method == :post_form - { - method: :post, - url: 'https://auth0.com/test', - timeout: nil, - headers: nil, - payload: {} - }.merge(overrides) - else - { - method: method, - url: 'https://auth0.com/test', - timeout: nil, - headers: nil, - payload: '{}' - }.merge(overrides) - end - end - - %i(post post_form put patch).each do |http_method| - context ".#{http_method}" do - context 'when body is an Array' do - let(:payload) { [{ permission_name: 'read:data', resource_server_identifier: 'https://api.example.com' }] } - - if http_method == :post_form - it 'sends the array as-is without wrapping in a Hash' do - expect(RestClient::Request).to receive(:execute) do |args| - expect(args[:payload]).to be_an(Array) - expect(args[:payload]).to eq(payload) - end.and_return(StubResponse.new('[]', true, 200)) - - @instance.send(http_method, '/test', payload) - end - else - it 'sends the array as-is without wrapping in a Hash' do - expect(RestClient::Request).to receive(:execute) do |args| - parsed = JSON.parse(args[:payload], symbolize_names: true) - expect(parsed).to be_an(Array) - expect(parsed).to eq(payload) - end.and_return(StubResponse.new('[]', true, 200)) - - @instance.send(http_method, '/test', payload) - end - end - end - - context 'when body is a Hash' do - let(:payload) { { permission_name: 'read:data', resource_server_identifier: 'https://api.example.com' } } - - if http_method == :post_form - it 'sends the Hash without modification' do - expect(RestClient::Request).to receive(:execute) do |args| - expect(args[:payload]).to be_a(Hash) - expect(args[:payload]).to include(payload) - end.and_return(StubResponse.new('{}', true, 200)) - - @instance.send(http_method, '/test', payload) - end - else - it 'sends the Hash as JSON without modification' do - expect(RestClient::Request).to receive(:execute) do |args| - parsed = JSON.parse(args[:payload], symbolize_names: true) - expect(parsed).to be_a(Hash) - expect(parsed).to eq(payload) - end.and_return(StubResponse.new('{}', true, 200)) - - @instance.send(http_method, '/test', payload) - end - end - end - it { expect(@instance).to respond_to(http_method.to_sym) } - it "should call send http #{http_method} method to path defined through HTTP"do - expect(RestClient::Request).to receive(:execute).with(expected_payload(http_method)) - .and_return(StubResponse.new({}, true, 200)) - expect { @instance.send(http_method, '/test') }.not_to raise_error - end - - it "should handle array parameters for #{http_method} method" do - array_data = ['param1', 'param2'] - if http_method == :post_form - expected_params = expected_payload(http_method, { payload: array_data }) - else - expected_params = expected_payload(http_method, { payload: array_data.to_json }) - end - - expect(RestClient::Request).to receive(:execute).with(expected_params) - .and_return(StubResponse.new({}, true, 200)) - expect { @instance.send(http_method, '/test', array_data) }.not_to raise_error - end - - it 'should not raise exception if data returned not in json format (should be fixed in v2)' do - allow(RestClient::Request).to receive(:execute).with(expected_payload(http_method)) - .and_return(StubResponse.new('Some random text here', true, 200)) - expect { @instance.send(http_method, '/test') }.not_to raise_error - expect(@instance.send(http_method, '/test')).to eql('Some random text here') - end - - it "should raise Auth0::Unauthorized on send http #{http_method} method - to path defined through HTTP when 401 status received" do - @exception.response = StubResponse.new({}, false, 401) - allow(RestClient::Request).to receive(:execute).with(expected_payload(http_method)) - .and_raise(@exception) - expect { @instance.send(http_method, '/test') }.to raise_error(Auth0::Unauthorized) - end - - it "should raise Auth0::RateLimitEncountered on send http #{http_method} method - to path defined through HTTP when 429 status received" do - headers = { - :x_ratelimit_limit => 10, - :x_ratelimit_remaining => 0, - :x_ratelimit_reset => 1560564149 - } - @exception.response = StubResponse.new({}, false, 429,headers) - allow(RestClient::Request).to receive(:execute).with(expected_payload(http_method)) - .and_raise(@exception) - expect { @instance.send(http_method, '/test') }.to raise_error { |error| - expect(error).to be_a(Auth0::RateLimitEncountered) - expect(error).to have_attributes( - error_data: { - headers: headers, - code: 429 - }, - headers: headers, - http_code: 429, - reset: Time.at(1560564149) - ) - } - end - - it "should raise Auth0::NotFound on send http #{http_method} method - to path defined through HTTP when 404 status received" do - @exception.response = StubResponse.new({}, false, 404) - allow(RestClient::Request).to receive(:execute).with(expected_payload(http_method)) - .and_raise(@exception) - expect { @instance.send(http_method, '/test') }.to raise_error(Auth0::NotFound) - end - - it "should raise Auth0::Unsupported on send http #{http_method} method - to path defined through HTTP when 418 or other unknown status received" do - @exception.response = StubResponse.new({}, false, 418) - allow(RestClient::Request).to receive(:execute).with(expected_payload(http_method)) - .and_raise(@exception) - expect { @instance.send(http_method, '/test') }.to raise_error(Auth0::Unsupported) - end - - it "should raise Auth0::RequestTimeout on send http #{http_method} method - to path defined through HTTP when RestClient::RequestTimeout received" do - allow(RestClient::Request).to receive(:execute).with(expected_payload(http_method)) - .and_raise(RestClient::Exceptions::OpenTimeout.new) - expect { @instance.send(http_method, '/test') }.to raise_error(Auth0::RequestTimeout) - end - - it "should raise Auth0::BadRequest on send http #{http_method} method - to path defined through HTTP when 400 status received" do - @exception.response = StubResponse.new({}, false, 400) - allow(RestClient::Request).to receive(:execute).with(expected_payload(http_method)) - .and_raise(@exception) - expect { @instance.send(http_method, '/test') }.to raise_error(Auth0::BadRequest) - end - - it "should raise Auth0::ServerError on send http #{http_method} method - to path defined through HTTP when 500 received" do - @exception.response = StubResponse.new({}, false, 500) - allow(RestClient::Request).to receive(:execute).with(expected_payload(http_method)) - .and_raise(@exception) - expect { @instance.send(http_method, '/test') }.to raise_error(Auth0::ServerError) - end - - it 'should normalize path with Addressable::URI' do - expect(RestClient::Request).to receive(:execute).with(expected_payload(http_method, url: 'https://auth0.com/te%20st')) - .and_return(StubResponse.new({}, true, 200)) - expect { @instance.send(http_method, '/te st') }.not_to raise_error - end - - it 'should give the JSON representation of the error as the error message' do - res = JSON.generate('statusCode' => 404, - 'error' => 'Bad Request', - 'message' => "Path validation error: 'String does not match pattern ^.+\\|.+$: - 3241312' on property id (The user_id of the user to retrieve).", - 'errorCode' => 'invalid_uri') - expect(RestClient::Request).to receive(:execute).with(expected_payload(http_method)) - .and_return(StubResponse.new(res, true, 404)) - expect { @instance.send(http_method, '/test') }.to raise_error(Auth0::NotFound, res) - end - - context "when status 429 is recieved on send http #{http_method} method" do - it "should retry 3 times when retry_count is not set" do - retry_instance = DummyClassForProxy.new - retry_instance.extend(Auth0::Mixins::HTTPProxy) - retry_instance.base_uri = "https://auth0.com" - - @exception.response = StubResponse.new({}, false, 429) - allow(RestClient::Request).to receive(:execute).with(expected_payload(http_method)) - .and_raise(@exception) - expect(RestClient::Request).to receive(:execute).exactly(4).times - - expect { retry_instance.send(http_method, '/test') }.to raise_error { |error| - expect(error).to be_a(Auth0::RateLimitEncountered) - } - end - - it "should retry 2 times when retry_count is set to 2" do - retry_instance = DummyClassForProxy.new - retry_instance.extend(Auth0::Mixins::HTTPProxy) - retry_instance.base_uri = "https://auth0.com" - retry_instance.retry_count = 2 - - @exception.response = StubResponse.new({}, false, 429) - allow(RestClient::Request).to receive(:execute).with(expected_payload(http_method)) - .and_raise(@exception) - expect(RestClient::Request).to receive(:execute).exactly(3).times - - expect { retry_instance.send(http_method, '/test') }.to raise_error { |error| - expect(error).to be_a(Auth0::RateLimitEncountered) - } - end - - it "should not retry when retry_count is set to 0" do - retry_instance = DummyClassForProxy.new - retry_instance.extend(Auth0::Mixins::HTTPProxy) - retry_instance.base_uri = "https://auth0.com" - retry_instance.retry_count = 0 - - @exception.response = StubResponse.new({}, false, 429) - - allow(RestClient::Request).to receive(:execute).with(expected_payload(http_method)) - .and_raise(@exception) - - expect(RestClient::Request).to receive(:execute).exactly(1).times - expect { retry_instance.send(http_method, '/test') }.to raise_error { |error| - expect(error).to be_a(Auth0::RateLimitEncountered) - } - end - - it "should have have random retry times grow with jitter backoff" do - retry_instance = DummyClassForProxy.new - retry_instance.extend(Auth0::Mixins::HTTPProxy) - retry_instance.base_uri = "https://auth0.com" - retry_instance.retry_count = 2 - time_entries = [] - @time_start - - @exception.response = StubResponse.new({}, false, 429) - allow(RestClient::Request).to receive(:execute).with(expected_payload(http_method)) do - - time_entries.push(Time.now.to_f - @time_start.to_f) - @time_start = Time.now.to_f # restart the clock - raise @exception - end - - @time_start = Time.now.to_f #start the clock - retry_instance.send(http_method, '/test') rescue nil - time_entries_first_set = time_entries.shift(time_entries.length) - - retry_instance.send(http_method, '/test') rescue nil - time_entries.each_with_index do |entry, index| - if index > 0 #skip the first request - expect(entry != time_entries_first_set[index]) - end - end - end - end - end - - end -end - - context "Renewing tokens" do - let(:httpproxy_instance) { - DummyClassForTokens.new( - client_id: 'test-client-id', - client_secret: 'test-client-secret', - domain: 'auth0.com', - ) - } - - %i(get delete).each do |http_method| - context "for #{http_method}" do - it 'should renew the token' do - expect(RestClient::Request).to receive(:execute).with(hash_including( - method: :post, - url: 'https://auth0.com/oauth/token', - )).and_return(StubResponse.new({ - "access_token" => "access_token", - "expires_in" => 86400}, - true, - 200)) - - expect(RestClient::Request).to receive(:execute).with(hash_including( - method: http_method, - url: 'https://auth0.com/test' - )).and_return(StubResponse.new('Some random text here', true, 200)) - - expect { httpproxy_instance.send(http_method, '/test') }.not_to raise_error - end - end - end - - %i(post put patch).each do |http_method| - context "for #{http_method}" do - it 'should renew the token' do - expect(RestClient::Request).to receive(:execute).with(hash_including( - method: :post, - url: 'https://auth0.com/oauth/token', - ) ).and_return(StubResponse.new({ - "access_token" => "access_token", - "expires_in" => 86400}, - true, - 200)) - - expect(RestClient::Request).to receive(:execute).with(hash_including( - method: http_method, - url: 'https://auth0.com/test', - headers: hash_including( "Authorization" => "Bearer access_token") - )).and_return(StubResponse.new('Some random text here', true, 200)) - - expect { httpproxy_instance.send(http_method, '/test') }.not_to raise_error - end - end - end - - context "Using cached tokens" do - let(:httpproxy_instance) { - DummyClassForTokens.new( - client_id: 'test-client-id', - client_secret: 'test-client-secret', - domain: 'auth0.com', - token: 'access_token', - token_expires_at: Time.now.to_i + 86400) - } - - %i(get delete).each do |http_method| - context "for #{http_method}" do - it 'should use the cached token' do - expect(RestClient::Request).not_to receive(:execute).with(hash_including( - method: :post, - url: 'https://auth0.com/oauth/token', - )) - - expect(RestClient::Request).to receive(:execute).with(hash_including( - method: http_method, - url: 'https://auth0.com/test', - headers: hash_including(params: {}, "Authorization" => "Bearer access_token") - )).and_return(StubResponse.new('Some random text here', true, 200)) - - expect { httpproxy_instance.send(http_method, '/test') }.not_to raise_error - end - end - end - - %i(post put patch).each do |http_method| - context "for #{http_method}" do - it 'should use the cached token' do - expect(RestClient::Request).not_to receive(:execute).with(hash_including( - method: :post, - url: 'https://auth0.com/oauth/token', - )) - - expect(RestClient::Request).to receive(:execute).with(hash_including( - method: http_method, - url: 'https://auth0.com/test', - headers: hash_including("Authorization" => "Bearer access_token") - )).and_return(StubResponse.new('Some random text here', true, 200)) - - expect { httpproxy_instance.send(http_method, '/test') }.not_to raise_error - end - end - end - end - - context 'Normal operation' do - let(:httpproxy_instance) { - DummyClassForTokens.new( - client_id: 'test-client-id', - client_secret: 'test-client-secret', - domain: 'auth0.com', - token: 'access_token', - token_expires_at: Time.now.to_i + 86400) - } - - # This sets up a test matrix to verify that both :get and :delete calls (the only two HTTP methods in the proxy that mutated headers) - # don't bleed query params into subsequent calls to :post :patch and :put. - %i(get delete).each do |http_get_delete| - %i(post patch put).each do |http_ppp| - it "should not bleed :#{http_get_delete} headers/parameters to the subsequent :#{http_ppp} request" do - expect(RestClient::Request).to receive(:execute).with(hash_including( - method: http_get_delete, - url: "https://auth0.com/test-#{http_get_delete}", - headers: hash_including(params: { email: 'test@test.com' }) - )).and_return(StubResponse.new('OK', true, 200)) - - # email: parameter that is sent in the GET request should not appear - # as a parameter in the `headers` hash for the subsequent PATCH request. - expect(RestClient::Request).to receive(:execute).with(hash_including( - method: http_ppp, - url: "https://auth0.com/test-#{http_ppp}", - headers: hash_not_including(:params) - )).and_return(StubResponse.new('OK', true, 200)) - - expect { httpproxy_instance.send(http_get_delete, "/test-#{http_get_delete}", { email: 'test@test.com' }) }.not_to raise_error - expect { httpproxy_instance.send(http_ppp, "/test-#{http_ppp}") }.not_to raise_error - end - end - end - end -end diff --git a/spec/lib/auth0/mixins/initializer_spec.rb b/spec/lib/auth0/mixins/initializer_spec.rb deleted file mode 100644 index 0fc4058a0..000000000 --- a/spec/lib/auth0/mixins/initializer_spec.rb +++ /dev/null @@ -1,172 +0,0 @@ -require 'spec_helper' -require 'timecop' - -class MockClass - attr_reader :token - include Auth0::Mixins::Initializer - include Auth0::Mixins::HTTPProxy - include Auth0::Mixins::Headers - include Auth0::Mixins::TokenManagement -end - -describe Auth0::Mixins::Initializer do - let(:params) { { namespace: 'samples.auth0.com' } } - let(:instance) { DummyClassForProxy.send(:include, described_class).new(params) } - let(:time_now) { Time.now } - - let(:client_assertion_signing_key_pair) do - rsa_private = OpenSSL::PKey::RSA.generate 2048 - - { - public_key: rsa_private.public_key, - private_key: rsa_private - } - end - - context 'api v2' do - it 'sets retry_count when passed' do - params[:token] = '123' - params[:retry_count] = 10 - - expect(instance.instance_variable_get('@retry_count')).to eq(10) - end - end - - context 'token initialization' do - before do - params[:api_version] = 2 - Timecop.freeze(time_now) - end - - after do - Timecop.return - end - - it 'sets token when access_token is passed' do - params[:access_token] = '123' - - expect(instance.instance_variable_get('@token')).to eq('123') - end - - it 'sets token when token is passed' do - params[:token] = '123' - - expect(instance.instance_variable_get('@token')).to eq('123') - end - - context 'with a client secret' do - it 'fetches a token if none was given' do - params[:client_id] = client_id = 'test_client_id' - params[:client_secret] = client_secret = 'test_client_secret' - params[:api_identifier] = api_identifier = 'test' - - payload = { - grant_type: 'client_credentials', - client_id: client_id, - client_secret: client_secret, - audience: api_identifier, - organization: nil - } - - expect(RestClient::Request).to receive(:execute) do |arg| - expect(arg).to(match( - include( - method: :post, - url: 'https://samples.auth0.com/oauth/token' - ) - )) - - expect(JSON.parse(arg[:payload], { symbolize_names: true })).to eq(payload) - - StubResponse.new({ - "access_token" => "test", - "expires_in" => 86400}, - true, - 200) - end - - expect(instance.instance_variable_get('@token')).to eq('test') - expect(instance.instance_variable_get('@token_expires_at')).to eq(time_now.to_i + 86400) - end - end - - context 'with a client assertion signing key' do - it 'fetches a token if none was given' do - private_key = client_assertion_signing_key_pair[:private_key] - - params[:client_id] = client_id = 'test_client_id' - params[:api_identifier] = api_identifier = 'test' - params[:client_assertion_signing_key] = private_key - - expect(RestClient::Request).to receive(:execute) do |arg| - expect(arg).to(match( - include( - method: :post, - url: 'https://samples.auth0.com/oauth/token' - ) - )) - - payload = JSON.parse(arg[:payload], { symbolize_names: true }) - - expect(payload[:grant_type]).to eq 'client_credentials' - expect(payload[:client_id]).to eq client_id - expect(payload[:audience]).to eq api_identifier - expect(payload[:client_secret]).to be_nil - expect(payload[:client_assertion]).not_to be_nil - expect(payload[:client_assertion_type]).to eq Auth0::ClientAssertion::CLIENT_ASSERTION_TYPE - - StubResponse.new({ - "access_token" => "test", - "expires_in" => 86400}, - true, - 200) - end - - expect(instance.instance_variable_get('@token')).to eq('test') - expect(instance.instance_variable_get('@token_expires_at')).to eq(time_now.to_i + 86400) - end - end - - it "doesn't get a new token if one was supplied using 'token'" do - params[:token] = 'access-token' - - expect(RestClient::Request).not_to receive(:execute).with(hash_including( - method: :post, - url: 'https://samples.auth0.com/oauth/token', - )) - - expect(instance.instance_variable_get('@token')).to eq('access-token') - expect(instance.instance_variable_get('@token_expires_at')).to eq(Time.now.to_i + 3600) - end - - it "doesn't get a new token if one was supplied using 'access_token'" do - params[:access_token] = 'access-token' - - expect(RestClient::Request).not_to receive(:execute).with(hash_including( - method: :post, - url: 'https://samples.auth0.com/oauth/token', - )) - - expect(instance.instance_variable_get('@token')).to eq('access-token') - expect(instance.instance_variable_get('@token_expires_at')).to eq(Time.now.to_i + 3600) - end - - it 'can supply token_expires_at option' do - params[:token] = 'access-token' - params[:token_expires_at] = time_now.to_i + 300 - - expect(RestClient::Request).not_to receive(:execute).with(hash_including( - method: :post, - url: 'https://samples.auth0.com/oauth/token', - )) - - expect(instance.instance_variable_get('@token')).to eq('access-token') - expect(instance.instance_variable_get('@token_expires_at')).to eq(time_now.to_i + 300) - end - - it 'throws if no token or credentials were given' do - params[:client_id] = 'test-client-id' - expect { instance }.to raise_error(Auth0::InvalidCredentials) - end - end -end diff --git a/spec/lib/auth0/mixins/token_management_spec.rb b/spec/lib/auth0/mixins/token_management_spec.rb deleted file mode 100644 index f53a484be..000000000 --- a/spec/lib/auth0/mixins/token_management_spec.rb +++ /dev/null @@ -1,136 +0,0 @@ -require 'spec_helper' -require 'timecop' - -describe Auth0::Mixins::TokenManagement do - let(:client_id) { 'test-client-id' } - let(:client_secret) { 'test-client-secret' } - let(:api_identifier) { 'test-audience' } - let(:domain) { 'samples.auth0.com' } - - let(:payload) { { - grant_type: 'client_credentials', - client_id: client_id, - client_secret: client_secret, - audience: api_identifier, - organization: nil - } } - - let(:params) { { - domain: domain, - client_id: client_id, - client_secret: client_secret, - api_identifier: api_identifier - } } - - let(:instance) { DummyClassForTokens.send(:include, described_class).new(params) } - let(:time_now) { Time.now } - - before :each do - Timecop.freeze(time_now) - end - - after :each do - Timecop.return - end - - context 'get_token' do - it 'renews the token if there is no token set' do - expect(RestClient::Request).to receive(:execute) do |arg| - expect(arg).to(match( - include( - method: :post, - url: 'https://samples.auth0.com/oauth/token' - ))) - - expect(JSON.parse(arg[:payload], { symbolize_names: true })).to eq(payload) - - StubResponse.new({ - "access_token" => "test", - "expires_in" => 86400}, - true, - 200) - end - - instance.get_token - - expect(instance.instance_variable_get('@token')).to eq('test') - expect(instance.instance_variable_get('@token_expires_at')).to eq(time_now.to_i + 86400) - end - - it 'does not renew the token if the expiry time has not been reached' do - params[:token] = 'test-token' - params[:token_expires_at] = time_now.to_i + 86400 - - expect(RestClient::Request).not_to receive(:execute).with(hash_including( - method: :post, - url: 'https://samples.auth0.com/oauth/token', - )) - - instance.get_token - - expect(instance.instance_variable_get('@token')).to eq('test-token') - expect(instance.instance_variable_get('@token_expires_at')).to eq(time_now.to_i + 86400) - end - - it 'renews the token if within 10 seconds of the expiry' do - params[:token] = 'test-token' - params[:token_expires_at] = time_now.to_i + 5 - - expect(RestClient::Request).to receive(:execute) do |arg| - expect(arg).to(match( - include( - method: :post, - url: 'https://samples.auth0.com/oauth/token' - ))) - - expect(JSON.parse(arg[:payload], { symbolize_names: true })).to eq(payload) - - StubResponse.new({ - "access_token" => "renewed_token", - "expires_in" => 86400}, - true, - 200) - end - - instance.get_token - - expect(instance.instance_variable_get('@token')).to eq('renewed_token') - expect(instance.instance_variable_get('@token_expires_at')).to eq(time_now.to_i + 86400) - end - - it 'renews the token if past the expiry' do - params[:token] = 'test-token' - params[:token_expires_at] = time_now.to_i - 10 - - expect(RestClient::Request).to receive(:execute) do |arg| - expect(arg).to(match( - include( - method: :post, - url: 'https://samples.auth0.com/oauth/token' - ))) - - expect(JSON.parse(arg[:payload], { symbolize_names: true })).to eq(payload) - - StubResponse.new({ - "access_token" => "renewed_token", - "expires_in" => 86400}, - true, - 200) - end - - instance.get_token - - expect(instance.instance_variable_get('@token')).to eq('renewed_token') - expect(instance.instance_variable_get('@token_expires_at')).to eq(time_now.to_i + 86400) - end - - it 'does not renew existing token if no token_expires_at' do - params[:token] = 'test-token' - instance.instance_variable_set '@token_expires_at', nil - - expect(RestClient::Request).not_to receive(:execute) - - expect(instance.get_token).to eq('test-token') - end - end -end diff --git a/spec/lib/auth0/mixins/validation_spec.rb b/spec/lib/auth0/mixins/validation_spec.rb deleted file mode 100644 index 5d31a5a57..000000000 --- a/spec/lib/auth0/mixins/validation_spec.rb +++ /dev/null @@ -1,562 +0,0 @@ -# rubocop:disable Metrics/BlockLength -require 'spec_helper' -require 'jwt' - -RSA_PUB_KEY_JWK_1 = { 'kty': "RSA", 'use': 'sig', 'n': "uGbXWiK3dQTyCbX5xdE4yCuYp0AF2d15Qq1JSXT_lx8CEcXb9RbDddl8jGDv-spi5qPa8qEHiK7FwV2KpRE983wGPnYsAm9BxLFb4YrLYcDFOIGULuk2FtrPS512Qea1bXASuvYXEpQNpGbnTGVsWXI9C-yjHztqyL2h8P6mlThPY9E9ue2fCqdgixfTFIF9Dm4SLHbphUS2iw7w1JgT69s7of9-I9l5lsJ9cozf1rxrXX4V1u_SotUuNB3Fp8oB4C1fLBEhSlMcUJirz1E8AziMCxS-VrRPDM-zfvpIJg3JljAh3PJHDiLu902v9w-Iplu1WyoB2aPfitxEhRN0Yw", 'e': 'AQAB', 'kid': 'test-key-1' }.freeze -RSA_PUB_KEY_JWK_2 = { 'kty': "RSA", 'use': 'sig', 'n': "uGbXWiK3dQTyCbX5xdE4yCuYp0AF2d15Qq1JSXT_lx8CEcXb9RbDddl8jGDv-spi5qPa8qEHiK7FwV2KpRE983wGPnYsAm9BxLFb4YrLYcDFOIGULuk2FtrPS512Qea1bXASuvYXEpQNpGbnTGVsWXI9C-yjHztqyL2h8P6mlThPY9E9ue2fCqdgixfTFIF9Dm4SLHbphUS2iw7w1JgT69s7of9-I9l5lsJ9cozf1rxrXX4V1u_SotUuNB3Fp8oB4C1fLBEhSlMcUJirz1E8AziMCxS-VrRPDM-zfvpIJg3JljAh3PJHDiLu902v9w-Iplu1WyoB2aPfitxEhRN0Yw", 'e': 'AQAB', 'kid': 'test-key-2' }.freeze -JWKS_RESPONSE_1 = { 'keys': [RSA_PUB_KEY_JWK_1] }.freeze -JWKS_RESPONSE_2 = { 'keys': [RSA_PUB_KEY_JWK_2] }.freeze -JWKS_URL = 'https://tokens-test.auth0.com/.well-known/jwks.json'.freeze -JWKS_URL_2 = 'https://tokens-test2.auth0.com/.well-known/jwks.json'.freeze -HMAC_SHARED_SECRET = 'secret'.freeze - -LEEWAY = 60 -CLOCK = 1587592561 # Apr 22 2020 21:56:01 UTC -CONTEXT = { algorithm: Auth0::Algorithm::HS256.secret(HMAC_SHARED_SECRET), leeway: LEEWAY, audience: 'tokens-test-123', issuer: 'https://tokens-test.auth0.com/', clock: CLOCK }.freeze - -def build_id_token(payload = {}) - default_payload = { iss: CONTEXT[:issuer], sub: 'user123', aud: CONTEXT[:audience], exp: CLOCK, iat: CLOCK } - JWT.encode(default_payload.merge(payload), HMAC_SHARED_SECRET, 'HS256') -end - -describe Auth0::Mixins::Validation::IdTokenValidator do - subject { @instance } - let (:minimal_id_token) { build_id_token } - - context 'instance' do - it 'is expected respond to :validate' do - instance = Auth0::Mixins::Validation::IdTokenValidator.new({}) - - expect(instance).to respond_to(:validate) - end - end - - context 'ID token decoding' do - expected_error = 'ID token could not be decoded' - instance = Auth0::Mixins::Validation::IdTokenValidator.new({}) - - it 'is expected to raise an error with a nil id_token' do - expect { instance.validate(nil) }.to raise_exception(expected_error) - end - - it 'is expected to raise an error with an empty id_token' do - expect { instance.validate('') }.to raise_exception(expected_error) - end - - it 'is expected to raise an error with an invalid format' do - expect { instance.validate('a.b') }.to raise_exception(expected_error) - expect { instance.validate('a.b.') }.to raise_exception(expected_error) - expect { instance.validate('a.b.c.d') }.to raise_exception(expected_error) - end - - it 'is expected to raise an error with an invalid encoding' do - expect { instance.validate('a.b.c') }.to raise_exception(expected_error) - end - end - - context 'algorithm verification' do - token = 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJodHRwczovL3Rva2Vucy10ZXN0LmF1dGgwLmNvbS8iLCJzdWIiOiJhdXRoMHwxMjM0NTY3ODkiLCJhdWQiOlsidG9rZW5zLXRlc3QtMTIzIiwiZXh0ZXJuYWwtdGVzdC05OTkiXSwiZXhwIjoxNTg3NzY1MzYxLCJpYXQiOjE1ODc1OTI1NjEsIm5vbmNlIjoiYTFiMmMzZDRlNSIsImF6cCI6InRva2Vucy10ZXN0LTEyMyIsImF1dGhfdGltZSI6MTU4NzY3ODk2MX0.Hn38QVtN_mWN0c-jOa-Fqq69kXpbBp0THsvE-CQ47Ps' - - it 'is expected to raise an error with an unsupported algorithm' do - instance = Auth0::Mixins::Validation::IdTokenValidator.new({ algorithm: 'ES256' }) - - expect { instance.validate(token) }.to raise_exception('Signature algorithm of "ES256" is not supported') - end - - it 'is expected to raise an error when the algorithm does not match the alg header value' do - algorithm = Auth0::Algorithm::HS256.secret(HMAC_SHARED_SECRET) - instance = Auth0::Mixins::Validation::IdTokenValidator.new({ algorithm: algorithm }) - - expect { instance.validate(token) }.to raise_exception('Signature algorithm of "ES256" is not supported. Expected the ID token to be signed with "HS256"') - end - end - - context 'HS256 signature verification' do - before :each do - algorithm = Auth0::Algorithm::HS256.secret(HMAC_SHARED_SECRET) - @instance = Auth0::Mixins::Validation::IdTokenValidator.new(CONTEXT.merge({ algorithm: algorithm })) - end - - it 'is expected not to raise an error with a valid signature' do - token = 'eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL3Rva2Vucy10ZXN0LmF1dGgwLmNvbS8iLCJzdWIiOiJhdXRoMHwxMjM0NTY3ODkiLCJhdWQiOlsidG9rZW5zLXRlc3QtMTIzIiwiZXh0ZXJuYWwtdGVzdC05OTkiXSwiZXhwIjoxNTg3NzY1MzYxLCJpYXQiOjE1ODc1OTI1NjEsIm5vbmNlIjoiYTFiMmMzZDRlNSIsImF6cCI6InRva2Vucy10ZXN0LTEyMyIsImF1dGhfdGltZSI6MTU4NzY3ODk2MX0.Hn38QVtN_mWN0c-jOa-Fqq69kXpbBp0THsvE-CQ47Ps' - - expect { @instance.validate(token) }.not_to raise_exception - end - - it 'is expected to raise an error with an invalid signature' do - token = 'eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL3Rva2Vucy10ZXN0LmF1dGgwLmNvbS8iLCJzdWIiOiJhdXRoMHwxMjM0NTY3ODkiLCJhdWQiOlsidG9rZW5zLXRlc3QtMTIzIiwiZXh0ZXJuYWwtdGVzdC05OTkiXSwiZXhwIjoxNTg3NzY1MzYxLCJpYXQiOjE1ODc1OTI1NjEsIm5vbmNlIjoiYTFiMmMzZDRlNSIsImF6cCI6InRva2Vucy10ZXN0LTEyMyIsImF1dGhfdGltZSI6MTU4NzY3ODk2MX0.invalidsignature' - - expect { @instance.validate(token) }.to raise_exception('Invalid ID token signature') - end - end - - context 'RS256 signature verification' do - before :each do - stub_jwks - algorithm = Auth0::Algorithm::RS256.jwks_url(JWKS_URL) - @instance = Auth0::Mixins::Validation::IdTokenValidator.new(CONTEXT.merge({ algorithm: algorithm })) - end - - after :each do - Auth0::Algorithm::RS256.remove_jwks - WebMock.reset! - end - - it 'is expected not to raise an error with a valid signature' do - token = 'eyJhbGciOiJSUzI1NiIsImtpZCI6InRlc3Qta2V5LTEifQ.eyJpc3MiOiJodHRwczovL3Rva2Vucy10ZXN0LmF1dGgwLmNvbS8iLCJzdWIiOiJhdXRoMHwxMjM0NTY3ODkiLCJhdWQiOlsidG9rZW5zLXRlc3QtMTIzIiwiZXh0ZXJuYWwtdGVzdC05OTkiXSwiZXhwIjoxNTg3NzY1MzYxLCJpYXQiOjE1ODc1OTI1NjEsIm5vbmNlIjoiYTFiMmMzZDRlNSIsImF6cCI6InRva2Vucy10ZXN0LTEyMyIsImF1dGhfdGltZSI6MTU4NzY3ODk2MX0.jE00ARUiAwrKEoAMwbioKYj4bUZjmg31V7McDtIPsJJ16rYcvI-e5mtSSMgCmAom6t-WA7dsSWCJUlBCW2nAMvyCZ-hj8HG9Z0RmQEiwig9Fk22avoX94zdx65TwAeDfn2uMRaX_ps3TJcn4nymUtMp8Lps_vMw15eJerKThlSO4KuLTrvDDdRaCRamAd7jxuzhiwOt0mB0TVD55b5itA02pGuyapbjQXvvLYEx8OgpyIaAkB9Ry25abgjev0bSw2kjFZckG3lv9QgvZM85m9l3Rbrc6msNPGfMDFWGyT3Tu2ObqnSEA-57hZeuCbFrOya3vUwgSlc66rfvZj2xpzg' - - expect { @instance.validate(token) }.not_to raise_exception - end - - it 'is expected to raise an error with an invalid signature' do - token = 'eyJhbGciOiJSUzI1NiIsImtpZCI6InRlc3Qta2V5LTEifQ.eyJpc3MiOiJodHRwczovL3Rva2Vucy10ZXN0LmF1dGgwLmNvbS8iLCJzdWIiOiJhdXRoMHwxMjM0NTY3ODkiLCJhdWQiOlsidG9rZW5zLXRlc3QtMTIzIiwiZXh0ZXJuYWwtdGVzdC05OTkiXSwiZXhwIjoxNTg3NzY1MzYxLCJpYXQiOjE1ODc1OTI1NjEsIm5vbmNlIjoiYTFiMmMzZDRlNSIsImF6cCI6InRva2Vucy10ZXN0LTEyMyIsImF1dGhfdGltZSI6MTU4NzY3ODk2MX0.invalidsignature' - - expect { @instance.validate(token) }.to raise_exception('Invalid ID token signature') - end - - it 'is expected to raise an error when the public key cannot be found' do - token = 'eyJhbGciOiJSUzI1NiIsImtpZCI6InRlc3Qta2V5LTIifQ.eyJpc3MiOiJodHRwczovL3Rva2Vucy10ZXN0LmF1dGgwLmNvbS8iLCJzdWIiOiJhdXRoMHwxMjM0NTY3ODkiLCJhdWQiOlsidG9rZW5zLXRlc3QtMTIzIiwiZXh0ZXJuYWwtdGVzdC05OTkiXSwiZXhwIjoxNTg3NzY1MzYxLCJpYXQiOjE1ODc1OTI1NjEsIm5vbmNlIjoiYTFiMmMzZDRlNSIsImF6cCI6InRva2Vucy10ZXN0LTEyMyIsImF1dGhfdGltZSI6MTU4NzY3ODk2MX0.r2ksgiiM8zGJ6byea_Fq_zWWEmUdOnwQLVdb5JzgdBv1GUQFp-4LNaRhcga4FIrbKgxaPeewGLTq2VqfjmNJUNfARcE3QEacQ_JEHkC6zKZIiqcu4msHl8X9HXyHxOPHMTTjYMjauPzET7UH_oLxF68DDDQqvKX9VqLsncpyC-KdTCFTLGlFSq6pxmYt6gwrF2Uo15Gzc6qe2I9-MTXCYd44VW1zQi6GhNJNKbXH6U3bf7nof0ot1PSjBXXuLgf6d3qumTStECCjIUmdBb6FiEX4SSRI4MgHWj4q0LyN28baRpYwYPhVnjzUxOP7OLjKiHs45ORBhuAWhrJnuR_uBQ' - - expect { @instance.validate(token) }.to raise_exception('Could not find a public key for Key ID (kid) "test-key-2"') - end - - it 'is expected to fetch the JWK set from the url if the public key cannot be found and the cache is not empty' do - token = 'eyJhbGciOiJSUzI1NiIsImtpZCI6InRlc3Qta2V5LTIifQ.eyJpc3MiOiJodHRwczovL3Rva2Vucy10ZXN0LmF1dGgwLmNvbS8iLCJzdWIiOiJhdXRoMHwxMjM0NTY3ODkiLCJhdWQiOlsidG9rZW5zLXRlc3QtMTIzIiwiZXh0ZXJuYWwtdGVzdC05OTkiXSwiZXhwIjoxNTg3NzY1MzYxLCJpYXQiOjE1ODc1OTI1NjEsIm5vbmNlIjoiYTFiMmMzZDRlNSIsImF6cCI6InRva2Vucy10ZXN0LTEyMyIsImF1dGhfdGltZSI6MTU4NzY3ODk2MX0.r2ksgiiM8zGJ6byea_Fq_zWWEmUdOnwQLVdb5JzgdBv1GUQFp-4LNaRhcga4FIrbKgxaPeewGLTq2VqfjmNJUNfARcE3QEacQ_JEHkC6zKZIiqcu4msHl8X9HXyHxOPHMTTjYMjauPzET7UH_oLxF68DDDQqvKX9VqLsncpyC-KdTCFTLGlFSq6pxmYt6gwrF2Uo15Gzc6qe2I9-MTXCYd44VW1zQi6GhNJNKbXH6U3bf7nof0ot1PSjBXXuLgf6d3qumTStECCjIUmdBb6FiEX4SSRI4MgHWj4q0LyN28baRpYwYPhVnjzUxOP7OLjKiHs45ORBhuAWhrJnuR_uBQ' - Auth0::Algorithm::RS256.jwks_url(JWKS_URL).jwks - stub_jwks(JWKS_RESPONSE_2) - @instance.validate(token) - - expect(a_request(:get, JWKS_URL)).to have_been_made.twice - end - end - - context 'context validation' do - token = 'eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL3Rva2Vucy10ZXN0LmF1dGgwLmNvbS8iLCJzdWIiOiJhdXRoMHwxMjM0NTY3ODkiLCJhdWQiOlsidG9rZW5zLXRlc3QtMTIzIiwiZXh0ZXJuYWwtdGVzdC05OTkiXSwiZXhwIjoxNTg3NzY1MzYxLCJpYXQiOjE1ODc1OTI1NjEsIm5vbmNlIjoiYTFiMmMzZDRlNSIsImF6cCI6InRva2Vucy10ZXN0LTEyMyIsImF1dGhfdGltZSI6MTU4NzY3ODk2MX0.Hn38QVtN_mWN0c-jOa-Fqq69kXpbBp0THsvE-CQ47Ps' - - it 'is expected to raise an error with a non-integer leeway' do - instance = Auth0::Mixins::Validation::IdTokenValidator.new(CONTEXT.merge({ leeway: '1' })) - - expect { instance.validate(token) }.to raise_exception('Must supply a valid leeway') - end - - it 'is expected to raise an error with a negative leeway' do - instance = Auth0::Mixins::Validation::IdTokenValidator.new(CONTEXT.merge({ leeway: -1 })) - - expect { instance.validate(token) }.to raise_exception('Must supply a valid leeway') - end - - it 'is expected to raise an error with an empty nonce' do - instance = Auth0::Mixins::Validation::IdTokenValidator.new(CONTEXT.merge({ nonce: '' })) - - expect { instance.validate(token) }.to raise_exception('Must supply a valid nonce') - end - - it 'is expected to raise an error with an empty organization' do - instance = Auth0::Mixins::Validation::IdTokenValidator.new(CONTEXT.merge({ organization: '' })) - - expect { instance.validate(token) }.to raise_exception('Must supply a valid organization') - end - - it 'is expected to raise an error with an empty issuer' do - instance = Auth0::Mixins::Validation::IdTokenValidator.new(CONTEXT.merge({ issuer: '' })) - - expect { instance.validate(token) }.to raise_exception('Must supply a valid issuer') - end - - it 'is expected to raise an error with an empty audience' do - instance = Auth0::Mixins::Validation::IdTokenValidator.new(CONTEXT.merge({ audience: '' })) - - expect { instance.validate(token) }.to raise_exception('Must supply a valid audience') - end - - it 'is expected to raise an error with a non-integer max_age' do - instance = Auth0::Mixins::Validation::IdTokenValidator.new(CONTEXT.merge({ max_age: '1' })) - - expect { instance.validate(token) }.to raise_exception('Must supply a valid max_age') - end - - it 'is expected to raise an error with a negative max_age' do - instance = Auth0::Mixins::Validation::IdTokenValidator.new(CONTEXT.merge({ max_age: -1 })) - - expect { instance.validate(token) }.to raise_exception('Must supply a valid max_age') - end - end - - context 'claims validation' do - before :all do - @instance = Auth0::Mixins::Validation::IdTokenValidator.new(CONTEXT) - end - - it 'is expected to raise an error with a missing iss' do - token = 'eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhdXRoMHwxMjM0NTY3ODkiLCJhdWQiOlsidG9rZW5zLXRlc3QtMTIzIiwiZXh0ZXJuYWwtdGVzdC05OTkiXSwiZXhwIjoxNTg3NzY1MzYxLCJpYXQiOjE1ODc1OTI1NjEsIm5vbmNlIjoiYTFiMmMzZDRlNSIsImF6cCI6InRva2Vucy10ZXN0LTEyMyIsImF1dGhfdGltZSI6MTU4NzY3ODk2MX0.QL2B2tqJhlW9rc8HQ3PQKkjDufBeSvtRBtJmRPdQ5K8' - - expect { @instance.validate(token) }.to raise_exception('Issuer (iss) claim must be a string present in the ID token') - end - - it 'is expected to raise an error with a invalid iss' do - token = 'eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJzb21ldGhpbmctZWxzZSIsInN1YiI6ImF1dGgwfDEyMzQ1Njc4OSIsImF1ZCI6WyJ0b2tlbnMtdGVzdC0xMjMiLCJleHRlcm5hbC10ZXN0LTk5OSJdLCJleHAiOjE1ODc3NjUzNjEsImlhdCI6MTU4NzU5MjU2MSwibm9uY2UiOiJhMWIyYzNkNGU1IiwiYXpwIjoidG9rZW5zLXRlc3QtMTIzIiwiYXV0aF90aW1lIjoxNTg3Njc4OTYxfQ.AhMMouDlGMdxTYrY9Cn-p8svJ8ssKmsHeT6JNRVTh10' - - expect { @instance.validate(token) }.to raise_exception("Issuer (iss) claim mismatch in the ID token; expected \"#{CONTEXT[:issuer]}\", found \"something-else\"") - end - - it 'is expected to raise an error with a missing sub' do - token = 'eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL3Rva2Vucy10ZXN0LmF1dGgwLmNvbS8iLCJhdWQiOlsidG9rZW5zLXRlc3QtMTIzIiwiZXh0ZXJuYWwtdGVzdC05OTkiXSwiZXhwIjoxNTg3NzY1MzYxLCJpYXQiOjE1ODc1OTI1NjEsIm5vbmNlIjoiYTFiMmMzZDRlNSIsImF6cCI6InRva2Vucy10ZXN0LTEyMyIsImF1dGhfdGltZSI6MTU4NzY3ODk2MX0._4sUXtAZYpGrO3QaYArXnk2JivCqixa7hgHhH3w4SlY' - - expect { @instance.validate(token) }.to raise_exception('Subject (sub) claim must be a string present in the ID token') - end - - it 'is expected to raise an error with a missing aud' do - token = 'eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL3Rva2Vucy10ZXN0LmF1dGgwLmNvbS8iLCJzdWIiOiJhdXRoMHwxMjM0NTY3ODkiLCJleHAiOjE1ODc3NjUzNjEsImlhdCI6MTU4NzU5MjU2MSwibm9uY2UiOiJhMWIyYzNkNGU1IiwiYXpwIjoidG9rZW5zLXRlc3QtMTIzIiwiYXV0aF90aW1lIjoxNTg3Njc4OTYxfQ.TlwnBmGUKe0SElSYKxPqsG1mujkK2t1CwDJGGiWRdXA' - - expect { @instance.validate(token) }.to raise_exception('Audience (aud) claim must be a string or array of strings present in the ID token') - end - - it 'is expected to raise an error with an invalid string aud' do - token = 'eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL3Rva2Vucy10ZXN0LmF1dGgwLmNvbS8iLCJzdWIiOiJhdXRoMHwxMjM0NTY3ODkiLCJhdWQiOiJleHRlcm5hbC10ZXN0LTk5OSIsImV4cCI6MTU4Nzc2NTM2MSwiaWF0IjoxNTg3NTkyNTYxLCJub25jZSI6ImExYjJjM2Q0ZTUiLCJhenAiOiJ0b2tlbnMtdGVzdC0xMjMiLCJhdXRoX3RpbWUiOjE1ODc2Nzg5NjF9.-Tf5CIi2bZ51UdgqxFWQNXpJJmK5GgsetcVoVrQwHIA' - - expect { @instance.validate(token) }.to raise_exception("Audience (aud) claim mismatch in the ID token; expected \"#{CONTEXT[:audience]}\", found \"external-test-999\"") - end - - it 'is expected to raise an error with an invalid array aud' do - token = 'eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL3Rva2Vucy10ZXN0LmF1dGgwLmNvbS8iLCJzdWIiOiJhdXRoMHwxMjM0NTY3ODkiLCJhdWQiOlsiZXh0ZXJuYWwtdGVzdC05OTgiLCJleHRlcm5hbC10ZXN0LTk5OSJdLCJleHAiOjE1ODc3NjUzNjEsImlhdCI6MTU4NzU5MjU2MSwibm9uY2UiOiJhMWIyYzNkNGU1IiwiYXpwIjoidG9rZW5zLXRlc3QtMTIzIiwiYXV0aF90aW1lIjoxNTg3Njc4OTYxfQ.Q1GRVL5g3RLQqG5sEV_cc8WW_oiZzFIAfzRfBdxMW2s' - - expect { @instance.validate(token) }.to raise_exception("Audience (aud) claim mismatch in the ID token; expected \"#{CONTEXT[:audience]}\" but was not one of \"external-test-998, external-test-999\"") - end - - it 'is expected to raise an error with a missing exp' do - token = 'eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL3Rva2Vucy10ZXN0LmF1dGgwLmNvbS8iLCJzdWIiOiJhdXRoMHwxMjM0NTY3ODkiLCJhdWQiOlsidG9rZW5zLXRlc3QtMTIzIiwiZXh0ZXJuYWwtdGVzdC05OTkiXSwiaWF0IjoxNTg3NTkyNTYxLCJub25jZSI6ImExYjJjM2Q0ZTUiLCJhenAiOiJ0b2tlbnMtdGVzdC0xMjMiLCJhdXRoX3RpbWUiOjE1ODc2Nzg5NjF9.aoLiQX3sHsf1bEbc0axbjJ9qV6hhomtEzJq-FT8OGF0' - - expect { @instance.validate(token) }.to raise_exception('Expiration Time (exp) claim must be a number present in the ID token') - end - - it 'is expected to raise an error with a invalid exp' do - token = 'eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL3Rva2Vucy10ZXN0LmF1dGgwLmNvbS8iLCJzdWIiOiJhdXRoMHwxMjM0NTY3ODkiLCJhdWQiOlsidG9rZW5zLXRlc3QtMTIzIiwiZXh0ZXJuYWwtdGVzdC05OTkiXSwiZXhwIjoxNTg3NTkyNTYxLCJpYXQiOjE1ODc1OTI1NjEsIm5vbmNlIjoiYTFiMmMzZDRlNSIsImF6cCI6InRva2Vucy10ZXN0LTEyMyIsImF1dGhfdGltZSI6MTU4NzY3ODk2MX0.A8Pc0vlCG5Ufez7VIoRqXTYpJehalTEgGX9cR2xJLkU' - clock = CLOCK + LEEWAY + 1 - instance = Auth0::Mixins::Validation::IdTokenValidator.new(CONTEXT.merge({ clock: clock })) - - expect { instance.validate(token) }.to raise_exception("Expiration Time (exp) claim mismatch in the ID token; current time \"#{clock}\" is after expiration time \"1587592621\"") - end - - it 'is expected to raise an error with a missing iat' do - token = 'eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL3Rva2Vucy10ZXN0LmF1dGgwLmNvbS8iLCJzdWIiOiJhdXRoMHwxMjM0NTY3ODkiLCJhdWQiOlsidG9rZW5zLXRlc3QtMTIzIiwiZXh0ZXJuYWwtdGVzdC05OTkiXSwiZXhwIjoxNTg3NzY1MzYxLCJub25jZSI6ImExYjJjM2Q0ZTUiLCJhenAiOiJ0b2tlbnMtdGVzdC0xMjMiLCJhdXRoX3RpbWUiOjE1ODc2Nzg5NjF9.Jea6UVJsAK7Hnb494f_WIQCIbaLTnnCvMenSY1Y2toc' - - expect { @instance.validate(token) }.to raise_exception('Issued At (iat) claim must be a number present in the ID token') - end - - it 'is expected not to raise an error with a missing but not required nonce' do - token = 'eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL3Rva2Vucy10ZXN0LmF1dGgwLmNvbS8iLCJzdWIiOiJhdXRoMHwxMjM0NTY3ODkiLCJhdWQiOlsidG9rZW5zLXRlc3QtMTIzIiwiZXh0ZXJuYWwtdGVzdC05OTkiXSwiZXhwIjoxNTg3NzY1MzYxLCJpYXQiOjE1ODc1OTI1NjEsImF6cCI6InRva2Vucy10ZXN0LTEyMyIsImF1dGhfdGltZSI6MTU4NzY3ODk2MX0.-o5grnyODbBdRgzcrn7Sf9Hb6eOC0x_U2i3YjVgHN0U' - - expect { @instance.validate(token) }.not_to raise_exception - end - - it 'is expected to raise an error with a missing but required nonce' do - token = 'eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL3Rva2Vucy10ZXN0LmF1dGgwLmNvbS8iLCJzdWIiOiJhdXRoMHwxMjM0NTY3ODkiLCJhdWQiOlsidG9rZW5zLXRlc3QtMTIzIiwiZXh0ZXJuYWwtdGVzdC05OTkiXSwiZXhwIjoxNTg3NzY1MzYxLCJpYXQiOjE1ODc1OTI1NjEsImF6cCI6InRva2Vucy10ZXN0LTEyMyIsImF1dGhfdGltZSI6MTU4NzY3ODk2MX0.-o5grnyODbBdRgzcrn7Sf9Hb6eOC0x_U2i3YjVgHN0U' - instance = Auth0::Mixins::Validation::IdTokenValidator.new(CONTEXT.merge({ nonce: 'a1b2c3d4e5' })) - - expect { instance.validate(token) }.to raise_exception('Nonce (nonce) claim must be a string present in the ID token') - end - - it 'is expected to raise an error with an invalid nonce' do - token = 'eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL3Rva2Vucy10ZXN0LmF1dGgwLmNvbS8iLCJzdWIiOiJhdXRoMHwxMjM0NTY3ODkiLCJhdWQiOlsidG9rZW5zLXRlc3QtMTIzIiwiZXh0ZXJuYWwtdGVzdC05OTkiXSwiZXhwIjoxNTg3NzY1MzYxLCJpYXQiOjE1ODc1OTI1NjEsIm5vbmNlIjoiMDAwOTk5IiwiYXpwIjoidG9rZW5zLXRlc3QtMTIzIiwiYXV0aF90aW1lIjoxNTg3Njc4OTYxfQ.XqQPdFN4m5kmTUQQi_mAJu0LQOeUTS9lF2J_xWc_j-0' - instance = Auth0::Mixins::Validation::IdTokenValidator.new(CONTEXT.merge({ nonce: 'a1b2c3d4e5' })) - - expect { instance.validate(token) }.to raise_exception('Nonce (nonce) claim mismatch in the ID token; expected "a1b2c3d4e5", found "000999"') - end - - it 'is expected to raise an error with a missing azp' do - token = 'eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL3Rva2Vucy10ZXN0LmF1dGgwLmNvbS8iLCJzdWIiOiJhdXRoMHwxMjM0NTY3ODkiLCJhdWQiOlsidG9rZW5zLXRlc3QtMTIzIiwiZXh0ZXJuYWwtdGVzdC05OTkiXSwiZXhwIjoxNTg3NzY1MzYxLCJpYXQiOjE1ODc1OTI1NjEsIm5vbmNlIjoiYTFiMmMzZDRlNSIsImF1dGhfdGltZSI6MTU4NzY3ODk2MX0.LrgYkIbWrxMq6jvvkL1lxWL237ii1IBhtN2o_tDxFns' - - expect { @instance.validate(token) }.to raise_exception('Authorized Party (azp) claim must be a string present in the ID token') - end - - it 'is expected to raise an error with an invalid azp' do - token = 'eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL3Rva2Vucy10ZXN0LmF1dGgwLmNvbS8iLCJzdWIiOiJhdXRoMHwxMjM0NTY3ODkiLCJhdWQiOlsidG9rZW5zLXRlc3QtMTIzIiwiZXh0ZXJuYWwtdGVzdC05OTkiXSwiZXhwIjoxNTg3NzY1MzYxLCJpYXQiOjE1ODc1OTI1NjEsIm5vbmNlIjoiYTFiMmMzZDRlNSIsImF6cCI6ImV4dGVybmFsLXRlc3QtOTk5IiwiYXV0aF90aW1lIjoxNTg3Njc4OTYxfQ.3DX-LY3B4UngDML-9nv11Sv89ECJpRpOLeWnkF1vAFY' - - expect { @instance.validate(token) }.to raise_exception("Authorized Party (azp) claim mismatch in the ID token; expected \"tokens-test-123\", found \"external-test-999\"") - end - - it 'is expected to raise an error with a missing auth_time' do - token = 'eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL3Rva2Vucy10ZXN0LmF1dGgwLmNvbS8iLCJzdWIiOiJhdXRoMHwxMjM0NTY3ODkiLCJhdWQiOlsidG9rZW5zLXRlc3QtMTIzIiwiZXh0ZXJuYWwtdGVzdC05OTkiXSwiZXhwIjoxNTg3NzY1MzYxLCJpYXQiOjE1ODc1OTI1NjEsIm5vbmNlIjoiYTFiMmMzZDRlNSIsImF6cCI6InRva2Vucy10ZXN0LTEyMyJ9.JqUotnjHbGW0FcHz1s1YsRkce9Sbpsv2AEBDMpcUhp8' - instance = Auth0::Mixins::Validation::IdTokenValidator.new(CONTEXT.merge({ max_age: 120 })) - - expect { instance.validate(token) }.to raise_exception('Authentication Time (auth_time) claim must be a number present in the ID token when Max Age (max_age) is specified') - end - - it 'is expected to raise an error with a invalid auth_time' do - token = 'eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL3Rva2Vucy10ZXN0LmF1dGgwLmNvbS8iLCJzdWIiOiJhdXRoMHwxMjM0NTY3ODkiLCJhdWQiOlsidG9rZW5zLXRlc3QtMTIzIiwiZXh0ZXJuYWwtdGVzdC05OTkiXSwiZXhwIjoxNTg3NzY1MzYxLCJpYXQiOjE1ODc1OTI1NjEsIm5vbmNlIjoiYTFiMmMzZDRlNSIsImF6cCI6InRva2Vucy10ZXN0LTEyMyIsImF1dGhfdGltZSI6MTU4NzU5MjU2MX0.B7eWHJPHjhOh0ALjIQi0ro6zVsqGIeHd0gpRZsv6Hg8' - max_age = 120 - auth_time = CLOCK + LEEWAY + max_age - clock = auth_time + 1 - instance = Auth0::Mixins::Validation::IdTokenValidator.new(CONTEXT.merge({ max_age: max_age, clock: clock })) - - expect { instance.validate(token) }.to raise_exception("Authentication Time (auth_time) claim in the ID token indicates that too much time has passed since the last end-user authentication. Current time \"#{clock}\" is after last auth at \"#{auth_time}\"") - end - - context 'Organization claims validation' do - it 'is expected not to raise an error when org_id exsist in the token, but not required' do - token = build_id_token org_id: 'org_123' - expect { @instance.validate(token) }.not_to raise_exception - end - - it 'is expected not to raise an error when org_name exists in the token, but not required' do - token = build_id_token org_name: 'my-organization' - expect { @instance.validate(token) }.not_to raise_exception - end - - it 'is expected to raise an error with a missing but required organization ID' do - instance = Auth0::Mixins::Validation::IdTokenValidator.new(CONTEXT.merge({ organization: 'org_1234' })) - expect { instance.validate(minimal_id_token) }.to raise_exception('Organization Id (org_id) claim must be a string present in the ID token') - end - - it 'is expected to raise an error with a missing but required organization name' do - instance = Auth0::Mixins::Validation::IdTokenValidator.new(CONTEXT.merge({ organization: 'my-organization' })) - expect { instance.validate(minimal_id_token) }.to raise_exception('Organization Name (org_name) claim must be a string present in the ID token') - end - - it 'is expected to raise an error with an invalid organization ID' do - token = build_id_token org_id: 'org_1234' - instance = Auth0::Mixins::Validation::IdTokenValidator.new(CONTEXT.merge({ organization: 'org_5678' })) - - expect { instance.validate(token) }.to raise_exception('Organization Id (org_id) claim value mismatch in the ID token; expected "org_5678", found "org_1234"') - end - - it 'is expected to raise an error with an invalid organization name' do - token = build_id_token org_name: 'another-organization' - instance = Auth0::Mixins::Validation::IdTokenValidator.new(CONTEXT.merge({ organization: 'my-organization' })) - - expect { instance.validate(token) }.to raise_exception('Organization Name (org_name) claim value mismatch in the ID token; expected "my-organization", found "another-organization"') - end - - it 'is expected to NOT raise an error with a valid organization ID' do - token = build_id_token org_id: 'org_1234' - instance = Auth0::Mixins::Validation::IdTokenValidator.new(CONTEXT.merge({ organization: 'org_1234' })) - - expect { instance.validate(token) }.not_to raise_exception - end - - it 'is expected to NOT raise an error with a valid organization name' do - token = build_id_token org_name: 'my-organization' - instance = Auth0::Mixins::Validation::IdTokenValidator.new(CONTEXT.merge({ organization: 'my-organization' })) - - expect { instance.validate(token) }.not_to raise_exception - end - - it 'is expected to NOT raise an error with organization name in different casing' do - token = build_id_token org_name: 'my-organization' - instance = Auth0::Mixins::Validation::IdTokenValidator.new(CONTEXT.merge({ organization: 'MY-ORGANIZATION' })) - - expect { instance.validate(token) }.not_to raise_exception - end - - it 'validates org_id when both claims are present in the token' do - token = build_id_token org_name: 'my-organization', org_id: 'org_1234' - instance = Auth0::Mixins::Validation::IdTokenValidator.new(CONTEXT.merge({ organization: 'org_1234' })) - expect { instance.validate(token) }.not_to raise_exception - end - - it 'validates org_name when both claims are present in the token' do - token = build_id_token org_name: 'my-organization', org_id: 'org_1234' - instance = Auth0::Mixins::Validation::IdTokenValidator.new(CONTEXT.merge({ organization: 'my-organization' })) - expect { instance.validate(token) }.not_to raise_exception - end - end - end -end - -describe Auth0::Algorithm::HS256 do - context 'class' do - it 'is expected to respond to :secret' do - expect(Auth0::Algorithm::HS256).to respond_to(:secret) - end - - it 'is expected not to respond to :new' do - expect(Auth0::Algorithm::HS256).not_to respond_to(:new) - end - end - - context 'instance' do - it 'is expected to respond to :secret' do - instance = Auth0::Algorithm::HS256.secret('secret') - - expect(instance).to respond_to(:secret) - end - - it 'is expected to return the secret' do - instance = Auth0::Algorithm::HS256.secret('secret') - - expect(instance.secret).to eq('secret') - end - - it 'is expected to return the algorithm name' do - instance = Auth0::Algorithm::HS256.secret('secret') - - expect(instance.name).to eq('HS256') - end - end - - context 'parameters' do - expected_error = 'Must supply a valid secret' - - it 'is expected to raise an error with a nil secret' do - expect { Auth0::Algorithm::HS256.secret(nil) }.to raise_exception(expected_error) - end - - it 'is expected to raise an error with an empty secret' do - expect { Auth0::Algorithm::HS256.secret('') }.to raise_exception(expected_error) - end - end -end - -describe Auth0::Algorithm::RS256 do - before :each do - stub_jwks - end - - after :each do - Auth0::Algorithm::RS256.remove_jwks - WebMock.reset! - end - - context 'class' do - it 'is expected to respond to :jwks_url' do - expect(Auth0::Algorithm::RS256).to respond_to(:jwks_url) - end - - it 'is expected not to respond to :new' do - expect(Auth0::Algorithm::RS256).not_to respond_to(:new) - end - end - - context 'instance' do - it 'is expected to respond to :jwks' do - instance = Auth0::Algorithm::RS256.jwks_url('jwks url') - - expect(instance).to respond_to(:jwks) - end - - it 'is expected to respond to :fetched_jwks?' do - instance = Auth0::Algorithm::RS256.jwks_url('jwks url') - - expect(instance).to respond_to(:fetched_jwks?) - end - - it 'is expected to return a jwks' do - instance = Auth0::Algorithm::RS256.jwks_url(JWKS_URL) - - expect(instance.jwks).to have_key('keys') and contain_exactly(a_hash_including(kid: 'test-key-1')) - end - - it 'is expected to return if the jwks was fetched from the url' do - instance = Auth0::Algorithm::RS256.jwks_url(JWKS_URL) - instance.jwks - - expect(instance.fetched_jwks?).to eq(true) - end - - it 'is expected to return if the jwks was fetched from the cache' do - Auth0::Algorithm::RS256.jwks_url(JWKS_URL).jwks - instance = Auth0::Algorithm::RS256.jwks_url(JWKS_URL) - instance.jwks - - expect(instance.fetched_jwks?).to eq(false) - end - - it 'is expected to return the algorithm name' do - instance = Auth0::Algorithm::RS256.jwks_url('jwks url') - - expect(instance.name).to eq('RS256') - end - end - - context 'parameters' do - it 'is expected to raise an error with a nil jwks_url' do - expect { Auth0::Algorithm::RS256.jwks_url(nil) }.to raise_exception('Must supply a valid jwks_url') - end - - it 'is expected to raise an error with an empty jwks_url' do - expect { Auth0::Algorithm::RS256.jwks_url('') }.to raise_exception('Must supply a valid jwks_url') - end - - it 'is expected to raise an error with a non-integer lifetime' do - expect { Auth0::Algorithm::RS256.jwks_url('jwks url', lifetime: '1') }.to raise_exception('Must supply a valid lifetime') - end - - it 'is expected to raise an error with a negative lifetime' do - expect { Auth0::Algorithm::RS256.jwks_url('jwks url', lifetime: -1) }.to raise_exception('Must supply a valid lifetime') - end - end - - context 'cache' do - it 'is expected to fetch the jwks from the url when the cache is empty' do - instance = Auth0::Algorithm::RS256.jwks_url(JWKS_URL) - instance.jwks - - expect(a_request(:get, JWKS_URL)).to have_been_made.once - end - - it 'is expected to fetch the jwks from the url when the cache is expired' do - instance = Auth0::Algorithm::RS256.jwks_url(JWKS_URL, lifetime: 0) - instance.jwks - instance.jwks - - expect(a_request(:get, JWKS_URL)).to have_been_made.twice - end - - it 'is not expected to fetch the jwks from the url when there is a value cached' do - instance = Auth0::Algorithm::RS256.jwks_url(JWKS_URL) - instance.jwks - instance.jwks - - expect(a_request(:get, JWKS_URL)).to have_been_made.once - end - - it 'is expected to fetch the jwks from multiple urls' do - stub_jwks(JWKS_RESPONSE_2, JWKS_URL_2) - - instance1 = Auth0::Algorithm::RS256.jwks_url(JWKS_URL) - instance2 = Auth0::Algorithm::RS256.jwks_url(JWKS_URL_2) - instance1.jwks - instance2.jwks - instance1.jwks - - expect(a_request(:get, JWKS_URL)).to have_been_made.once - expect(a_request(:get, JWKS_URL_2)).to have_been_made.once - end - - it 'is expected to forcibly fetch the jwks from the url' do - instance = Auth0::Algorithm::RS256.jwks_url(JWKS_URL) - instance.jwks - instance.jwks(force: true) - - expect(a_request(:get, JWKS_URL)).to have_been_made.twice - end - - it 'is expected to forcibly fetch the jwks from the url and cache it' do - instance = Auth0::Algorithm::RS256.jwks_url(JWKS_URL) - instance.jwks(force: true) - instance.jwks - - expect(a_request(:get, JWKS_URL)).to have_been_made.once - end - - it 'is expected to return the last cached value if the jwks could not be fetched' do - Auth0::Algorithm::RS256.jwks_url(JWKS_URL).jwks - stub_request(:get, JWKS_URL).to_return(body: 'invalid') - instance = Auth0::Algorithm::RS256.jwks_url(JWKS_URL) - - expect(instance.jwks).to have_key('keys') and contain_exactly(a_hash_including(kid: 'test-key-1')) - end - - it 'is expected to raise an error if the jwks could not be fetched and the cache is empty' do - stub_request(:get, JWKS_URL).to_return(body: 'invalid') - instance = Auth0::Algorithm::RS256.jwks_url(JWKS_URL) - - expect { instance.jwks }.to raise_exception('Could not fetch the JWK set') - end - end -end -# rubocop:enable Metrics/BlockLength - -def stub_jwks(stub = JWKS_RESPONSE_1, url = JWKS_URL) - stub_request(:get, url).to_return(body: stub.to_json) -end diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb deleted file mode 100644 index 48bcefb1e..000000000 --- a/spec/spec_helper.rb +++ /dev/null @@ -1,70 +0,0 @@ -require 'faker' -require 'json' -require 'auth0' - -if RUBY_VERSION >= '2.7.2' - # NOTE: https://bugs.ruby-lang.org/issues/17000 - Warning[:deprecated] = true -end - -require 'simplecov' -SimpleCov.start - -if ENV['CI'] == 'true' - require 'simplecov-cobertura' - SimpleCov.formatter = SimpleCov::Formatter::CoberturaFormatter -end - -require 'dotenv' -Dotenv.load - -require 'webmock/rspec' -WebMock.allow_net_connect! - -require 'vcr' -VCR.configure do |config| - # Uncomment the line below to record new VCR cassettes. - # When this is commented out, VCR will reject all outbound HTTP calls. - config.allow_http_connections_when_no_cassette = true - config.cassette_library_dir = 'spec/fixtures/vcr_cassettes' - config.configure_rspec_metadata! - config.hook_into :webmock - config.filter_sensitive_data('CLIENT_SECRET') { ENV['CLIENT_SECRET'] } - config.filter_sensitive_data('API_TOKEN') { ENV['MASTER_JWT'] } - - ENV['DOMAIN'] = 'auth0-sdk-tests.auth0.com' - ENV['CLIENT_ID'] = '2cnWuug6zaFX1j0ge1P99jAUn0F4XSuI' -end - -$LOAD_PATH.unshift File.expand_path('..', __FILE__) -$LOAD_PATH.unshift File.expand_path('../../lib', __FILE__) - -Dir['./lib/*.rb'].each { |f| require f } -Dir['./lib/api/**/*.rb'].each { |f| require f } -Dir['./spec/support/**/*.rb'].each { |f| require f } -Dir['./spec/support/*.rb'].each { |f| require f } - -require 'rspec' -RSpec.configure do |config| - config.filter_run focus: true - config.run_all_when_everything_filtered = true - config.include Credentials - - config.expect_with :rspec do |c| - c.max_formatted_output_length = 1000000 - end -end - -def wait(time, increment = 5, elapsed_time = 0, &block) - yield -rescue RSpec::Expectations::ExpectationNotMetError => e - raise e if elapsed_time >= time - sleep increment - wait(time, increment, elapsed_time + increment, &block) -end - -def entity_suffix - 'rubytest-210908' -end - -puts "Entity suffix is #{entity_suffix}" diff --git a/spec/support/credentials.rb b/spec/support/credentials.rb deleted file mode 100644 index e15a4751e..000000000 --- a/spec/support/credentials.rb +++ /dev/null @@ -1,11 +0,0 @@ -module Credentials - module_function - def v2_creds - { - domain: ENV.fetch( 'DOMAIN', 'DOMAIN' ), - client_id: ENV.fetch( 'CLIENT_ID', 'CLIENT_ID' ), - client_secret: ENV.fetch( 'CLIENT_SECRET', 'TEST_CLIENT_SECRET' ), - token: ENV.fetch( 'MASTER_JWT', 'TEST_MASTER_JWT' ) - } - end -end diff --git a/spec/support/dummy_class.rb b/spec/support/dummy_class.rb deleted file mode 100644 index 9876ce10c..000000000 --- a/spec/support/dummy_class.rb +++ /dev/null @@ -1,18 +0,0 @@ -class DummyClass - include Auth0::Mixins::Headers - - attr_reader :domain, :client_id, :client_secret, :audience - - def initialize - @domain = 'test.auth0.com' - @client_id = '__test_client_id__' - @client_secret = '__test_client_secret__' - @audience = "https://#{@domain}/api/v2/" - end - - %i(get post put patch delete delete_with_body).each do |method| - define_method(method) do |_path, _body = {}| - true - end - end -end diff --git a/spec/support/dummy_class_for_proxy.rb b/spec/support/dummy_class_for_proxy.rb deleted file mode 100644 index a48119602..000000000 --- a/spec/support/dummy_class_for_proxy.rb +++ /dev/null @@ -1,5 +0,0 @@ -class DummyClassForProxy - include Auth0::Mixins::HTTPProxy - include Auth0::Mixins::Headers - include Auth0::Mixins::TokenManagement -end \ No newline at end of file diff --git a/spec/support/dummy_class_for_restclient.rb b/spec/support/dummy_class_for_restclient.rb deleted file mode 100644 index ef81d089d..000000000 --- a/spec/support/dummy_class_for_restclient.rb +++ /dev/null @@ -1,2 +0,0 @@ -class DummyClassForRestClient < RestClient::Exception -end diff --git a/spec/support/dummy_class_for_tokens.rb b/spec/support/dummy_class_for_tokens.rb deleted file mode 100644 index 2b4c8461c..000000000 --- a/spec/support/dummy_class_for_tokens.rb +++ /dev/null @@ -1,20 +0,0 @@ -class DummyClassForTokens - include Auth0::Mixins::HTTPProxy - include Auth0::Mixins::Headers - include Auth0::Mixins::TokenManagement - include Auth0::Mixins::Initializer - - def initialize(config) - extend Auth0::Api::AuthenticationEndpoints - @client_id = config[:client_id] - @client_secret = config[:client_secret] - @audience = config[:api_identifier] - @domain = config[:domain] - @base_uri = "https://#{@domain}" - @token = config[:token] - @token_expires_at = config[:token_expires_at] - @client_assertion_signing_key = config[:client_assertion_signing_key] - @client_assertion_signing_alg = config[:client_assertion_signing_alg] || 'RS256' - @headers ||= {} - end -end \ No newline at end of file diff --git a/spec/support/import_users.json b/spec/support/import_users.json deleted file mode 100644 index 86469c2a0..000000000 --- a/spec/support/import_users.json +++ /dev/null @@ -1,13 +0,0 @@ -[ - { - "email": "john.doe@contoso.com", - "email_verified": false, - "app_metadata": { - "roles": ["admin"], - "plan": "premium" - }, - "user_metadata": { - "theme": "light" - } - } -] diff --git a/spec/support/stub_response.rb b/spec/support/stub_response.rb deleted file mode 100644 index ffd9dbd29..000000000 --- a/spec/support/stub_response.rb +++ /dev/null @@ -1 +0,0 @@ -StubResponse = Struct.new(:body, :success?, :code, :headers) diff --git a/test/custom.test.rb b/test/custom.test.rb new file mode 100644 index 000000000..4bd57989d --- /dev/null +++ b/test/custom.test.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +# This is a custom test file, if you wish to add more tests +# to your SDK. +# Be sure to mark this file in `.fernignore`. +# +# If you include example requests/responses in your fern definition, +# you will have tests automatically generated for you. + +# This test is run via command line: rake customtest +describe "Custom Test" do + it "Default" do + refute false + end +end diff --git a/test/test_helper.rb b/test/test_helper.rb new file mode 100644 index 000000000..5b98e6f7c --- /dev/null +++ b/test/test_helper.rb @@ -0,0 +1,3 @@ +# frozen_string_literal: true + +require_relative "../lib/auth0" diff --git a/test/unit/authentication_endpoints_test.rb b/test/unit/authentication_endpoints_test.rb new file mode 100644 index 000000000..decf86386 --- /dev/null +++ b/test/unit/authentication_endpoints_test.rb @@ -0,0 +1,571 @@ +# frozen_string_literal: true + +require_relative "../test_helper" +require "minitest/autorun" +require "webmock" +require "json" +require "openssl" + +# Minimal test class that includes auth mixins for unit testing endpoints directly +class DummyClassForTokens + include Auth0::Mixins::HTTPProxy + include Auth0::Mixins::Headers + include Auth0::Mixins::TokenManagement + include Auth0::Mixins::Initializer + + def initialize(config) + extend Auth0::Api::AuthenticationEndpoints + + @client_id = config[:client_id] + @client_secret = config[:client_secret] + @audience = config[:api_identifier] + @domain = config[:domain] + @base_uri = "https://#{@domain}" + @token = config[:token] + @token_expires_at = config[:token_expires_at] + @client_assertion_signing_key = config[:client_assertion_signing_key] + @client_assertion_signing_alg = config[:client_assertion_signing_alg] || "RS256" + @headers ||= {} + end +end + +class AuthenticationEndpointsTest < Minitest::Test + include WebMock::API + + def setup + WebMock.enable! + WebMock.disable_net_connect! + + @client_id = "test-client-id" + @client_secret = "test-client-secret" + @api_identifier = "test-audience" + @domain = "samples.auth0.com" + + @rsa_private = OpenSSL::PKey::RSA.generate(2048) + + @client_secret_config = { + domain: @domain, + client_id: @client_id, + client_secret: @client_secret, + token: "test", + api_identifier: @api_identifier + } + + @client_assertion_config = { + domain: @domain, + client_id: @client_id, + client_assertion_signing_key: @rsa_private, + client_assertion_signing_alg: "RS256", + token: "test", + api_identifier: @api_identifier + } + + @client_secret_instance = DummyClassForTokens.new(@client_secret_config) + @client_assertion_instance = DummyClassForTokens.new(@client_assertion_config) + end + + def teardown + WebMock.reset! + WebMock.allow_net_connect! + WebMock.disable! + end + + # --- api_token --- + + def test_api_token_with_client_secret + stub_request(:post, "https://#{@domain}/oauth/token") + .with do |req| + body = JSON.parse(req.body, symbolize_names: true) + body[:grant_type] == "client_credentials" && + body[:client_id] == @client_id && + body[:client_secret] == @client_secret && + body[:audience] == @api_identifier + end + .to_return( + status: 200, + body: { "access_token" => "test_response", "expires_in" => 86_400, "scope" => "scope" }.to_json, + headers: { "Content-Type" => "application/json" } + ) + + result = @client_secret_instance.send(:api_token, audience: @api_identifier) + + assert_kind_of Auth0::ApiToken, result + refute_nil result.access_token + refute_nil result.scope + refute_nil result.expires_in + end + + def test_api_token_with_organization + stub_request(:post, "https://#{@domain}/oauth/token") + .with do |req| + body = JSON.parse(req.body, symbolize_names: true) + body[:organization] == "foo" + end + .to_return( + status: 200, + body: { "access_token" => "test_response", "expires_in" => 86_400, "scope" => "scope" }.to_json, + headers: { "Content-Type" => "application/json" } + ) + + result = @client_secret_instance.send(:api_token, audience: @api_identifier, organization: "foo") + + assert_kind_of Auth0::ApiToken, result + refute_nil result.access_token + end + + def test_api_token_with_client_assertion + stub_request(:post, "https://#{@domain}/oauth/token") + .with do |req| + body = JSON.parse(req.body, symbolize_names: true) + body[:client_secret].nil? && + !body[:client_assertion].nil? && + body[:client_assertion_type] == Auth0::ClientAssertion::CLIENT_ASSERTION_TYPE + end + .to_return( + status: 200, + body: { "access_token" => "test_response", "expires_in" => 86_400, "scope" => "scope" }.to_json, + headers: { "Content-Type" => "application/json" } + ) + + result = @client_assertion_instance.send(:api_token, audience: @api_identifier) + + assert_kind_of Auth0::ApiToken, result + refute_nil result.access_token + end + + # --- exchange_auth_code_for_tokens --- + + def test_exchange_auth_code_for_tokens_with_client_secret + stub_request(:post, "https://#{@domain}/oauth/token") + .with do |req| + body = JSON.parse(req.body, symbolize_names: true) + body[:grant_type] == "authorization_code" && + body[:code] == "the_auth_code" && + body[:client_secret] == @client_secret + end + .to_return( + status: 200, + body: { "id_token" => "id_token", "access_token" => "test_access_token", "expires_in" => 86_400 }.to_json, + headers: { "Content-Type" => "application/json" } + ) + + result = @client_secret_instance.send(:exchange_auth_code_for_tokens, "the_auth_code") + + assert_kind_of Auth0::AccessToken, result + refute_nil result.id_token + refute_nil result.access_token + refute_nil result.expires_in + end + + def test_exchange_auth_code_for_tokens_with_client_assertion + stub_request(:post, "https://#{@domain}/oauth/token") + .with do |req| + body = JSON.parse(req.body, symbolize_names: true) + body[:client_secret].nil? && + !body[:client_assertion].nil? && + body[:client_assertion_type] == Auth0::ClientAssertion::CLIENT_ASSERTION_TYPE + end + .to_return( + status: 200, + body: { "id_token" => "id_token", "access_token" => "test_access_token", "expires_in" => 86_400 }.to_json, + headers: { "Content-Type" => "application/json" } + ) + + result = @client_assertion_instance.send(:exchange_auth_code_for_tokens, "the_auth_code") + + assert_kind_of Auth0::AccessToken, result + refute_nil result.access_token + end + + # --- exchange_refresh_token --- + + def test_exchange_refresh_token_with_client_secret + stub_request(:post, "https://#{@domain}/oauth/token") + .with do |req| + body = JSON.parse(req.body, symbolize_names: true) + body[:grant_type] == "refresh_token" && + body[:refresh_token] == "the_refresh_token" && + body[:client_secret] == @client_secret + end + .to_return( + status: 200, + body: { "id_token" => "id_token", "access_token" => "test_access_token", "expires_in" => 86_400 }.to_json, + headers: { "Content-Type" => "application/json" } + ) + + result = @client_secret_instance.send(:exchange_refresh_token, "the_refresh_token") + + assert_kind_of Auth0::AccessToken, result + refute_nil result.access_token + end + + def test_exchange_refresh_token_with_client_assertion + stub_request(:post, "https://#{@domain}/oauth/token") + .with do |req| + body = JSON.parse(req.body, symbolize_names: true) + body[:grant_type] == "refresh_token" && + body[:client_secret].nil? && + !body[:client_assertion].nil? && + body[:client_assertion_type] == Auth0::ClientAssertion::CLIENT_ASSERTION_TYPE + end + .to_return( + status: 200, + body: { "id_token" => "id_token", "access_token" => "test_access_token", "expires_in" => 86_400 }.to_json, + headers: { "Content-Type" => "application/json" } + ) + + result = @client_assertion_instance.send(:exchange_refresh_token, "the_refresh_token") + + assert_kind_of Auth0::AccessToken, result + refute_nil result.access_token + end + + # --- exchange_sms_otp_for_tokens --- + + def test_exchange_sms_otp_for_tokens + stub_request(:post, "https://#{@domain}/oauth/token") + .with do |req| + body = JSON.parse(req.body, symbolize_names: true) + body[:grant_type] == "http://auth0.com/oauth/grant-type/passwordless/otp" && + body[:username] == "phone_number" && + body[:realm] == "sms" && + body[:otp] == "code" && + body[:client_id] == @client_id && + body[:scope] == "openid profile email" + end + .to_return( + status: 200, + body: { "id_token" => "id_token", "access_token" => "test_access_token", "expires_in" => 86_400 }.to_json, + headers: { "Content-Type" => "application/json" } + ) + + result = @client_secret_instance.send(:exchange_sms_otp_for_tokens, "phone_number", "code") + + assert_kind_of Auth0::AccessToken, result + refute_nil result.access_token + end + + def test_exchange_sms_otp_for_tokens_with_scope_override + stub_request(:post, "https://#{@domain}/oauth/token") + .with do |req| + body = JSON.parse(req.body, symbolize_names: true) + body[:scope] == "openid" && body[:audience] == @api_identifier + end + .to_return( + status: 200, + body: { "id_token" => "id_token", "access_token" => "test_access_token", "expires_in" => 86_400 }.to_json, + headers: { "Content-Type" => "application/json" } + ) + + result = @client_secret_instance.send(:exchange_sms_otp_for_tokens, "phone_number", "code", + audience: @api_identifier, scope: "openid") + + assert_kind_of Auth0::AccessToken, result + end + + def test_exchange_sms_otp_for_tokens_with_client_assertion + stub_request(:post, "https://#{@domain}/oauth/token") + .with do |req| + body = JSON.parse(req.body, symbolize_names: true) + body[:grant_type] == "http://auth0.com/oauth/grant-type/passwordless/otp" && + body[:client_secret].nil? && + !body[:client_assertion].nil? && + body[:client_assertion_type] == Auth0::ClientAssertion::CLIENT_ASSERTION_TYPE + end + .to_return( + status: 200, + body: { "id_token" => "id_token", "access_token" => "test_access_token", "expires_in" => 86_400 }.to_json, + headers: { "Content-Type" => "application/json" } + ) + + @client_assertion_instance.send(:exchange_sms_otp_for_tokens, "phone_number", "code") + end + + # --- exchange_email_otp_for_tokens --- + + def test_exchange_email_otp_for_tokens + stub_request(:post, "https://#{@domain}/oauth/token") + .with do |req| + body = JSON.parse(req.body, symbolize_names: true) + body[:grant_type] == "http://auth0.com/oauth/grant-type/passwordless/otp" && + body[:username] == "email_address" && + body[:realm] == "email" && + body[:otp] == "code" && + body[:scope] == "openid profile email" + end + .to_return( + status: 200, + body: { "id_token" => "id_token", "access_token" => "test_access_token", "expires_in" => 86_400 }.to_json, + headers: { "Content-Type" => "application/json" } + ) + + result = @client_secret_instance.send(:exchange_email_otp_for_tokens, "email_address", "code") + + assert_kind_of Auth0::AccessToken, result + refute_nil result.access_token + end + + def test_exchange_email_otp_for_tokens_with_scope_override + stub_request(:post, "https://#{@domain}/oauth/token") + .with do |req| + body = JSON.parse(req.body, symbolize_names: true) + body[:scope] == "openid" && body[:audience] == @api_identifier + end + .to_return( + status: 200, + body: { "id_token" => "id_token", "access_token" => "test_access_token", "expires_in" => 86_400 }.to_json, + headers: { "Content-Type" => "application/json" } + ) + + @client_secret_instance.send(:exchange_email_otp_for_tokens, "email_address", "code", + audience: @api_identifier, scope: "openid") + end + + def test_exchange_email_otp_for_tokens_with_client_assertion + stub_request(:post, "https://#{@domain}/oauth/token") + .with do |req| + body = JSON.parse(req.body, symbolize_names: true) + body[:client_secret].nil? && + !body[:client_assertion].nil? && + body[:client_assertion_type] == Auth0::ClientAssertion::CLIENT_ASSERTION_TYPE + end + .to_return( + status: 200, + body: { "id_token" => "id_token", "access_token" => "test_access_token", "expires_in" => 86_400 }.to_json, + headers: { "Content-Type" => "application/json" } + ) + + @client_assertion_instance.send(:exchange_email_otp_for_tokens, "email_address", "code") + end + + # --- login_with_resource_owner --- + + def test_login_with_resource_owner_client_secret + stub_request(:post, "https://#{@domain}/oauth/token") + .with do |req| + body = JSON.parse(req.body, symbolize_names: true) + body[:username] == "the_username" && + body[:password] == "the_password" && + body[:grant_type] == "password" && + body[:client_secret] == @client_secret + end + .to_return( + status: 200, + body: { "id_token" => "id_token", "access_token" => "test_access_token", "expires_in" => 86_400 }.to_json, + headers: { "Content-Type" => "application/json" } + ) + + result = @client_secret_instance.send(:login_with_resource_owner, "the_username", "the_password") + + assert_kind_of Auth0::AccessToken, result + refute_nil result.access_token + end + + def test_login_with_resource_owner_realm_and_audience + stub_request(:post, "https://#{@domain}/oauth/token") + .with do |req| + body = JSON.parse(req.body, symbolize_names: true) + body[:grant_type] == "http://auth0.com/oauth/grant-type/password-realm" && + body[:realm] == "my-realm" && + body[:audience] == @api_identifier + end + .to_return( + status: 200, + body: { "id_token" => "id_token", "access_token" => "test_access_token", "expires_in" => 86_400 }.to_json, + headers: { "Content-Type" => "application/json" } + ) + + result = @client_secret_instance.send(:login_with_resource_owner, "the_username", "the_password", + realm: "my-realm", audience: @api_identifier) + + assert_kind_of Auth0::AccessToken, result + end + + def test_login_with_resource_owner_client_assertion + stub_request(:post, "https://#{@domain}/oauth/token") + .with do |req| + body = JSON.parse(req.body, symbolize_names: true) + body[:grant_type] == "password" && + body[:client_secret].nil? && + !body[:client_assertion].nil? && + body[:client_assertion_type] == Auth0::ClientAssertion::CLIENT_ASSERTION_TYPE + end + .to_return( + status: 200, + body: { "id_token" => "id_token", "access_token" => "test_access_token", "expires_in" => 86_400 }.to_json, + headers: { "Content-Type" => "application/json" } + ) + + result = @client_assertion_instance.send(:login_with_resource_owner, "the_username", "the_password") + + assert_kind_of Auth0::AccessToken, result + end + + # --- start_passwordless_email_flow --- + + def test_start_passwordless_email_flow_with_client_secret + stub_request(:post, "https://#{@domain}/passwordless/start") + .with do |req| + body = JSON.parse(req.body, symbolize_names: true) + body[:email] == "email@test.com" && + body[:send] == "link" && + body[:connection] == "email" && + body[:client_secret] == @client_secret + end + .to_return(status: 200, body: {}.to_json, headers: { "Content-Type" => "application/json" }) + + @client_secret_instance.send(:start_passwordless_email_flow, "email@test.com") + end + + def test_start_passwordless_email_flow_with_client_assertion + stub_request(:post, "https://#{@domain}/passwordless/start") + .with do |req| + body = JSON.parse(req.body, symbolize_names: true) + body[:client_secret].nil? && + !body[:client_assertion].nil? && + body[:client_assertion_type] == Auth0::ClientAssertion::CLIENT_ASSERTION_TYPE + end + .to_return(status: 200, body: {}.to_json, headers: { "Content-Type" => "application/json" }) + + @client_assertion_instance.send(:start_passwordless_email_flow, "email@test.com") + end + + # --- start_passwordless_sms_flow --- + + def test_start_passwordless_sms_flow_with_client_secret + stub_request(:post, "https://#{@domain}/passwordless/start") + .with do |req| + body = JSON.parse(req.body, symbolize_names: true) + body[:phone_number] == "123456789" && + body[:connection] == "sms" && + body[:client_secret] == @client_secret + end + .to_return(status: 200, body: {}.to_json, headers: { "Content-Type" => "application/json" }) + + @client_secret_instance.send(:start_passwordless_sms_flow, "123456789") + end + + def test_start_passwordless_sms_flow_with_client_assertion + stub_request(:post, "https://#{@domain}/passwordless/start") + .with do |req| + body = JSON.parse(req.body, symbolize_names: true) + body[:client_secret].nil? && + !body[:client_assertion].nil? && + body[:client_assertion_type] == Auth0::ClientAssertion::CLIENT_ASSERTION_TYPE + end + .to_return(status: 200, body: {}.to_json, headers: { "Content-Type" => "application/json" }) + + @client_assertion_instance.send(:start_passwordless_sms_flow, "123456789") + end + + # --- par_authorization_url --- + + def test_par_authorization_url_raises_on_nil + assert_raises(Auth0::InvalidParameter) do + @client_secret_instance.send(:par_authorization_url, nil) + end + end + + def test_par_authorization_url_raises_on_empty + assert_raises(Auth0::InvalidParameter) do + @client_secret_instance.send(:par_authorization_url, "") + end + end + + def test_par_authorization_url_builds_correctly + request_uri = "urn:ietf:params:oauth:request_uri:the.request.uri" + url = @client_secret_instance.send(:par_authorization_url, request_uri) + + parsed = URI.parse(url.to_s) + params = CGI.parse(parsed.query) + + assert_equal @client_id, params["client_id"].first + assert_equal request_uri, params["request_uri"].first + assert_equal "/authorize", parsed.path + assert_equal @domain, parsed.host + end + + # --- pushed_authorization_request --- + + def test_pushed_authorization_request_as_form_post + stub_request(:post, "https://#{@domain}/oauth/par") + .with do |req| + # Form post: payload is not JSON, it's form data + req.headers["Content-Type"].nil? || !req.headers["Content-Type"].include?("application/json") + end + .to_return(status: 200, body: {}.to_json, headers: { "Content-Type" => "application/json" }) + + @client_secret_instance.send(:pushed_authorization_request) + end + + def test_pushed_authorization_request_with_all_overrides + stub_request(:post, "https://#{@domain}/oauth/par") + .to_return(status: 200, body: {}.to_json, headers: { "Content-Type" => "application/json" }) + + @client_secret_instance.send(:pushed_authorization_request, + response_type: "id_token", + redirect_uri: "http://localhost:3000", + organization: "org_id", + invitation: "http://invite.url", + scope: "openid", + state: "random_value", + connection: "google-oauth2") + end + + def test_pushed_authorization_request_with_client_assertion + stub_request(:post, "https://#{@domain}/oauth/par") + .with do |_req| + # For form posts, the payload is passed as-is (not JSON encoded) + true + end + .to_return(status: 200, body: {}.to_json, headers: { "Content-Type" => "application/json" }) + + @client_assertion_instance.send(:pushed_authorization_request) + end + + # --- signup --- + + def test_signup + stub_request(:post, "https://#{@domain}/dbconnections/signup") + .with do |req| + body = JSON.parse(req.body, symbolize_names: true) + body[:email] == "test@example.com" && + body[:password] == "password123" && + body[:connection] == "Username-Password-Authentication" + end + .to_return( + status: 200, + body: { "email" => "test@example.com", "_id" => "abc123" }.to_json, + headers: { "Content-Type" => "application/json" } + ) + + result = @client_secret_instance.send(:signup, "test@example.com", "password123") + + assert_equal "test@example.com", result["email"] + end + + # --- authorization_url --- + + def test_authorization_url + url = @client_secret_instance.send(:authorization_url, "http://localhost:3000/callback") + + assert_includes url.to_s, "https://#{@domain}/authorize" + assert_includes url.to_s, "client_id=#{@client_id}" + assert_includes url.to_s, "response_type=code" + end + + def test_authorization_url_raises_on_empty_redirect + assert_raises(Auth0::InvalidParameter) do + @client_secret_instance.send(:authorization_url, "") + end + end + + # --- logout_url --- + + def test_logout_url + url = @client_secret_instance.send(:logout_url, "http://localhost:3000") + + assert_includes url.to_s, "https://#{@domain}/v2/logout" + assert_includes url.to_s, "returnTo=" + end +end diff --git a/test/unit/internal/iterators/test_cursor_item_iterator.rb b/test/unit/internal/iterators/test_cursor_item_iterator.rb new file mode 100644 index 000000000..3af33d7bb --- /dev/null +++ b/test/unit/internal/iterators/test_cursor_item_iterator.rb @@ -0,0 +1,189 @@ +# frozen_string_literal: true + +require "minitest/autorun" +require "stringio" +require "json" +require "test_helper" + +NUMBERS = (1..65).to_a +PageResponse = Struct.new(:cards, :next_cursor) + +class CursorItemIteratorTest < Minitest::Test + def make_iterator(initial_cursor:) + @times_called = 0 + + Auth0::Internal::CursorItemIterator.new(initial_cursor:, cursor_field: :next_cursor, item_field: :cards) do |cursor| + @times_called += 1 + cursor ||= 0 + next_cursor = cursor + 10 + PageResponse.new( + cards: NUMBERS[cursor...next_cursor], + next_cursor: next_cursor < NUMBERS.length ? next_cursor : nil + ) + end + end + + def test_item_iterator_can_iterate_to_exhaustion + iterator = make_iterator(initial_cursor: 0) + + assert_equal NUMBERS, iterator.to_a + assert_equal 7, @times_called + + iterator = make_iterator(initial_cursor: 10) + + assert_equal (11..65).to_a, iterator.to_a + + iterator = make_iterator(initial_cursor: 5) + + assert_equal (6..65).to_a, iterator.to_a + end + + def test_item_iterator_can_work_without_an_initial_cursor + iterator = make_iterator(initial_cursor: nil) + + assert_equal NUMBERS, iterator.to_a + assert_equal 7, @times_called + end + + def test_items_iterator_iterates_lazily + iterator = make_iterator(initial_cursor: 0) + + assert_equal 0, @times_called + assert_equal 1, iterator.first + assert_equal 1, @times_called + + iterator = make_iterator(initial_cursor: 0) + + assert_equal 0, @times_called + assert_equal (1..15).to_a, iterator.first(15) + assert_equal 2, @times_called + + iterator = make_iterator(initial_cursor: 0) + + assert_equal 0, @times_called + iterator.each do |card| + break if card >= 15 + end + + assert_equal 2, @times_called + end + + def test_items_iterator_implements_enumerable + iterator = make_iterator(initial_cursor: 0) + + assert_equal 0, @times_called + doubled = iterator.map { |card| card * 2 } + + assert_equal 7, @times_called + assert_equal NUMBERS.length, doubled.length + end + + def test_items_iterator_can_be_advanced_manually + iterator = make_iterator(initial_cursor: 0) + + assert_equal 0, @times_called + + items = [] + expected_times_called = 0 + while (item = iterator.next_element) + expected_times_called += 1 if (item % 10) == 1 + + assert_equal expected_times_called, @times_called + assert_equal item != NUMBERS.last, iterator.next?, "#{item} #{iterator}" + items.push(item) + end + + assert_equal 7, @times_called + assert_equal NUMBERS, items + end + + def test_pages_iterator + iterator = make_iterator(initial_cursor: 0).pages + + assert_equal( + [ + (1..10).to_a, + (11..20).to_a, + (21..30).to_a, + (31..40).to_a, + (41..50).to_a, + (51..60).to_a, + (61..65).to_a + ], + iterator.to_a.map(&:cards) + ) + + iterator = make_iterator(initial_cursor: 10).pages + + assert_equal( + [ + (11..20).to_a, + (21..30).to_a, + (31..40).to_a, + (41..50).to_a, + (51..60).to_a, + (61..65).to_a + ], + iterator.to_a.map(&:cards) + ) + end + + def test_pages_iterator_can_work_without_an_initial_cursor + iterator = make_iterator(initial_cursor: nil).pages + + assert_equal 7, iterator.to_a.length + assert_equal 7, @times_called + end + + def test_pages_iterator_iterates_lazily + iterator = make_iterator(initial_cursor: 0).pages + + assert_equal 0, @times_called + iterator.first + + assert_equal 1, @times_called + + iterator = make_iterator(initial_cursor: 0).pages + + assert_equal 0, @times_called + assert_equal 2, iterator.first(2).length + assert_equal 2, @times_called + end + + def test_pages_iterator_knows_whether_another_page_is_upcoming + iterator = make_iterator(initial_cursor: 0).pages + + iterator.each_with_index do |_page, index| + assert_equal index + 1, @times_called + assert_equal index < 6, iterator.next? + end + end + + def test_pages_iterator_can_be_advanced_manually + iterator = make_iterator(initial_cursor: 0).pages + + assert_equal 0, @times_called + + lengths = [] + expected_times_called = 0 + while (page = iterator.next_page) + expected_times_called += 1 + + assert_equal expected_times_called, @times_called + lengths.push(page.cards.length) + end + + assert_equal 7, @times_called + assert_equal [10, 10, 10, 10, 10, 10, 5], lengths + end + + def test_pages_iterator_implements_enumerable + iterator = make_iterator(initial_cursor: 0).pages + + assert_equal 0, @times_called + lengths = iterator.map { |page| page.cards.length } + + assert_equal 7, @times_called + assert_equal [10, 10, 10, 10, 10, 10, 5], lengths + end +end diff --git a/test/unit/internal/iterators/test_offset_item_iterator.rb b/test/unit/internal/iterators/test_offset_item_iterator.rb new file mode 100644 index 000000000..79c823572 --- /dev/null +++ b/test/unit/internal/iterators/test_offset_item_iterator.rb @@ -0,0 +1,151 @@ +# frozen_string_literal: true + +require "minitest/autorun" +require "stringio" +require "json" +require "test_helper" + +OffsetPageResponse = Struct.new(:items, :has_next) +TestIteratorConfig = Struct.new( + :step, + :has_next_field, + :total_item_count, + :per_page, + :initial_page +) do + def first_item_returned + if step + (initial_page || 0) + 1 + else + (((initial_page || 1) - 1) * per_page) + 1 + end + end +end + +LAZY_TEST_ITERATOR_CONFIG = TestIteratorConfig.new(initial_page: 1, step: false, has_next_field: :has_next, total_item_count: 65, per_page: 10) +ALL_TEST_ITERATOR_CONFIGS = [true, false].map do |step| + [:has_next, nil].map do |has_next_field| + [0, 5, 10, 60, 63].map do |total_item_count| + [5, 10].map do |per_page| + initial_pages = [nil, 3, 100] + initial_pages << (step ? 0 : 1) + + initial_pages.map do |initial_page| + TestIteratorConfig.new( + step: step, + has_next_field: has_next_field, + total_item_count: total_item_count, + per_page: per_page, + initial_page: initial_page + ) + end + end + end + end +end.flatten + +class OffsetItemIteratorTest < Minitest::Test + def make_iterator(config) + @times_called = 0 + + items = (1..config.total_item_count).to_a + + Auth0::Internal::OffsetItemIterator.new( + initial_page: config.initial_page, + item_field: :items, + has_next_field: config.has_next_field, + step: config.step + ) do |page| + @times_called += 1 + + slice_start = config.step ? page : (page - 1) * config.per_page + slice_end = slice_start + config.per_page + + output = { + items: items[slice_start...slice_end] + } + output[config.has_next_field] = slice_end < items.length if config.has_next_field + + OffsetPageResponse.new(**output) + end + end + + def test_item_iterator_can_iterate_to_exhaustion + ALL_TEST_ITERATOR_CONFIGS.each do |config| + iterator = make_iterator(config) + + assert_equal (config.first_item_returned..config.total_item_count).to_a, iterator.to_a + end + end + + def test_items_iterator_can_be_advanced_manually_and_has_accurate_has_next + ALL_TEST_ITERATOR_CONFIGS.each do |config| + iterator = make_iterator(config) + items = [] + + while (item = iterator.next_element) + assert_equal(item != config.total_item_count, iterator.next?, "#{item} #{iterator}") + items.push(item) + end + + assert_equal (config.first_item_returned..config.total_item_count).to_a, items + end + end + + def test_pages_iterator_can_be_advanced_manually_and_has_accurate_has_next + ALL_TEST_ITERATOR_CONFIGS.each do |config| + iterator = make_iterator(config).pages + pages = [] + + loop do + has_next_output = iterator.next? + page = iterator.next_page + + assert_equal(has_next_output, !page.nil?, "next? was inaccurate: #{config} #{iterator.inspect}") + break if page.nil? + + pages.push(page) + end + + assert_equal pages, make_iterator(config).pages.to_a + end + end + + def test_items_iterator_iterates_lazily + iterator = make_iterator(LAZY_TEST_ITERATOR_CONFIG) + + assert_equal 0, @times_called + assert_equal 1, iterator.first + assert_equal 1, @times_called + + iterator = make_iterator(LAZY_TEST_ITERATOR_CONFIG) + + assert_equal 0, @times_called + assert_equal (1..15).to_a, iterator.first(15) + assert_equal 2, @times_called + + iterator = make_iterator(LAZY_TEST_ITERATOR_CONFIG) + + assert_equal 0, @times_called + iterator.each do |card| + break if card >= 15 + end + + assert_equal 2, @times_called + end + + def test_pages_iterator_iterates_lazily + iterator = make_iterator(LAZY_TEST_ITERATOR_CONFIG).pages + + assert_equal 0, @times_called + iterator.first + + assert_equal 1, @times_called + + iterator = make_iterator(LAZY_TEST_ITERATOR_CONFIG).pages + + assert_equal 0, @times_called + assert_equal 3, iterator.first(3).length + assert_equal 3, @times_called + end +end diff --git a/test/unit/internal/types/test_array.rb b/test/unit/internal/types/test_array.rb new file mode 100644 index 000000000..18cd09e8b --- /dev/null +++ b/test/unit/internal/types/test_array.rb @@ -0,0 +1,37 @@ +# frozen_string_literal: true + +require "test_helper" + +describe Auth0::Internal::Types::Array do + module TestArray + StringArray = Auth0::Internal::Types::Array[String] + end + + describe "#initialize" do + it "sets the type" do + assert_equal String, TestArray::StringArray.type + end + end + + describe "#coerce" do + it "does not perform coercion if not an array" do + assert_equal 1, TestArray::StringArray.coerce(1) + end + + it "raises an error if not an array and strictness is on" do + assert_raises Auth0::Internal::Errors::TypeError do + TestArray::StringArray.coerce(1, strict: true) + end + end + + it "coerces the elements" do + assert_equal %w[foobar 1 true], TestArray::StringArray.coerce(["foobar", 1, true]) + end + + it "raises an error if element of array is not coercable and strictness is on" do + assert_raises Auth0::Internal::Errors::TypeError do + TestArray::StringArray.coerce([Object.new], strict: true) + end + end + end +end diff --git a/test/unit/internal/types/test_boolean.rb b/test/unit/internal/types/test_boolean.rb new file mode 100644 index 000000000..00f106ac3 --- /dev/null +++ b/test/unit/internal/types/test_boolean.rb @@ -0,0 +1,35 @@ +# frozen_string_literal: true + +require "test_helper" + +describe Auth0::Internal::Types::Boolean do + describe ".coerce" do + it "coerces true/false" do + assert Auth0::Internal::Types::Boolean.coerce(true) + refute Auth0::Internal::Types::Boolean.coerce(false) + end + + it "coerces an Integer" do + assert Auth0::Internal::Types::Boolean.coerce(1) + refute Auth0::Internal::Types::Boolean.coerce(0) + end + + it "coerces a String" do + assert Auth0::Internal::Types::Boolean.coerce("1") + assert Auth0::Internal::Types::Boolean.coerce("true") + refute Auth0::Internal::Types::Boolean.coerce("0") + end + + it "passes through other values with strictness off" do + obj = Object.new + + assert_equal obj, Auth0::Internal::Types::Boolean.coerce(obj) + end + + it "raises an error with other values with strictness on" do + assert_raises Auth0::Internal::Errors::TypeError do + Auth0::Internal::Types::Boolean.coerce(Object.new, strict: true) + end + end + end +end diff --git a/test/unit/internal/types/test_enum.rb b/test/unit/internal/types/test_enum.rb new file mode 100644 index 000000000..fba54382f --- /dev/null +++ b/test/unit/internal/types/test_enum.rb @@ -0,0 +1,42 @@ +# frozen_string_literal: true + +require "test_helper" + +describe Auth0::Internal::Types::Enum do + module EnumTest + module ExampleEnum + extend Auth0::Internal::Types::Enum + + FOO = :foo + BAR = :bar + + finalize! + end + end + + describe "#values" do + it "defines values" do + assert_equal %i[foo bar].sort, EnumTest::ExampleEnum.values.sort + end + end + + describe "#coerce" do + it "coerces an existing member" do + assert_equal :foo, EnumTest::ExampleEnum.coerce(:foo) + end + + it "coerces a string version of a member" do + assert_equal :foo, EnumTest::ExampleEnum.coerce("foo") + end + + it "returns the value if not a member with strictness off" do + assert_equal 1, EnumTest::ExampleEnum.coerce(1) + end + + it "raises an error if value is not a member with strictness on" do + assert_raises Auth0::Internal::Errors::TypeError do + EnumTest::ExampleEnum.coerce(1, strict: true) + end + end + end +end diff --git a/test/unit/internal/types/test_hash.rb b/test/unit/internal/types/test_hash.rb new file mode 100644 index 000000000..5f1cfad36 --- /dev/null +++ b/test/unit/internal/types/test_hash.rb @@ -0,0 +1,50 @@ +# frozen_string_literal: true + +require "test_helper" + +describe Auth0::Internal::Types::Hash do + module TestHash + SymbolStringHash = Auth0::Internal::Types::Hash[Symbol, String] + end + + describe ".[]" do + it "defines the key and value type" do + assert_equal Symbol, TestHash::SymbolStringHash.key_type + assert_equal String, TestHash::SymbolStringHash.value_type + end + end + + describe "#coerce" do + it "coerces the keys" do + assert_equal %i[foo bar], TestHash::SymbolStringHash.coerce({ "foo" => "1", :bar => "2" }).keys + end + + it "coerces the values" do + assert_equal %w[foo 1], TestHash::SymbolStringHash.coerce({ foo: :foo, bar: 1 }).values + end + + it "passes through other values with strictness off" do + obj = Object.new + + assert_equal obj, TestHash::SymbolStringHash.coerce(obj) + end + + it "raises an error with other values with strictness on" do + assert_raises Auth0::Internal::Errors::TypeError do + TestHash::SymbolStringHash.coerce(Object.new, strict: true) + end + end + + it "raises an error with non-coercable key types with strictness on" do + assert_raises Auth0::Internal::Errors::TypeError do + TestHash::SymbolStringHash.coerce({ Object.new => 1 }, strict: true) + end + end + + it "raises an error with non-coercable value types with strictness on" do + assert_raises Auth0::Internal::Errors::TypeError do + TestHash::SymbolStringHash.coerce({ "foobar" => Object.new }, strict: true) + end + end + end +end diff --git a/test/unit/internal/types/test_model.rb b/test/unit/internal/types/test_model.rb new file mode 100644 index 000000000..785a98ac1 --- /dev/null +++ b/test/unit/internal/types/test_model.rb @@ -0,0 +1,154 @@ +# frozen_string_literal: true + +require "test_helper" + +describe Auth0::Internal::Types::Model do + module StringInteger + extend Auth0::Internal::Types::Union + + member String + member Integer + end + + class ExampleModel < Auth0::Internal::Types::Model + field :name, String + field :rating, StringInteger, optional: true + field :year, Integer, optional: true, nullable: true, api_name: "yearOfRelease" + end + + class ExampleModelInheritance < ExampleModel + field :director, String + end + + class ExampleWithDefaults < ExampleModel + field :type, String, default: "example" + end + + class ExampleChild < Auth0::Internal::Types::Model + field :value, String + end + + class ExampleParent < Auth0::Internal::Types::Model + field :child, ExampleChild + end + + describe ".field" do + before do + @example = ExampleModel.new(name: "Inception", rating: 4) + end + + it "defines fields on model" do + assert_equal %i[name rating year], ExampleModel.fields.keys + end + + it "defines fields from parent models" do + assert_equal %i[name rating year director], ExampleModelInheritance.fields.keys + end + + it "sets the field's type" do + assert_equal String, ExampleModel.fields[:name].type + assert_equal StringInteger, ExampleModel.fields[:rating].type + end + + it "sets the `default` option" do + assert_equal "example", ExampleWithDefaults.fields[:type].default + end + + it "defines getters" do + assert_respond_to @example, :name + assert_respond_to @example, :rating + + assert_equal "Inception", @example.name + assert_equal 4, @example.rating + end + + it "defines setters" do + assert_respond_to @example, :name= + assert_respond_to @example, :rating= + + @example.name = "Inception 2" + @example.rating = 5 + + assert_equal "Inception 2", @example.name + assert_equal 5, @example.rating + end + end + + describe "#initialize" do + it "sets the data" do + example = ExampleModel.new(name: "Inception", rating: 4) + + assert_equal "Inception", example.name + assert_equal 4, example.rating + end + + it "allows extra fields to be set" do + example = ExampleModel.new(name: "Inception", rating: 4, director: "Christopher Nolan") + + assert_equal "Christopher Nolan", example.director + end + + it "sets the defaults where applicable" do + example_using_defaults = ExampleWithDefaults.new + + assert_equal "example", example_using_defaults.type + + example_without_defaults = ExampleWithDefaults.new(type: "not example") + + assert_equal "not example", example_without_defaults.type + end + + it "coerces child models" do + parent = ExampleParent.new(child: { value: "foobar" }) + + assert_kind_of ExampleChild, parent.child + end + + it "uses the api_name to pull the value" do + example = ExampleModel.new({ name: "Inception", yearOfRelease: 2014 }) + + assert_equal 2014, example.year + refute_respond_to example, :yearOfRelease + end + end + + describe "#inspect" do + class SensitiveModel < Auth0::Internal::Types::Model + field :username, String + field :password, String + field :client_secret, String + field :access_token, String + field :api_key, String + end + + it "redacts sensitive fields" do + model = SensitiveModel.new( + username: "user123", + password: "secret123", + client_secret: "cs_abc", + access_token: "token_xyz", + api_key: "key_123" + ) + + inspect_output = model.inspect + + assert_includes inspect_output, "username=\"user123\"" + assert_includes inspect_output, "password=[REDACTED]" + assert_includes inspect_output, "client_secret=[REDACTED]" + assert_includes inspect_output, "access_token=[REDACTED]" + assert_includes inspect_output, "api_key=[REDACTED]" + refute_includes inspect_output, "secret123" + refute_includes inspect_output, "cs_abc" + refute_includes inspect_output, "token_xyz" + refute_includes inspect_output, "key_123" + end + + it "does not redact non-sensitive fields" do + example = ExampleModel.new(name: "Inception", rating: 4) + inspect_output = example.inspect + + assert_includes inspect_output, "name=\"Inception\"" + assert_includes inspect_output, "rating=4" + end + end +end diff --git a/test/unit/internal/types/test_union.rb b/test/unit/internal/types/test_union.rb new file mode 100644 index 000000000..4fdf1cd73 --- /dev/null +++ b/test/unit/internal/types/test_union.rb @@ -0,0 +1,62 @@ +# frozen_string_literal: true + +require "test_helper" + +describe Auth0::Internal::Types::Union do + class Rectangle < Auth0::Internal::Types::Model + literal :type, "square" + + field :area, Float + end + + class Circle < Auth0::Internal::Types::Model + literal :type, "circle" + + field :area, Float + end + + class Pineapple < Auth0::Internal::Types::Model + literal :type, "pineapple" + + field :area, Float + end + + module Shape + extend Auth0::Internal::Types::Union + + discriminant :type + + member -> { Rectangle }, key: "rect" + member -> { Circle }, key: "circle" + end + + module StringOrInteger + extend Auth0::Internal::Types::Union + + member String + member Integer + end + + describe "#coerce" do + it "coerces hashes into member models with discriminated unions" do + circle = Shape.coerce({ type: "circle", area: 4.0 }) + + assert_instance_of Circle, circle + end + end + + describe "#type_member?" do + it "defines Model members" do + assert Shape.type_member?(Rectangle) + assert Shape.type_member?(Circle) + refute Shape.type_member?(Pineapple) + end + + it "defines other members" do + assert StringOrInteger.type_member?(String) + assert StringOrInteger.type_member?(Integer) + refute StringOrInteger.type_member?(Float) + refute StringOrInteger.type_member?(Pineapple) + end + end +end diff --git a/test/unit/internal/types/test_utils.rb b/test/unit/internal/types/test_utils.rb new file mode 100644 index 000000000..d033882e3 --- /dev/null +++ b/test/unit/internal/types/test_utils.rb @@ -0,0 +1,212 @@ +# frozen_string_literal: true + +require "test_helper" + +describe Auth0::Internal::Types::Utils do + Utils = Auth0::Internal::Types::Utils + + module TestUtils + class M < Auth0::Internal::Types::Model + field :value, String + end + + class UnionMemberA < Auth0::Internal::Types::Model + literal :type, "A" + field :only_on_a, String + end + + class UnionMemberB < Auth0::Internal::Types::Model + literal :type, "B" + field :only_on_b, String + end + + module U + extend Auth0::Internal::Types::Union + + discriminant :type + + member -> { UnionMemberA }, key: "A" + member -> { UnionMemberB }, key: "B" + end + + SymbolStringHash = Auth0::Internal::Types::Hash[Symbol, String] + SymbolModelHash = -> { Auth0::Internal::Types::Hash[Symbol, TestUtils::M] } + end + + describe ".coerce" do + describe "NilClass" do + it "always returns nil" do + assert_nil Utils.coerce(NilClass, "foobar") + assert_nil Utils.coerce(NilClass, 1) + assert_nil Utils.coerce(NilClass, Object.new) + end + end + + describe "String" do + it "coerces from String, Symbol, Numeric, or Boolean" do + assert_equal "foobar", Utils.coerce(String, "foobar") + assert_equal "foobar", Utils.coerce(String, :foobar) + assert_equal "1", Utils.coerce(String, 1) + assert_equal "1.0", Utils.coerce(String, 1.0) + assert_equal "true", Utils.coerce(String, true) + end + + it "passes through value if it cannot be coerced and not strict" do + obj = Object.new + + assert_equal obj, Utils.coerce(String, obj) + end + + it "raises an error if value cannot be coerced and strict" do + assert_raises Auth0::Internal::Errors::TypeError do + Utils.coerce(String, Object.new, strict: true) + end + end + end + + describe "Symbol" do + it "coerces from Symbol, String" do + assert_equal :foobar, Utils.coerce(Symbol, :foobar) + assert_equal :foobar, Utils.coerce(Symbol, "foobar") + end + + it "passes through value if it cannot be coerced and not strict" do + obj = Object.new + + assert_equal obj, Utils.coerce(Symbol, obj) + end + + it "raises an error if value cannot be coerced and strict" do + assert_raises Auth0::Internal::Errors::TypeError do + Utils.coerce(Symbol, Object.new, strict: true) + end + end + end + + describe "Integer" do + it "coerces from Numeric, String, Time" do + assert_equal 1, Utils.coerce(Integer, 1) + assert_equal 1, Utils.coerce(Integer, 1.0) + assert_equal 1, Utils.coerce(Integer, Complex.rect(1)) + assert_equal 1, Utils.coerce(Integer, Rational(1)) + assert_equal 1, Utils.coerce(Integer, "1") + assert_equal 1_713_916_800, Utils.coerce(Integer, Time.utc(2024, 4, 24)) + end + + it "passes through value if it cannot be coerced and not strict" do + obj = Object.new + + assert_equal obj, Utils.coerce(Integer, obj) + end + + it "raises an error if value cannot be coerced and strict" do + assert_raises Auth0::Internal::Errors::TypeError do + Utils.coerce(Integer, Object.new, strict: true) + end + end + end + + describe "Float" do + it "coerces from Numeric, Time" do + assert_in_delta(1.0, Utils.coerce(Float, 1.0)) + assert_in_delta(1.0, Utils.coerce(Float, 1)) + assert_in_delta(1.0, Utils.coerce(Float, Complex.rect(1))) + assert_in_delta(1.0, Utils.coerce(Float, Rational(1))) + assert_in_delta(1_713_916_800.0, Utils.coerce(Integer, Time.utc(2024, 4, 24))) + end + + it "passes through value if it cannot be coerced and not strict" do + obj = Object.new + + assert_equal obj, Utils.coerce(Float, obj) + end + + it "raises an error if value cannot be coerced and strict" do + assert_raises Auth0::Internal::Errors::TypeError do + Utils.coerce(Float, Object.new, strict: true) + end + end + end + + describe "Model" do + it "coerces a hash" do + result = Utils.coerce(TestUtils::M, { value: "foobar" }) + + assert_kind_of TestUtils::M, result + assert_equal "foobar", result.value + end + + it "coerces a hash when the target is a type function" do + result = Utils.coerce(-> { TestUtils::M }, { value: "foobar" }) + + assert_kind_of TestUtils::M, result + assert_equal "foobar", result.value + end + + it "will not coerce non-hashes" do + assert_equal "foobar", Utils.coerce(TestUtils::M, "foobar") + end + end + + describe "Enum" do + module ExampleEnum + extend Auth0::Internal::Types::Enum + + FOO = :FOO + BAR = :BAR + + finalize! + end + + it "coerces into a Symbol version of the member value" do + assert_equal :FOO, Utils.coerce(ExampleEnum, "FOO") + end + + it "returns given value if not a member" do + assert_equal "NOPE", Utils.coerce(ExampleEnum, "NOPE") + end + end + + describe "Array" do + StringArray = Auth0::Internal::Types::Array[String] + ModelArray = -> { Auth0::Internal::Types::Array[TestUtils::M] } + UnionArray = -> { Auth0::Internal::Types::Array[TestUtils::U] } + + it "coerces an array of literals" do + assert_equal %w[a b c], Utils.coerce(StringArray, %w[a b c]) + assert_equal ["1", "2.0", "true"], Utils.coerce(StringArray, [1, 2.0, true]) + assert_equal ["1", "2.0", "true"], Utils.coerce(StringArray, Set.new([1, 2.0, true])) + end + + it "coerces an array of Models" do + assert_equal [TestUtils::M.new(value: "foobar"), TestUtils::M.new(value: "bizbaz")], + Utils.coerce(ModelArray, [{ value: "foobar" }, { value: "bizbaz" }]) + + assert_equal [TestUtils::M.new(value: "foobar"), TestUtils::M.new(value: "bizbaz")], + Utils.coerce(ModelArray, [TestUtils::M.new(value: "foobar"), TestUtils::M.new(value: "bizbaz")]) + end + + it "coerces an array of model unions" do + assert_equal [TestUtils::UnionMemberA.new(type: "A", only_on_a: "A"), TestUtils::UnionMemberB.new(type: "B", only_on_b: "B")], + Utils.coerce(UnionArray, [{ type: "A", only_on_a: "A" }, { type: "B", only_on_b: "B" }]) + end + + it "returns given value if not an array" do + assert_equal 1, Utils.coerce(StringArray, 1) + end + end + + describe "Hash" do + it "coerces the keys and values" do + ssh_res = Utils.coerce(TestUtils::SymbolStringHash, { "foo" => "bar", "biz" => "2" }) + + assert_equal "bar", ssh_res[:foo] + assert_equal "2", ssh_res[:biz] + + smh_res = Utils.coerce(TestUtils::SymbolModelHash, { "foo" => { "value" => "foo" } }) + + assert_equal TestUtils::M.new(value: "foo"), smh_res[:foo] + end + end + end +end diff --git a/test/wire/actions_executions_test.rb b/test/wire/actions_executions_test.rb new file mode 100644 index 000000000..15f0343d6 --- /dev/null +++ b/test/wire/actions_executions_test.rb @@ -0,0 +1,35 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class ActionsExecutionsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_actions_executions_get_with_wiremock + test_id = "actions.executions.get.0" + + @client.actions.executions.get( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "actions.executions.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/actions/executions/id", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/actions_modules_test.rb b/test/wire/actions_modules_test.rb new file mode 100644 index 000000000..f3c1cb6dc --- /dev/null +++ b/test/wire/actions_modules_test.rb @@ -0,0 +1,168 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class ActionsModulesWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_actions_modules_list_with_wiremock + test_id = "actions.modules.list.0" + + result = @client.actions.modules.list( + page: 1, + per_page: 1, + request_options: { + additional_headers: { + "X-Test-Id" => "actions.modules.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/actions/modules", + query_params: nil, + expected: 1 + ) + end + + def test_actions_modules_create_with_wiremock + test_id = "actions.modules.create.0" + + @client.actions.modules.create( + name: "name", + code: "code", + request_options: { + additional_headers: { + "X-Test-Id" => "actions.modules.create.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/actions/modules", + query_params: nil, + expected: 1 + ) + end + + def test_actions_modules_get_with_wiremock + test_id = "actions.modules.get.0" + + @client.actions.modules.get( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "actions.modules.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/actions/modules/id", + query_params: nil, + expected: 1 + ) + end + + def test_actions_modules_delete_with_wiremock + test_id = "actions.modules.delete.0" + + @client.actions.modules.delete( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "actions.modules.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/actions/modules/id", + query_params: nil, + expected: 1 + ) + end + + def test_actions_modules_update_with_wiremock + test_id = "actions.modules.update.0" + + @client.actions.modules.update( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "actions.modules.update.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/actions/modules/id", + query_params: nil, + expected: 1 + ) + end + + def test_actions_modules_list_actions_with_wiremock + test_id = "actions.modules.list_actions.0" + + result = @client.actions.modules.list_actions( + id: "id", + page: 1, + per_page: 1, + request_options: { + additional_headers: { + "X-Test-Id" => "actions.modules.list_actions.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/actions/modules/id/actions", + query_params: nil, + expected: 1 + ) + end + + def test_actions_modules_rollback_with_wiremock + test_id = "actions.modules.rollback.0" + + @client.actions.modules.rollback( + id: "id", + module_version_id: "module_version_id", + request_options: { + additional_headers: { + "X-Test-Id" => "actions.modules.rollback.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/actions/modules/id/rollback", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/actions_modules_versions_test.rb b/test/wire/actions_modules_versions_test.rb new file mode 100644 index 000000000..faecc5e2e --- /dev/null +++ b/test/wire/actions_modules_versions_test.rb @@ -0,0 +1,81 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class ActionsModulesVersionsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_actions_modules_versions_list_with_wiremock + test_id = "actions.modules.versions.list.0" + + result = @client.actions.modules.versions.list( + id: "id", + page: 1, + per_page: 1, + request_options: { + additional_headers: { + "X-Test-Id" => "actions.modules.versions.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/actions/modules/id/versions", + query_params: nil, + expected: 1 + ) + end + + def test_actions_modules_versions_create_with_wiremock + test_id = "actions.modules.versions.create.0" + + @client.actions.modules.versions.create( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "actions.modules.versions.create.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/actions/modules/id/versions", + query_params: nil, + expected: 1 + ) + end + + def test_actions_modules_versions_get_with_wiremock + test_id = "actions.modules.versions.get.0" + + @client.actions.modules.versions.get( + id: "id", + version_id: "versionId", + request_options: { + additional_headers: { + "X-Test-Id" => "actions.modules.versions.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/actions/modules/id/versions/versionId", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/actions_test.rb b/test/wire/actions_test.rb new file mode 100644 index 000000000..91215ebdd --- /dev/null +++ b/test/wire/actions_test.rb @@ -0,0 +1,174 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class ActionsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_actions_list_with_wiremock + test_id = "actions.list.0" + + result = @client.actions.list( + trigger_id: "post-login", + action_name: "actionName", + deployed: true, + page: 1, + per_page: 1, + installed: true, + request_options: { + additional_headers: { + "X-Test-Id" => "actions.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/actions/actions", + query_params: nil, + expected: 1 + ) + end + + def test_actions_create_with_wiremock + test_id = "actions.create.0" + + @client.actions.create( + name: "name", + supported_triggers: [{ + id: "post-login" + }], + request_options: { + additional_headers: { + "X-Test-Id" => "actions.create.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/actions/actions", + query_params: nil, + expected: 1 + ) + end + + def test_actions_get_with_wiremock + test_id = "actions.get.0" + + @client.actions.get( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "actions.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/actions/actions/id", + query_params: nil, + expected: 1 + ) + end + + def test_actions_delete_with_wiremock + test_id = "actions.delete.0" + + @client.actions.delete( + id: "id", + force: true, + request_options: { + additional_headers: { + "X-Test-Id" => "actions.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/actions/actions/id", + query_params: nil, + expected: 1 + ) + end + + def test_actions_update_with_wiremock + test_id = "actions.update.0" + + @client.actions.update( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "actions.update.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/actions/actions/id", + query_params: nil, + expected: 1 + ) + end + + def test_actions_deploy_with_wiremock + test_id = "actions.deploy.0" + + @client.actions.deploy( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "actions.deploy.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/actions/actions/id/deploy", + query_params: nil, + expected: 1 + ) + end + + def test_actions_test_with_wiremock + test_id = "actions.test.0" + + @client.actions.test( + id: "id", + payload: { + key: "value" + }, + request_options: { + additional_headers: { + "X-Test-Id" => "actions.test.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/actions/actions/id/test", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/actions_triggers_bindings_test.rb b/test/wire/actions_triggers_bindings_test.rb new file mode 100644 index 000000000..6e3956b7e --- /dev/null +++ b/test/wire/actions_triggers_bindings_test.rb @@ -0,0 +1,59 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class ActionsTriggersBindingsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_actions_triggers_bindings_list_with_wiremock + test_id = "actions.triggers.bindings.list.0" + + result = @client.actions.triggers.bindings.list( + trigger_id: "post-login", + page: 1, + per_page: 1, + request_options: { + additional_headers: { + "X-Test-Id" => "actions.triggers.bindings.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/actions/triggers/post-login/bindings", + query_params: nil, + expected: 1 + ) + end + + def test_actions_triggers_bindings_update_many_with_wiremock + test_id = "actions.triggers.bindings.update_many.0" + + @client.actions.triggers.bindings.update_many( + trigger_id: "post-login", + request_options: { + additional_headers: { + "X-Test-Id" => "actions.triggers.bindings.update_many.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/actions/triggers/post-login/bindings", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/actions_triggers_test.rb b/test/wire/actions_triggers_test.rb new file mode 100644 index 000000000..3ece1c33d --- /dev/null +++ b/test/wire/actions_triggers_test.rb @@ -0,0 +1,32 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class ActionsTriggersWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_actions_triggers_list_with_wiremock + test_id = "actions.triggers.list.0" + + @client.actions.triggers.list(request_options: { + additional_headers: { + "X-Test-Id" => "actions.triggers.list.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/actions/triggers", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/actions_versions_test.rb b/test/wire/actions_versions_test.rb new file mode 100644 index 000000000..f4e162da6 --- /dev/null +++ b/test/wire/actions_versions_test.rb @@ -0,0 +1,83 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class ActionsVersionsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_actions_versions_list_with_wiremock + test_id = "actions.versions.list.0" + + result = @client.actions.versions.list( + action_id: "actionId", + page: 1, + per_page: 1, + request_options: { + additional_headers: { + "X-Test-Id" => "actions.versions.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/actions/actions/actionId/versions", + query_params: nil, + expected: 1 + ) + end + + def test_actions_versions_get_with_wiremock + test_id = "actions.versions.get.0" + + @client.actions.versions.get( + action_id: "actionId", + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "actions.versions.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/actions/actions/actionId/versions/id", + query_params: nil, + expected: 1 + ) + end + + def test_actions_versions_deploy_with_wiremock + test_id = "actions.versions.deploy.0" + + @client.actions.versions.deploy( + action_id: "actionId", + id: "id", + request: {}, + request_options: { + additional_headers: { + "X-Test-Id" => "actions.versions.deploy.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/actions/actions/actionId/versions/id/deploy", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/agents_test.rb b/test/wire/agents_test.rb new file mode 100644 index 000000000..1a992d364 --- /dev/null +++ b/test/wire/agents_test.rb @@ -0,0 +1,121 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class AgentsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_agents_list_with_wiremock + test_id = "agents.list.0" + + result = @client.agents.list( + from: "from", + take: 1, + request_options: { + additional_headers: { + "X-Test-Id" => "agents.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/agents", + query_params: nil, + expected: 1 + ) + end + + def test_agents_create_with_wiremock + test_id = "agents.create.0" + + @client.agents.create( + name: "name", + request_options: { + additional_headers: { + "X-Test-Id" => "agents.create.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/agents", + query_params: nil, + expected: 1 + ) + end + + def test_agents_read_with_wiremock + test_id = "agents.read.0" + + @client.agents.read( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "agents.read.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/agents/id", + query_params: nil, + expected: 1 + ) + end + + def test_agents_delete_with_wiremock + test_id = "agents.delete.0" + + @client.agents.delete( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "agents.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/agents/id", + query_params: nil, + expected: 1 + ) + end + + def test_agents_update_with_wiremock + test_id = "agents.update.0" + + @client.agents.update( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "agents.update.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/agents/id", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/anomaly_blocks_test.rb b/test/wire/anomaly_blocks_test.rb new file mode 100644 index 000000000..5dbddc15d --- /dev/null +++ b/test/wire/anomaly_blocks_test.rb @@ -0,0 +1,56 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class AnomalyBlocksWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_anomaly_blocks_check_ip_with_wiremock + test_id = "anomaly.blocks.check_ip.0" + + @client.anomaly.blocks.check_ip( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "anomaly.blocks.check_ip.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/anomaly/blocks/ips/id", + query_params: nil, + expected: 1 + ) + end + + def test_anomaly_blocks_unblock_ip_with_wiremock + test_id = "anomaly.blocks.unblock_ip.0" + + @client.anomaly.blocks.unblock_ip( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "anomaly.blocks.unblock_ip.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/anomaly/blocks/ips/id", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/attack_protection_bot_detection_test.rb b/test/wire/attack_protection_bot_detection_test.rb new file mode 100644 index 000000000..92de9837a --- /dev/null +++ b/test/wire/attack_protection_bot_detection_test.rb @@ -0,0 +1,50 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class AttackProtectionBotDetectionWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_attack_protection_bot_detection_get_with_wiremock + test_id = "attack_protection.bot_detection.get.0" + + @client.attack_protection.bot_detection.get(request_options: { + additional_headers: { + "X-Test-Id" => "attack_protection.bot_detection.get.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/attack-protection/bot-detection", + query_params: nil, + expected: 1 + ) + end + + def test_attack_protection_bot_detection_update_with_wiremock + test_id = "attack_protection.bot_detection.update.0" + + @client.attack_protection.bot_detection.update(request_options: { + additional_headers: { + "X-Test-Id" => "attack_protection.bot_detection.update.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/attack-protection/bot-detection", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/attack_protection_breached_password_detection_test.rb b/test/wire/attack_protection_breached_password_detection_test.rb new file mode 100644 index 000000000..c38be1657 --- /dev/null +++ b/test/wire/attack_protection_breached_password_detection_test.rb @@ -0,0 +1,50 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class AttackProtectionBreachedPasswordDetectionWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_attack_protection_breached_password_detection_get_with_wiremock + test_id = "attack_protection.breached_password_detection.get.0" + + @client.attack_protection.breached_password_detection.get(request_options: { + additional_headers: { + "X-Test-Id" => "attack_protection.breached_password_detection.get.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/attack-protection/breached-password-detection", + query_params: nil, + expected: 1 + ) + end + + def test_attack_protection_breached_password_detection_update_with_wiremock + test_id = "attack_protection.breached_password_detection.update.0" + + @client.attack_protection.breached_password_detection.update(request_options: { + additional_headers: { + "X-Test-Id" => "attack_protection.breached_password_detection.update.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/attack-protection/breached-password-detection", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/attack_protection_brute_force_protection_test.rb b/test/wire/attack_protection_brute_force_protection_test.rb new file mode 100644 index 000000000..d429beeee --- /dev/null +++ b/test/wire/attack_protection_brute_force_protection_test.rb @@ -0,0 +1,50 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class AttackProtectionBruteForceProtectionWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_attack_protection_brute_force_protection_get_with_wiremock + test_id = "attack_protection.brute_force_protection.get.0" + + @client.attack_protection.brute_force_protection.get(request_options: { + additional_headers: { + "X-Test-Id" => "attack_protection.brute_force_protection.get.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/attack-protection/brute-force-protection", + query_params: nil, + expected: 1 + ) + end + + def test_attack_protection_brute_force_protection_update_with_wiremock + test_id = "attack_protection.brute_force_protection.update.0" + + @client.attack_protection.brute_force_protection.update(request_options: { + additional_headers: { + "X-Test-Id" => "attack_protection.brute_force_protection.update.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/attack-protection/brute-force-protection", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/attack_protection_captcha_test.rb b/test/wire/attack_protection_captcha_test.rb new file mode 100644 index 000000000..53e65a918 --- /dev/null +++ b/test/wire/attack_protection_captcha_test.rb @@ -0,0 +1,50 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class AttackProtectionCaptchaWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_attack_protection_captcha_get_with_wiremock + test_id = "attack_protection.captcha.get.0" + + @client.attack_protection.captcha.get(request_options: { + additional_headers: { + "X-Test-Id" => "attack_protection.captcha.get.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/attack-protection/captcha", + query_params: nil, + expected: 1 + ) + end + + def test_attack_protection_captcha_update_with_wiremock + test_id = "attack_protection.captcha.update.0" + + @client.attack_protection.captcha.update(request_options: { + additional_headers: { + "X-Test-Id" => "attack_protection.captcha.update.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/attack-protection/captcha", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/attack_protection_phone_provider_protection_test.rb b/test/wire/attack_protection_phone_provider_protection_test.rb new file mode 100644 index 000000000..85b3c52ca --- /dev/null +++ b/test/wire/attack_protection_phone_provider_protection_test.rb @@ -0,0 +1,53 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class AttackProtectionPhoneProviderProtectionWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_attack_protection_phone_provider_protection_get_with_wiremock + test_id = "attack_protection.phone_provider_protection.get.0" + + @client.attack_protection.phone_provider_protection.get(request_options: { + additional_headers: { + "X-Test-Id" => "attack_protection.phone_provider_protection.get.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/attack-protection/phone-provider-protection", + query_params: nil, + expected: 1 + ) + end + + def test_attack_protection_phone_provider_protection_patch_with_wiremock + test_id = "attack_protection.phone_provider_protection.patch.0" + + @client.attack_protection.phone_provider_protection.patch( + type: "exponential", + request_options: { + additional_headers: { + "X-Test-Id" => "attack_protection.phone_provider_protection.patch.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/attack-protection/phone-provider-protection", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/attack_protection_suspicious_ip_throttling_test.rb b/test/wire/attack_protection_suspicious_ip_throttling_test.rb new file mode 100644 index 000000000..91e5a6220 --- /dev/null +++ b/test/wire/attack_protection_suspicious_ip_throttling_test.rb @@ -0,0 +1,50 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class AttackProtectionSuspiciousIpThrottlingWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_attack_protection_suspicious_ip_throttling_get_with_wiremock + test_id = "attack_protection.suspicious_ip_throttling.get.0" + + @client.attack_protection.suspicious_ip_throttling.get(request_options: { + additional_headers: { + "X-Test-Id" => "attack_protection.suspicious_ip_throttling.get.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/attack-protection/suspicious-ip-throttling", + query_params: nil, + expected: 1 + ) + end + + def test_attack_protection_suspicious_ip_throttling_update_with_wiremock + test_id = "attack_protection.suspicious_ip_throttling.update.0" + + @client.attack_protection.suspicious_ip_throttling.update(request_options: { + additional_headers: { + "X-Test-Id" => "attack_protection.suspicious_ip_throttling.update.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/attack-protection/suspicious-ip-throttling", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/branding_phone_providers_test.rb b/test/wire/branding_phone_providers_test.rb new file mode 100644 index 000000000..13abf1b57 --- /dev/null +++ b/test/wire/branding_phone_providers_test.rb @@ -0,0 +1,144 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class BrandingPhoneProvidersWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_branding_phone_providers_list_with_wiremock + test_id = "branding.phone.providers.list.0" + + @client.branding.phone.providers.list( + disabled: true, + request_options: { + additional_headers: { + "X-Test-Id" => "branding.phone.providers.list.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/branding/phone/providers", + query_params: nil, + expected: 1 + ) + end + + def test_branding_phone_providers_create_with_wiremock + test_id = "branding.phone.providers.create.0" + + @client.branding.phone.providers.create( + name: "twilio", + credentials: { + auth_token: "auth_token" + }, + request_options: { + additional_headers: { + "X-Test-Id" => "branding.phone.providers.create.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/branding/phone/providers", + query_params: nil, + expected: 1 + ) + end + + def test_branding_phone_providers_get_with_wiremock + test_id = "branding.phone.providers.get.0" + + @client.branding.phone.providers.get( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "branding.phone.providers.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/branding/phone/providers/id", + query_params: nil, + expected: 1 + ) + end + + def test_branding_phone_providers_delete_with_wiremock + test_id = "branding.phone.providers.delete.0" + + @client.branding.phone.providers.delete( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "branding.phone.providers.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/branding/phone/providers/id", + query_params: nil, + expected: 1 + ) + end + + def test_branding_phone_providers_update_with_wiremock + test_id = "branding.phone.providers.update.0" + + @client.branding.phone.providers.update( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "branding.phone.providers.update.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/branding/phone/providers/id", + query_params: nil, + expected: 1 + ) + end + + def test_branding_phone_providers_test_with_wiremock + test_id = "branding.phone.providers.test.0" + + @client.branding.phone.providers.test( + id: "id", + to: "to", + request_options: { + additional_headers: { + "X-Test-Id" => "branding.phone.providers.test.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/branding/phone/providers/id/try", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/branding_phone_templates_test.rb b/test/wire/branding_phone_templates_test.rb new file mode 100644 index 000000000..060c5582e --- /dev/null +++ b/test/wire/branding_phone_templates_test.rb @@ -0,0 +1,162 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class BrandingPhoneTemplatesWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_branding_phone_templates_list_with_wiremock + test_id = "branding.phone.templates.list.0" + + @client.branding.phone.templates.list( + disabled: true, + request_options: { + additional_headers: { + "X-Test-Id" => "branding.phone.templates.list.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/branding/phone/templates", + query_params: nil, + expected: 1 + ) + end + + def test_branding_phone_templates_create_with_wiremock + test_id = "branding.phone.templates.create.0" + + @client.branding.phone.templates.create(request_options: { + additional_headers: { + "X-Test-Id" => "branding.phone.templates.create.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/branding/phone/templates", + query_params: nil, + expected: 1 + ) + end + + def test_branding_phone_templates_get_with_wiremock + test_id = "branding.phone.templates.get.0" + + @client.branding.phone.templates.get( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "branding.phone.templates.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/branding/phone/templates/id", + query_params: nil, + expected: 1 + ) + end + + def test_branding_phone_templates_delete_with_wiremock + test_id = "branding.phone.templates.delete.0" + + @client.branding.phone.templates.delete( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "branding.phone.templates.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/branding/phone/templates/id", + query_params: nil, + expected: 1 + ) + end + + def test_branding_phone_templates_update_with_wiremock + test_id = "branding.phone.templates.update.0" + + @client.branding.phone.templates.update( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "branding.phone.templates.update.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/branding/phone/templates/id", + query_params: nil, + expected: 1 + ) + end + + def test_branding_phone_templates_reset_with_wiremock + test_id = "branding.phone.templates.reset.0" + + @client.branding.phone.templates.reset( + id: "id", + request: { + key: "value" + }, + request_options: { + additional_headers: { + "X-Test-Id" => "branding.phone.templates.reset.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/branding/phone/templates/id/reset", + query_params: nil, + expected: 1 + ) + end + + def test_branding_phone_templates_test_with_wiremock + test_id = "branding.phone.templates.test.0" + + @client.branding.phone.templates.test( + id: "id", + to: "to", + request_options: { + additional_headers: { + "X-Test-Id" => "branding.phone.templates.test.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/branding/phone/templates/id/try", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/branding_templates_test.rb b/test/wire/branding_templates_test.rb new file mode 100644 index 000000000..dedb92a03 --- /dev/null +++ b/test/wire/branding_templates_test.rb @@ -0,0 +1,71 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class BrandingTemplatesWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_branding_templates_get_universal_login_with_wiremock + test_id = "branding.templates.get_universal_login.0" + + @client.branding.templates.get_universal_login(request_options: { + additional_headers: { + "X-Test-Id" => "branding.templates.get_universal_login.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/branding/templates/universal-login", + query_params: nil, + expected: 1 + ) + end + + def test_branding_templates_update_universal_login_with_wiremock + test_id = "branding.templates.update_universal_login.0" + + @client.branding.templates.update_universal_login( + request: "string", + request_options: { + additional_headers: { + "X-Test-Id" => "branding.templates.update_universal_login.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PUT", + url_path: "/branding/templates/universal-login", + query_params: nil, + expected: 1 + ) + end + + def test_branding_templates_delete_universal_login_with_wiremock + test_id = "branding.templates.delete_universal_login.0" + + @client.branding.templates.delete_universal_login(request_options: { + additional_headers: { + "X-Test-Id" => "branding.templates.delete_universal_login.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/branding/templates/universal-login", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/branding_test.rb b/test/wire/branding_test.rb new file mode 100644 index 000000000..1475442ab --- /dev/null +++ b/test/wire/branding_test.rb @@ -0,0 +1,50 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class BrandingWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_branding_get_with_wiremock + test_id = "branding.get.0" + + @client.branding.get(request_options: { + additional_headers: { + "X-Test-Id" => "branding.get.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/branding", + query_params: nil, + expected: 1 + ) + end + + def test_branding_update_with_wiremock + test_id = "branding.update.0" + + @client.branding.update(request_options: { + additional_headers: { + "X-Test-Id" => "branding.update.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/branding", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/branding_themes_test.rb b/test/wire/branding_themes_test.rb new file mode 100644 index 000000000..6fa466dba --- /dev/null +++ b/test/wire/branding_themes_test.rb @@ -0,0 +1,255 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class BrandingThemesWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_branding_themes_create_with_wiremock + test_id = "branding.themes.create.0" + + @client.branding.themes.create( + borders: { + button_border_radius: 1.1, + button_border_weight: 1.1, + buttons_style: "pill", + input_border_radius: 1.1, + input_border_weight: 1.1, + inputs_style: "pill", + show_widget_shadow: true, + widget_border_weight: 1.1, + widget_corner_radius: 1.1 + }, + colors: { + body_text: "body_text", + error: "error", + header: "header", + icons: "icons", + input_background: "input_background", + input_border: "input_border", + input_filled_text: "input_filled_text", + input_labels_placeholders: "input_labels_placeholders", + links_focused_components: "links_focused_components", + primary_button: "primary_button", + primary_button_label: "primary_button_label", + secondary_button_border: "secondary_button_border", + secondary_button_label: "secondary_button_label", + success: "success", + widget_background: "widget_background", + widget_border: "widget_border" + }, + fonts: { + body_text: { + bold: true, + size: 1.1 + }, + buttons_text: { + bold: true, + size: 1.1 + }, + font_url: "font_url", + input_labels: { + bold: true, + size: 1.1 + }, + links: { + bold: true, + size: 1.1 + }, + links_style: "normal", + reference_text_size: 1.1, + subtitle: { + bold: true, + size: 1.1 + }, + title: { + bold: true, + size: 1.1 + } + }, + page_background: { + background_color: "background_color", + background_image_url: "background_image_url", + page_layout: "center" + }, + widget: { + header_text_alignment: "center", + logo_height: 1.1, + logo_position: "center", + logo_url: "logo_url", + social_buttons_layout: "bottom" + }, + request_options: { + additional_headers: { + "X-Test-Id" => "branding.themes.create.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/branding/themes", + query_params: nil, + expected: 1 + ) + end + + def test_branding_themes_get_default_with_wiremock + test_id = "branding.themes.get_default.0" + + @client.branding.themes.get_default(request_options: { + additional_headers: { + "X-Test-Id" => "branding.themes.get_default.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/branding/themes/default", + query_params: nil, + expected: 1 + ) + end + + def test_branding_themes_get_with_wiremock + test_id = "branding.themes.get.0" + + @client.branding.themes.get( + theme_id: "themeId", + request_options: { + additional_headers: { + "X-Test-Id" => "branding.themes.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/branding/themes/themeId", + query_params: nil, + expected: 1 + ) + end + + def test_branding_themes_delete_with_wiremock + test_id = "branding.themes.delete.0" + + @client.branding.themes.delete( + theme_id: "themeId", + request_options: { + additional_headers: { + "X-Test-Id" => "branding.themes.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/branding/themes/themeId", + query_params: nil, + expected: 1 + ) + end + + def test_branding_themes_update_with_wiremock + test_id = "branding.themes.update.0" + + @client.branding.themes.update( + theme_id: "themeId", + borders: { + button_border_radius: 1.1, + button_border_weight: 1.1, + buttons_style: "pill", + input_border_radius: 1.1, + input_border_weight: 1.1, + inputs_style: "pill", + show_widget_shadow: true, + widget_border_weight: 1.1, + widget_corner_radius: 1.1 + }, + colors: { + body_text: "body_text", + error: "error", + header: "header", + icons: "icons", + input_background: "input_background", + input_border: "input_border", + input_filled_text: "input_filled_text", + input_labels_placeholders: "input_labels_placeholders", + links_focused_components: "links_focused_components", + primary_button: "primary_button", + primary_button_label: "primary_button_label", + secondary_button_border: "secondary_button_border", + secondary_button_label: "secondary_button_label", + success: "success", + widget_background: "widget_background", + widget_border: "widget_border" + }, + fonts: { + body_text: { + bold: true, + size: 1.1 + }, + buttons_text: { + bold: true, + size: 1.1 + }, + font_url: "font_url", + input_labels: { + bold: true, + size: 1.1 + }, + links: { + bold: true, + size: 1.1 + }, + links_style: "normal", + reference_text_size: 1.1, + subtitle: { + bold: true, + size: 1.1 + }, + title: { + bold: true, + size: 1.1 + } + }, + page_background: { + background_color: "background_color", + background_image_url: "background_image_url", + page_layout: "center" + }, + widget: { + header_text_alignment: "center", + logo_height: 1.1, + logo_position: "center", + logo_url: "logo_url", + social_buttons_layout: "bottom" + }, + request_options: { + additional_headers: { + "X-Test-Id" => "branding.themes.update.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/branding/themes/themeId", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/client_grants_organizations_test.rb b/test/wire/client_grants_organizations_test.rb new file mode 100644 index 000000000..664c5ae43 --- /dev/null +++ b/test/wire/client_grants_organizations_test.rb @@ -0,0 +1,39 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class ClientGrantsOrganizationsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_client_grants_organizations_list_with_wiremock + test_id = "client_grants.organizations.list.0" + + result = @client.client_grants.organizations.list( + id: "id", + include_totals: true, + from: "from", + take: 1, + request_options: { + additional_headers: { + "X-Test-Id" => "client_grants.organizations.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/client-grants/id/organizations", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/client_grants_test.rb b/test/wire/client_grants_test.rb new file mode 100644 index 000000000..207755592 --- /dev/null +++ b/test/wire/client_grants_test.rb @@ -0,0 +1,127 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class ClientGrantsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_client_grants_list_with_wiremock + test_id = "client_grants.list.0" + + result = @client.client_grants.list( + include_totals: true, + from: "from", + take: 1, + audience: "audience", + client_id: "client_id", + allow_any_organization: true, + subject_type: "client", + default_for: "third_party_clients", + request_options: { + additional_headers: { + "X-Test-Id" => "client_grants.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/client-grants", + query_params: nil, + expected: 1 + ) + end + + def test_client_grants_create_with_wiremock + test_id = "client_grants.create.0" + + @client.client_grants.create( + audience: "audience", + request_options: { + additional_headers: { + "X-Test-Id" => "client_grants.create.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/client-grants", + query_params: nil, + expected: 1 + ) + end + + def test_client_grants_get_with_wiremock + test_id = "client_grants.get.0" + + @client.client_grants.get( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "client_grants.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/client-grants/id", + query_params: nil, + expected: 1 + ) + end + + def test_client_grants_delete_with_wiremock + test_id = "client_grants.delete.0" + + @client.client_grants.delete( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "client_grants.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/client-grants/id", + query_params: nil, + expected: 1 + ) + end + + def test_client_grants_update_with_wiremock + test_id = "client_grants.update.0" + + @client.client_grants.update( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "client_grants.update.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/client-grants/id", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/clients_connections_test.rb b/test/wire/clients_connections_test.rb new file mode 100644 index 000000000..483757ff3 --- /dev/null +++ b/test/wire/clients_connections_test.rb @@ -0,0 +1,41 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class ClientsConnectionsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_clients_connections_get_with_wiremock + test_id = "clients.connections.get.0" + + result = @client.clients.connections.get( + id: "id", + strategy: ["ad"], + from: "from", + take: 1, + fields: "fields", + include_fields: true, + request_options: { + additional_headers: { + "X-Test-Id" => "clients.connections.get.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/clients/id/connections", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/clients_credentials_test.rb b/test/wire/clients_credentials_test.rb new file mode 100644 index 000000000..d4a2b4e0b --- /dev/null +++ b/test/wire/clients_credentials_test.rb @@ -0,0 +1,123 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class ClientsCredentialsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_clients_credentials_list_with_wiremock + test_id = "clients.credentials.list.0" + + @client.clients.credentials.list( + client_id: "client_id", + request_options: { + additional_headers: { + "X-Test-Id" => "clients.credentials.list.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/clients/client_id/credentials", + query_params: nil, + expected: 1 + ) + end + + def test_clients_credentials_create_with_wiremock + test_id = "clients.credentials.create.0" + + @client.clients.credentials.create( + client_id: "client_id", + credential_type: "public_key", + request_options: { + additional_headers: { + "X-Test-Id" => "clients.credentials.create.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/clients/client_id/credentials", + query_params: nil, + expected: 1 + ) + end + + def test_clients_credentials_get_with_wiremock + test_id = "clients.credentials.get.0" + + @client.clients.credentials.get( + client_id: "client_id", + credential_id: "credential_id", + request_options: { + additional_headers: { + "X-Test-Id" => "clients.credentials.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/clients/client_id/credentials/credential_id", + query_params: nil, + expected: 1 + ) + end + + def test_clients_credentials_delete_with_wiremock + test_id = "clients.credentials.delete.0" + + @client.clients.credentials.delete( + client_id: "client_id", + credential_id: "credential_id", + request_options: { + additional_headers: { + "X-Test-Id" => "clients.credentials.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/clients/client_id/credentials/credential_id", + query_params: nil, + expected: 1 + ) + end + + def test_clients_credentials_update_with_wiremock + test_id = "clients.credentials.update.0" + + @client.clients.credentials.update( + client_id: "client_id", + credential_id: "credential_id", + request_options: { + additional_headers: { + "X-Test-Id" => "clients.credentials.update.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/clients/client_id/credentials/credential_id", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/clients_test.rb b/test/wire/clients_test.rb new file mode 100644 index 000000000..ee62c50bf --- /dev/null +++ b/test/wire/clients_test.rb @@ -0,0 +1,194 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class ClientsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_clients_list_with_wiremock + test_id = "clients.list.0" + + result = @client.clients.list( + fields: "fields", + include_fields: true, + page: 1, + per_page: 1, + include_totals: true, + is_global: true, + is_first_party: true, + app_type: "app_type", + external_client_id: "external_client_id", + q: "q", + request_options: { + additional_headers: { + "X-Test-Id" => "clients.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/clients", + query_params: nil, + expected: 1 + ) + end + + def test_clients_create_with_wiremock + test_id = "clients.create.0" + + @client.clients.create( + name: "name", + request_options: { + additional_headers: { + "X-Test-Id" => "clients.create.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/clients", + query_params: nil, + expected: 1 + ) + end + + def test_clients_preview_cimd_metadata_with_wiremock + test_id = "clients.preview_cimd_metadata.0" + + @client.clients.preview_cimd_metadata( + external_client_id: "external_client_id", + request_options: { + additional_headers: { + "X-Test-Id" => "clients.preview_cimd_metadata.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/clients/cimd/preview", + query_params: nil, + expected: 1 + ) + end + + def test_clients_register_cimd_client_with_wiremock + test_id = "clients.register_cimd_client.0" + + @client.clients.register_cimd_client( + external_client_id: "external_client_id", + request_options: { + additional_headers: { + "X-Test-Id" => "clients.register_cimd_client.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/clients/cimd/register", + query_params: nil, + expected: 1 + ) + end + + def test_clients_get_with_wiremock + test_id = "clients.get.0" + + @client.clients.get( + id: "id", + fields: "fields", + include_fields: true, + request_options: { + additional_headers: { + "X-Test-Id" => "clients.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/clients/id", + query_params: nil, + expected: 1 + ) + end + + def test_clients_delete_with_wiremock + test_id = "clients.delete.0" + + @client.clients.delete( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "clients.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/clients/id", + query_params: nil, + expected: 1 + ) + end + + def test_clients_update_with_wiremock + test_id = "clients.update.0" + + @client.clients.update( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "clients.update.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/clients/id", + query_params: nil, + expected: 1 + ) + end + + def test_clients_rotate_secret_with_wiremock + test_id = "clients.rotate_secret.0" + + @client.clients.rotate_secret( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "clients.rotate_secret.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/clients/id/rotate-secret", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/connection_profiles_test.rb b/test/wire/connection_profiles_test.rb new file mode 100644 index 000000000..efda2a05f --- /dev/null +++ b/test/wire/connection_profiles_test.rb @@ -0,0 +1,160 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class ConnectionProfilesWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_connection_profiles_list_with_wiremock + test_id = "connection_profiles.list.0" + + result = @client.connection_profiles.list( + from: "from", + take: 1, + request_options: { + additional_headers: { + "X-Test-Id" => "connection_profiles.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/connection-profiles", + query_params: nil, + expected: 1 + ) + end + + def test_connection_profiles_create_with_wiremock + test_id = "connection_profiles.create.0" + + @client.connection_profiles.create( + name: "name", + request_options: { + additional_headers: { + "X-Test-Id" => "connection_profiles.create.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/connection-profiles", + query_params: nil, + expected: 1 + ) + end + + def test_connection_profiles_list_templates_with_wiremock + test_id = "connection_profiles.list_templates.0" + + @client.connection_profiles.list_templates(request_options: { + additional_headers: { + "X-Test-Id" => "connection_profiles.list_templates.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/connection-profiles/templates", + query_params: nil, + expected: 1 + ) + end + + def test_connection_profiles_get_template_with_wiremock + test_id = "connection_profiles.get_template.0" + + @client.connection_profiles.get_template( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "connection_profiles.get_template.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/connection-profiles/templates/id", + query_params: nil, + expected: 1 + ) + end + + def test_connection_profiles_get_with_wiremock + test_id = "connection_profiles.get.0" + + @client.connection_profiles.get( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "connection_profiles.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/connection-profiles/id", + query_params: nil, + expected: 1 + ) + end + + def test_connection_profiles_delete_with_wiremock + test_id = "connection_profiles.delete.0" + + @client.connection_profiles.delete( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "connection_profiles.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/connection-profiles/id", + query_params: nil, + expected: 1 + ) + end + + def test_connection_profiles_update_with_wiremock + test_id = "connection_profiles.update.0" + + @client.connection_profiles.update( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "connection_profiles.update.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/connection-profiles/id", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/connections_clients_test.rb b/test/wire/connections_clients_test.rb new file mode 100644 index 000000000..5a182af36 --- /dev/null +++ b/test/wire/connections_clients_test.rb @@ -0,0 +1,63 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class ConnectionsClientsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_connections_clients_get_with_wiremock + test_id = "connections.clients.get.0" + + result = @client.connections.clients.get( + id: "id", + take: 1, + from: "from", + request_options: { + additional_headers: { + "X-Test-Id" => "connections.clients.get.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/connections/id/clients", + query_params: nil, + expected: 1 + ) + end + + def test_connections_clients_update_with_wiremock + test_id = "connections.clients.update.0" + + @client.connections.clients.update( + id: "id", + request: [{ + client_id: "client_id", + status: true + }], + request_options: { + additional_headers: { + "X-Test-Id" => "connections.clients.update.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/connections/id/clients", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/connections_directory_provisioning_synchronizations_test.rb b/test/wire/connections_directory_provisioning_synchronizations_test.rb new file mode 100644 index 000000000..f28dd8ac3 --- /dev/null +++ b/test/wire/connections_directory_provisioning_synchronizations_test.rb @@ -0,0 +1,35 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class ConnectionsDirectoryProvisioningSynchronizationsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_connections_directory_provisioning_synchronizations_create_with_wiremock + test_id = "connections.directory_provisioning.synchronizations.create.0" + + @client.connections.directory_provisioning.synchronizations.create( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "connections.directory_provisioning.synchronizations.create.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/connections/id/directory-provisioning/synchronizations", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/connections_directory_provisioning_test.rb b/test/wire/connections_directory_provisioning_test.rb new file mode 100644 index 000000000..5dcf74f98 --- /dev/null +++ b/test/wire/connections_directory_provisioning_test.rb @@ -0,0 +1,241 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class ConnectionsDirectoryProvisioningWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_connections_directory_provisioning_list_with_wiremock + test_id = "connections.directory_provisioning.list.0" + + result = @client.connections.directory_provisioning.list( + from: "from", + take: 1, + request_options: { + additional_headers: { + "X-Test-Id" => "connections.directory_provisioning.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/connections-directory-provisionings", + query_params: nil, + expected: 1 + ) + end + + def test_connections_directory_provisioning_get_with_wiremock + test_id = "connections.directory_provisioning.get.0" + + @client.connections.directory_provisioning.get( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "connections.directory_provisioning.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/connections/id/directory-provisioning", + query_params: nil, + expected: 1 + ) + end + + def test_connections_directory_provisioning_create_with_wiremock + test_id = "connections.directory_provisioning.create.0" + + @client.connections.directory_provisioning.create( + id: "id", + request: {}, + request_options: { + additional_headers: { + "X-Test-Id" => "connections.directory_provisioning.create.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/connections/id/directory-provisioning", + query_params: nil, + expected: 1 + ) + end + + def test_connections_directory_provisioning_delete_with_wiremock + test_id = "connections.directory_provisioning.delete.0" + + @client.connections.directory_provisioning.delete( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "connections.directory_provisioning.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/connections/id/directory-provisioning", + query_params: nil, + expected: 1 + ) + end + + def test_connections_directory_provisioning_update_with_wiremock + test_id = "connections.directory_provisioning.update.0" + + @client.connections.directory_provisioning.update( + id: "id", + request: {}, + request_options: { + additional_headers: { + "X-Test-Id" => "connections.directory_provisioning.update.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/connections/id/directory-provisioning", + query_params: nil, + expected: 1 + ) + end + + def test_connections_directory_provisioning_get_default_mapping_with_wiremock + test_id = "connections.directory_provisioning.get_default_mapping.0" + + @client.connections.directory_provisioning.get_default_mapping( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "connections.directory_provisioning.get_default_mapping.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/connections/id/directory-provisioning/default-mapping", + query_params: nil, + expected: 1 + ) + end + + def test_connections_directory_provisioning_list_synchronized_groups_with_wiremock + test_id = "connections.directory_provisioning.list_synchronized_groups.0" + + result = @client.connections.directory_provisioning.list_synchronized_groups( + id: "id", + from: "from", + take: 1, + q: "q", + request_options: { + additional_headers: { + "X-Test-Id" => "connections.directory_provisioning.list_synchronized_groups.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/connections/id/directory-provisioning/synchronized-groups", + query_params: nil, + expected: 1 + ) + end + + def test_connections_directory_provisioning_add_synchronized_group_selections_with_wiremock + test_id = "connections.directory_provisioning.add_synchronized_group_selections.0" + + @client.connections.directory_provisioning.add_synchronized_group_selections( + id: "id", + groups: [{ + id: "id" + }], + request_options: { + additional_headers: { + "X-Test-Id" => "connections.directory_provisioning.add_synchronized_group_selections.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/connections/id/directory-provisioning/synchronized-groups", + query_params: nil, + expected: 1 + ) + end + + def test_connections_directory_provisioning_set_with_wiremock + test_id = "connections.directory_provisioning.set.0" + + @client.connections.directory_provisioning.set( + id: "id", + groups: [{ + id: "id" + }], + request_options: { + additional_headers: { + "X-Test-Id" => "connections.directory_provisioning.set.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PUT", + url_path: "/connections/id/directory-provisioning/synchronized-groups", + query_params: nil, + expected: 1 + ) + end + + def test_connections_directory_provisioning_delete_synchronized_group_selections_with_wiremock + test_id = "connections.directory_provisioning.delete_synchronized_group_selections.0" + + @client.connections.directory_provisioning.delete_synchronized_group_selections( + id: "id", + groups: [{ + id: "id" + }], + request_options: { + additional_headers: { + "X-Test-Id" => "connections.directory_provisioning.delete_synchronized_group_selections.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/connections/id/directory-provisioning/synchronized-groups", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/connections_keys_test.rb b/test/wire/connections_keys_test.rb new file mode 100644 index 000000000..bf9c5f1a0 --- /dev/null +++ b/test/wire/connections_keys_test.rb @@ -0,0 +1,79 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class ConnectionsKeysWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_connections_keys_get_with_wiremock + test_id = "connections.keys.get.0" + + @client.connections.keys.get( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "connections.keys.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/connections/id/keys", + query_params: nil, + expected: 1 + ) + end + + def test_connections_keys_create_with_wiremock + test_id = "connections.keys.create.0" + + @client.connections.keys.create( + id: "id", + request: {}, + request_options: { + additional_headers: { + "X-Test-Id" => "connections.keys.create.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/connections/id/keys", + query_params: nil, + expected: 1 + ) + end + + def test_connections_keys_rotate_with_wiremock + test_id = "connections.keys.rotate.0" + + @client.connections.keys.rotate( + id: "id", + request: {}, + request_options: { + additional_headers: { + "X-Test-Id" => "connections.keys.rotate.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/connections/id/keys/rotate", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/connections_scim_configuration_test.rb b/test/wire/connections_scim_configuration_test.rb new file mode 100644 index 000000000..9bce8b227 --- /dev/null +++ b/test/wire/connections_scim_configuration_test.rb @@ -0,0 +1,145 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class ConnectionsScimConfigurationWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_connections_scim_configuration_list_with_wiremock + test_id = "connections.scim_configuration.list.0" + + result = @client.connections.scim_configuration.list( + from: "from", + take: 1, + request_options: { + additional_headers: { + "X-Test-Id" => "connections.scim_configuration.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/connections-scim-configurations", + query_params: nil, + expected: 1 + ) + end + + def test_connections_scim_configuration_get_with_wiremock + test_id = "connections.scim_configuration.get.0" + + @client.connections.scim_configuration.get( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "connections.scim_configuration.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/connections/id/scim-configuration", + query_params: nil, + expected: 1 + ) + end + + def test_connections_scim_configuration_create_with_wiremock + test_id = "connections.scim_configuration.create.0" + + @client.connections.scim_configuration.create( + id: "id", + request: {}, + request_options: { + additional_headers: { + "X-Test-Id" => "connections.scim_configuration.create.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/connections/id/scim-configuration", + query_params: nil, + expected: 1 + ) + end + + def test_connections_scim_configuration_delete_with_wiremock + test_id = "connections.scim_configuration.delete.0" + + @client.connections.scim_configuration.delete( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "connections.scim_configuration.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/connections/id/scim-configuration", + query_params: nil, + expected: 1 + ) + end + + def test_connections_scim_configuration_update_with_wiremock + test_id = "connections.scim_configuration.update.0" + + @client.connections.scim_configuration.update( + id: "id", + user_id_attribute: "user_id_attribute", + mapping: [{}], + request_options: { + additional_headers: { + "X-Test-Id" => "connections.scim_configuration.update.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/connections/id/scim-configuration", + query_params: nil, + expected: 1 + ) + end + + def test_connections_scim_configuration_get_default_mapping_with_wiremock + test_id = "connections.scim_configuration.get_default_mapping.0" + + @client.connections.scim_configuration.get_default_mapping( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "connections.scim_configuration.get_default_mapping.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/connections/id/scim-configuration/default-mapping", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/connections_scim_configuration_tokens_test.rb b/test/wire/connections_scim_configuration_tokens_test.rb new file mode 100644 index 000000000..2d323d88d --- /dev/null +++ b/test/wire/connections_scim_configuration_tokens_test.rb @@ -0,0 +1,78 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class ConnectionsScimConfigurationTokensWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_connections_scim_configuration_tokens_get_with_wiremock + test_id = "connections.scim_configuration.tokens.get.0" + + @client.connections.scim_configuration.tokens.get( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "connections.scim_configuration.tokens.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/connections/id/scim-configuration/tokens", + query_params: nil, + expected: 1 + ) + end + + def test_connections_scim_configuration_tokens_create_with_wiremock + test_id = "connections.scim_configuration.tokens.create.0" + + @client.connections.scim_configuration.tokens.create( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "connections.scim_configuration.tokens.create.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/connections/id/scim-configuration/tokens", + query_params: nil, + expected: 1 + ) + end + + def test_connections_scim_configuration_tokens_delete_with_wiremock + test_id = "connections.scim_configuration.tokens.delete.0" + + @client.connections.scim_configuration.tokens.delete( + id: "id", + token_id: "tokenId", + request_options: { + additional_headers: { + "X-Test-Id" => "connections.scim_configuration.tokens.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/connections/id/scim-configuration/tokens/tokenId", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/connections_test.rb b/test/wire/connections_test.rb new file mode 100644 index 000000000..90d949ff2 --- /dev/null +++ b/test/wire/connections_test.rb @@ -0,0 +1,150 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class ConnectionsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_connections_list_with_wiremock + test_id = "connections.list.0" + + result = @client.connections.list( + include_totals: true, + from: "from", + take: 1, + strategy: ["ad"], + name: "name", + fields: "fields", + include_fields: true, + request_options: { + additional_headers: { + "X-Test-Id" => "connections.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/connections", + query_params: nil, + expected: 1 + ) + end + + def test_connections_create_with_wiremock + test_id = "connections.create.0" + + @client.connections.create( + name: "name", + strategy: "ad", + request_options: { + additional_headers: { + "X-Test-Id" => "connections.create.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/connections", + query_params: nil, + expected: 1 + ) + end + + def test_connections_get_with_wiremock + test_id = "connections.get.0" + + @client.connections.get( + id: "id", + fields: "fields", + include_fields: true, + request_options: { + additional_headers: { + "X-Test-Id" => "connections.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/connections/id", + query_params: nil, + expected: 1 + ) + end + + def test_connections_delete_with_wiremock + test_id = "connections.delete.0" + + @client.connections.delete( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "connections.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/connections/id", + query_params: nil, + expected: 1 + ) + end + + def test_connections_update_with_wiremock + test_id = "connections.update.0" + + @client.connections.update( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "connections.update.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/connections/id", + query_params: nil, + expected: 1 + ) + end + + def test_connections_check_status_with_wiremock + test_id = "connections.check_status.0" + + @client.connections.check_status( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "connections.check_status.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/connections/id/status", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/connections_users_test.rb b/test/wire/connections_users_test.rb new file mode 100644 index 000000000..b4cbab930 --- /dev/null +++ b/test/wire/connections_users_test.rb @@ -0,0 +1,36 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class ConnectionsUsersWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_connections_users_delete_by_email_with_wiremock + test_id = "connections.users.delete_by_email.0" + + @client.connections.users.delete_by_email( + id: "id", + email: "email", + request_options: { + additional_headers: { + "X-Test-Id" => "connections.users.delete_by_email.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/connections/id/users", + query_params: { "email" => "email" }, + expected: 1 + ) + end +end diff --git a/test/wire/custom_domains_test.rb b/test/wire/custom_domains_test.rb new file mode 100644 index 000000000..88d6250f0 --- /dev/null +++ b/test/wire/custom_domains_test.rb @@ -0,0 +1,204 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class CustomDomainsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_custom_domains_list_with_wiremock + test_id = "custom_domains.list.0" + + @client.custom_domains.list( + q: "q", + fields: "fields", + include_fields: true, + sort: "sort", + request_options: { + additional_headers: { + "X-Test-Id" => "custom_domains.list.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/custom-domains", + query_params: nil, + expected: 1 + ) + end + + def test_custom_domains_create_with_wiremock + test_id = "custom_domains.create.0" + + @client.custom_domains.create( + domain: "domain", + type: "auth0_managed_certs", + request_options: { + additional_headers: { + "X-Test-Id" => "custom_domains.create.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/custom-domains", + query_params: nil, + expected: 1 + ) + end + + def test_custom_domains_get_default_with_wiremock + test_id = "custom_domains.get_default.0" + + @client.custom_domains.get_default(request_options: { + additional_headers: { + "X-Test-Id" => "custom_domains.get_default.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/custom-domains/default", + query_params: nil, + expected: 1 + ) + end + + def test_custom_domains_set_default_with_wiremock + test_id = "custom_domains.set_default.0" + + @client.custom_domains.set_default( + domain: "domain", + request_options: { + additional_headers: { + "X-Test-Id" => "custom_domains.set_default.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/custom-domains/default", + query_params: nil, + expected: 1 + ) + end + + def test_custom_domains_get_with_wiremock + test_id = "custom_domains.get.0" + + @client.custom_domains.get( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "custom_domains.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/custom-domains/id", + query_params: nil, + expected: 1 + ) + end + + def test_custom_domains_delete_with_wiremock + test_id = "custom_domains.delete.0" + + @client.custom_domains.delete( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "custom_domains.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/custom-domains/id", + query_params: nil, + expected: 1 + ) + end + + def test_custom_domains_update_with_wiremock + test_id = "custom_domains.update.0" + + @client.custom_domains.update( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "custom_domains.update.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/custom-domains/id", + query_params: nil, + expected: 1 + ) + end + + def test_custom_domains_test_with_wiremock + test_id = "custom_domains.test.0" + + @client.custom_domains.test( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "custom_domains.test.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/custom-domains/id/test", + query_params: nil, + expected: 1 + ) + end + + def test_custom_domains_verify_with_wiremock + test_id = "custom_domains.verify.0" + + @client.custom_domains.verify( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "custom_domains.verify.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/custom-domains/id/verify", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/device_credentials_test.rb b/test/wire/device_credentials_test.rb new file mode 100644 index 000000000..cb51009ec --- /dev/null +++ b/test/wire/device_credentials_test.rb @@ -0,0 +1,88 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class DeviceCredentialsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_device_credentials_list_with_wiremock + test_id = "device_credentials.list.0" + + result = @client.device_credentials.list( + page: 1, + per_page: 1, + include_totals: true, + fields: "fields", + include_fields: true, + user_id: "user_id", + client_id: "client_id", + type: "public_key", + request_options: { + additional_headers: { + "X-Test-Id" => "device_credentials.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/device-credentials", + query_params: nil, + expected: 1 + ) + end + + def test_device_credentials_create_public_key_with_wiremock + test_id = "device_credentials.create_public_key.0" + + @client.device_credentials.create_public_key( + device_name: "device_name", + type: "public_key", + value: "value", + device_id: "device_id", + request_options: { + additional_headers: { + "X-Test-Id" => "device_credentials.create_public_key.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/device-credentials", + query_params: nil, + expected: 1 + ) + end + + def test_device_credentials_delete_with_wiremock + test_id = "device_credentials.delete.0" + + @client.device_credentials.delete( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "device_credentials.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/device-credentials/id", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/email_templates_test.rb b/test/wire/email_templates_test.rb new file mode 100644 index 000000000..877b388c4 --- /dev/null +++ b/test/wire/email_templates_test.rb @@ -0,0 +1,99 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class EmailTemplatesWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_email_templates_create_with_wiremock + test_id = "email_templates.create.0" + + @client.email_templates.create( + template: "verify_email", + request_options: { + additional_headers: { + "X-Test-Id" => "email_templates.create.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/email-templates", + query_params: nil, + expected: 1 + ) + end + + def test_email_templates_get_with_wiremock + test_id = "email_templates.get.0" + + @client.email_templates.get( + template_name: "verify_email", + request_options: { + additional_headers: { + "X-Test-Id" => "email_templates.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/email-templates/verify_email", + query_params: nil, + expected: 1 + ) + end + + def test_email_templates_set_with_wiremock + test_id = "email_templates.set.0" + + @client.email_templates.set( + template_name: "verify_email", + template: "verify_email", + request_options: { + additional_headers: { + "X-Test-Id" => "email_templates.set.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PUT", + url_path: "/email-templates/verify_email", + query_params: nil, + expected: 1 + ) + end + + def test_email_templates_update_with_wiremock + test_id = "email_templates.update.0" + + @client.email_templates.update( + template_name: "verify_email", + request_options: { + additional_headers: { + "X-Test-Id" => "email_templates.update.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/email-templates/verify_email", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/emails_provider_test.rb b/test/wire/emails_provider_test.rb new file mode 100644 index 000000000..4a5b7342c --- /dev/null +++ b/test/wire/emails_provider_test.rb @@ -0,0 +1,96 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class EmailsProviderWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_emails_provider_get_with_wiremock + test_id = "emails.provider.get.0" + + @client.emails.provider.get( + fields: "fields", + include_fields: true, + request_options: { + additional_headers: { + "X-Test-Id" => "emails.provider.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/emails/provider", + query_params: nil, + expected: 1 + ) + end + + def test_emails_provider_create_with_wiremock + test_id = "emails.provider.create.0" + + @client.emails.provider.create( + name: "mailgun", + credentials: { + api_key: "api_key" + }, + request_options: { + additional_headers: { + "X-Test-Id" => "emails.provider.create.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/emails/provider", + query_params: nil, + expected: 1 + ) + end + + def test_emails_provider_delete_with_wiremock + test_id = "emails.provider.delete.0" + + @client.emails.provider.delete(request_options: { + additional_headers: { + "X-Test-Id" => "emails.provider.delete.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/emails/provider", + query_params: nil, + expected: 1 + ) + end + + def test_emails_provider_update_with_wiremock + test_id = "emails.provider.update.0" + + @client.emails.provider.update(request_options: { + additional_headers: { + "X-Test-Id" => "emails.provider.update.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/emails/provider", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/event_streams_deliveries_test.rb b/test/wire/event_streams_deliveries_test.rb new file mode 100644 index 000000000..bb86bf706 --- /dev/null +++ b/test/wire/event_streams_deliveries_test.rb @@ -0,0 +1,64 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class EventStreamsDeliveriesWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_event_streams_deliveries_list_with_wiremock + test_id = "event_streams.deliveries.list.0" + + result = @client.event_streams.deliveries.list( + id: "id", + statuses: "statuses", + event_types: "event_types", + date_from: "date_from", + date_to: "date_to", + from: "from", + take: 1, + request_options: { + additional_headers: { + "X-Test-Id" => "event_streams.deliveries.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/event-streams/id/deliveries", + query_params: nil, + expected: 1 + ) + end + + def test_event_streams_deliveries_get_history_with_wiremock + test_id = "event_streams.deliveries.get_history.0" + + @client.event_streams.deliveries.get_history( + id: "id", + event_id: "event_id", + request_options: { + additional_headers: { + "X-Test-Id" => "event_streams.deliveries.get_history.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/event-streams/id/deliveries/event_id", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/event_streams_redeliveries_test.rb b/test/wire/event_streams_redeliveries_test.rb new file mode 100644 index 000000000..983d37126 --- /dev/null +++ b/test/wire/event_streams_redeliveries_test.rb @@ -0,0 +1,57 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class EventStreamsRedeliveriesWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_event_streams_redeliveries_create_with_wiremock + test_id = "event_streams.redeliveries.create.0" + + @client.event_streams.redeliveries.create( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "event_streams.redeliveries.create.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/event-streams/id/redeliver", + query_params: nil, + expected: 1 + ) + end + + def test_event_streams_redeliveries_create_by_id_with_wiremock + test_id = "event_streams.redeliveries.create_by_id.0" + + @client.event_streams.redeliveries.create_by_id( + id: "id", + event_id: "event_id", + request_options: { + additional_headers: { + "X-Test-Id" => "event_streams.redeliveries.create_by_id.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/event-streams/id/redeliver/event_id", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/event_streams_test.rb b/test/wire/event_streams_test.rb new file mode 100644 index 000000000..18eea7ec2 --- /dev/null +++ b/test/wire/event_streams_test.rb @@ -0,0 +1,152 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class EventStreamsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_event_streams_list_with_wiremock + test_id = "event_streams.list.0" + + result = @client.event_streams.list( + from: "from", + take: 1, + request_options: { + additional_headers: { + "X-Test-Id" => "event_streams.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/event-streams", + query_params: nil, + expected: 1 + ) + end + + def test_event_streams_create_with_wiremock + test_id = "event_streams.create.0" + + @client.event_streams.create( + destination: { + type: "webhook", + configuration: { + webhook_endpoint: "webhook_endpoint", + webhook_authorization: { + method_: "basic", + username: "username" + } + } + }, + request_options: { + additional_headers: { + "X-Test-Id" => "event_streams.create.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/event-streams", + query_params: nil, + expected: 1 + ) + end + + def test_event_streams_get_with_wiremock + test_id = "event_streams.get.0" + + @client.event_streams.get( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "event_streams.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/event-streams/id", + query_params: nil, + expected: 1 + ) + end + + def test_event_streams_delete_with_wiremock + test_id = "event_streams.delete.0" + + @client.event_streams.delete( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "event_streams.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/event-streams/id", + query_params: nil, + expected: 1 + ) + end + + def test_event_streams_update_with_wiremock + test_id = "event_streams.update.0" + + @client.event_streams.update( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "event_streams.update.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/event-streams/id", + query_params: nil, + expected: 1 + ) + end + + def test_event_streams_test_with_wiremock + test_id = "event_streams.test.0" + + @client.event_streams.test( + id: "id", + event_type: "connection.created", + request_options: { + additional_headers: { + "X-Test-Id" => "event_streams.test.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/event-streams/id/test", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/events_test.rb b/test/wire/events_test.rb new file mode 100644 index 000000000..93b61ee49 --- /dev/null +++ b/test/wire/events_test.rb @@ -0,0 +1,37 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class EventsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_events_subscribe_with_wiremock + test_id = "events.subscribe.0" + + @client.events.subscribe( + from: "from", + from_timestamp: "from_timestamp", + event_type: ["connection.created"], + request_options: { + additional_headers: { + "X-Test-Id" => "events.subscribe.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/events", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/flows_executions_test.rb b/test/wire/flows_executions_test.rb new file mode 100644 index 000000000..cb83cc4cf --- /dev/null +++ b/test/wire/flows_executions_test.rb @@ -0,0 +1,84 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class FlowsExecutionsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_flows_executions_list_with_wiremock + test_id = "flows.executions.list.0" + + result = @client.flows.executions.list( + flow_id: "flow_id", + include_totals: true, + from: "from", + take: 1, + request_options: { + additional_headers: { + "X-Test-Id" => "flows.executions.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/flows/flow_id/executions", + query_params: nil, + expected: 1 + ) + end + + def test_flows_executions_get_with_wiremock + test_id = "flows.executions.get.0" + + @client.flows.executions.get( + flow_id: "flow_id", + execution_id: "execution_id", + hydrate: ["debug"], + request_options: { + additional_headers: { + "X-Test-Id" => "flows.executions.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/flows/flow_id/executions/execution_id", + query_params: nil, + expected: 1 + ) + end + + def test_flows_executions_delete_with_wiremock + test_id = "flows.executions.delete.0" + + @client.flows.executions.delete( + flow_id: "flow_id", + execution_id: "execution_id", + request_options: { + additional_headers: { + "X-Test-Id" => "flows.executions.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/flows/flow_id/executions/execution_id", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/flows_test.rb b/test/wire/flows_test.rb new file mode 100644 index 000000000..99cad8dd1 --- /dev/null +++ b/test/wire/flows_test.rb @@ -0,0 +1,125 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class FlowsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_flows_list_with_wiremock + test_id = "flows.list.0" + + result = @client.flows.list( + page: 1, + per_page: 1, + include_totals: true, + hydrate: ["form_count"], + synchronous: true, + request_options: { + additional_headers: { + "X-Test-Id" => "flows.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/flows", + query_params: nil, + expected: 1 + ) + end + + def test_flows_create_with_wiremock + test_id = "flows.create.0" + + @client.flows.create( + name: "name", + request_options: { + additional_headers: { + "X-Test-Id" => "flows.create.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/flows", + query_params: nil, + expected: 1 + ) + end + + def test_flows_get_with_wiremock + test_id = "flows.get.0" + + @client.flows.get( + id: "id", + hydrate: ["form_count"], + request_options: { + additional_headers: { + "X-Test-Id" => "flows.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/flows/id", + query_params: nil, + expected: 1 + ) + end + + def test_flows_delete_with_wiremock + test_id = "flows.delete.0" + + @client.flows.delete( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "flows.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/flows/id", + query_params: nil, + expected: 1 + ) + end + + def test_flows_update_with_wiremock + test_id = "flows.update.0" + + @client.flows.update( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "flows.update.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/flows/id", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/flows_vault_connections_test.rb b/test/wire/flows_vault_connections_test.rb new file mode 100644 index 000000000..36e99acd2 --- /dev/null +++ b/test/wire/flows_vault_connections_test.rb @@ -0,0 +1,130 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class FlowsVaultConnectionsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_flows_vault_connections_list_with_wiremock + test_id = "flows.vault.connections.list.0" + + result = @client.flows.vault.connections.list( + page: 1, + per_page: 1, + include_totals: true, + request_options: { + additional_headers: { + "X-Test-Id" => "flows.vault.connections.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/flows/vault/connections", + query_params: nil, + expected: 1 + ) + end + + def test_flows_vault_connections_create_with_wiremock + test_id = "flows.vault.connections.create.0" + + @client.flows.vault.connections.create( + request: { + name: "name", + app_id: "ACTIVECAMPAIGN", + setup: { + type: "API_KEY", + api_key: "api_key", + base_url: "base_url" + } + }, + request_options: { + additional_headers: { + "X-Test-Id" => "flows.vault.connections.create.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/flows/vault/connections", + query_params: nil, + expected: 1 + ) + end + + def test_flows_vault_connections_get_with_wiremock + test_id = "flows.vault.connections.get.0" + + @client.flows.vault.connections.get( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "flows.vault.connections.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/flows/vault/connections/id", + query_params: nil, + expected: 1 + ) + end + + def test_flows_vault_connections_delete_with_wiremock + test_id = "flows.vault.connections.delete.0" + + @client.flows.vault.connections.delete( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "flows.vault.connections.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/flows/vault/connections/id", + query_params: nil, + expected: 1 + ) + end + + def test_flows_vault_connections_update_with_wiremock + test_id = "flows.vault.connections.update.0" + + @client.flows.vault.connections.update( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "flows.vault.connections.update.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/flows/vault/connections/id", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/forms_test.rb b/test/wire/forms_test.rb new file mode 100644 index 000000000..d8f603a6c --- /dev/null +++ b/test/wire/forms_test.rb @@ -0,0 +1,124 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class FormsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_forms_list_with_wiremock + test_id = "forms.list.0" + + result = @client.forms.list( + page: 1, + per_page: 1, + include_totals: true, + hydrate: ["flow_count"], + request_options: { + additional_headers: { + "X-Test-Id" => "forms.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/forms", + query_params: nil, + expected: 1 + ) + end + + def test_forms_create_with_wiremock + test_id = "forms.create.0" + + @client.forms.create( + name: "name", + request_options: { + additional_headers: { + "X-Test-Id" => "forms.create.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/forms", + query_params: nil, + expected: 1 + ) + end + + def test_forms_get_with_wiremock + test_id = "forms.get.0" + + @client.forms.get( + id: "id", + hydrate: ["flow_count"], + request_options: { + additional_headers: { + "X-Test-Id" => "forms.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/forms/id", + query_params: nil, + expected: 1 + ) + end + + def test_forms_delete_with_wiremock + test_id = "forms.delete.0" + + @client.forms.delete( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "forms.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/forms/id", + query_params: nil, + expected: 1 + ) + end + + def test_forms_update_with_wiremock + test_id = "forms.update.0" + + @client.forms.update( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "forms.update.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/forms/id", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/groups_members_test.rb b/test/wire/groups_members_test.rb new file mode 100644 index 000000000..4c32007b1 --- /dev/null +++ b/test/wire/groups_members_test.rb @@ -0,0 +1,40 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class GroupsMembersWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_groups_members_get_with_wiremock + test_id = "groups.members.get.0" + + result = @client.groups.members.get( + id: "id", + fields: "fields", + include_fields: true, + from: "from", + take: 1, + request_options: { + additional_headers: { + "X-Test-Id" => "groups.members.get.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/groups/id/members", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/groups_roles_test.rb b/test/wire/groups_roles_test.rb new file mode 100644 index 000000000..a15a49aac --- /dev/null +++ b/test/wire/groups_roles_test.rb @@ -0,0 +1,82 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class GroupsRolesWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_groups_roles_list_with_wiremock + test_id = "groups.roles.list.0" + + result = @client.groups.roles.list( + id: "id", + from: "from", + take: 1, + request_options: { + additional_headers: { + "X-Test-Id" => "groups.roles.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/groups/id/roles", + query_params: nil, + expected: 1 + ) + end + + def test_groups_roles_create_with_wiremock + test_id = "groups.roles.create.0" + + @client.groups.roles.create( + id: "id", + roles: ["roles"], + request_options: { + additional_headers: { + "X-Test-Id" => "groups.roles.create.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/groups/id/roles", + query_params: nil, + expected: 1 + ) + end + + def test_groups_roles_delete_with_wiremock + test_id = "groups.roles.delete.0" + + @client.groups.roles.delete( + id: "id", + roles: ["roles"], + request_options: { + additional_headers: { + "X-Test-Id" => "groups.roles.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/groups/id/roles", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/groups_test.rb b/test/wire/groups_test.rb new file mode 100644 index 000000000..e24a119e3 --- /dev/null +++ b/test/wire/groups_test.rb @@ -0,0 +1,86 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class GroupsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_groups_list_with_wiremock + test_id = "groups.list.0" + + result = @client.groups.list( + connection_id: "connection_id", + name: "name", + external_id: "external_id", + search: "search", + fields: "fields", + include_fields: true, + include_totals: true, + from: "from", + take: 1, + request_options: { + additional_headers: { + "X-Test-Id" => "groups.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/groups", + query_params: nil, + expected: 1 + ) + end + + def test_groups_get_with_wiremock + test_id = "groups.get.0" + + @client.groups.get( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "groups.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/groups/id", + query_params: nil, + expected: 1 + ) + end + + def test_groups_delete_with_wiremock + test_id = "groups.delete.0" + + @client.groups.delete( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "groups.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/groups/id", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/guardian_enrollments_test.rb b/test/wire/guardian_enrollments_test.rb new file mode 100644 index 000000000..fd13049a6 --- /dev/null +++ b/test/wire/guardian_enrollments_test.rb @@ -0,0 +1,77 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class GuardianEnrollmentsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_guardian_enrollments_create_ticket_with_wiremock + test_id = "guardian.enrollments.create_ticket.0" + + @client.guardian.enrollments.create_ticket( + user_id: "user_id", + request_options: { + additional_headers: { + "X-Test-Id" => "guardian.enrollments.create_ticket.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/guardian/enrollments/ticket", + query_params: nil, + expected: 1 + ) + end + + def test_guardian_enrollments_get_with_wiremock + test_id = "guardian.enrollments.get.0" + + @client.guardian.enrollments.get( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "guardian.enrollments.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/guardian/enrollments/id", + query_params: nil, + expected: 1 + ) + end + + def test_guardian_enrollments_delete_with_wiremock + test_id = "guardian.enrollments.delete.0" + + @client.guardian.enrollments.delete( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "guardian.enrollments.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/guardian/enrollments/id", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/guardian_factors_duo_settings_test.rb b/test/wire/guardian_factors_duo_settings_test.rb new file mode 100644 index 000000000..6a8f0f0ad --- /dev/null +++ b/test/wire/guardian_factors_duo_settings_test.rb @@ -0,0 +1,68 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class GuardianFactorsDuoSettingsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_guardian_factors_duo_settings_get_with_wiremock + test_id = "guardian.factors.duo.settings.get.0" + + @client.guardian.factors.duo.settings.get(request_options: { + additional_headers: { + "X-Test-Id" => "guardian.factors.duo.settings.get.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/guardian/factors/duo/settings", + query_params: nil, + expected: 1 + ) + end + + def test_guardian_factors_duo_settings_set_with_wiremock + test_id = "guardian.factors.duo.settings.set.0" + + @client.guardian.factors.duo.settings.set(request_options: { + additional_headers: { + "X-Test-Id" => "guardian.factors.duo.settings.set.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "PUT", + url_path: "/guardian/factors/duo/settings", + query_params: nil, + expected: 1 + ) + end + + def test_guardian_factors_duo_settings_update_with_wiremock + test_id = "guardian.factors.duo.settings.update.0" + + @client.guardian.factors.duo.settings.update(request_options: { + additional_headers: { + "X-Test-Id" => "guardian.factors.duo.settings.update.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/guardian/factors/duo/settings", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/guardian_factors_phone_test.rb b/test/wire/guardian_factors_phone_test.rb new file mode 100644 index 000000000..77f990478 --- /dev/null +++ b/test/wire/guardian_factors_phone_test.rb @@ -0,0 +1,168 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class GuardianFactorsPhoneWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_guardian_factors_phone_get_message_types_with_wiremock + test_id = "guardian.factors.phone.get_message_types.0" + + @client.guardian.factors.phone.get_message_types(request_options: { + additional_headers: { + "X-Test-Id" => "guardian.factors.phone.get_message_types.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/guardian/factors/phone/message-types", + query_params: nil, + expected: 1 + ) + end + + def test_guardian_factors_phone_set_message_types_with_wiremock + test_id = "guardian.factors.phone.set_message_types.0" + + @client.guardian.factors.phone.set_message_types( + message_types: ["sms"], + request_options: { + additional_headers: { + "X-Test-Id" => "guardian.factors.phone.set_message_types.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PUT", + url_path: "/guardian/factors/phone/message-types", + query_params: nil, + expected: 1 + ) + end + + def test_guardian_factors_phone_get_twilio_provider_with_wiremock + test_id = "guardian.factors.phone.get_twilio_provider.0" + + @client.guardian.factors.phone.get_twilio_provider(request_options: { + additional_headers: { + "X-Test-Id" => "guardian.factors.phone.get_twilio_provider.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/guardian/factors/phone/providers/twilio", + query_params: nil, + expected: 1 + ) + end + + def test_guardian_factors_phone_set_twilio_provider_with_wiremock + test_id = "guardian.factors.phone.set_twilio_provider.0" + + @client.guardian.factors.phone.set_twilio_provider(request_options: { + additional_headers: { + "X-Test-Id" => "guardian.factors.phone.set_twilio_provider.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "PUT", + url_path: "/guardian/factors/phone/providers/twilio", + query_params: nil, + expected: 1 + ) + end + + def test_guardian_factors_phone_get_selected_provider_with_wiremock + test_id = "guardian.factors.phone.get_selected_provider.0" + + @client.guardian.factors.phone.get_selected_provider(request_options: { + additional_headers: { + "X-Test-Id" => "guardian.factors.phone.get_selected_provider.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/guardian/factors/phone/selected-provider", + query_params: nil, + expected: 1 + ) + end + + def test_guardian_factors_phone_set_provider_with_wiremock + test_id = "guardian.factors.phone.set_provider.0" + + @client.guardian.factors.phone.set_provider( + provider: "auth0", + request_options: { + additional_headers: { + "X-Test-Id" => "guardian.factors.phone.set_provider.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PUT", + url_path: "/guardian/factors/phone/selected-provider", + query_params: nil, + expected: 1 + ) + end + + def test_guardian_factors_phone_get_templates_with_wiremock + test_id = "guardian.factors.phone.get_templates.0" + + @client.guardian.factors.phone.get_templates(request_options: { + additional_headers: { + "X-Test-Id" => "guardian.factors.phone.get_templates.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/guardian/factors/phone/templates", + query_params: nil, + expected: 1 + ) + end + + def test_guardian_factors_phone_set_templates_with_wiremock + test_id = "guardian.factors.phone.set_templates.0" + + @client.guardian.factors.phone.set_templates( + enrollment_message: "enrollment_message", + verification_message: "verification_message", + request_options: { + additional_headers: { + "X-Test-Id" => "guardian.factors.phone.set_templates.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PUT", + url_path: "/guardian/factors/phone/templates", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/guardian_factors_push_notification_test.rb b/test/wire/guardian_factors_push_notification_test.rb new file mode 100644 index 000000000..b36bee14f --- /dev/null +++ b/test/wire/guardian_factors_push_notification_test.rb @@ -0,0 +1,233 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class GuardianFactorsPushNotificationWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_guardian_factors_push_notification_get_apns_provider_with_wiremock + test_id = "guardian.factors.push_notification.get_apns_provider.0" + + @client.guardian.factors.push_notification.get_apns_provider(request_options: { + additional_headers: { + "X-Test-Id" => "guardian.factors.push_notification.get_apns_provider.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/guardian/factors/push-notification/providers/apns", + query_params: nil, + expected: 1 + ) + end + + def test_guardian_factors_push_notification_set_apns_provider_with_wiremock + test_id = "guardian.factors.push_notification.set_apns_provider.0" + + @client.guardian.factors.push_notification.set_apns_provider(request_options: { + additional_headers: { + "X-Test-Id" => "guardian.factors.push_notification.set_apns_provider.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "PUT", + url_path: "/guardian/factors/push-notification/providers/apns", + query_params: nil, + expected: 1 + ) + end + + def test_guardian_factors_push_notification_update_apns_provider_with_wiremock + test_id = "guardian.factors.push_notification.update_apns_provider.0" + + @client.guardian.factors.push_notification.update_apns_provider(request_options: { + additional_headers: { + "X-Test-Id" => "guardian.factors.push_notification.update_apns_provider.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/guardian/factors/push-notification/providers/apns", + query_params: nil, + expected: 1 + ) + end + + def test_guardian_factors_push_notification_set_fcm_provider_with_wiremock + test_id = "guardian.factors.push_notification.set_fcm_provider.0" + + @client.guardian.factors.push_notification.set_fcm_provider(request_options: { + additional_headers: { + "X-Test-Id" => "guardian.factors.push_notification.set_fcm_provider.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "PUT", + url_path: "/guardian/factors/push-notification/providers/fcm", + query_params: nil, + expected: 1 + ) + end + + def test_guardian_factors_push_notification_update_fcm_provider_with_wiremock + test_id = "guardian.factors.push_notification.update_fcm_provider.0" + + @client.guardian.factors.push_notification.update_fcm_provider(request_options: { + additional_headers: { + "X-Test-Id" => "guardian.factors.push_notification.update_fcm_provider.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/guardian/factors/push-notification/providers/fcm", + query_params: nil, + expected: 1 + ) + end + + def test_guardian_factors_push_notification_set_fcmv1provider_with_wiremock + test_id = "guardian.factors.push_notification.set_fcmv1provider.0" + + @client.guardian.factors.push_notification.set_fcmv1provider(request_options: { + additional_headers: { + "X-Test-Id" => "guardian.factors.push_notification.set_fcmv1provider.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "PUT", + url_path: "/guardian/factors/push-notification/providers/fcmv1", + query_params: nil, + expected: 1 + ) + end + + def test_guardian_factors_push_notification_update_fcmv1provider_with_wiremock + test_id = "guardian.factors.push_notification.update_fcmv1provider.0" + + @client.guardian.factors.push_notification.update_fcmv1provider(request_options: { + additional_headers: { + "X-Test-Id" => "guardian.factors.push_notification.update_fcmv1provider.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/guardian/factors/push-notification/providers/fcmv1", + query_params: nil, + expected: 1 + ) + end + + def test_guardian_factors_push_notification_get_sns_provider_with_wiremock + test_id = "guardian.factors.push_notification.get_sns_provider.0" + + @client.guardian.factors.push_notification.get_sns_provider(request_options: { + additional_headers: { + "X-Test-Id" => "guardian.factors.push_notification.get_sns_provider.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/guardian/factors/push-notification/providers/sns", + query_params: nil, + expected: 1 + ) + end + + def test_guardian_factors_push_notification_set_sns_provider_with_wiremock + test_id = "guardian.factors.push_notification.set_sns_provider.0" + + @client.guardian.factors.push_notification.set_sns_provider(request_options: { + additional_headers: { + "X-Test-Id" => "guardian.factors.push_notification.set_sns_provider.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "PUT", + url_path: "/guardian/factors/push-notification/providers/sns", + query_params: nil, + expected: 1 + ) + end + + def test_guardian_factors_push_notification_update_sns_provider_with_wiremock + test_id = "guardian.factors.push_notification.update_sns_provider.0" + + @client.guardian.factors.push_notification.update_sns_provider(request_options: { + additional_headers: { + "X-Test-Id" => "guardian.factors.push_notification.update_sns_provider.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/guardian/factors/push-notification/providers/sns", + query_params: nil, + expected: 1 + ) + end + + def test_guardian_factors_push_notification_get_selected_provider_with_wiremock + test_id = "guardian.factors.push_notification.get_selected_provider.0" + + @client.guardian.factors.push_notification.get_selected_provider(request_options: { + additional_headers: { + "X-Test-Id" => "guardian.factors.push_notification.get_selected_provider.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/guardian/factors/push-notification/selected-provider", + query_params: nil, + expected: 1 + ) + end + + def test_guardian_factors_push_notification_set_provider_with_wiremock + test_id = "guardian.factors.push_notification.set_provider.0" + + @client.guardian.factors.push_notification.set_provider( + provider: "guardian", + request_options: { + additional_headers: { + "X-Test-Id" => "guardian.factors.push_notification.set_provider.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PUT", + url_path: "/guardian/factors/push-notification/selected-provider", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/guardian_factors_sms_test.rb b/test/wire/guardian_factors_sms_test.rb new file mode 100644 index 000000000..bb2fc503d --- /dev/null +++ b/test/wire/guardian_factors_sms_test.rb @@ -0,0 +1,129 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class GuardianFactorsSmsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_guardian_factors_sms_get_twilio_provider_with_wiremock + test_id = "guardian.factors.sms.get_twilio_provider.0" + + @client.guardian.factors.sms.get_twilio_provider(request_options: { + additional_headers: { + "X-Test-Id" => "guardian.factors.sms.get_twilio_provider.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/guardian/factors/sms/providers/twilio", + query_params: nil, + expected: 1 + ) + end + + def test_guardian_factors_sms_set_twilio_provider_with_wiremock + test_id = "guardian.factors.sms.set_twilio_provider.0" + + @client.guardian.factors.sms.set_twilio_provider(request_options: { + additional_headers: { + "X-Test-Id" => "guardian.factors.sms.set_twilio_provider.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "PUT", + url_path: "/guardian/factors/sms/providers/twilio", + query_params: nil, + expected: 1 + ) + end + + def test_guardian_factors_sms_get_selected_provider_with_wiremock + test_id = "guardian.factors.sms.get_selected_provider.0" + + @client.guardian.factors.sms.get_selected_provider(request_options: { + additional_headers: { + "X-Test-Id" => "guardian.factors.sms.get_selected_provider.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/guardian/factors/sms/selected-provider", + query_params: nil, + expected: 1 + ) + end + + def test_guardian_factors_sms_set_provider_with_wiremock + test_id = "guardian.factors.sms.set_provider.0" + + @client.guardian.factors.sms.set_provider( + provider: "auth0", + request_options: { + additional_headers: { + "X-Test-Id" => "guardian.factors.sms.set_provider.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PUT", + url_path: "/guardian/factors/sms/selected-provider", + query_params: nil, + expected: 1 + ) + end + + def test_guardian_factors_sms_get_templates_with_wiremock + test_id = "guardian.factors.sms.get_templates.0" + + @client.guardian.factors.sms.get_templates(request_options: { + additional_headers: { + "X-Test-Id" => "guardian.factors.sms.get_templates.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/guardian/factors/sms/templates", + query_params: nil, + expected: 1 + ) + end + + def test_guardian_factors_sms_set_templates_with_wiremock + test_id = "guardian.factors.sms.set_templates.0" + + @client.guardian.factors.sms.set_templates( + enrollment_message: "enrollment_message", + verification_message: "verification_message", + request_options: { + additional_headers: { + "X-Test-Id" => "guardian.factors.sms.set_templates.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PUT", + url_path: "/guardian/factors/sms/templates", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/guardian_factors_test.rb b/test/wire/guardian_factors_test.rb new file mode 100644 index 000000000..053e25367 --- /dev/null +++ b/test/wire/guardian_factors_test.rb @@ -0,0 +1,54 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class GuardianFactorsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_guardian_factors_list_with_wiremock + test_id = "guardian.factors.list.0" + + @client.guardian.factors.list(request_options: { + additional_headers: { + "X-Test-Id" => "guardian.factors.list.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/guardian/factors", + query_params: nil, + expected: 1 + ) + end + + def test_guardian_factors_set_with_wiremock + test_id = "guardian.factors.set.0" + + @client.guardian.factors.set( + name: "push-notification", + enabled: true, + request_options: { + additional_headers: { + "X-Test-Id" => "guardian.factors.set.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PUT", + url_path: "/guardian/factors/push-notification", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/guardian_policies_test.rb b/test/wire/guardian_policies_test.rb new file mode 100644 index 000000000..32522e868 --- /dev/null +++ b/test/wire/guardian_policies_test.rb @@ -0,0 +1,53 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class GuardianPoliciesWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_guardian_policies_list_with_wiremock + test_id = "guardian.policies.list.0" + + @client.guardian.policies.list(request_options: { + additional_headers: { + "X-Test-Id" => "guardian.policies.list.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/guardian/policies", + query_params: nil, + expected: 1 + ) + end + + def test_guardian_policies_set_with_wiremock + test_id = "guardian.policies.set.0" + + @client.guardian.policies.set( + request: ["all-applications"], + request_options: { + additional_headers: { + "X-Test-Id" => "guardian.policies.set.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PUT", + url_path: "/guardian/policies", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/hooks_secrets_test.rb b/test/wire/hooks_secrets_test.rb new file mode 100644 index 000000000..2362aa246 --- /dev/null +++ b/test/wire/hooks_secrets_test.rb @@ -0,0 +1,105 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class HooksSecretsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_hooks_secrets_get_with_wiremock + test_id = "hooks.secrets.get.0" + + @client.hooks.secrets.get( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "hooks.secrets.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/hooks/id/secrets", + query_params: nil, + expected: 1 + ) + end + + def test_hooks_secrets_create_with_wiremock + test_id = "hooks.secrets.create.0" + + @client.hooks.secrets.create( + id: "id", + request: { + key: "value" + }, + request_options: { + additional_headers: { + "X-Test-Id" => "hooks.secrets.create.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/hooks/id/secrets", + query_params: nil, + expected: 1 + ) + end + + def test_hooks_secrets_delete_with_wiremock + test_id = "hooks.secrets.delete.0" + + @client.hooks.secrets.delete( + id: "id", + request: ["string"], + request_options: { + additional_headers: { + "X-Test-Id" => "hooks.secrets.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/hooks/id/secrets", + query_params: nil, + expected: 1 + ) + end + + def test_hooks_secrets_update_with_wiremock + test_id = "hooks.secrets.update.0" + + @client.hooks.secrets.update( + id: "id", + request: { + key: "value" + }, + request_options: { + additional_headers: { + "X-Test-Id" => "hooks.secrets.update.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/hooks/id/secrets", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/hooks_test.rb b/test/wire/hooks_test.rb new file mode 100644 index 000000000..eefddae0e --- /dev/null +++ b/test/wire/hooks_test.rb @@ -0,0 +1,128 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class HooksWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_hooks_list_with_wiremock + test_id = "hooks.list.0" + + result = @client.hooks.list( + page: 1, + per_page: 1, + include_totals: true, + enabled: true, + fields: "fields", + trigger_id: "credentials-exchange", + request_options: { + additional_headers: { + "X-Test-Id" => "hooks.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/hooks", + query_params: nil, + expected: 1 + ) + end + + def test_hooks_create_with_wiremock + test_id = "hooks.create.0" + + @client.hooks.create( + name: "name", + script: "script", + trigger_id: "credentials-exchange", + request_options: { + additional_headers: { + "X-Test-Id" => "hooks.create.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/hooks", + query_params: nil, + expected: 1 + ) + end + + def test_hooks_get_with_wiremock + test_id = "hooks.get.0" + + @client.hooks.get( + id: "id", + fields: "fields", + request_options: { + additional_headers: { + "X-Test-Id" => "hooks.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/hooks/id", + query_params: nil, + expected: 1 + ) + end + + def test_hooks_delete_with_wiremock + test_id = "hooks.delete.0" + + @client.hooks.delete( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "hooks.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/hooks/id", + query_params: nil, + expected: 1 + ) + end + + def test_hooks_update_with_wiremock + test_id = "hooks.update.0" + + @client.hooks.update( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "hooks.update.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/hooks/id", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/jobs_errors_test.rb b/test/wire/jobs_errors_test.rb new file mode 100644 index 000000000..bf7e4996e --- /dev/null +++ b/test/wire/jobs_errors_test.rb @@ -0,0 +1,35 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class JobsErrorsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_jobs_errors_get_with_wiremock + test_id = "jobs.errors.get.0" + + @client.jobs.errors.get( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "jobs.errors.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/jobs/id/errors", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/jobs_test.rb b/test/wire/jobs_test.rb new file mode 100644 index 000000000..e0b181f57 --- /dev/null +++ b/test/wire/jobs_test.rb @@ -0,0 +1,35 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class JobsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_jobs_get_with_wiremock + test_id = "jobs.get.0" + + @client.jobs.get( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "jobs.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/jobs/id", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/jobs_users_exports_test.rb b/test/wire/jobs_users_exports_test.rb new file mode 100644 index 000000000..d8391b715 --- /dev/null +++ b/test/wire/jobs_users_exports_test.rb @@ -0,0 +1,32 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class JobsUsersExportsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_jobs_users_exports_create_with_wiremock + test_id = "jobs.users_exports.create.0" + + @client.jobs.users_exports.create(request_options: { + additional_headers: { + "X-Test-Id" => "jobs.users_exports.create.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/jobs/users-exports", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/jobs_users_imports_test.rb b/test/wire/jobs_users_imports_test.rb new file mode 100644 index 000000000..bb808fac7 --- /dev/null +++ b/test/wire/jobs_users_imports_test.rb @@ -0,0 +1,32 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class JobsUsersImportsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_jobs_users_imports_create_with_wiremock + test_id = "jobs.users_imports.create.0" + + @client.jobs.users_imports.create(request_options: { + additional_headers: { + "X-Test-Id" => "jobs.users_imports.create.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/jobs/users-imports", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/jobs_verification_email_test.rb b/test/wire/jobs_verification_email_test.rb new file mode 100644 index 000000000..4004126c5 --- /dev/null +++ b/test/wire/jobs_verification_email_test.rb @@ -0,0 +1,35 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class JobsVerificationEmailWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_jobs_verification_email_create_with_wiremock + test_id = "jobs.verification_email.create.0" + + @client.jobs.verification_email.create( + user_id: "user_id", + request_options: { + additional_headers: { + "X-Test-Id" => "jobs.verification_email.create.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/jobs/verification-email", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/keys_custom_signing_test.rb b/test/wire/keys_custom_signing_test.rb new file mode 100644 index 000000000..1e30ecaac --- /dev/null +++ b/test/wire/keys_custom_signing_test.rb @@ -0,0 +1,73 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class KeysCustomSigningWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_keys_custom_signing_get_with_wiremock + test_id = "keys.custom_signing.get.0" + + @client.keys.custom_signing.get(request_options: { + additional_headers: { + "X-Test-Id" => "keys.custom_signing.get.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/keys/custom-signing", + query_params: nil, + expected: 1 + ) + end + + def test_keys_custom_signing_set_with_wiremock + test_id = "keys.custom_signing.set.0" + + @client.keys.custom_signing.set( + keys: [{ + kty: "EC" + }], + request_options: { + additional_headers: { + "X-Test-Id" => "keys.custom_signing.set.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PUT", + url_path: "/keys/custom-signing", + query_params: nil, + expected: 1 + ) + end + + def test_keys_custom_signing_delete_with_wiremock + test_id = "keys.custom_signing.delete.0" + + @client.keys.custom_signing.delete(request_options: { + additional_headers: { + "X-Test-Id" => "keys.custom_signing.delete.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/keys/custom-signing", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/keys_encryption_test.rb b/test/wire/keys_encryption_test.rb new file mode 100644 index 000000000..974b60be4 --- /dev/null +++ b/test/wire/keys_encryption_test.rb @@ -0,0 +1,162 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class KeysEncryptionWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_keys_encryption_list_with_wiremock + test_id = "keys.encryption.list.0" + + result = @client.keys.encryption.list( + page: 1, + per_page: 1, + include_totals: true, + request_options: { + additional_headers: { + "X-Test-Id" => "keys.encryption.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/keys/encryption", + query_params: nil, + expected: 1 + ) + end + + def test_keys_encryption_create_with_wiremock + test_id = "keys.encryption.create.0" + + @client.keys.encryption.create( + type: "customer-provided-root-key", + request_options: { + additional_headers: { + "X-Test-Id" => "keys.encryption.create.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/keys/encryption", + query_params: nil, + expected: 1 + ) + end + + def test_keys_encryption_rekey_with_wiremock + test_id = "keys.encryption.rekey.0" + + @client.keys.encryption.rekey(request_options: { + additional_headers: { + "X-Test-Id" => "keys.encryption.rekey.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/keys/encryption/rekey", + query_params: nil, + expected: 1 + ) + end + + def test_keys_encryption_get_with_wiremock + test_id = "keys.encryption.get.0" + + @client.keys.encryption.get( + kid: "kid", + request_options: { + additional_headers: { + "X-Test-Id" => "keys.encryption.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/keys/encryption/kid", + query_params: nil, + expected: 1 + ) + end + + def test_keys_encryption_import_with_wiremock + test_id = "keys.encryption.import.0" + + @client.keys.encryption.import( + kid: "kid", + wrapped_key: "wrapped_key", + request_options: { + additional_headers: { + "X-Test-Id" => "keys.encryption.import.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/keys/encryption/kid", + query_params: nil, + expected: 1 + ) + end + + def test_keys_encryption_delete_with_wiremock + test_id = "keys.encryption.delete.0" + + @client.keys.encryption.delete( + kid: "kid", + request_options: { + additional_headers: { + "X-Test-Id" => "keys.encryption.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/keys/encryption/kid", + query_params: nil, + expected: 1 + ) + end + + def test_keys_encryption_create_public_wrapping_key_with_wiremock + test_id = "keys.encryption.create_public_wrapping_key.0" + + @client.keys.encryption.create_public_wrapping_key( + kid: "kid", + request_options: { + additional_headers: { + "X-Test-Id" => "keys.encryption.create_public_wrapping_key.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/keys/encryption/kid/wrapping-key", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/keys_signing_test.rb b/test/wire/keys_signing_test.rb new file mode 100644 index 000000000..f1419e3f9 --- /dev/null +++ b/test/wire/keys_signing_test.rb @@ -0,0 +1,92 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class KeysSigningWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_keys_signing_list_with_wiremock + test_id = "keys.signing.list.0" + + @client.keys.signing.list(request_options: { + additional_headers: { + "X-Test-Id" => "keys.signing.list.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/keys/signing", + query_params: nil, + expected: 1 + ) + end + + def test_keys_signing_rotate_with_wiremock + test_id = "keys.signing.rotate.0" + + @client.keys.signing.rotate(request_options: { + additional_headers: { + "X-Test-Id" => "keys.signing.rotate.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/keys/signing/rotate", + query_params: nil, + expected: 1 + ) + end + + def test_keys_signing_get_with_wiremock + test_id = "keys.signing.get.0" + + @client.keys.signing.get( + kid: "kid", + request_options: { + additional_headers: { + "X-Test-Id" => "keys.signing.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/keys/signing/kid", + query_params: nil, + expected: 1 + ) + end + + def test_keys_signing_revoke_with_wiremock + test_id = "keys.signing.revoke.0" + + @client.keys.signing.revoke( + kid: "kid", + request_options: { + additional_headers: { + "X-Test-Id" => "keys.signing.revoke.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PUT", + url_path: "/keys/signing/kid/revoke", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/log_streams_test.rb b/test/wire/log_streams_test.rb new file mode 100644 index 000000000..66a0f427d --- /dev/null +++ b/test/wire/log_streams_test.rb @@ -0,0 +1,119 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class LogStreamsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_log_streams_list_with_wiremock + test_id = "log_streams.list.0" + + @client.log_streams.list(request_options: { + additional_headers: { + "X-Test-Id" => "log_streams.list.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/log-streams", + query_params: nil, + expected: 1 + ) + end + + def test_log_streams_create_with_wiremock + test_id = "log_streams.create.0" + + @client.log_streams.create( + type: "http", + sink: { + http_endpoint: "httpEndpoint" + }, + request_options: { + additional_headers: { + "X-Test-Id" => "log_streams.create.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/log-streams", + query_params: nil, + expected: 1 + ) + end + + def test_log_streams_get_with_wiremock + test_id = "log_streams.get.0" + + @client.log_streams.get( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "log_streams.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/log-streams/id", + query_params: nil, + expected: 1 + ) + end + + def test_log_streams_delete_with_wiremock + test_id = "log_streams.delete.0" + + @client.log_streams.delete( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "log_streams.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/log-streams/id", + query_params: nil, + expected: 1 + ) + end + + def test_log_streams_update_with_wiremock + test_id = "log_streams.update.0" + + @client.log_streams.update( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "log_streams.update.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/log-streams/id", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/logs_test.rb b/test/wire/logs_test.rb new file mode 100644 index 000000000..9f20ff144 --- /dev/null +++ b/test/wire/logs_test.rb @@ -0,0 +1,63 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class LogsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_logs_list_with_wiremock + test_id = "logs.list.0" + + result = @client.logs.list( + page: 1, + per_page: 1, + sort: "sort", + fields: "fields", + include_fields: true, + include_totals: true, + search: "search", + request_options: { + additional_headers: { + "X-Test-Id" => "logs.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/logs", + query_params: nil, + expected: 1 + ) + end + + def test_logs_get_with_wiremock + test_id = "logs.get.0" + + @client.logs.get( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "logs.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/logs/id", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/network_acls_test.rb b/test/wire/network_acls_test.rb new file mode 100644 index 000000000..c8f696eb8 --- /dev/null +++ b/test/wire/network_acls_test.rb @@ -0,0 +1,154 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class NetworkAclsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_network_acls_list_with_wiremock + test_id = "network_acls.list.0" + + result = @client.network_acls.list( + page: 1, + per_page: 1, + include_totals: true, + request_options: { + additional_headers: { + "X-Test-Id" => "network_acls.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/network-acls", + query_params: nil, + expected: 1 + ) + end + + def test_network_acls_create_with_wiremock + test_id = "network_acls.create.0" + + @client.network_acls.create( + description: "description", + active: true, + rule: { + action: {}, + scope: "management" + }, + request_options: { + additional_headers: { + "X-Test-Id" => "network_acls.create.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/network-acls", + query_params: nil, + expected: 1 + ) + end + + def test_network_acls_get_with_wiremock + test_id = "network_acls.get.0" + + @client.network_acls.get( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "network_acls.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/network-acls/id", + query_params: nil, + expected: 1 + ) + end + + def test_network_acls_set_with_wiremock + test_id = "network_acls.set.0" + + @client.network_acls.set( + id: "id", + description: "description", + active: true, + rule: { + action: {}, + scope: "management" + }, + request_options: { + additional_headers: { + "X-Test-Id" => "network_acls.set.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PUT", + url_path: "/network-acls/id", + query_params: nil, + expected: 1 + ) + end + + def test_network_acls_delete_with_wiremock + test_id = "network_acls.delete.0" + + @client.network_acls.delete( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "network_acls.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/network-acls/id", + query_params: nil, + expected: 1 + ) + end + + def test_network_acls_update_with_wiremock + test_id = "network_acls.update.0" + + @client.network_acls.update( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "network_acls.update.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/network-acls/id", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/organizations_client_grants_test.rb b/test/wire/organizations_client_grants_test.rb new file mode 100644 index 000000000..411cceae0 --- /dev/null +++ b/test/wire/organizations_client_grants_test.rb @@ -0,0 +1,86 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class OrganizationsClientGrantsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_organizations_client_grants_list_with_wiremock + test_id = "organizations.client_grants.list.0" + + result = @client.organizations.client_grants.list( + id: "id", + audience: "audience", + client_id: "client_id", + grant_ids: ["grant_ids"], + page: 1, + per_page: 1, + include_totals: true, + request_options: { + additional_headers: { + "X-Test-Id" => "organizations.client_grants.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/organizations/id/client-grants", + query_params: nil, + expected: 1 + ) + end + + def test_organizations_client_grants_create_with_wiremock + test_id = "organizations.client_grants.create.0" + + @client.organizations.client_grants.create( + id: "id", + grant_id: "grant_id", + request_options: { + additional_headers: { + "X-Test-Id" => "organizations.client_grants.create.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/organizations/id/client-grants", + query_params: nil, + expected: 1 + ) + end + + def test_organizations_client_grants_delete_with_wiremock + test_id = "organizations.client_grants.delete.0" + + @client.organizations.client_grants.delete( + id: "id", + grant_id: "grant_id", + request_options: { + additional_headers: { + "X-Test-Id" => "organizations.client_grants.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/organizations/id/client-grants/grant_id", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/organizations_clients_test.rb b/test/wire/organizations_clients_test.rb new file mode 100644 index 000000000..fefc5339f --- /dev/null +++ b/test/wire/organizations_clients_test.rb @@ -0,0 +1,129 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class OrganizationsClientsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_organizations_clients_list_with_wiremock + test_id = "organizations.clients.list.0" + + result = @client.organizations.clients.list( + id: "id", + from: "from", + take: 1, + request_options: { + additional_headers: { + "X-Test-Id" => "organizations.clients.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/organizations/id/clients", + query_params: nil, + expected: 1 + ) + end + + def test_organizations_clients_create_with_wiremock + test_id = "organizations.clients.create.0" + + @client.organizations.clients.create( + id: "id", + clients: [{ + client_id: "client_id", + use_for_member_access: true + }], + request_options: { + additional_headers: { + "X-Test-Id" => "organizations.clients.create.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/organizations/id/clients", + query_params: nil, + expected: 1 + ) + end + + def test_organizations_clients_delete_with_wiremock + test_id = "organizations.clients.delete.0" + + @client.organizations.clients.delete( + id: "id", + clients: ["clients"], + request_options: { + additional_headers: { + "X-Test-Id" => "organizations.clients.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/organizations/id/clients", + query_params: nil, + expected: 1 + ) + end + + def test_organizations_clients_get_with_wiremock + test_id = "organizations.clients.get.0" + + @client.organizations.clients.get( + id: "id", + client_id: "client_id", + request_options: { + additional_headers: { + "X-Test-Id" => "organizations.clients.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/organizations/id/clients/client_id", + query_params: nil, + expected: 1 + ) + end + + def test_organizations_clients_update_with_wiremock + test_id = "organizations.clients.update.0" + + @client.organizations.clients.update( + id: "id", + client_id: "client_id", + request_options: { + additional_headers: { + "X-Test-Id" => "organizations.clients.update.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/organizations/id/clients/client_id", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/organizations_connections_test.rb b/test/wire/organizations_connections_test.rb new file mode 100644 index 000000000..6e17cdc33 --- /dev/null +++ b/test/wire/organizations_connections_test.rb @@ -0,0 +1,128 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class OrganizationsConnectionsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_organizations_connections_list_with_wiremock + test_id = "organizations.connections.list.0" + + result = @client.organizations.connections.list( + id: "id", + page: 1, + per_page: 1, + include_totals: true, + is_enabled: true, + request_options: { + additional_headers: { + "X-Test-Id" => "organizations.connections.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/organizations/id/connections", + query_params: nil, + expected: 1 + ) + end + + def test_organizations_connections_create_with_wiremock + test_id = "organizations.connections.create.0" + + @client.organizations.connections.create( + id: "id", + connection_id: "connection_id", + request_options: { + additional_headers: { + "X-Test-Id" => "organizations.connections.create.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/organizations/id/connections", + query_params: nil, + expected: 1 + ) + end + + def test_organizations_connections_get_with_wiremock + test_id = "organizations.connections.get.0" + + @client.organizations.connections.get( + id: "id", + connection_id: "connection_id", + request_options: { + additional_headers: { + "X-Test-Id" => "organizations.connections.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/organizations/id/connections/connection_id", + query_params: nil, + expected: 1 + ) + end + + def test_organizations_connections_delete_with_wiremock + test_id = "organizations.connections.delete.0" + + @client.organizations.connections.delete( + id: "id", + connection_id: "connection_id", + request_options: { + additional_headers: { + "X-Test-Id" => "organizations.connections.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/organizations/id/connections/connection_id", + query_params: nil, + expected: 1 + ) + end + + def test_organizations_connections_update_with_wiremock + test_id = "organizations.connections.update.0" + + @client.organizations.connections.update( + id: "id", + connection_id: "connection_id", + request_options: { + additional_headers: { + "X-Test-Id" => "organizations.connections.update.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/organizations/id/connections/connection_id", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/organizations_discovery_domains_test.rb b/test/wire/organizations_discovery_domains_test.rb new file mode 100644 index 000000000..4974709cd --- /dev/null +++ b/test/wire/organizations_discovery_domains_test.rb @@ -0,0 +1,148 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class OrganizationsDiscoveryDomainsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_organizations_discovery_domains_list_with_wiremock + test_id = "organizations.discovery_domains.list.0" + + result = @client.organizations.discovery_domains.list( + id: "id", + from: "from", + take: 1, + request_options: { + additional_headers: { + "X-Test-Id" => "organizations.discovery_domains.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/organizations/id/discovery-domains", + query_params: nil, + expected: 1 + ) + end + + def test_organizations_discovery_domains_create_with_wiremock + test_id = "organizations.discovery_domains.create.0" + + @client.organizations.discovery_domains.create( + id: "id", + domain: "domain", + request_options: { + additional_headers: { + "X-Test-Id" => "organizations.discovery_domains.create.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/organizations/id/discovery-domains", + query_params: nil, + expected: 1 + ) + end + + def test_organizations_discovery_domains_get_by_name_with_wiremock + test_id = "organizations.discovery_domains.get_by_name.0" + + @client.organizations.discovery_domains.get_by_name( + id: "id", + discovery_domain: "discovery_domain", + request_options: { + additional_headers: { + "X-Test-Id" => "organizations.discovery_domains.get_by_name.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/organizations/id/discovery-domains/name/discovery_domain", + query_params: nil, + expected: 1 + ) + end + + def test_organizations_discovery_domains_get_with_wiremock + test_id = "organizations.discovery_domains.get.0" + + @client.organizations.discovery_domains.get( + id: "id", + discovery_domain_id: "discovery_domain_id", + request_options: { + additional_headers: { + "X-Test-Id" => "organizations.discovery_domains.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/organizations/id/discovery-domains/discovery_domain_id", + query_params: nil, + expected: 1 + ) + end + + def test_organizations_discovery_domains_delete_with_wiremock + test_id = "organizations.discovery_domains.delete.0" + + @client.organizations.discovery_domains.delete( + id: "id", + discovery_domain_id: "discovery_domain_id", + request_options: { + additional_headers: { + "X-Test-Id" => "organizations.discovery_domains.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/organizations/id/discovery-domains/discovery_domain_id", + query_params: nil, + expected: 1 + ) + end + + def test_organizations_discovery_domains_update_with_wiremock + test_id = "organizations.discovery_domains.update.0" + + @client.organizations.discovery_domains.update( + id: "id", + discovery_domain_id: "discovery_domain_id", + request_options: { + additional_headers: { + "X-Test-Id" => "organizations.discovery_domains.update.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/organizations/id/discovery-domains/discovery_domain_id", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/organizations_enabled_connections_test.rb b/test/wire/organizations_enabled_connections_test.rb new file mode 100644 index 000000000..b53b629f1 --- /dev/null +++ b/test/wire/organizations_enabled_connections_test.rb @@ -0,0 +1,127 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class OrganizationsEnabledConnectionsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_organizations_enabled_connections_list_with_wiremock + test_id = "organizations.enabled_connections.list.0" + + result = @client.organizations.enabled_connections.list( + id: "id", + page: 1, + per_page: 1, + include_totals: true, + request_options: { + additional_headers: { + "X-Test-Id" => "organizations.enabled_connections.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/organizations/id/enabled_connections", + query_params: nil, + expected: 1 + ) + end + + def test_organizations_enabled_connections_add_with_wiremock + test_id = "organizations.enabled_connections.add.0" + + @client.organizations.enabled_connections.add( + id: "id", + connection_id: "connection_id", + request_options: { + additional_headers: { + "X-Test-Id" => "organizations.enabled_connections.add.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/organizations/id/enabled_connections", + query_params: nil, + expected: 1 + ) + end + + def test_organizations_enabled_connections_get_with_wiremock + test_id = "organizations.enabled_connections.get.0" + + @client.organizations.enabled_connections.get( + id: "id", + connection_id: "connectionId", + request_options: { + additional_headers: { + "X-Test-Id" => "organizations.enabled_connections.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/organizations/id/enabled_connections/connectionId", + query_params: nil, + expected: 1 + ) + end + + def test_organizations_enabled_connections_delete_with_wiremock + test_id = "organizations.enabled_connections.delete.0" + + @client.organizations.enabled_connections.delete( + id: "id", + connection_id: "connectionId", + request_options: { + additional_headers: { + "X-Test-Id" => "organizations.enabled_connections.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/organizations/id/enabled_connections/connectionId", + query_params: nil, + expected: 1 + ) + end + + def test_organizations_enabled_connections_update_with_wiremock + test_id = "organizations.enabled_connections.update.0" + + @client.organizations.enabled_connections.update( + id: "id", + connection_id: "connectionId", + request_options: { + additional_headers: { + "X-Test-Id" => "organizations.enabled_connections.update.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/organizations/id/enabled_connections/connectionId", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/organizations_groups_roles_test.rb b/test/wire/organizations_groups_roles_test.rb new file mode 100644 index 000000000..d1ffb48d2 --- /dev/null +++ b/test/wire/organizations_groups_roles_test.rb @@ -0,0 +1,85 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class OrganizationsGroupsRolesWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_organizations_groups_roles_list_with_wiremock + test_id = "organizations.groups.roles.list.0" + + result = @client.organizations.groups.roles.list( + organization_id: "organization_id", + group_id: "group_id", + from: "from", + take: 1, + request_options: { + additional_headers: { + "X-Test-Id" => "organizations.groups.roles.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/organizations/organization_id/groups/group_id/roles", + query_params: nil, + expected: 1 + ) + end + + def test_organizations_groups_roles_create_with_wiremock + test_id = "organizations.groups.roles.create.0" + + @client.organizations.groups.roles.create( + organization_id: "organization_id", + group_id: "group_id", + roles: ["roles"], + request_options: { + additional_headers: { + "X-Test-Id" => "organizations.groups.roles.create.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/organizations/organization_id/groups/group_id/roles", + query_params: nil, + expected: 1 + ) + end + + def test_organizations_groups_roles_delete_with_wiremock + test_id = "organizations.groups.roles.delete.0" + + @client.organizations.groups.roles.delete( + organization_id: "organization_id", + group_id: "group_id", + roles: ["roles"], + request_options: { + additional_headers: { + "X-Test-Id" => "organizations.groups.roles.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/organizations/organization_id/groups/group_id/roles", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/organizations_groups_test.rb b/test/wire/organizations_groups_test.rb new file mode 100644 index 000000000..6e170d948 --- /dev/null +++ b/test/wire/organizations_groups_test.rb @@ -0,0 +1,38 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class OrganizationsGroupsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_organizations_groups_list_with_wiremock + test_id = "organizations.groups.list.0" + + result = @client.organizations.groups.list( + organization_id: "organization_id", + from: "from", + take: 1, + request_options: { + additional_headers: { + "X-Test-Id" => "organizations.groups.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/organizations/organization_id/groups", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/organizations_invitations_test.rb b/test/wire/organizations_invitations_test.rb new file mode 100644 index 000000000..71bc1cbc0 --- /dev/null +++ b/test/wire/organizations_invitations_test.rb @@ -0,0 +1,116 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class OrganizationsInvitationsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_organizations_invitations_list_with_wiremock + test_id = "organizations.invitations.list.0" + + result = @client.organizations.invitations.list( + id: "id", + page: 1, + per_page: 1, + include_totals: true, + fields: "fields", + include_fields: true, + sort: "sort", + request_options: { + additional_headers: { + "X-Test-Id" => "organizations.invitations.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/organizations/id/invitations", + query_params: nil, + expected: 1 + ) + end + + def test_organizations_invitations_create_with_wiremock + test_id = "organizations.invitations.create.0" + + @client.organizations.invitations.create( + id: "id", + inviter: { + name: "name" + }, + invitee: { + email: "email" + }, + client_id: "client_id", + request_options: { + additional_headers: { + "X-Test-Id" => "organizations.invitations.create.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/organizations/id/invitations", + query_params: nil, + expected: 1 + ) + end + + def test_organizations_invitations_get_with_wiremock + test_id = "organizations.invitations.get.0" + + @client.organizations.invitations.get( + id: "id", + invitation_id: "invitation_id", + fields: "fields", + include_fields: true, + request_options: { + additional_headers: { + "X-Test-Id" => "organizations.invitations.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/organizations/id/invitations/invitation_id", + query_params: nil, + expected: 1 + ) + end + + def test_organizations_invitations_delete_with_wiremock + test_id = "organizations.invitations.delete.0" + + @client.organizations.invitations.delete( + id: "id", + invitation_id: "invitation_id", + request_options: { + additional_headers: { + "X-Test-Id" => "organizations.invitations.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/organizations/id/invitations/invitation_id", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/organizations_members_effective_roles_sources_groups_test.rb b/test/wire/organizations_members_effective_roles_sources_groups_test.rb new file mode 100644 index 000000000..66a4a3d6c --- /dev/null +++ b/test/wire/organizations_members_effective_roles_sources_groups_test.rb @@ -0,0 +1,40 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class OrganizationsMembersEffectiveRolesSourcesGroupsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_organizations_members_effective_roles_sources_groups_list_with_wiremock + test_id = "organizations.members.effective_roles.sources.groups.list.0" + + result = @client.organizations.members.effective_roles.sources.groups.list( + id: "id", + user_id: "user_id", + from: "from", + take: 1, + role_id: "role_id", + request_options: { + additional_headers: { + "X-Test-Id" => "organizations.members.effective_roles.sources.groups.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/organizations/id/members/user_id/effective-roles/sources/groups", + query_params: { "role_id" => "role_id" }, + expected: 1 + ) + end +end diff --git a/test/wire/organizations_members_effective_roles_test.rb b/test/wire/organizations_members_effective_roles_test.rb new file mode 100644 index 000000000..5b1954588 --- /dev/null +++ b/test/wire/organizations_members_effective_roles_test.rb @@ -0,0 +1,39 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class OrganizationsMembersEffectiveRolesWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_organizations_members_effective_roles_list_with_wiremock + test_id = "organizations.members.effective_roles.list.0" + + result = @client.organizations.members.effective_roles.list( + id: "id", + user_id: "user_id", + from: "from", + take: 1, + request_options: { + additional_headers: { + "X-Test-Id" => "organizations.members.effective_roles.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/organizations/id/members/user_id/effective-roles", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/organizations_members_roles_test.rb b/test/wire/organizations_members_roles_test.rb new file mode 100644 index 000000000..10ae247d3 --- /dev/null +++ b/test/wire/organizations_members_roles_test.rb @@ -0,0 +1,86 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class OrganizationsMembersRolesWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_organizations_members_roles_list_with_wiremock + test_id = "organizations.members.roles.list.0" + + result = @client.organizations.members.roles.list( + id: "id", + user_id: "user_id", + page: 1, + per_page: 1, + include_totals: true, + request_options: { + additional_headers: { + "X-Test-Id" => "organizations.members.roles.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/organizations/id/members/user_id/roles", + query_params: nil, + expected: 1 + ) + end + + def test_organizations_members_roles_assign_with_wiremock + test_id = "organizations.members.roles.assign.0" + + @client.organizations.members.roles.assign( + id: "id", + user_id: "user_id", + roles: ["roles"], + request_options: { + additional_headers: { + "X-Test-Id" => "organizations.members.roles.assign.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/organizations/id/members/user_id/roles", + query_params: nil, + expected: 1 + ) + end + + def test_organizations_members_roles_delete_with_wiremock + test_id = "organizations.members.roles.delete.0" + + @client.organizations.members.roles.delete( + id: "id", + user_id: "user_id", + roles: ["roles"], + request_options: { + additional_headers: { + "X-Test-Id" => "organizations.members.roles.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/organizations/id/members/user_id/roles", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/organizations_members_test.rb b/test/wire/organizations_members_test.rb new file mode 100644 index 000000000..d3ae290cb --- /dev/null +++ b/test/wire/organizations_members_test.rb @@ -0,0 +1,85 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class OrganizationsMembersWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_organizations_members_list_with_wiremock + test_id = "organizations.members.list.0" + + result = @client.organizations.members.list( + id: "id", + include_totals: true, + from: "from", + take: 1, + fields: "fields", + include_fields: true, + request_options: { + additional_headers: { + "X-Test-Id" => "organizations.members.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/organizations/id/members", + query_params: nil, + expected: 1 + ) + end + + def test_organizations_members_create_with_wiremock + test_id = "organizations.members.create.0" + + @client.organizations.members.create( + id: "id", + members: ["members"], + request_options: { + additional_headers: { + "X-Test-Id" => "organizations.members.create.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/organizations/id/members", + query_params: nil, + expected: 1 + ) + end + + def test_organizations_members_delete_with_wiremock + test_id = "organizations.members.delete.0" + + @client.organizations.members.delete( + id: "id", + members: ["members"], + request_options: { + additional_headers: { + "X-Test-Id" => "organizations.members.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/organizations/id/members", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/organizations_roles_groups_test.rb b/test/wire/organizations_roles_groups_test.rb new file mode 100644 index 000000000..1293a0a3b --- /dev/null +++ b/test/wire/organizations_roles_groups_test.rb @@ -0,0 +1,39 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class OrganizationsRolesGroupsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_organizations_roles_groups_list_with_wiremock + test_id = "organizations.roles.groups.list.0" + + result = @client.organizations.roles.groups.list( + organization_id: "organization_id", + role_id: "role_id", + from: "from", + take: 1, + request_options: { + additional_headers: { + "X-Test-Id" => "organizations.roles.groups.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/organizations/organization_id/roles/role_id/groups", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/organizations_roles_members_test.rb b/test/wire/organizations_roles_members_test.rb new file mode 100644 index 000000000..c27be6638 --- /dev/null +++ b/test/wire/organizations_roles_members_test.rb @@ -0,0 +1,41 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class OrganizationsRolesMembersWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_organizations_roles_members_list_with_wiremock + test_id = "organizations.roles.members.list.0" + + result = @client.organizations.roles.members.list( + id: "id", + role_id: "role_id", + from: "from", + take: 1, + fields: "fields", + include_fields: true, + request_options: { + additional_headers: { + "X-Test-Id" => "organizations.roles.members.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/organizations/id/roles/role_id/members", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/organizations_test.rb b/test/wire/organizations_test.rb new file mode 100644 index 000000000..d85f66d7c --- /dev/null +++ b/test/wire/organizations_test.rb @@ -0,0 +1,145 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class OrganizationsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_organizations_list_with_wiremock + test_id = "organizations.list.0" + + result = @client.organizations.list( + include_totals: true, + from: "from", + take: 1, + sort: "sort", + include_client_association_for: "include_client_association_for", + request_options: { + additional_headers: { + "X-Test-Id" => "organizations.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/organizations", + query_params: nil, + expected: 1 + ) + end + + def test_organizations_create_with_wiremock + test_id = "organizations.create.0" + + @client.organizations.create( + name: "name", + request_options: { + additional_headers: { + "X-Test-Id" => "organizations.create.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/organizations", + query_params: nil, + expected: 1 + ) + end + + def test_organizations_get_by_name_with_wiremock + test_id = "organizations.get_by_name.0" + + @client.organizations.get_by_name( + name: "name", + request_options: { + additional_headers: { + "X-Test-Id" => "organizations.get_by_name.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/organizations/name/name", + query_params: nil, + expected: 1 + ) + end + + def test_organizations_get_with_wiremock + test_id = "organizations.get.0" + + @client.organizations.get( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "organizations.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/organizations/id", + query_params: nil, + expected: 1 + ) + end + + def test_organizations_delete_with_wiremock + test_id = "organizations.delete.0" + + @client.organizations.delete( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "organizations.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/organizations/id", + query_params: nil, + expected: 1 + ) + end + + def test_organizations_update_with_wiremock + test_id = "organizations.update.0" + + @client.organizations.update( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "organizations.update.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/organizations/id", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/prompts_custom_text_test.rb b/test/wire/prompts_custom_text_test.rb new file mode 100644 index 000000000..2c07320ce --- /dev/null +++ b/test/wire/prompts_custom_text_test.rb @@ -0,0 +1,61 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class PromptsCustomTextWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_prompts_custom_text_get_with_wiremock + test_id = "prompts.custom_text.get.0" + + @client.prompts.custom_text.get( + prompt: "login", + language: "am", + request_options: { + additional_headers: { + "X-Test-Id" => "prompts.custom_text.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/prompts/login/custom-text/am", + query_params: nil, + expected: 1 + ) + end + + def test_prompts_custom_text_set_with_wiremock + test_id = "prompts.custom_text.set.0" + + @client.prompts.custom_text.set( + prompt: "login", + language: "am", + request: { + key: "value" + }, + request_options: { + additional_headers: { + "X-Test-Id" => "prompts.custom_text.set.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PUT", + url_path: "/prompts/login/custom-text/am", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/prompts_partials_test.rb b/test/wire/prompts_partials_test.rb new file mode 100644 index 000000000..26fe680bf --- /dev/null +++ b/test/wire/prompts_partials_test.rb @@ -0,0 +1,59 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class PromptsPartialsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_prompts_partials_get_with_wiremock + test_id = "prompts.partials.get.0" + + @client.prompts.partials.get( + prompt: "login", + request_options: { + additional_headers: { + "X-Test-Id" => "prompts.partials.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/prompts/login/partials", + query_params: nil, + expected: 1 + ) + end + + def test_prompts_partials_set_with_wiremock + test_id = "prompts.partials.set.0" + + @client.prompts.partials.set( + prompt: "login", + request: { + key: "value" + }, + request_options: { + additional_headers: { + "X-Test-Id" => "prompts.partials.set.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PUT", + url_path: "/prompts/login/partials", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/prompts_rendering_test.rb b/test/wire/prompts_rendering_test.rb new file mode 100644 index 000000000..f050b3ac1 --- /dev/null +++ b/test/wire/prompts_rendering_test.rb @@ -0,0 +1,111 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class PromptsRenderingWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_prompts_rendering_list_with_wiremock + test_id = "prompts.rendering.list.0" + + result = @client.prompts.rendering.list( + fields: "fields", + include_fields: true, + page: 1, + per_page: 1, + include_totals: true, + prompt: "prompt", + screen: "screen", + rendering_mode: "advanced", + request_options: { + additional_headers: { + "X-Test-Id" => "prompts.rendering.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/prompts/rendering", + query_params: nil, + expected: 1 + ) + end + + def test_prompts_rendering_bulk_update_with_wiremock + test_id = "prompts.rendering.bulk_update.0" + + @client.prompts.rendering.bulk_update( + configs: [{ + prompt: "login", + screen: "login" + }], + request_options: { + additional_headers: { + "X-Test-Id" => "prompts.rendering.bulk_update.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/prompts/rendering", + query_params: nil, + expected: 1 + ) + end + + def test_prompts_rendering_get_with_wiremock + test_id = "prompts.rendering.get.0" + + @client.prompts.rendering.get( + prompt: "login", + screen: "login", + request_options: { + additional_headers: { + "X-Test-Id" => "prompts.rendering.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/prompts/login/screen/login/rendering", + query_params: nil, + expected: 1 + ) + end + + def test_prompts_rendering_update_with_wiremock + test_id = "prompts.rendering.update.0" + + @client.prompts.rendering.update( + prompt: "login", + screen: "login", + request_options: { + additional_headers: { + "X-Test-Id" => "prompts.rendering.update.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/prompts/login/screen/login/rendering", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/prompts_test.rb b/test/wire/prompts_test.rb new file mode 100644 index 000000000..194227a07 --- /dev/null +++ b/test/wire/prompts_test.rb @@ -0,0 +1,50 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class PromptsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_prompts_get_settings_with_wiremock + test_id = "prompts.get_settings.0" + + @client.prompts.get_settings(request_options: { + additional_headers: { + "X-Test-Id" => "prompts.get_settings.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/prompts", + query_params: nil, + expected: 1 + ) + end + + def test_prompts_update_settings_with_wiremock + test_id = "prompts.update_settings.0" + + @client.prompts.update_settings(request_options: { + additional_headers: { + "X-Test-Id" => "prompts.update_settings.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/prompts", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/rate_limit_policies_test.rb b/test/wire/rate_limit_policies_test.rb new file mode 100644 index 000000000..3042dfbff --- /dev/null +++ b/test/wire/rate_limit_policies_test.rb @@ -0,0 +1,132 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class RateLimitPoliciesWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_rate_limit_policies_list_with_wiremock + test_id = "rate_limit_policies.list.0" + + result = @client.rate_limit_policies.list( + resource: "oauth_authentication_api", + consumer: "client", + consumer_selector: "consumer_selector", + take: 1, + from: "from", + request_options: { + additional_headers: { + "X-Test-Id" => "rate_limit_policies.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/rate-limit-policies", + query_params: nil, + expected: 1 + ) + end + + def test_rate_limit_policies_create_with_wiremock + test_id = "rate_limit_policies.create.0" + + @client.rate_limit_policies.create( + resource: "oauth_authentication_api", + consumer: "client", + consumer_selector: "consumer_selector", + configuration: { + action: "allow" + }, + request_options: { + additional_headers: { + "X-Test-Id" => "rate_limit_policies.create.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/rate-limit-policies", + query_params: nil, + expected: 1 + ) + end + + def test_rate_limit_policies_get_with_wiremock + test_id = "rate_limit_policies.get.0" + + @client.rate_limit_policies.get( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "rate_limit_policies.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/rate-limit-policies/id", + query_params: nil, + expected: 1 + ) + end + + def test_rate_limit_policies_delete_with_wiremock + test_id = "rate_limit_policies.delete.0" + + @client.rate_limit_policies.delete( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "rate_limit_policies.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/rate-limit-policies/id", + query_params: nil, + expected: 1 + ) + end + + def test_rate_limit_policies_update_with_wiremock + test_id = "rate_limit_policies.update.0" + + @client.rate_limit_policies.update( + id: "id", + configuration: { + action: "allow" + }, + request_options: { + additional_headers: { + "X-Test-Id" => "rate_limit_policies.update.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/rate-limit-policies/id", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/refresh_tokens_test.rb b/test/wire/refresh_tokens_test.rb new file mode 100644 index 000000000..93d2963a5 --- /dev/null +++ b/test/wire/refresh_tokens_test.rb @@ -0,0 +1,122 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class RefreshTokensWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_refresh_tokens_list_with_wiremock + test_id = "refresh_tokens.list.0" + + result = @client.refresh_tokens.list( + user_id: "user_id", + client_id: "client_id", + from: "from", + take: 1, + fields: "fields", + include_fields: true, + request_options: { + additional_headers: { + "X-Test-Id" => "refresh_tokens.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/refresh-tokens", + query_params: { "user_id" => "user_id" }, + expected: 1 + ) + end + + def test_refresh_tokens_revoke_with_wiremock + test_id = "refresh_tokens.revoke.0" + + @client.refresh_tokens.revoke(request_options: { + additional_headers: { + "X-Test-Id" => "refresh_tokens.revoke.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/refresh-tokens/revoke", + query_params: nil, + expected: 1 + ) + end + + def test_refresh_tokens_get_with_wiremock + test_id = "refresh_tokens.get.0" + + @client.refresh_tokens.get( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "refresh_tokens.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/refresh-tokens/id", + query_params: nil, + expected: 1 + ) + end + + def test_refresh_tokens_delete_with_wiremock + test_id = "refresh_tokens.delete.0" + + @client.refresh_tokens.delete( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "refresh_tokens.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/refresh-tokens/id", + query_params: nil, + expected: 1 + ) + end + + def test_refresh_tokens_update_with_wiremock + test_id = "refresh_tokens.update.0" + + @client.refresh_tokens.update( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "refresh_tokens.update.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/refresh-tokens/id", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/resource_servers_test.rb b/test/wire/resource_servers_test.rb new file mode 100644 index 000000000..9fcc37187 --- /dev/null +++ b/test/wire/resource_servers_test.rb @@ -0,0 +1,125 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class ResourceServersWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_resource_servers_list_with_wiremock + test_id = "resource_servers.list.0" + + result = @client.resource_servers.list( + identifiers: ["identifiers"], + page: 1, + per_page: 1, + include_totals: true, + include_fields: true, + request_options: { + additional_headers: { + "X-Test-Id" => "resource_servers.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/resource-servers", + query_params: nil, + expected: 1 + ) + end + + def test_resource_servers_create_with_wiremock + test_id = "resource_servers.create.0" + + @client.resource_servers.create( + identifier: "identifier", + request_options: { + additional_headers: { + "X-Test-Id" => "resource_servers.create.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/resource-servers", + query_params: nil, + expected: 1 + ) + end + + def test_resource_servers_get_with_wiremock + test_id = "resource_servers.get.0" + + @client.resource_servers.get( + id: "id", + include_fields: true, + request_options: { + additional_headers: { + "X-Test-Id" => "resource_servers.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/resource-servers/id", + query_params: nil, + expected: 1 + ) + end + + def test_resource_servers_delete_with_wiremock + test_id = "resource_servers.delete.0" + + @client.resource_servers.delete( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "resource_servers.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/resource-servers/id", + query_params: nil, + expected: 1 + ) + end + + def test_resource_servers_update_with_wiremock + test_id = "resource_servers.update.0" + + @client.resource_servers.update( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "resource_servers.update.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/resource-servers/id", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/risk_assessments_settings_new_device_test.rb b/test/wire/risk_assessments_settings_new_device_test.rb new file mode 100644 index 000000000..03273ddd4 --- /dev/null +++ b/test/wire/risk_assessments_settings_new_device_test.rb @@ -0,0 +1,53 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class RiskAssessmentsSettingsNewDeviceWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_risk_assessments_settings_new_device_get_with_wiremock + test_id = "risk_assessments.settings.new_device.get.0" + + @client.risk_assessments.settings.new_device.get(request_options: { + additional_headers: { + "X-Test-Id" => "risk_assessments.settings.new_device.get.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/risk-assessments/settings/new-device", + query_params: nil, + expected: 1 + ) + end + + def test_risk_assessments_settings_new_device_update_with_wiremock + test_id = "risk_assessments.settings.new_device.update.0" + + @client.risk_assessments.settings.new_device.update( + remember_for: 1, + request_options: { + additional_headers: { + "X-Test-Id" => "risk_assessments.settings.new_device.update.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/risk-assessments/settings/new-device", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/risk_assessments_settings_test.rb b/test/wire/risk_assessments_settings_test.rb new file mode 100644 index 000000000..2c918c038 --- /dev/null +++ b/test/wire/risk_assessments_settings_test.rb @@ -0,0 +1,53 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class RiskAssessmentsSettingsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_risk_assessments_settings_get_with_wiremock + test_id = "risk_assessments.settings.get.0" + + @client.risk_assessments.settings.get(request_options: { + additional_headers: { + "X-Test-Id" => "risk_assessments.settings.get.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/risk-assessments/settings", + query_params: nil, + expected: 1 + ) + end + + def test_risk_assessments_settings_update_with_wiremock + test_id = "risk_assessments.settings.update.0" + + @client.risk_assessments.settings.update( + enabled: true, + request_options: { + additional_headers: { + "X-Test-Id" => "risk_assessments.settings.update.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/risk-assessments/settings", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/roles_groups_test.rb b/test/wire/roles_groups_test.rb new file mode 100644 index 000000000..62171a8be --- /dev/null +++ b/test/wire/roles_groups_test.rb @@ -0,0 +1,82 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class RolesGroupsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_roles_groups_get_with_wiremock + test_id = "roles.groups.get.0" + + result = @client.roles.groups.get( + id: "id", + from: "from", + take: 1, + request_options: { + additional_headers: { + "X-Test-Id" => "roles.groups.get.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/roles/id/groups", + query_params: nil, + expected: 1 + ) + end + + def test_roles_groups_create_with_wiremock + test_id = "roles.groups.create.0" + + @client.roles.groups.create( + id: "id", + groups: ["groups"], + request_options: { + additional_headers: { + "X-Test-Id" => "roles.groups.create.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/roles/id/groups", + query_params: nil, + expected: 1 + ) + end + + def test_roles_groups_delete_with_wiremock + test_id = "roles.groups.delete.0" + + @client.roles.groups.delete( + id: "id", + groups: ["groups"], + request_options: { + additional_headers: { + "X-Test-Id" => "roles.groups.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/roles/id/groups", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/roles_permissions_test.rb b/test/wire/roles_permissions_test.rb new file mode 100644 index 000000000..7e4ce1001 --- /dev/null +++ b/test/wire/roles_permissions_test.rb @@ -0,0 +1,89 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class RolesPermissionsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_roles_permissions_list_with_wiremock + test_id = "roles.permissions.list.0" + + result = @client.roles.permissions.list( + id: "id", + per_page: 1, + page: 1, + include_totals: true, + request_options: { + additional_headers: { + "X-Test-Id" => "roles.permissions.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/roles/id/permissions", + query_params: nil, + expected: 1 + ) + end + + def test_roles_permissions_add_with_wiremock + test_id = "roles.permissions.add.0" + + @client.roles.permissions.add( + id: "id", + permissions: [{ + resource_server_identifier: "resource_server_identifier", + permission_name: "permission_name" + }], + request_options: { + additional_headers: { + "X-Test-Id" => "roles.permissions.add.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/roles/id/permissions", + query_params: nil, + expected: 1 + ) + end + + def test_roles_permissions_delete_with_wiremock + test_id = "roles.permissions.delete.0" + + @client.roles.permissions.delete( + id: "id", + permissions: [{ + resource_server_identifier: "resource_server_identifier", + permission_name: "permission_name" + }], + request_options: { + additional_headers: { + "X-Test-Id" => "roles.permissions.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/roles/id/permissions", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/roles_test.rb b/test/wire/roles_test.rb new file mode 100644 index 000000000..eda1bd889 --- /dev/null +++ b/test/wire/roles_test.rb @@ -0,0 +1,125 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class RolesWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_roles_list_with_wiremock + test_id = "roles.list.0" + + result = @client.roles.list( + per_page: 1, + page: 1, + include_totals: true, + name_filter: "name_filter", + type: "tenant", + owner_id: "owner_id", + request_options: { + additional_headers: { + "X-Test-Id" => "roles.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/roles", + query_params: nil, + expected: 1 + ) + end + + def test_roles_create_with_wiremock + test_id = "roles.create.0" + + @client.roles.create( + name: "name", + request_options: { + additional_headers: { + "X-Test-Id" => "roles.create.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/roles", + query_params: nil, + expected: 1 + ) + end + + def test_roles_get_with_wiremock + test_id = "roles.get.0" + + @client.roles.get( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "roles.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/roles/id", + query_params: nil, + expected: 1 + ) + end + + def test_roles_delete_with_wiremock + test_id = "roles.delete.0" + + @client.roles.delete( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "roles.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/roles/id", + query_params: nil, + expected: 1 + ) + end + + def test_roles_update_with_wiremock + test_id = "roles.update.0" + + @client.roles.update( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "roles.update.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/roles/id", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/roles_users_test.rb b/test/wire/roles_users_test.rb new file mode 100644 index 000000000..dd2e10dac --- /dev/null +++ b/test/wire/roles_users_test.rb @@ -0,0 +1,61 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class RolesUsersWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_roles_users_list_with_wiremock + test_id = "roles.users.list.0" + + result = @client.roles.users.list( + id: "id", + include_totals: true, + from: "from", + take: 1, + request_options: { + additional_headers: { + "X-Test-Id" => "roles.users.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/roles/id/users", + query_params: nil, + expected: 1 + ) + end + + def test_roles_users_assign_with_wiremock + test_id = "roles.users.assign.0" + + @client.roles.users.assign( + id: "id", + users: ["users"], + request_options: { + additional_headers: { + "X-Test-Id" => "roles.users.assign.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/roles/id/users", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/rules_configs_test.rb b/test/wire/rules_configs_test.rb new file mode 100644 index 000000000..45706964f --- /dev/null +++ b/test/wire/rules_configs_test.rb @@ -0,0 +1,75 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class RulesConfigsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_rules_configs_list_with_wiremock + test_id = "rules_configs.list.0" + + @client.rules_configs.list(request_options: { + additional_headers: { + "X-Test-Id" => "rules_configs.list.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/rules-configs", + query_params: nil, + expected: 1 + ) + end + + def test_rules_configs_set_with_wiremock + test_id = "rules_configs.set.0" + + @client.rules_configs.set( + key: "key", + value: "value", + request_options: { + additional_headers: { + "X-Test-Id" => "rules_configs.set.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PUT", + url_path: "/rules-configs/key", + query_params: nil, + expected: 1 + ) + end + + def test_rules_configs_delete_with_wiremock + test_id = "rules_configs.delete.0" + + @client.rules_configs.delete( + key: "key", + request_options: { + additional_headers: { + "X-Test-Id" => "rules_configs.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/rules-configs/key", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/rules_test.rb b/test/wire/rules_test.rb new file mode 100644 index 000000000..ad9899ff2 --- /dev/null +++ b/test/wire/rules_test.rb @@ -0,0 +1,128 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class RulesWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_rules_list_with_wiremock + test_id = "rules.list.0" + + result = @client.rules.list( + page: 1, + per_page: 1, + include_totals: true, + enabled: true, + fields: "fields", + include_fields: true, + request_options: { + additional_headers: { + "X-Test-Id" => "rules.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/rules", + query_params: nil, + expected: 1 + ) + end + + def test_rules_create_with_wiremock + test_id = "rules.create.0" + + @client.rules.create( + name: "name", + script: "script", + request_options: { + additional_headers: { + "X-Test-Id" => "rules.create.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/rules", + query_params: nil, + expected: 1 + ) + end + + def test_rules_get_with_wiremock + test_id = "rules.get.0" + + @client.rules.get( + id: "id", + fields: "fields", + include_fields: true, + request_options: { + additional_headers: { + "X-Test-Id" => "rules.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/rules/id", + query_params: nil, + expected: 1 + ) + end + + def test_rules_delete_with_wiremock + test_id = "rules.delete.0" + + @client.rules.delete( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "rules.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/rules/id", + query_params: nil, + expected: 1 + ) + end + + def test_rules_update_with_wiremock + test_id = "rules.update.0" + + @client.rules.update( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "rules.update.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/rules/id", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/self_service_profiles_custom_text_test.rb b/test/wire/self_service_profiles_custom_text_test.rb new file mode 100644 index 000000000..fb922379a --- /dev/null +++ b/test/wire/self_service_profiles_custom_text_test.rb @@ -0,0 +1,63 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class SelfServiceProfilesCustomTextWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_self_service_profiles_custom_text_list_with_wiremock + test_id = "self_service_profiles.custom_text.list.0" + + @client.self_service_profiles.custom_text.list( + id: "id", + language: "en", + page: "get-started", + request_options: { + additional_headers: { + "X-Test-Id" => "self_service_profiles.custom_text.list.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/self-service-profiles/id/custom-text/en/get-started", + query_params: nil, + expected: 1 + ) + end + + def test_self_service_profiles_custom_text_set_with_wiremock + test_id = "self_service_profiles.custom_text.set.0" + + @client.self_service_profiles.custom_text.set( + id: "id", + language: "en", + page: "get-started", + request: { + key: "value" + }, + request_options: { + additional_headers: { + "X-Test-Id" => "self_service_profiles.custom_text.set.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PUT", + url_path: "/self-service-profiles/id/custom-text/en/get-started", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/self_service_profiles_sso_ticket_test.rb b/test/wire/self_service_profiles_sso_ticket_test.rb new file mode 100644 index 000000000..0e7bf4514 --- /dev/null +++ b/test/wire/self_service_profiles_sso_ticket_test.rb @@ -0,0 +1,57 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class SelfServiceProfilesSsoTicketWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_self_service_profiles_sso_ticket_create_with_wiremock + test_id = "self_service_profiles.sso_ticket.create.0" + + @client.self_service_profiles.sso_ticket.create( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "self_service_profiles.sso_ticket.create.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/self-service-profiles/id/sso-ticket", + query_params: nil, + expected: 1 + ) + end + + def test_self_service_profiles_sso_ticket_revoke_with_wiremock + test_id = "self_service_profiles.sso_ticket.revoke.0" + + @client.self_service_profiles.sso_ticket.revoke( + profile_id: "profileId", + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "self_service_profiles.sso_ticket.revoke.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/self-service-profiles/profileId/sso-ticket/id/revoke", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/self_service_profiles_test.rb b/test/wire/self_service_profiles_test.rb new file mode 100644 index 000000000..61d6417db --- /dev/null +++ b/test/wire/self_service_profiles_test.rb @@ -0,0 +1,122 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class SelfServiceProfilesWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_self_service_profiles_list_with_wiremock + test_id = "self_service_profiles.list.0" + + result = @client.self_service_profiles.list( + page: 1, + per_page: 1, + include_totals: true, + request_options: { + additional_headers: { + "X-Test-Id" => "self_service_profiles.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/self-service-profiles", + query_params: nil, + expected: 1 + ) + end + + def test_self_service_profiles_create_with_wiremock + test_id = "self_service_profiles.create.0" + + @client.self_service_profiles.create( + name: "name", + request_options: { + additional_headers: { + "X-Test-Id" => "self_service_profiles.create.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/self-service-profiles", + query_params: nil, + expected: 1 + ) + end + + def test_self_service_profiles_get_with_wiremock + test_id = "self_service_profiles.get.0" + + @client.self_service_profiles.get( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "self_service_profiles.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/self-service-profiles/id", + query_params: nil, + expected: 1 + ) + end + + def test_self_service_profiles_delete_with_wiremock + test_id = "self_service_profiles.delete.0" + + @client.self_service_profiles.delete( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "self_service_profiles.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/self-service-profiles/id", + query_params: nil, + expected: 1 + ) + end + + def test_self_service_profiles_update_with_wiremock + test_id = "self_service_profiles.update.0" + + @client.self_service_profiles.update( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "self_service_profiles.update.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/self-service-profiles/id", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/sessions_test.rb b/test/wire/sessions_test.rb new file mode 100644 index 000000000..ecaa3847e --- /dev/null +++ b/test/wire/sessions_test.rb @@ -0,0 +1,98 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class SessionsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_sessions_get_with_wiremock + test_id = "sessions.get.0" + + @client.sessions.get( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "sessions.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/sessions/id", + query_params: nil, + expected: 1 + ) + end + + def test_sessions_delete_with_wiremock + test_id = "sessions.delete.0" + + @client.sessions.delete( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "sessions.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/sessions/id", + query_params: nil, + expected: 1 + ) + end + + def test_sessions_update_with_wiremock + test_id = "sessions.update.0" + + @client.sessions.update( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "sessions.update.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/sessions/id", + query_params: nil, + expected: 1 + ) + end + + def test_sessions_revoke_with_wiremock + test_id = "sessions.revoke.0" + + @client.sessions.revoke( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "sessions.revoke.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/sessions/id/revoke", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/stats_test.rb b/test/wire/stats_test.rb new file mode 100644 index 000000000..80fd4ba5d --- /dev/null +++ b/test/wire/stats_test.rb @@ -0,0 +1,54 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class StatsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_stats_get_active_users_count_with_wiremock + test_id = "stats.get_active_users_count.0" + + @client.stats.get_active_users_count(request_options: { + additional_headers: { + "X-Test-Id" => "stats.get_active_users_count.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/stats/active-users", + query_params: nil, + expected: 1 + ) + end + + def test_stats_get_daily_with_wiremock + test_id = "stats.get_daily.0" + + @client.stats.get_daily( + from: "from", + to: "to", + request_options: { + additional_headers: { + "X-Test-Id" => "stats.get_daily.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/stats/daily", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/supplemental_signals_test.rb b/test/wire/supplemental_signals_test.rb new file mode 100644 index 000000000..bc78f127e --- /dev/null +++ b/test/wire/supplemental_signals_test.rb @@ -0,0 +1,53 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class SupplementalSignalsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_supplemental_signals_get_with_wiremock + test_id = "supplemental_signals.get.0" + + @client.supplemental_signals.get(request_options: { + additional_headers: { + "X-Test-Id" => "supplemental_signals.get.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/supplemental-signals", + query_params: nil, + expected: 1 + ) + end + + def test_supplemental_signals_patch_with_wiremock + test_id = "supplemental_signals.patch.0" + + @client.supplemental_signals.patch( + akamai_enabled: true, + request_options: { + additional_headers: { + "X-Test-Id" => "supplemental_signals.patch.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/supplemental-signals", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/tenants_settings_test.rb b/test/wire/tenants_settings_test.rb new file mode 100644 index 000000000..a3447deed --- /dev/null +++ b/test/wire/tenants_settings_test.rb @@ -0,0 +1,54 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class TenantsSettingsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_tenants_settings_get_with_wiremock + test_id = "tenants.settings.get.0" + + @client.tenants.settings.get( + fields: "fields", + include_fields: true, + request_options: { + additional_headers: { + "X-Test-Id" => "tenants.settings.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/tenants/settings", + query_params: nil, + expected: 1 + ) + end + + def test_tenants_settings_update_with_wiremock + test_id = "tenants.settings.update.0" + + @client.tenants.settings.update(request_options: { + additional_headers: { + "X-Test-Id" => "tenants.settings.update.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/tenants/settings", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/tickets_test.rb b/test/wire/tickets_test.rb new file mode 100644 index 000000000..55836ba92 --- /dev/null +++ b/test/wire/tickets_test.rb @@ -0,0 +1,53 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class TicketsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_tickets_verify_email_with_wiremock + test_id = "tickets.verify_email.0" + + @client.tickets.verify_email( + user_id: "user_id", + request_options: { + additional_headers: { + "X-Test-Id" => "tickets.verify_email.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/tickets/email-verification", + query_params: nil, + expected: 1 + ) + end + + def test_tickets_change_password_with_wiremock + test_id = "tickets.change_password.0" + + @client.tickets.change_password(request_options: { + additional_headers: { + "X-Test-Id" => "tickets.change_password.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/tickets/password-change", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/token_exchange_profiles_test.rb b/test/wire/token_exchange_profiles_test.rb new file mode 100644 index 000000000..40d0b8143 --- /dev/null +++ b/test/wire/token_exchange_profiles_test.rb @@ -0,0 +1,124 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class TokenExchangeProfilesWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_token_exchange_profiles_list_with_wiremock + test_id = "token_exchange_profiles.list.0" + + result = @client.token_exchange_profiles.list( + from: "from", + take: 1, + request_options: { + additional_headers: { + "X-Test-Id" => "token_exchange_profiles.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/token-exchange-profiles", + query_params: nil, + expected: 1 + ) + end + + def test_token_exchange_profiles_create_with_wiremock + test_id = "token_exchange_profiles.create.0" + + @client.token_exchange_profiles.create( + name: "name", + subject_token_type: "subject_token_type", + action_id: "action_id", + type: "custom_authentication", + request_options: { + additional_headers: { + "X-Test-Id" => "token_exchange_profiles.create.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/token-exchange-profiles", + query_params: nil, + expected: 1 + ) + end + + def test_token_exchange_profiles_get_with_wiremock + test_id = "token_exchange_profiles.get.0" + + @client.token_exchange_profiles.get( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "token_exchange_profiles.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/token-exchange-profiles/id", + query_params: nil, + expected: 1 + ) + end + + def test_token_exchange_profiles_delete_with_wiremock + test_id = "token_exchange_profiles.delete.0" + + @client.token_exchange_profiles.delete( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "token_exchange_profiles.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/token-exchange-profiles/id", + query_params: nil, + expected: 1 + ) + end + + def test_token_exchange_profiles_update_with_wiremock + test_id = "token_exchange_profiles.update.0" + + @client.token_exchange_profiles.update( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "token_exchange_profiles.update.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/token-exchange-profiles/id", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/user_attribute_profiles_test.rb b/test/wire/user_attribute_profiles_test.rb new file mode 100644 index 000000000..5773e547a --- /dev/null +++ b/test/wire/user_attribute_profiles_test.rb @@ -0,0 +1,168 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class UserAttributeProfilesWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_user_attribute_profiles_list_with_wiremock + test_id = "user_attribute_profiles.list.0" + + result = @client.user_attribute_profiles.list( + from: "from", + take: 1, + request_options: { + additional_headers: { + "X-Test-Id" => "user_attribute_profiles.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/user-attribute-profiles", + query_params: nil, + expected: 1 + ) + end + + def test_user_attribute_profiles_create_with_wiremock + test_id = "user_attribute_profiles.create.0" + + @client.user_attribute_profiles.create( + name: "name", + user_attributes: { + key: { + description: "description", + label: "label", + profile_required: true, + auth0mapping: "auth0_mapping" + } + }, + request_options: { + additional_headers: { + "X-Test-Id" => "user_attribute_profiles.create.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/user-attribute-profiles", + query_params: nil, + expected: 1 + ) + end + + def test_user_attribute_profiles_list_templates_with_wiremock + test_id = "user_attribute_profiles.list_templates.0" + + @client.user_attribute_profiles.list_templates(request_options: { + additional_headers: { + "X-Test-Id" => "user_attribute_profiles.list_templates.0" + } + }) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/user-attribute-profiles/templates", + query_params: nil, + expected: 1 + ) + end + + def test_user_attribute_profiles_get_template_with_wiremock + test_id = "user_attribute_profiles.get_template.0" + + @client.user_attribute_profiles.get_template( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "user_attribute_profiles.get_template.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/user-attribute-profiles/templates/id", + query_params: nil, + expected: 1 + ) + end + + def test_user_attribute_profiles_get_with_wiremock + test_id = "user_attribute_profiles.get.0" + + @client.user_attribute_profiles.get( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "user_attribute_profiles.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/user-attribute-profiles/id", + query_params: nil, + expected: 1 + ) + end + + def test_user_attribute_profiles_delete_with_wiremock + test_id = "user_attribute_profiles.delete.0" + + @client.user_attribute_profiles.delete( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "user_attribute_profiles.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/user-attribute-profiles/id", + query_params: nil, + expected: 1 + ) + end + + def test_user_attribute_profiles_update_with_wiremock + test_id = "user_attribute_profiles.update.0" + + @client.user_attribute_profiles.update( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "user_attribute_profiles.update.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/user-attribute-profiles/id", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/user_blocks_test.rb b/test/wire/user_blocks_test.rb new file mode 100644 index 000000000..fb8edf1b7 --- /dev/null +++ b/test/wire/user_blocks_test.rb @@ -0,0 +1,100 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class UserBlocksWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_user_blocks_list_by_identifier_with_wiremock + test_id = "user_blocks.list_by_identifier.0" + + @client.user_blocks.list_by_identifier( + identifier: "identifier", + consider_brute_force_enablement: true, + request_options: { + additional_headers: { + "X-Test-Id" => "user_blocks.list_by_identifier.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/user-blocks", + query_params: { "identifier" => "identifier" }, + expected: 1 + ) + end + + def test_user_blocks_delete_by_identifier_with_wiremock + test_id = "user_blocks.delete_by_identifier.0" + + @client.user_blocks.delete_by_identifier( + identifier: "identifier", + request_options: { + additional_headers: { + "X-Test-Id" => "user_blocks.delete_by_identifier.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/user-blocks", + query_params: { "identifier" => "identifier" }, + expected: 1 + ) + end + + def test_user_blocks_list_with_wiremock + test_id = "user_blocks.list.0" + + @client.user_blocks.list( + id: "id", + consider_brute_force_enablement: true, + request_options: { + additional_headers: { + "X-Test-Id" => "user_blocks.list.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/user-blocks/id", + query_params: nil, + expected: 1 + ) + end + + def test_user_blocks_delete_with_wiremock + test_id = "user_blocks.delete.0" + + @client.user_blocks.delete( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "user_blocks.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/user-blocks/id", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/user_grants_test.rb b/test/wire/user_grants_test.rb new file mode 100644 index 000000000..ba4d60c52 --- /dev/null +++ b/test/wire/user_grants_test.rb @@ -0,0 +1,83 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class UserGrantsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_user_grants_list_with_wiremock + test_id = "user_grants.list.0" + + result = @client.user_grants.list( + per_page: 1, + page: 1, + include_totals: true, + user_id: "user_id", + client_id: "client_id", + audience: "audience", + request_options: { + additional_headers: { + "X-Test-Id" => "user_grants.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/grants", + query_params: nil, + expected: 1 + ) + end + + def test_user_grants_delete_by_user_id_with_wiremock + test_id = "user_grants.delete_by_user_id.0" + + @client.user_grants.delete_by_user_id( + user_id: "user_id", + request_options: { + additional_headers: { + "X-Test-Id" => "user_grants.delete_by_user_id.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/grants", + query_params: { "user_id" => "user_id" }, + expected: 1 + ) + end + + def test_user_grants_delete_with_wiremock + test_id = "user_grants.delete.0" + + @client.user_grants.delete( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "user_grants.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/grants/id", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/users_authentication_methods_test.rb b/test/wire/users_authentication_methods_test.rb new file mode 100644 index 000000000..81e378b79 --- /dev/null +++ b/test/wire/users_authentication_methods_test.rb @@ -0,0 +1,172 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class UsersAuthenticationMethodsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_users_authentication_methods_list_with_wiremock + test_id = "users.authentication_methods.list.0" + + result = @client.users.authentication_methods.list( + id: "id", + page: 1, + per_page: 1, + include_totals: true, + request_options: { + additional_headers: { + "X-Test-Id" => "users.authentication_methods.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/users/id/authentication-methods", + query_params: nil, + expected: 1 + ) + end + + def test_users_authentication_methods_create_with_wiremock + test_id = "users.authentication_methods.create.0" + + @client.users.authentication_methods.create( + id: "id", + type: "phone", + request_options: { + additional_headers: { + "X-Test-Id" => "users.authentication_methods.create.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/users/id/authentication-methods", + query_params: nil, + expected: 1 + ) + end + + def test_users_authentication_methods_set_with_wiremock + test_id = "users.authentication_methods.set.0" + + @client.users.authentication_methods.set( + id: "id", + request: [{ + type: "phone" + }], + request_options: { + additional_headers: { + "X-Test-Id" => "users.authentication_methods.set.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PUT", + url_path: "/users/id/authentication-methods", + query_params: nil, + expected: 1 + ) + end + + def test_users_authentication_methods_delete_all_with_wiremock + test_id = "users.authentication_methods.delete_all.0" + + @client.users.authentication_methods.delete_all( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "users.authentication_methods.delete_all.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/users/id/authentication-methods", + query_params: nil, + expected: 1 + ) + end + + def test_users_authentication_methods_get_with_wiremock + test_id = "users.authentication_methods.get.0" + + @client.users.authentication_methods.get( + id: "id", + authentication_method_id: "authentication_method_id", + request_options: { + additional_headers: { + "X-Test-Id" => "users.authentication_methods.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/users/id/authentication-methods/authentication_method_id", + query_params: nil, + expected: 1 + ) + end + + def test_users_authentication_methods_delete_with_wiremock + test_id = "users.authentication_methods.delete.0" + + @client.users.authentication_methods.delete( + id: "id", + authentication_method_id: "authentication_method_id", + request_options: { + additional_headers: { + "X-Test-Id" => "users.authentication_methods.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/users/id/authentication-methods/authentication_method_id", + query_params: nil, + expected: 1 + ) + end + + def test_users_authentication_methods_update_with_wiremock + test_id = "users.authentication_methods.update.0" + + @client.users.authentication_methods.update( + id: "id", + authentication_method_id: "authentication_method_id", + request_options: { + additional_headers: { + "X-Test-Id" => "users.authentication_methods.update.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/users/id/authentication-methods/authentication_method_id", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/users_authenticators_test.rb b/test/wire/users_authenticators_test.rb new file mode 100644 index 000000000..d2dc88f46 --- /dev/null +++ b/test/wire/users_authenticators_test.rb @@ -0,0 +1,35 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class UsersAuthenticatorsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_users_authenticators_delete_all_with_wiremock + test_id = "users.authenticators.delete_all.0" + + @client.users.authenticators.delete_all( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "users.authenticators.delete_all.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/users/id/authenticators", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/users_connected_accounts_test.rb b/test/wire/users_connected_accounts_test.rb new file mode 100644 index 000000000..d93d21b9a --- /dev/null +++ b/test/wire/users_connected_accounts_test.rb @@ -0,0 +1,38 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class UsersConnectedAccountsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_users_connected_accounts_list_with_wiremock + test_id = "users.connected_accounts.list.0" + + result = @client.users.connected_accounts.list( + id: "id", + from: "from", + take: 1, + request_options: { + additional_headers: { + "X-Test-Id" => "users.connected_accounts.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/users/id/connected-accounts", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/users_effective_permissions_sources_roles_test.rb b/test/wire/users_effective_permissions_sources_roles_test.rb new file mode 100644 index 000000000..4d8991569 --- /dev/null +++ b/test/wire/users_effective_permissions_sources_roles_test.rb @@ -0,0 +1,40 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class UsersEffectivePermissionsSourcesRolesWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_users_effective_permissions_sources_roles_list_with_wiremock + test_id = "users.effective_permissions.sources.roles.list.0" + + result = @client.users.effective_permissions.sources.roles.list( + id: "id", + from: "from", + take: 1, + resource_server_identifier: "resource_server_identifier", + permission_name: "permission_name", + request_options: { + additional_headers: { + "X-Test-Id" => "users.effective_permissions.sources.roles.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/users/id/effective-permissions/sources/effective-roles", + query_params: { "resource_server_identifier" => "resource_server_identifier", "permission_name" => "permission_name" }, + expected: 1 + ) + end +end diff --git a/test/wire/users_effective_permissions_test.rb b/test/wire/users_effective_permissions_test.rb new file mode 100644 index 000000000..9526c17be --- /dev/null +++ b/test/wire/users_effective_permissions_test.rb @@ -0,0 +1,39 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class UsersEffectivePermissionsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_users_effective_permissions_list_with_wiremock + test_id = "users.effective_permissions.list.0" + + result = @client.users.effective_permissions.list( + id: "id", + from: "from", + take: 1, + resource_server_identifier: "resource_server_identifier", + request_options: { + additional_headers: { + "X-Test-Id" => "users.effective_permissions.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/users/id/effective-permissions", + query_params: { "resource_server_identifier" => "resource_server_identifier" }, + expected: 1 + ) + end +end diff --git a/test/wire/users_effective_roles_sources_groups_test.rb b/test/wire/users_effective_roles_sources_groups_test.rb new file mode 100644 index 000000000..fe431e7ba --- /dev/null +++ b/test/wire/users_effective_roles_sources_groups_test.rb @@ -0,0 +1,39 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class UsersEffectiveRolesSourcesGroupsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_users_effective_roles_sources_groups_list_with_wiremock + test_id = "users.effective_roles.sources.groups.list.0" + + result = @client.users.effective_roles.sources.groups.list( + id: "id", + role_id: "role_id", + from: "from", + take: 1, + request_options: { + additional_headers: { + "X-Test-Id" => "users.effective_roles.sources.groups.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/users/id/effective-roles/sources/groups", + query_params: { "role_id" => "role_id" }, + expected: 1 + ) + end +end diff --git a/test/wire/users_effective_roles_test.rb b/test/wire/users_effective_roles_test.rb new file mode 100644 index 000000000..74646e298 --- /dev/null +++ b/test/wire/users_effective_roles_test.rb @@ -0,0 +1,38 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class UsersEffectiveRolesWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_users_effective_roles_list_with_wiremock + test_id = "users.effective_roles.list.0" + + result = @client.users.effective_roles.list( + id: "id", + from: "from", + take: 1, + request_options: { + additional_headers: { + "X-Test-Id" => "users.effective_roles.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/users/id/effective-roles", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/users_enrollments_test.rb b/test/wire/users_enrollments_test.rb new file mode 100644 index 000000000..a0ed265ee --- /dev/null +++ b/test/wire/users_enrollments_test.rb @@ -0,0 +1,35 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class UsersEnrollmentsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_users_enrollments_get_with_wiremock + test_id = "users.enrollments.get.0" + + @client.users.enrollments.get( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "users.enrollments.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/users/id/enrollments", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/users_groups_test.rb b/test/wire/users_groups_test.rb new file mode 100644 index 000000000..3c817c811 --- /dev/null +++ b/test/wire/users_groups_test.rb @@ -0,0 +1,41 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class UsersGroupsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_users_groups_get_with_wiremock + test_id = "users.groups.get.0" + + result = @client.users.groups.get( + id: "id", + fields: "fields", + include_fields: true, + include_totals: true, + from: "from", + take: 1, + request_options: { + additional_headers: { + "X-Test-Id" => "users.groups.get.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/users/id/groups", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/users_identities_test.rb b/test/wire/users_identities_test.rb new file mode 100644 index 000000000..6a4b91012 --- /dev/null +++ b/test/wire/users_identities_test.rb @@ -0,0 +1,58 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class UsersIdentitiesWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_users_identities_link_with_wiremock + test_id = "users.identities.link.0" + + @client.users.identities.link( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "users.identities.link.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/users/id/identities", + query_params: nil, + expected: 1 + ) + end + + def test_users_identities_delete_with_wiremock + test_id = "users.identities.delete.0" + + @client.users.identities.delete( + id: "id", + provider: "ad", + user_id: "user_id", + request_options: { + additional_headers: { + "X-Test-Id" => "users.identities.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/users/id/identities/ad/user_id", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/users_logs_test.rb b/test/wire/users_logs_test.rb new file mode 100644 index 000000000..4d4c7ef56 --- /dev/null +++ b/test/wire/users_logs_test.rb @@ -0,0 +1,40 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class UsersLogsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_users_logs_list_with_wiremock + test_id = "users.logs.list.0" + + result = @client.users.logs.list( + id: "id", + page: 1, + per_page: 1, + sort: "sort", + include_totals: true, + request_options: { + additional_headers: { + "X-Test-Id" => "users.logs.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/users/id/logs", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/users_multifactor_test.rb b/test/wire/users_multifactor_test.rb new file mode 100644 index 000000000..6c8307d8b --- /dev/null +++ b/test/wire/users_multifactor_test.rb @@ -0,0 +1,57 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class UsersMultifactorWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_users_multifactor_invalidate_remember_browser_with_wiremock + test_id = "users.multifactor.invalidate_remember_browser.0" + + @client.users.multifactor.invalidate_remember_browser( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "users.multifactor.invalidate_remember_browser.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/users/id/multifactor/actions/invalidate-remember-browser", + query_params: nil, + expected: 1 + ) + end + + def test_users_multifactor_delete_provider_with_wiremock + test_id = "users.multifactor.delete_provider.0" + + @client.users.multifactor.delete_provider( + id: "id", + provider: "duo", + request_options: { + additional_headers: { + "X-Test-Id" => "users.multifactor.delete_provider.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/users/id/multifactor/duo", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/users_organizations_test.rb b/test/wire/users_organizations_test.rb new file mode 100644 index 000000000..5862bab0e --- /dev/null +++ b/test/wire/users_organizations_test.rb @@ -0,0 +1,39 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class UsersOrganizationsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_users_organizations_list_with_wiremock + test_id = "users.organizations.list.0" + + result = @client.users.organizations.list( + id: "id", + page: 1, + per_page: 1, + include_totals: true, + request_options: { + additional_headers: { + "X-Test-Id" => "users.organizations.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/users/id/organizations", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/users_permissions_test.rb b/test/wire/users_permissions_test.rb new file mode 100644 index 000000000..d65954182 --- /dev/null +++ b/test/wire/users_permissions_test.rb @@ -0,0 +1,89 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class UsersPermissionsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_users_permissions_list_with_wiremock + test_id = "users.permissions.list.0" + + result = @client.users.permissions.list( + id: "id", + per_page: 1, + page: 1, + include_totals: true, + request_options: { + additional_headers: { + "X-Test-Id" => "users.permissions.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/users/id/permissions", + query_params: nil, + expected: 1 + ) + end + + def test_users_permissions_create_with_wiremock + test_id = "users.permissions.create.0" + + @client.users.permissions.create( + id: "id", + permissions: [{ + resource_server_identifier: "resource_server_identifier", + permission_name: "permission_name" + }], + request_options: { + additional_headers: { + "X-Test-Id" => "users.permissions.create.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/users/id/permissions", + query_params: nil, + expected: 1 + ) + end + + def test_users_permissions_delete_with_wiremock + test_id = "users.permissions.delete.0" + + @client.users.permissions.delete( + id: "id", + permissions: [{ + resource_server_identifier: "resource_server_identifier", + permission_name: "permission_name" + }], + request_options: { + additional_headers: { + "X-Test-Id" => "users.permissions.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/users/id/permissions", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/users_refresh_token_test.rb b/test/wire/users_refresh_token_test.rb new file mode 100644 index 000000000..a220c48da --- /dev/null +++ b/test/wire/users_refresh_token_test.rb @@ -0,0 +1,60 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class UsersRefreshTokenWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_users_refresh_token_list_with_wiremock + test_id = "users.refresh_token.list.0" + + result = @client.users.refresh_token.list( + user_id: "user_id", + include_totals: true, + from: "from", + take: 1, + request_options: { + additional_headers: { + "X-Test-Id" => "users.refresh_token.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/users/user_id/refresh-tokens", + query_params: nil, + expected: 1 + ) + end + + def test_users_refresh_token_delete_with_wiremock + test_id = "users.refresh_token.delete.0" + + @client.users.refresh_token.delete( + user_id: "user_id", + request_options: { + additional_headers: { + "X-Test-Id" => "users.refresh_token.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/users/user_id/refresh-tokens", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/users_risk_assessments_test.rb b/test/wire/users_risk_assessments_test.rb new file mode 100644 index 000000000..ddc182e9b --- /dev/null +++ b/test/wire/users_risk_assessments_test.rb @@ -0,0 +1,37 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class UsersRiskAssessmentsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_users_risk_assessments_clear_with_wiremock + test_id = "users.risk_assessments.clear.0" + + @client.users.risk_assessments.clear( + id: "id", + connection: "connection", + assessors: ["new-device"], + request_options: { + additional_headers: { + "X-Test-Id" => "users.risk_assessments.clear.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/users/id/risk-assessments/clear", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/users_roles_test.rb b/test/wire/users_roles_test.rb new file mode 100644 index 000000000..7006f1b83 --- /dev/null +++ b/test/wire/users_roles_test.rb @@ -0,0 +1,83 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class UsersRolesWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_users_roles_list_with_wiremock + test_id = "users.roles.list.0" + + result = @client.users.roles.list( + id: "id", + per_page: 1, + page: 1, + include_totals: true, + request_options: { + additional_headers: { + "X-Test-Id" => "users.roles.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/users/id/roles", + query_params: nil, + expected: 1 + ) + end + + def test_users_roles_assign_with_wiremock + test_id = "users.roles.assign.0" + + @client.users.roles.assign( + id: "id", + roles: ["roles"], + request_options: { + additional_headers: { + "X-Test-Id" => "users.roles.assign.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/users/id/roles", + query_params: nil, + expected: 1 + ) + end + + def test_users_roles_delete_with_wiremock + test_id = "users.roles.delete.0" + + @client.users.roles.delete( + id: "id", + roles: ["roles"], + request_options: { + additional_headers: { + "X-Test-Id" => "users.roles.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/users/id/roles", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/users_sessions_test.rb b/test/wire/users_sessions_test.rb new file mode 100644 index 000000000..8993b78b0 --- /dev/null +++ b/test/wire/users_sessions_test.rb @@ -0,0 +1,60 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class UsersSessionsWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_users_sessions_list_with_wiremock + test_id = "users.sessions.list.0" + + result = @client.users.sessions.list( + user_id: "user_id", + include_totals: true, + from: "from", + take: 1, + request_options: { + additional_headers: { + "X-Test-Id" => "users.sessions.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/users/user_id/sessions", + query_params: nil, + expected: 1 + ) + end + + def test_users_sessions_delete_with_wiremock + test_id = "users.sessions.delete.0" + + @client.users.sessions.delete( + user_id: "user_id", + request_options: { + additional_headers: { + "X-Test-Id" => "users.sessions.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/users/user_id/sessions", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/users_test.rb b/test/wire/users_test.rb new file mode 100644 index 000000000..13c29e6bc --- /dev/null +++ b/test/wire/users_test.rb @@ -0,0 +1,196 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class UsersWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_users_list_with_wiremock + test_id = "users.list.0" + + result = @client.users.list( + page: 1, + per_page: 1, + include_totals: true, + sort: "sort", + connection: "connection", + fields: "fields", + include_fields: true, + q: "q", + search_engine: "v1", + primary_order: true, + request_options: { + additional_headers: { + "X-Test-Id" => "users.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/users", + query_params: nil, + expected: 1 + ) + end + + def test_users_create_with_wiremock + test_id = "users.create.0" + + @client.users.create( + connection: "connection", + request_options: { + additional_headers: { + "X-Test-Id" => "users.create.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/users", + query_params: nil, + expected: 1 + ) + end + + def test_users_list_users_by_email_with_wiremock + test_id = "users.list_users_by_email.0" + + @client.users.list_users_by_email( + fields: "fields", + include_fields: true, + email: "email", + request_options: { + additional_headers: { + "X-Test-Id" => "users.list_users_by_email.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/users-by-email", + query_params: { "email" => "email" }, + expected: 1 + ) + end + + def test_users_get_with_wiremock + test_id = "users.get.0" + + @client.users.get( + id: "id", + fields: "fields", + include_fields: true, + request_options: { + additional_headers: { + "X-Test-Id" => "users.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/users/id", + query_params: nil, + expected: 1 + ) + end + + def test_users_delete_with_wiremock + test_id = "users.delete.0" + + @client.users.delete( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "users.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/users/id", + query_params: nil, + expected: 1 + ) + end + + def test_users_update_with_wiremock + test_id = "users.update.0" + + @client.users.update( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "users.update.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/users/id", + query_params: nil, + expected: 1 + ) + end + + def test_users_regenerate_recovery_code_with_wiremock + test_id = "users.regenerate_recovery_code.0" + + @client.users.regenerate_recovery_code( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "users.regenerate_recovery_code.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/users/id/recovery-code-regeneration", + query_params: nil, + expected: 1 + ) + end + + def test_users_revoke_access_with_wiremock + test_id = "users.revoke_access.0" + + @client.users.revoke_access( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "users.revoke_access.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/users/id/revoke-access", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/verifiable_credentials_verification_templates_test.rb b/test/wire/verifiable_credentials_verification_templates_test.rb new file mode 100644 index 000000000..75ba2ed8d --- /dev/null +++ b/test/wire/verifiable_credentials_verification_templates_test.rb @@ -0,0 +1,129 @@ +# frozen_string_literal: true + +require_relative "wiremock_test_case" + +class VerifiableCredentialsVerificationTemplatesWireTest < WireMockTestCase + def setup + super + + @client = Auth0::Management.new( + token: "", + base_url: WIREMOCK_BASE_URL + ) + end + + def test_verifiable_credentials_verification_templates_list_with_wiremock + test_id = "verifiable_credentials.verification.templates.list.0" + + result = @client.verifiable_credentials.verification.templates.list( + from: "from", + take: 1, + request_options: { + additional_headers: { + "X-Test-Id" => "verifiable_credentials.verification.templates.list.0" + } + } + ) + result.pages.next_page + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/verifiable-credentials/verification/templates", + query_params: nil, + expected: 1 + ) + end + + def test_verifiable_credentials_verification_templates_create_with_wiremock + test_id = "verifiable_credentials.verification.templates.create.0" + + @client.verifiable_credentials.verification.templates.create( + name: "name", + type: "type", + dialect: "dialect", + presentation: { + org_iso1801351m_dl: { + org_iso1801351: {} + } + }, + well_known_trusted_issuers: "well_known_trusted_issuers", + request_options: { + additional_headers: { + "X-Test-Id" => "verifiable_credentials.verification.templates.create.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "POST", + url_path: "/verifiable-credentials/verification/templates", + query_params: nil, + expected: 1 + ) + end + + def test_verifiable_credentials_verification_templates_get_with_wiremock + test_id = "verifiable_credentials.verification.templates.get.0" + + @client.verifiable_credentials.verification.templates.get( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "verifiable_credentials.verification.templates.get.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "GET", + url_path: "/verifiable-credentials/verification/templates/id", + query_params: nil, + expected: 1 + ) + end + + def test_verifiable_credentials_verification_templates_delete_with_wiremock + test_id = "verifiable_credentials.verification.templates.delete.0" + + @client.verifiable_credentials.verification.templates.delete( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "verifiable_credentials.verification.templates.delete.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "DELETE", + url_path: "/verifiable-credentials/verification/templates/id", + query_params: nil, + expected: 1 + ) + end + + def test_verifiable_credentials_verification_templates_update_with_wiremock + test_id = "verifiable_credentials.verification.templates.update.0" + + @client.verifiable_credentials.verification.templates.update( + id: "id", + request_options: { + additional_headers: { + "X-Test-Id" => "verifiable_credentials.verification.templates.update.0" + } + } + ) + + verify_request_count( + test_id: test_id, + method: "PATCH", + url_path: "/verifiable-credentials/verification/templates/id", + query_params: nil, + expected: 1 + ) + end +end diff --git a/test/wire/wire_helper.rb b/test/wire/wire_helper.rb new file mode 100644 index 000000000..ce0ea46b0 --- /dev/null +++ b/test/wire/wire_helper.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +require "test_helper" + +# WireMock container lifecycle management for wire tests. +# It automatically starts the WireMock container before tests and stops it after. +# If WIREMOCK_URL is already set (external orchestration), container management is skipped. + +WIREMOCK_COMPOSE_FILE = File.expand_path("../../wiremock/docker-compose.test.yml", __dir__) + +# Start WireMock container when this file is required +if ENV["RUN_WIRE_TESTS"] == "true" && File.exist?(WIREMOCK_COMPOSE_FILE) && !ENV["WIREMOCK_URL"] + puts "Starting WireMock container..." + warn "Failed to start WireMock container" unless system("docker compose -f #{WIREMOCK_COMPOSE_FILE} up -d --wait") + + # Discover the dynamically assigned port and set WIREMOCK_URL + port_output = `docker compose -f #{WIREMOCK_COMPOSE_FILE} port wiremock 8080 2>&1`.strip + if port_output =~ /:(\d+)$/ + ENV["WIREMOCK_URL"] = "http://localhost:#{Regexp.last_match(1)}" + puts "WireMock container is ready at #{ENV.fetch("WIREMOCK_URL", nil)}" + else + ENV["WIREMOCK_URL"] = "http://localhost:8080" + puts "WireMock container is ready (default port 8080)" + end + + # Stop WireMock container after all tests complete + Minitest.after_run do + puts "Stopping WireMock container..." + system("docker compose -f #{WIREMOCK_COMPOSE_FILE} down") + end +end diff --git a/test/wire/wiremock_test_case.rb b/test/wire/wiremock_test_case.rb new file mode 100644 index 000000000..b1aa956fc --- /dev/null +++ b/test/wire/wiremock_test_case.rb @@ -0,0 +1,81 @@ +# frozen_string_literal: true + +require "test_helper" +require_relative "wire_helper" +require "net/http" +require "json" +require "uri" +require "auth0" + +# Base test case for WireMock-based wire tests. +# +# This class provides helper methods for verifying requests made to WireMock +# and manages the test lifecycle for integration tests. +class WireMockTestCase < Minitest::Test + WIREMOCK_BASE_URL = (ENV.fetch("WIREMOCK_URL", nil) || "http://localhost:8080").freeze + WIREMOCK_ADMIN_URL = "#{WIREMOCK_BASE_URL}/__admin".freeze + + def setup + super + skip "Wire tests are disabled by default. Set RUN_WIRE_TESTS=true to enable them." unless ENV["RUN_WIRE_TESTS"] == "true" + end + + # Verifies the number of requests made to WireMock filtered by test ID for concurrency safety. + # + # @param test_id [String] The test ID used to filter requests + # @param method [String] The HTTP method (GET, POST, etc.) + # @param url_path [String] The URL path to match + # @param query_params [Hash, nil] Query parameters to match + # @param expected [Integer] Expected number of requests + def verify_request_count(test_id:, method:, url_path:, expected:, query_params: nil) + admin_url = ENV["WIREMOCK_URL"] ? "#{ENV["WIREMOCK_URL"]}/__admin" : WIREMOCK_ADMIN_URL + uri = URI("#{admin_url}/requests/find") + http = Net::HTTP.new(uri.host, uri.port) + post_request = Net::HTTP::Post.new(uri.path, { "Content-Type" => "application/json" }) + + request_body = { "method" => method, "urlPath" => url_path } + request_body["headers"] = { "X-Test-Id" => { "equalTo" => test_id } } + if query_params + request_body["queryParameters"] = query_params.transform_values do |v| + if v.is_a?(Array) + { "hasExactly" => v.map { |item| { "equalTo" => item } } } + else + { "equalTo" => v } + end + end + end + + post_request.body = request_body.to_json + response = http.request(post_request) + result = JSON.parse(response.body) + requests = result["requests"] || [] + + assert_equal expected, requests.length, "Expected #{expected} requests, found #{requests.length}" + end + + # Verifies that the Authorization header on captured requests matches the expected value. + # + # @param test_id [String] The test ID used to filter requests + # @param method [String] The HTTP method (GET, POST, etc.) + # @param url_path [String] The URL path to match + # @param expected_value [String] The expected Authorization header value + def verify_authorization_header(test_id:, method:, url_path:, expected_value:) + admin_url = ENV["WIREMOCK_URL"] ? "#{ENV["WIREMOCK_URL"]}/__admin" : WIREMOCK_ADMIN_URL + uri = URI("#{admin_url}/requests/find") + http = Net::HTTP.new(uri.host, uri.port) + post_request = Net::HTTP::Post.new(uri.path, { "Content-Type" => "application/json" }) + + request_body = { "method" => method, "urlPath" => url_path } + request_body["headers"] = { "X-Test-Id" => { "equalTo" => test_id } } + + post_request.body = request_body.to_json + response = http.request(post_request) + result = JSON.parse(response.body) + requests = result["requests"] || [] + + refute_empty requests, "No requests found for test_id #{test_id}" + actual_header = requests.first.dig("headers", "Authorization") + + assert_equal expected_value, actual_header, "Expected Authorization header '#{expected_value}', got '#{actual_header}'" + end +end diff --git a/v6_MIGRATION_GUIDE.md b/v6_MIGRATION_GUIDE.md new file mode 100644 index 000000000..2e6fc3e90 --- /dev/null +++ b/v6_MIGRATION_GUIDE.md @@ -0,0 +1,949 @@ +# V6 Migration Guide + +A guide to migrating from v5.x to v6.x of the `auth0` gem. + +- [Overview](#overview) + - [Authentication API](#authentication-api) + - [Management API](#management-api) +- [Auth0::Client Wrapper](#auth0client-wrapper) + - [Client Credentials with Automatic Token Management](#client-credentials-with-automatic-token-management) + - [Custom Token Provider](#custom-token-provider) + - [Other Authentication Modes](#other-authentication-modes) +- [Breaking Changes](#breaking-changes) + - [Gem Name](#gem-name) + - [Client Initialization](#client-initialization) + - [Resource Access Pattern](#resource-access-pattern) + - [Method Name Changes](#method-name-changes) + - [Sub-Resources Moved to Dedicated Sub-Clients](#sub-resources-moved-to-dedicated-sub-clients) + - [Parameter Style](#parameter-style) + - [Renamed Endpoints](#renamed-endpoints) + - [Error Handling](#error-handling) + - [Pagination](#pagination) + - [Removed Methods](#removed-methods) +- [Migration Steps](#migration-steps) +- [Examples](#examples) + - [User Management](#user-management) + - [Role Management](#role-management) + - [Organization Management](#organization-management) + - [Connection Management](#connection-management) + +## Overview + +### Authentication API + +This major version change does not affect the Authentication API. Any code written for the Authentication API in v5 should work in v6 with no changes. Methods like `signup`, `authorization_url`, `login`, `obtain_user_tokens`, `change_password`, `logout_url`, and `validate_id_token` are all unchanged. + +### Management API + +V6 introduces significant improvements to the Management API SDK by migrating to [Fern](https://github.com/fern-api/fern) as the code generation tool. This provides: + +- **Generated from OpenAPI**: v6 is generated from Auth0's OpenAPI specifications, ensuring consistency and accuracy +- **Better Organization**: Sub-resources are organized into dedicated sub-clients (e.g., `client.users.roles` instead of `client.get_user_roles`) +- **Consistent Naming**: Methods follow a consistent pattern (`list`, `create`, `get`, `update`, `delete`) +- **Keyword Arguments**: All methods use keyword arguments instead of positional parameters +- **Enhanced Pagination**: Automatic pagination through iterator objects +- **Automatic Retries**: Built-in retry logic for transient failures (408, 429, 5xx) + +## Auth0::Client Wrapper + +In v5, `Auth0Client` handled both authentication and management through a single class that mixed in all API modules directly. In v6, the Management API is a separate Fern-generated `Auth0::Management` client. + +`Auth0::Client` bridges the gap — it provides the same unified interface as v5, with authentication methods mixed in directly and management methods delegated to an internal `Auth0::Management` instance that is lazily created and automatically refreshed when the token changes. + +### Client Credentials with Automatic Token Management + + + + + + + + + + +
v5v6
+ +```ruby +require 'auth0' + +client = Auth0Client.new( + client_id: 'YOUR_CLIENT_ID', + client_secret: 'YOUR_CLIENT_SECRET', + domain: 'tenant.auth0.com', + api_version: 2 +) + +users = client.users(per_page: 10) +``` + + + +```ruby +require 'auth0' + +client = Auth0::Client.new( + client_id: 'YOUR_CLIENT_ID', + client_secret: 'YOUR_CLIENT_SECRET', + domain: 'tenant.auth0.com' +) + +users = client.users.list(per_page: 10) +``` + +
+ +Both versions automatically fetch a token via the client credentials grant, cache it, and re-fetch when it expires. `Auth0Client` remains available as a backward-compatible alias for `Auth0::Client`. + +### Custom Token Provider + +V6 adds a new `token_provider` option for supplying tokens from an external source: + +```ruby +client = Auth0::Client.new( + domain: 'tenant.auth0.com', + token_provider: -> { MyVault.get_auth0_token } +) +``` + +The callable is invoked whenever a new token is needed (initial fetch or after expiry). + +### Other Authentication Modes + +```ruby +# Static token (same as v5) +client = Auth0::Client.new( + domain: 'tenant.auth0.com', + token: 'YOUR_MGMT_TOKEN' +) + +# Management-only client (new in v6, no auth methods) +management = Auth0::Management.new( + token: 'YOUR_MGMT_TOKEN', + base_url: 'https://tenant.auth0.com/api/v2' +) +``` + +## Breaking Changes + +### Gem Name + +The gem name remains `auth0`, but the package has been regenerated. Update your Gemfile: + +```ruby +# v5 +gem 'auth0' # sourced from ruby-auth0 + +# v6 +gem 'auth0' # sourced from auth0-ruby-sdk +``` + +### Client Initialization + +The `api_version` parameter has been removed (v6 only supports Management API v2). The `namespace` parameter still works as an alias for `domain`. + + + + + + + + + + +
v5v6
+ +```ruby +client = Auth0Client.new( + client_id: 'ID', + client_secret: 'SECRET', + domain: 'tenant.auth0.com', + api_version: 2, + timeout: 15 +) +``` + + + +```ruby +client = Auth0::Client.new( + client_id: 'ID', + client_secret: 'SECRET', + domain: 'tenant.auth0.com', + management_timeout: 15 +) +``` + +
+ +Note: `timeout` still controls the Authentication API HTTP timeout. Use `management_timeout`, `management_max_retries`, and `management_additional_headers` to configure management API behavior. + +### Resource Access Pattern + +In v5, management methods were mixed directly into the client as top-level methods. In v6, they are accessed through resource-specific sub-clients: + +```ruby +# v5 — methods directly on client +client.users(per_page: 10) +client.user('auth0|123') +client.create_user('Username-Password-Authentication', email: 'a@b.com') + +# v6 — methods on sub-clients +client.users.list(per_page: 10) +client.users.get(id: 'auth0|123') +client.users.create(connection: 'Username-Password-Authentication', email: 'a@b.com') +``` + +### Method Name Changes + +V6 uses a consistent naming convention across all resources. The old v5 method names (and their aliases) are replaced by standardized names: + +| Pattern | v5 | v6 | +|---------|----|----| +| List all | `users(options)` / `get_users` | `users.list(**params)` | +| Get one | `user(id)` / `get_user` | `users.get(id:)` | +| Create | `create_user(conn, opts)` | `users.create(connection:, **opts)` | +| Update | `patch_user(id, body)` / `update_user` | `users.update(id:, **body)` | +| Delete | `delete_user(id)` | `users.delete(id:)` | + +This pattern applies uniformly to all resources: `roles`, `connections`, `clients`, `organizations`, `rules`, `log_streams`, etc. + +### Sub-Resources Moved to Dedicated Sub-Clients + +In v5, sub-resource operations were methods on the parent client (e.g., `get_user_roles`). In v6, they are methods on dedicated sub-clients: + +| v5 Method | v6 Method | +|-----------|-----------| +| `get_user_roles(user_id)` | `users.roles.list(id:)` | +| `add_user_roles(user_id, roles)` | `users.roles.assign(id:, roles:)` | +| `remove_user_roles(user_id, roles)` | `users.roles.delete(id:, roles:)` | +| `get_user_permissions(user_id)` | `users.permissions.list(id:)` | +| `add_user_permissions(user_id, perms)` | `users.permissions.create(id:, permissions:)` | +| `remove_user_permissions(user_id, perms)` | `users.permissions.delete(id:, permissions:)` | +| `user_logs(user_id)` | `users.logs.list(id:)` | +| `get_user_organizations(user_id)` | `users.organizations.list(id:)` | +| `get_enrollments(user_id)` | `users.enrollments.get(id:)` | +| `link_user_account(user_id, body)` | `users.identities.link(id:, **body)` | +| `unlink_user_account(user_id, provider, sec_id)` | `users.identities.delete(id:, provider:, user_id:)` | +| `user_authentication_methods(user_id)` | `users.authentication_methods.list(id:)` | +| `delete_user_authenticators(user_id)` | `users.authenticators.delete_all(id:)` | +| `invalidate_browsers(user_id)` | `users.multifactor.invalidate_remember_browser(id:)` | +| `delete_user_provider(user_id, provider)` | `users.multifactor.delete_provider(id:, provider:)` | +| `user_sessions(user_id)` | `users.sessions.list(id:)` | +| `delete_user_sessions(user_id)` | `users.sessions.delete(id:)` | +| `user_refresh_tokens(user_id)` | `users.refresh_token.list(id:)` | +| `generate_recovery_code(user_id)` | `users.regenerate_recovery_code(id:)` | +| `get_role_users(role_id)` | `roles.users.list(id:)` | +| `add_role_users(role_id, users)` | `roles.users.assign(id:, users:)` | +| `get_role_permissions(role_id)` | `roles.permissions.list(id:)` | +| `add_role_permissions(role_id, perms)` | `roles.permissions.add(id:, permissions:)` | +| `remove_role_permissions(role_id, perms)` | `roles.permissions.delete(id:, permissions:)` | +| `get_organizations_members(org_id)` | `organizations.members.list(id:)` | +| `create_organizations_members(org_id, members)` | `organizations.members.create(id:, members:)` | +| `delete_organizations_members(org_id, members)` | `organizations.members.delete(id:, members:)` | +| `get_organizations_member_roles(org_id, user_id)` | `organizations.members.roles.list(id:, user_id:)` | +| `create_organizations_member_roles(org_id, uid, roles)` | `organizations.members.roles.assign(id:, user_id:, roles:)` | +| `get_organizations_enabled_connections(org_id)` | `organizations.enabled_connections.list(id:)` | +| `create_organizations_enabled_connection(org_id, conn_id)` | `organizations.enabled_connections.add(id:, **body)` | +| `get_organizations_invites(org_id)` | `organizations.invitations.list(id:)` | +| `create_organizations_invite(org_id, options)` | `organizations.invitations.create(id:, **opts)` | +| `get_organizations_client_grants(org_id)` | `organizations.client_grants.list(id:)` | +| `client_credentials(client_id)` | `clients.credentials.list(id:)` | +| `create_client_credentials(client_id, opts)` | `clients.credentials.create(id:, **opts)` | +| `delete_client_credential(client_id, cred_id)` | `clients.credentials.delete(id:, credential_id:)` | + +### Parameter Style + +V5 used a mix of positional arguments and option hashes. V6 uses keyword arguments exclusively: + + + + + + + + + + +
v5v6
+ +```ruby +# Positional + options hash +client.create_user( + 'Username-Password-Authentication', + email: 'user@example.com', + password: 'Pass123!' +) + +# Mixed positional + keyword +client.user('auth0|123', fields: 'email,name') + +# Hash parameter +client.users( + q: 'email:*auth0*', + per_page: 10 +) +``` + + + +```ruby +# All keyword arguments +client.users.create( + connection: 'Username-Password-Authentication', + email: 'user@example.com', + password: 'Pass123!' +) + +# All keyword arguments +client.users.get(id: 'auth0|123', fields: 'email,name') + +# All keyword arguments +client.users.list( + q: 'email:*auth0*', + per_page: 10 +) +``` + +
+ +### Renamed Endpoints + +Some top-level endpoint accessors have been renamed or reorganized: + +| v5 Accessor | v6 Accessor | Notes | +|-------------|-------------|-------| +| `client.grants(...)` / `get_all_grants` | `client.user_grants.list(...)` | Renamed to `user_grants` | +| `client.users_by_email(email)` | `client.users.list_users_by_email(email:)` | Merged into Users | +| `client.blacklisted_tokens` | Removed | Use token revocation endpoints | +| `client.get_provider` / `configure_provider` | `client.emails.provider.get` / `create` | Moved under `emails.provider` | +| `client.get_tenant_settings` | `client.tenants.settings.get` | Moved under `tenants.settings` | +| `client.update_tenant_settings(body)` | `client.tenants.settings.update(**body)` | Moved under `tenants.settings` | +| `client.active_users` | `client.stats.get_active_users_count` | Moved under `stats` | +| `client.daily_stats(from, to)` | `client.stats.get_daily(from:, to:)` | Moved under `stats` | +| `client.post_email_verification(...)` | `client.tickets.verify_email(...)` | Moved under `tickets` | +| `client.post_password_change(...)` | `client.tickets.change_password(...)` | Moved under `tickets` | +| `client.prompts` / `get_prompts` | `client.prompts.get_settings` | Renamed | +| `client.patch_prompts(opts)` | `client.prompts.update_settings(**opts)` | Renamed | +| `client.custom_text(prompt, lang)` | `client.prompts.custom_text.get(prompt:, language:)` | Moved to sub-client | +| `client.put_custom_text(prompt, lang, body)` | `client.prompts.custom_text.set(prompt:, language:, **body)` | Moved to sub-client | +| `client.guardian_factors` | `client.guardian.factors.list` | Moved to sub-client | +| `client.guardian_enrollment(id)` | `client.guardian.enrollments.get(id:)` | Moved to sub-client | +| `client.check_if_ip_is_blocked(ip)` | `client.anomaly.blocks.check_ip(ip:)` | Moved to sub-client | +| `client.remove_ip_block(ip)` | `client.anomaly.blocks.unblock_ip(ip:)` | Moved to sub-client | +| `client.breached_password_detection` | `client.attack_protection.breached_password_detection.get` | Moved to sub-client | +| `client.brute_force_protection` | `client.attack_protection.brute_force_protection.get` | Moved to sub-client | +| `client.suspicious_ip_throttling` | `client.attack_protection.suspicious_ip_throttling.get` | Moved to sub-client | +| `client.branding` / `get_branding` | `client.branding.get` | Now a sub-client accessor | +| `client.branding_templates_for_universal_login` | `client.branding.templates.get_universal_login` | Moved to sub-client | + +### Error Handling + +V5 and v6 use different error class hierarchies for management API errors: + + + + + + + + + + +
v5v6
+ +```ruby +begin + client.user('nonexistent') +rescue Auth0::NotFound => e + puts "Not found: #{e.message}" +rescue Auth0::ServerError => e + puts "Server error: #{e.message}" +rescue Auth0::BadRequest => e + puts "Bad request: #{e.message}" +rescue Auth0::Exception => e + puts "Auth0 error: #{e.message}" +end +``` + + + +```ruby +begin + client.users.get(id: 'nonexistent') +rescue Auth0::Errors::NotFoundError => e + puts "Not found: #{e.message}" +rescue Auth0::Errors::ClientError => e + puts "Client error (4xx): #{e.message}" +rescue Auth0::Errors::ServerError => e + puts "Server error (5xx): #{e.message}" +rescue Auth0::Errors::ApiError => e + puts "API error: #{e.message}" +end +``` + +
+ +> **Note:** Authentication API methods still raise the v5-style errors (`Auth0::BadRequest`, `Auth0::Unauthorized`, etc.) since the authentication module is ported from v5. Only management API methods use the new `Auth0::Errors::*` namespace. + +### Pagination + +V5 required manual pagination. V6 provides iterator objects that handle pagination automatically: + + + + + + + + + + +
v5 Manual Paginationv6 Automatic Pagination
+ +```ruby +page = 0 +all_users = [] + +loop do + response = client.users( + page: page, + per_page: 50, + include_totals: true + ) + + all_users.concat(response['users']) + break if all_users.length >= response['total'] + page += 1 +end +``` + + + +```ruby +# Automatic pagination — just iterate +client.users.list(per_page: 50).each do |user| + puts user[:email] +end +``` + +
+ +### Removed Methods + +The following v5 methods have been removed or replaced: + +| v5 Method | v6 Alternative | +|-----------|---------------| +| `delete_users` (delete all users) | Removed — no equivalent (was dangerous) | +| `blacklisted_tokens` / `add_token_to_blacklist` | Removed — use token revocation | +| `delete_grant(id, user_id)` | `user_grants.delete(id:)` or `user_grants.delete_by_user_id(user_id:)` | +| `guardian_update_enrollment_verification_templates` | See `guardian.factors.sms` sub-clients | +| `guardian_twillo_provider_config` | `guardian.factors.phone.get_twilio_provider` | + +## Migration Steps + +### Step 1: Update Your Gemfile + +```ruby +# Remove old gem +# gem 'auth0', '~> 5.0' + +# Add new gem +gem 'auth0', '~> 6.0' +``` + +Then run `bundle install`. + +### Step 2: Update Client Initialization + +```ruby +# Old +client = Auth0Client.new( + client_id: ENV['AUTH0_CLIENT_ID'], + client_secret: ENV['AUTH0_CLIENT_SECRET'], + domain: ENV['AUTH0_DOMAIN'], + api_version: 2 +) + +# New +client = Auth0::Client.new( + client_id: ENV['AUTH0_CLIENT_ID'], + client_secret: ENV['AUTH0_CLIENT_SECRET'], + domain: ENV['AUTH0_DOMAIN'] +) +``` + +Remove any `api_version` parameters. Replace `timeout` with `management_timeout` if it was for management calls. + +### Step 3: Update List/Get Method Calls + +Search your codebase for direct method calls and update to the sub-client pattern: + +```ruby +# Old # New +client.users(opts) → client.users.list(**opts) +client.user(id) → client.users.get(id: id) +client.roles → client.roles.list +client.role(id) → client.roles.get(id: id) +client.connections(opts) → client.connections.list(**opts) +client.connection(id) → client.connections.get(id: id) +client.clients(opts) → client.clients.list(**opts) +client.client(id) → client.clients.get(id: id) +client.organizations(opts) → client.organizations.list(**opts) +client.organization(id) → client.organizations.get(id: id) +client.organization_by_name(n) → client.organizations.get_by_name(name: n) +client.rules(opts) → client.rules.list(**opts) +client.rule(id) → client.rules.get(id: id) +client.logs(opts) → client.logs.list(**opts) +client.log(id) → client.logs.get(id: id) +client.log_streams → client.log_streams.list +client.log_stream(id) → client.log_streams.get(id: id) +``` + +### Step 4: Update Create/Update/Delete Calls + +```ruby +# Old # New +client.create_user(conn, opts) → client.users.create(connection: conn, **opts) +client.patch_user(id, body) → client.users.update(id: id, **body) +client.delete_user(id) → client.users.delete(id: id) +client.create_role(name, data) → client.roles.create(name: name, **data) +client.update_role(id, data) → client.roles.update(id: id, **data) +client.delete_role(id) → client.roles.delete(id: id) +client.create_connection(body) → client.connections.create(**body) +client.update_connection(id, body) → client.connections.update(id: id, **body) +client.delete_connection(id) → client.connections.delete(id: id) +client.create_client(name, opts) → client.clients.create(name: name, **opts) +client.patch_client(id, opts) → client.clients.update(id: id, **opts) +client.delete_client(id) → client.clients.delete(id: id) +client.create_organization(opts) → client.organizations.create(**opts) +client.patch_organization(id, body) → client.organizations.update(id: id, **body) +client.delete_organization(id) → client.organizations.delete(id: id) +``` + +### Step 5: Update Sub-Resource Calls + +Replace flat sub-resource methods with sub-client calls: + +```ruby +# Old # New +client.get_user_roles(user_id) → client.users.roles.list(id: user_id) +client.add_user_roles(user_id, roles) → client.users.roles.assign(id: user_id, roles: roles) +client.remove_user_roles(user_id, roles) → client.users.roles.delete(id: user_id, roles: roles) +client.link_user_account(user_id, body) → client.users.identities.link(id: user_id, **body) +client.get_role_permissions(role_id) → client.roles.permissions.list(id: role_id) +client.get_organizations_members(org_id) → client.organizations.members.list(id: org_id) +client.create_organizations_members(org_id, members) → client.organizations.members.create(id: org_id, members: members) +``` + +### Step 6: Update Error Handling + +If you rescue management API errors, update the exception classes: + +```ruby +# Old +rescue Auth0::NotFound +rescue Auth0::ServerError +rescue Auth0::BadRequest + +# New (management API only) +rescue Auth0::Errors::NotFoundError +rescue Auth0::Errors::ServerError +rescue Auth0::Errors::ClientError +``` + +Authentication API errors (`Auth0::BadRequest`, `Auth0::Unauthorized`, etc.) are unchanged. + +## Examples + +### User Management + + + + + + + + + + +
v5v6
+ +```ruby +client = Auth0Client.new( + client_id: 'ID', + client_secret: 'SECRET', + domain: 'tenant.auth0.com', + api_version: 2 +) + +# Create +user = client.create_user( + 'Username-Password-Authentication', + email: 'user@example.com', + password: 'Pass123!' +) + +# List +users = client.users(per_page: 10) + +# Get +user = client.user('auth0|123') + +# Update +client.patch_user('auth0|123', + name: 'Updated Name' +) + +# Delete +client.delete_user('auth0|123') + +# Get user roles +roles = client.get_user_roles('auth0|123') + +# Add roles +client.add_user_roles('auth0|123', + ['rol_abc'] +) + +# Get user logs +logs = client.user_logs('auth0|123') + +# Find by email +users = client.users_by_email('user@example.com') +``` + + + +```ruby +client = Auth0::Client.new( + client_id: 'ID', + client_secret: 'SECRET', + domain: 'tenant.auth0.com' +) + +# Create +user = client.users.create( + connection: 'Username-Password-Authentication', + email: 'user@example.com', + password: 'Pass123!' +) + +# List +users = client.users.list(per_page: 10) + +# Get +user = client.users.get(id: 'auth0|123') + +# Update +client.users.update(id: 'auth0|123', + name: 'Updated Name' +) + +# Delete +client.users.delete(id: 'auth0|123') + +# Get user roles +roles = client.users.roles.list(id: 'auth0|123') + +# Add roles +client.users.roles.assign(id: 'auth0|123', + roles: ['rol_abc'] +) + +# Get user logs +logs = client.users.logs.list(id: 'auth0|123') + +# Find by email +users = client.users.list_users_by_email( + email: 'user@example.com' +) +``` + +
+ +### Role Management + + + + + + + + + + +
v5v6
+ +```ruby +# Create +role = client.create_role('admin', + description: 'Administrator' +) + +# List +roles = client.get_roles(per_page: 10) + +# Get +role = client.get_role('rol_abc') + +# Update +client.update_role('rol_abc', + description: 'Updated description' +) + +# Delete +client.delete_role('rol_abc') + +# Get permissions +perms = client.get_role_permissions('rol_abc') + +# Add permissions +client.add_role_permissions('rol_abc', [ + { + resource_server_identifier: 'api', + permission_name: 'read:users' + } +]) + +# Get users with role +users = client.get_role_users('rol_abc') +``` + + + +```ruby +# Create +role = client.roles.create( + name: 'admin', + description: 'Administrator' +) + +# List +roles = client.roles.list(per_page: 10) + +# Get +role = client.roles.get(id: 'rol_abc') + +# Update +client.roles.update(id: 'rol_abc', + description: 'Updated description' +) + +# Delete +client.roles.delete(id: 'rol_abc') + +# Get permissions +perms = client.roles.permissions.list(id: 'rol_abc') + +# Add permissions +client.roles.permissions.add(id: 'rol_abc', + permissions: [ + { + resource_server_identifier: 'api', + permission_name: 'read:users' + } + ] +) + +# Get users with role +users = client.roles.users.list(id: 'rol_abc') +``` + +
+ +### Organization Management + + + + + + + + + + +
v5v6
+ +```ruby +# Create +org = client.create_organization( + name: 'acme-corp', + display_name: 'Acme Corporation' +) + +# List +orgs = client.organizations + +# Get by name +org = client.organization_by_name('acme-corp') + +# Get by ID +org = client.organization('org_abc') + +# Update +client.patch_organization('org_abc', + display_name: 'New Name' +) + +# Add members +client.create_organizations_members( + 'org_abc', ['auth0|123'] +) + +# Get members +members = client.get_organizations_members('org_abc') + +# Add member roles +client.create_organizations_member_roles( + 'org_abc', 'auth0|123', ['rol_abc'] +) + +# Enable connection +client.create_organizations_enabled_connection( + 'org_abc', 'con_abc' +) + +# Create invitation +client.create_organizations_invite('org_abc', + inviter: { name: 'Admin' }, + invitee: { email: 'user@example.com' }, + client_id: 'CLIENT_ID' +) + +# Delete +client.delete_organization('org_abc') +``` + + + +```ruby +# Create +org = client.organizations.create( + name: 'acme-corp', + display_name: 'Acme Corporation' +) + +# List +orgs = client.organizations.list + +# Get by name +org = client.organizations.get_by_name(name: 'acme-corp') + +# Get by ID +org = client.organizations.get(id: 'org_abc') + +# Update +client.organizations.update(id: 'org_abc', + display_name: 'New Name' +) + +# Add members +client.organizations.members.create( + id: 'org_abc', members: ['auth0|123'] +) + +# Get members +members = client.organizations.members.list(id: 'org_abc') + +# Add member roles +client.organizations.members.roles.assign( + id: 'org_abc', user_id: 'auth0|123', roles: ['rol_abc'] +) + +# Enable connection +client.organizations.enabled_connections.add( + id: 'org_abc', connection_id: 'con_abc' +) + +# Create invitation +client.organizations.invitations.create(id: 'org_abc', + inviter: { name: 'Admin' }, + invitee: { email: 'user@example.com' }, + client_id: 'CLIENT_ID' +) + +# Delete +client.organizations.delete(id: 'org_abc') +``` + +
+ +### Connection Management + + + + + + + + + + +
v5v6
+ +```ruby +# Create +conn = client.create_connection( + name: 'my-db', + strategy: 'auth0', + enabled_clients: ['CLIENT_ID'] +) + +# List +conns = client.connections( + strategy: 'auth0', + per_page: 10 +) + +# Get +conn = client.connection('con_abc') + +# Update +client.update_connection('con_abc', + display_name: 'My Database' +) + +# Delete user from connection +client.delete_connection_user('con_abc', + 'user@example.com' +) + +# Delete +client.delete_connection('con_abc') +``` + + + +```ruby +# Create +conn = client.connections.create( + name: 'my-db', + strategy: 'auth0', + enabled_clients: ['CLIENT_ID'] +) + +# List +conns = client.connections.list( + strategy: ['auth0'], + per_page: 10 +) + +# Get +conn = client.connections.get(id: 'con_abc') + +# Update +client.connections.update(id: 'con_abc', + display_name: 'My Database' +) + +# Delete user from connection +client.connections.users.delete_by_email( + id: 'con_abc', email: 'user@example.com' +) + +# Delete +client.connections.delete(id: 'con_abc') +``` + +
diff --git a/wiremock/docker-compose.test.yml b/wiremock/docker-compose.test.yml new file mode 100644 index 000000000..95f0ae916 --- /dev/null +++ b/wiremock/docker-compose.test.yml @@ -0,0 +1,14 @@ +services: + wiremock: + image: wiremock/wiremock:3.9.1 + ports: + - "0:8080" # Use dynamic port to avoid conflicts with concurrent tests + volumes: + - ./wiremock-mappings.json:/home/wiremock/mappings/wiremock-mappings.json + command: ["--verbose"] + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8080/__admin/health"] + interval: 2s + timeout: 5s + retries: 15 + start_period: 5s diff --git a/wiremock/wiremock-mappings.json b/wiremock/wiremock-mappings.json new file mode 100644 index 000000000..9e0abf7ff --- /dev/null +++ b/wiremock/wiremock-mappings.json @@ -0,0 +1,16532 @@ +{ + "mappings": [ + { + "id": "33519415-78d5-4e20-b7ed-c0f6609b6e90", + "name": "Get actions - default", + "request": { + "urlPathTemplate": "/actions/actions", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "queryParameters": { + "triggerId": { + "equalTo": "post-login" + }, + "actionName": { + "equalTo": "actionName" + }, + "deployed": { + "equalTo": "true" + }, + "page": { + "equalTo": "1" + }, + "per_page": { + "equalTo": "1" + }, + "installed": { + "equalTo": "true" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"total\": 1.1,\n \"page\": 1.1,\n \"per_page\": 1.1,\n \"actions\": [\n {\n \"id\": \"id\",\n \"name\": \"name\",\n \"supported_triggers\": [\n {\n \"id\": \"post-login\"\n }\n ],\n \"all_changes_deployed\": true,\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"code\": \"code\",\n \"dependencies\": [\n {}\n ],\n \"runtime\": \"runtime\",\n \"secrets\": [\n {}\n ],\n \"installed_integration_id\": \"installed_integration_id\",\n \"status\": \"pending\",\n \"built_at\": \"2024-01-15T09:30:00Z\",\n \"deploy\": true,\n \"modules\": [\n {}\n ]\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "33519415-78d5-4e20-b7ed-c0f6609b6e90", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "0af03b66-13d2-4fbe-a736-0f9dae1a89da", + "name": "Create an action - default", + "request": { + "urlPathTemplate": "/actions/actions", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 201, + "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"supported_triggers\": [\n {\n \"id\": \"post-login\",\n \"version\": \"version\",\n \"status\": \"status\",\n \"runtimes\": [\n \"runtimes\"\n ],\n \"default_runtime\": \"default_runtime\",\n \"compatible_triggers\": [\n {\n \"id\": \"post-login\",\n \"version\": \"version\"\n }\n ],\n \"binding_policy\": \"trigger-bound\"\n }\n ],\n \"all_changes_deployed\": true,\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"code\": \"code\",\n \"dependencies\": [\n {\n \"name\": \"name\",\n \"version\": \"version\",\n \"registry_url\": \"registry_url\"\n }\n ],\n \"runtime\": \"runtime\",\n \"secrets\": [\n {\n \"name\": \"name\",\n \"updated_at\": \"2024-01-15T09:30:00Z\"\n }\n ],\n \"deployed_version\": {\n \"id\": \"id\",\n \"action_id\": \"action_id\",\n \"code\": \"code\",\n \"dependencies\": [\n {}\n ],\n \"deployed\": true,\n \"runtime\": \"runtime\",\n \"secrets\": [\n {}\n ],\n \"status\": \"pending\",\n \"number\": 1.1,\n \"errors\": [\n {}\n ],\n \"action\": {\n \"id\": \"id\",\n \"name\": \"name\",\n \"supported_triggers\": [\n {\n \"id\": \"post-login\"\n }\n ],\n \"all_changes_deployed\": true,\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\"\n },\n \"built_at\": \"2024-01-15T09:30:00Z\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"supported_triggers\": [\n {\n \"id\": \"post-login\"\n }\n ],\n \"modules\": [\n {}\n ]\n },\n \"installed_integration_id\": \"installed_integration_id\",\n \"integration\": {\n \"id\": \"id\",\n \"catalog_id\": \"catalog_id\",\n \"url_slug\": \"url_slug\",\n \"partner_id\": \"partner_id\",\n \"name\": \"name\",\n \"description\": \"description\",\n \"short_description\": \"short_description\",\n \"logo\": \"logo\",\n \"feature_type\": \"unspecified\",\n \"terms_of_use_url\": \"terms_of_use_url\",\n \"privacy_policy_url\": \"privacy_policy_url\",\n \"public_support_link\": \"public_support_link\",\n \"current_release\": {\n \"id\": \"id\",\n \"trigger\": {\n \"id\": \"post-login\"\n },\n \"required_secrets\": [\n {}\n ],\n \"required_configuration\": [\n {}\n ]\n },\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\"\n },\n \"status\": \"pending\",\n \"built_at\": \"2024-01-15T09:30:00Z\",\n \"deploy\": true,\n \"modules\": [\n {\n \"module_id\": \"module_id\",\n \"module_name\": \"module_name\",\n \"module_version_id\": \"module_version_id\",\n \"module_version_number\": 1\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "0af03b66-13d2-4fbe-a736-0f9dae1a89da", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "9919a572-ff14-4914-88b8-acd7f6acc41d", + "name": "Get an action - default", + "request": { + "urlPathTemplate": "/actions/actions/{id}", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"supported_triggers\": [\n {\n \"id\": \"post-login\",\n \"version\": \"version\",\n \"status\": \"status\",\n \"runtimes\": [\n \"runtimes\"\n ],\n \"default_runtime\": \"default_runtime\",\n \"compatible_triggers\": [\n {\n \"id\": \"post-login\",\n \"version\": \"version\"\n }\n ],\n \"binding_policy\": \"trigger-bound\"\n }\n ],\n \"all_changes_deployed\": true,\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"code\": \"code\",\n \"dependencies\": [\n {\n \"name\": \"name\",\n \"version\": \"version\",\n \"registry_url\": \"registry_url\"\n }\n ],\n \"runtime\": \"runtime\",\n \"secrets\": [\n {\n \"name\": \"name\",\n \"updated_at\": \"2024-01-15T09:30:00Z\"\n }\n ],\n \"deployed_version\": {\n \"id\": \"id\",\n \"action_id\": \"action_id\",\n \"code\": \"code\",\n \"dependencies\": [\n {}\n ],\n \"deployed\": true,\n \"runtime\": \"runtime\",\n \"secrets\": [\n {}\n ],\n \"status\": \"pending\",\n \"number\": 1.1,\n \"errors\": [\n {}\n ],\n \"action\": {\n \"id\": \"id\",\n \"name\": \"name\",\n \"supported_triggers\": [\n {\n \"id\": \"post-login\"\n }\n ],\n \"all_changes_deployed\": true,\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\"\n },\n \"built_at\": \"2024-01-15T09:30:00Z\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"supported_triggers\": [\n {\n \"id\": \"post-login\"\n }\n ],\n \"modules\": [\n {}\n ]\n },\n \"installed_integration_id\": \"installed_integration_id\",\n \"integration\": {\n \"id\": \"id\",\n \"catalog_id\": \"catalog_id\",\n \"url_slug\": \"url_slug\",\n \"partner_id\": \"partner_id\",\n \"name\": \"name\",\n \"description\": \"description\",\n \"short_description\": \"short_description\",\n \"logo\": \"logo\",\n \"feature_type\": \"unspecified\",\n \"terms_of_use_url\": \"terms_of_use_url\",\n \"privacy_policy_url\": \"privacy_policy_url\",\n \"public_support_link\": \"public_support_link\",\n \"current_release\": {\n \"id\": \"id\",\n \"trigger\": {\n \"id\": \"post-login\"\n },\n \"required_secrets\": [\n {}\n ],\n \"required_configuration\": [\n {}\n ]\n },\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\"\n },\n \"status\": \"pending\",\n \"built_at\": \"2024-01-15T09:30:00Z\",\n \"deploy\": true,\n \"modules\": [\n {\n \"module_id\": \"module_id\",\n \"module_name\": \"module_name\",\n \"module_version_id\": \"module_version_id\",\n \"module_version_number\": 1\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "9919a572-ff14-4914-88b8-acd7f6acc41d", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "1bb73e26-2243-414b-80fc-fcf53169d4fe", + "name": "Delete an action - default", + "request": { + "urlPathTemplate": "/actions/actions/{id}", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + }, + "queryParameters": { + "force": { + "equalTo": "true" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "1bb73e26-2243-414b-80fc-fcf53169d4fe", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "2679764d-6f00-495e-b8fb-210d140167ba", + "name": "Update an action - default", + "request": { + "urlPathTemplate": "/actions/actions/{id}", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"supported_triggers\": [\n {\n \"id\": \"post-login\",\n \"version\": \"version\",\n \"status\": \"status\",\n \"runtimes\": [\n \"runtimes\"\n ],\n \"default_runtime\": \"default_runtime\",\n \"compatible_triggers\": [\n {\n \"id\": \"post-login\",\n \"version\": \"version\"\n }\n ],\n \"binding_policy\": \"trigger-bound\"\n }\n ],\n \"all_changes_deployed\": true,\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"code\": \"code\",\n \"dependencies\": [\n {\n \"name\": \"name\",\n \"version\": \"version\",\n \"registry_url\": \"registry_url\"\n }\n ],\n \"runtime\": \"runtime\",\n \"secrets\": [\n {\n \"name\": \"name\",\n \"updated_at\": \"2024-01-15T09:30:00Z\"\n }\n ],\n \"deployed_version\": {\n \"id\": \"id\",\n \"action_id\": \"action_id\",\n \"code\": \"code\",\n \"dependencies\": [\n {}\n ],\n \"deployed\": true,\n \"runtime\": \"runtime\",\n \"secrets\": [\n {}\n ],\n \"status\": \"pending\",\n \"number\": 1.1,\n \"errors\": [\n {}\n ],\n \"action\": {\n \"id\": \"id\",\n \"name\": \"name\",\n \"supported_triggers\": [\n {\n \"id\": \"post-login\"\n }\n ],\n \"all_changes_deployed\": true,\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\"\n },\n \"built_at\": \"2024-01-15T09:30:00Z\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"supported_triggers\": [\n {\n \"id\": \"post-login\"\n }\n ],\n \"modules\": [\n {}\n ]\n },\n \"installed_integration_id\": \"installed_integration_id\",\n \"integration\": {\n \"id\": \"id\",\n \"catalog_id\": \"catalog_id\",\n \"url_slug\": \"url_slug\",\n \"partner_id\": \"partner_id\",\n \"name\": \"name\",\n \"description\": \"description\",\n \"short_description\": \"short_description\",\n \"logo\": \"logo\",\n \"feature_type\": \"unspecified\",\n \"terms_of_use_url\": \"terms_of_use_url\",\n \"privacy_policy_url\": \"privacy_policy_url\",\n \"public_support_link\": \"public_support_link\",\n \"current_release\": {\n \"id\": \"id\",\n \"trigger\": {\n \"id\": \"post-login\"\n },\n \"required_secrets\": [\n {}\n ],\n \"required_configuration\": [\n {}\n ]\n },\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\"\n },\n \"status\": \"pending\",\n \"built_at\": \"2024-01-15T09:30:00Z\",\n \"deploy\": true,\n \"modules\": [\n {\n \"module_id\": \"module_id\",\n \"module_name\": \"module_name\",\n \"module_version_id\": \"module_version_id\",\n \"module_version_number\": 1\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "2679764d-6f00-495e-b8fb-210d140167ba", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "0bde5116-17ac-4ea2-be52-e584711a6b70", + "name": "Deploy an action - default", + "request": { + "urlPathTemplate": "/actions/actions/{id}/deploy", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 202, + "body": "{\n \"id\": \"id\",\n \"action_id\": \"action_id\",\n \"code\": \"code\",\n \"dependencies\": [\n {\n \"name\": \"name\",\n \"version\": \"version\",\n \"registry_url\": \"registry_url\"\n }\n ],\n \"deployed\": true,\n \"runtime\": \"runtime\",\n \"secrets\": [\n {\n \"name\": \"name\",\n \"updated_at\": \"2024-01-15T09:30:00Z\"\n }\n ],\n \"status\": \"pending\",\n \"number\": 1.1,\n \"errors\": [\n {\n \"id\": \"id\",\n \"msg\": \"msg\",\n \"url\": \"url\"\n }\n ],\n \"action\": {\n \"id\": \"id\",\n \"name\": \"name\",\n \"supported_triggers\": [\n {\n \"id\": \"post-login\"\n }\n ],\n \"all_changes_deployed\": true,\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\"\n },\n \"built_at\": \"2024-01-15T09:30:00Z\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"supported_triggers\": [\n {\n \"id\": \"post-login\",\n \"version\": \"version\",\n \"status\": \"status\",\n \"runtimes\": [\n \"runtimes\"\n ],\n \"default_runtime\": \"default_runtime\",\n \"compatible_triggers\": [\n {\n \"id\": \"post-login\",\n \"version\": \"version\"\n }\n ],\n \"binding_policy\": \"trigger-bound\"\n }\n ],\n \"modules\": [\n {\n \"module_id\": \"module_id\",\n \"module_name\": \"module_name\",\n \"module_version_id\": \"module_version_id\",\n \"module_version_number\": 1\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "0bde5116-17ac-4ea2-be52-e584711a6b70", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "ebf627bb-6f85-4597-a454-0c654c35202c", + "name": "Test an Action - default", + "request": { + "urlPathTemplate": "/actions/actions/{id}/test", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"payload\": {\n \"key\": \"value\"\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "ebf627bb-6f85-4597-a454-0c654c35202c", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "e57d3d93-924c-454b-894e-3e0deab81c8a", + "name": "Get agents - default", + "request": { + "urlPathTemplate": "/agents", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "queryParameters": { + "from": { + "equalTo": "from" + }, + "take": { + "equalTo": "1" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"agents\": [\n {\n \"agent_id\": \"agent_id\",\n \"name\": \"name\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"external_agent_id\": \"external_agent_id\",\n \"metadata\": {\n \"key\": \"value\"\n }\n }\n ],\n \"next\": \"next\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "e57d3d93-924c-454b-894e-3e0deab81c8a", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "95ffdeb2-8e4d-45a8-b3e6-dfee451101bc", + "name": "Create an agent - default", + "request": { + "urlPathTemplate": "/agents", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 201, + "body": "{\n \"agent_id\": \"agent_id\",\n \"name\": \"name\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"external_agent_id\": \"external_agent_id\",\n \"metadata\": {\n \"key\": \"value\"\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "95ffdeb2-8e4d-45a8-b3e6-dfee451101bc", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "e6eacf15-64ae-4475-9825-02e2304fc092", + "name": "Get an agent - default", + "request": { + "urlPathTemplate": "/agents/{id}", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"agent_id\": \"agent_id\",\n \"name\": \"name\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"external_agent_id\": \"external_agent_id\",\n \"metadata\": {\n \"key\": \"value\"\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "e6eacf15-64ae-4475-9825-02e2304fc092", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "7077fe4c-7880-4955-9e36-8e52330fb15a", + "name": "Delete an agent - default", + "request": { + "urlPathTemplate": "/agents/{id}", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "7077fe4c-7880-4955-9e36-8e52330fb15a", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "b357e80d-57fc-4f4a-becb-184125842929", + "name": "Update an agent - default", + "request": { + "urlPathTemplate": "/agents/{id}", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"agent_id\": \"agent_id\",\n \"name\": \"name\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"external_agent_id\": \"external_agent_id\",\n \"metadata\": {\n \"key\": \"value\"\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "b357e80d-57fc-4f4a-becb-184125842929", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "0f76d290-6b70-4f62-abc8-3760917fe787", + "name": "Get branding settings - default", + "request": { + "urlPathTemplate": "/branding", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"colors\": {\n \"primary\": \"primary\",\n \"page_background\": \"page_background\"\n },\n \"favicon_url\": \"favicon_url\",\n \"logo_url\": \"logo_url\",\n \"font\": {\n \"url\": \"url\"\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "0f76d290-6b70-4f62-abc8-3760917fe787", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "9ca9e729-0745-457c-828d-37f7c8ab1698", + "name": "Update branding settings - default", + "request": { + "urlPathTemplate": "/branding", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"colors\": {\n \"primary\": \"primary\",\n \"page_background\": \"page_background\"\n },\n \"favicon_url\": \"favicon_url\",\n \"logo_url\": \"logo_url\",\n \"font\": {\n \"url\": \"url\"\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "9ca9e729-0745-457c-828d-37f7c8ab1698", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "5dbe0859-fbb5-4eb1-a803-8132e840e762", + "name": "Get client grants - default", + "request": { + "urlPathTemplate": "/client-grants", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "queryParameters": { + "include_totals": { + "equalTo": "true" + }, + "from": { + "equalTo": "from" + }, + "take": { + "equalTo": "1" + }, + "audience": { + "equalTo": "audience" + }, + "client_id": { + "equalTo": "client_id" + }, + "allow_any_organization": { + "equalTo": "true" + }, + "subject_type": { + "equalTo": "client" + }, + "default_for": { + "equalTo": "third_party_clients" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"next\": \"next\",\n \"client_grants\": [\n {\n \"id\": \"id\",\n \"client_id\": \"client_id\",\n \"audience\": \"audience\",\n \"scope\": [\n \"scope\"\n ],\n \"organization_usage\": \"deny\",\n \"allow_any_organization\": true,\n \"default_for\": \"third_party_clients\",\n \"is_system\": true,\n \"subject_type\": \"client\",\n \"authorization_details_types\": [\n \"authorization_details_types\"\n ],\n \"allow_all_scopes\": true\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "5dbe0859-fbb5-4eb1-a803-8132e840e762", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "006f7f26-5002-4b98-a65f-39f8aee8e968", + "name": "Create client grant - default", + "request": { + "urlPathTemplate": "/client-grants", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 201, + "body": "{\n \"id\": \"id\",\n \"client_id\": \"client_id\",\n \"audience\": \"audience\",\n \"scope\": [\n \"scope\"\n ],\n \"organization_usage\": \"deny\",\n \"allow_any_organization\": true,\n \"default_for\": \"third_party_clients\",\n \"is_system\": true,\n \"subject_type\": \"client\",\n \"authorization_details_types\": [\n \"authorization_details_types\"\n ],\n \"allow_all_scopes\": true\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "006f7f26-5002-4b98-a65f-39f8aee8e968", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "03f565a5-e2d6-4f29-ac5c-7e1d2bd25c37", + "name": "Get client grant - default", + "request": { + "urlPathTemplate": "/client-grants/{id}", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"client_id\": \"client_id\",\n \"audience\": \"audience\",\n \"scope\": [\n \"scope\"\n ],\n \"organization_usage\": \"deny\",\n \"allow_any_organization\": true,\n \"default_for\": \"third_party_clients\",\n \"is_system\": true,\n \"subject_type\": \"client\",\n \"authorization_details_types\": [\n \"authorization_details_types\"\n ],\n \"allow_all_scopes\": true\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "03f565a5-e2d6-4f29-ac5c-7e1d2bd25c37", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "00010fe3-8553-4cd6-9b9a-68aad031054f", + "name": "Delete client grant - default", + "request": { + "urlPathTemplate": "/client-grants/{id}", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "00010fe3-8553-4cd6-9b9a-68aad031054f", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "d4a5deb2-fef3-4f0d-84ab-d78760e07405", + "name": "Update client grant - default", + "request": { + "urlPathTemplate": "/client-grants/{id}", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"client_id\": \"client_id\",\n \"audience\": \"audience\",\n \"scope\": [\n \"scope\"\n ],\n \"organization_usage\": \"deny\",\n \"allow_any_organization\": true,\n \"default_for\": \"third_party_clients\",\n \"is_system\": true,\n \"subject_type\": \"client\",\n \"authorization_details_types\": [\n \"authorization_details_types\"\n ],\n \"allow_all_scopes\": true\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "d4a5deb2-fef3-4f0d-84ab-d78760e07405", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "e9057410-f073-4b5b-83dc-dc4d5625ef27", + "name": "Get clients - default", + "request": { + "urlPathTemplate": "/clients", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "queryParameters": { + "fields": { + "equalTo": "fields" + }, + "include_fields": { + "equalTo": "true" + }, + "page": { + "equalTo": "1" + }, + "per_page": { + "equalTo": "1" + }, + "include_totals": { + "equalTo": "true" + }, + "is_global": { + "equalTo": "true" + }, + "is_first_party": { + "equalTo": "true" + }, + "app_type": { + "equalTo": "app_type" + }, + "external_client_id": { + "equalTo": "external_client_id" + }, + "q": { + "equalTo": "q" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"start\": 1.1,\n \"limit\": 1.1,\n \"total\": 1.1,\n \"clients\": [\n {\n \"client_id\": \"client_id\",\n \"tenant\": \"tenant\",\n \"name\": \"name\",\n \"description\": \"description\",\n \"global\": true,\n \"client_secret\": \"client_secret\",\n \"app_type\": \"native\",\n \"logo_uri\": \"logo_uri\",\n \"is_first_party\": true,\n \"oidc_conformant\": true,\n \"callbacks\": [\n \"callbacks\"\n ],\n \"allowed_origins\": [\n \"allowed_origins\"\n ],\n \"web_origins\": [\n \"web_origins\"\n ],\n \"client_aliases\": [\n \"client_aliases\"\n ],\n \"allowed_clients\": [\n \"allowed_clients\"\n ],\n \"allowed_logout_urls\": [\n \"allowed_logout_urls\"\n ],\n \"grant_types\": [\n \"grant_types\"\n ],\n \"signing_keys\": [\n {}\n ],\n \"sso\": true,\n \"sso_disabled\": true,\n \"cross_origin_authentication\": true,\n \"cross_origin_loc\": \"cross_origin_loc\",\n \"custom_login_page_on\": true,\n \"custom_login_page\": \"custom_login_page\",\n \"custom_login_page_preview\": \"custom_login_page_preview\",\n \"form_template\": \"form_template\",\n \"token_endpoint_auth_method\": \"none\",\n \"is_token_endpoint_ip_header_trusted\": true,\n \"client_metadata\": {\n \"key\": \"value\"\n },\n \"initiate_login_uri\": \"initiate_login_uri\",\n \"refresh_token\": {\n \"rotation_type\": \"rotating\",\n \"expiration_type\": \"expiring\"\n },\n \"default_organization\": {\n \"organization_id\": \"organization_id\",\n \"flows\": [\n \"client_credentials\"\n ]\n },\n \"organization_usage\": \"deny\",\n \"organization_require_behavior\": \"no_prompt\",\n \"organization_discovery_methods\": [\n \"email\"\n ],\n \"require_pushed_authorization_requests\": true,\n \"require_proof_of_possession\": true,\n \"token_vault_privileged_access\": {\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ]\n },\n \"compliance_level\": \"none\",\n \"skip_non_verifiable_callback_uri_confirmation_prompt\": true,\n \"par_request_expiry\": 1,\n \"token_quota\": {\n \"client_credentials\": {}\n },\n \"express_configuration\": {\n \"initiate_login_uri_template\": \"initiate_login_uri_template\",\n \"user_attribute_profile_id\": \"user_attribute_profile_id\",\n \"connection_profile_id\": \"connection_profile_id\",\n \"enable_client\": true,\n \"enable_organization\": true,\n \"okta_oin_client_id\": \"okta_oin_client_id\",\n \"admin_login_domain\": \"admin_login_domain\"\n },\n \"my_organization_configuration\": {\n \"allowed_strategies\": [\n \"pingfederate\"\n ],\n \"connection_deletion_behavior\": \"allow\"\n },\n \"identity_assertion_authorization_grant\": {\n \"active\": true\n },\n \"third_party_security_mode\": \"strict\",\n \"redirection_policy\": \"allow_always\",\n \"resource_server_identifier\": \"resource_server_identifier\",\n \"async_approval_notification_channels\": [\n \"guardian-push\"\n ],\n \"external_metadata_type\": \"cimd\",\n \"external_metadata_created_by\": \"admin\",\n \"external_client_id\": \"external_client_id\",\n \"jwks_uri\": \"jwks_uri\"\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "e9057410-f073-4b5b-83dc-dc4d5625ef27", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "f689c30d-6d4c-42b6-8ab3-1dd1ca9672d6", + "name": "Create a client - default", + "request": { + "urlPathTemplate": "/clients", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 201, + "body": "{\n \"client_id\": \"client_id\",\n \"tenant\": \"tenant\",\n \"name\": \"name\",\n \"description\": \"description\",\n \"global\": true,\n \"client_secret\": \"client_secret\",\n \"app_type\": \"native\",\n \"logo_uri\": \"logo_uri\",\n \"is_first_party\": true,\n \"oidc_conformant\": true,\n \"callbacks\": [\n \"callbacks\"\n ],\n \"allowed_origins\": [\n \"allowed_origins\"\n ],\n \"web_origins\": [\n \"web_origins\"\n ],\n \"client_aliases\": [\n \"client_aliases\"\n ],\n \"allowed_clients\": [\n \"allowed_clients\"\n ],\n \"allowed_logout_urls\": [\n \"allowed_logout_urls\"\n ],\n \"session_transfer\": {\n \"can_create_session_transfer_token\": true,\n \"enforce_cascade_revocation\": true,\n \"allowed_authentication_methods\": [\n \"cookie\"\n ],\n \"enforce_device_binding\": \"ip\",\n \"allow_refresh_token\": true,\n \"enforce_online_refresh_tokens\": true,\n \"delegation\": {\n \"allow_delegated_access\": true,\n \"enforce_device_binding\": \"ip\"\n }\n },\n \"oidc_logout\": {\n \"backchannel_logout_urls\": [\n \"backchannel_logout_urls\"\n ],\n \"backchannel_logout_initiators\": {\n \"mode\": \"custom\",\n \"selected_initiators\": [\n \"rp-logout\"\n ]\n },\n \"backchannel_logout_session_metadata\": {\n \"include\": true\n }\n },\n \"grant_types\": [\n \"grant_types\"\n ],\n \"jwt_configuration\": {\n \"lifetime_in_seconds\": 1,\n \"secret_encoded\": true,\n \"scopes\": {\n \"key\": \"value\"\n },\n \"alg\": \"HS256\"\n },\n \"signing_keys\": [\n {\n \"pkcs7\": \"pkcs7\",\n \"cert\": \"cert\",\n \"subject\": \"subject\"\n }\n ],\n \"encryption_key\": {\n \"pub\": \"pub\",\n \"cert\": \"cert\",\n \"subject\": \"subject\"\n },\n \"sso\": true,\n \"sso_disabled\": true,\n \"cross_origin_authentication\": true,\n \"cross_origin_loc\": \"cross_origin_loc\",\n \"custom_login_page_on\": true,\n \"custom_login_page\": \"custom_login_page\",\n \"custom_login_page_preview\": \"custom_login_page_preview\",\n \"form_template\": \"form_template\",\n \"addons\": {\n \"aws\": {\n \"principal\": \"principal\",\n \"role\": \"role\",\n \"lifetime_in_seconds\": 1\n },\n \"azure_blob\": {\n \"accountName\": \"accountName\",\n \"storageAccessKey\": \"storageAccessKey\",\n \"containerName\": \"containerName\",\n \"blobName\": \"blobName\",\n \"expiration\": 1,\n \"signedIdentifier\": \"signedIdentifier\",\n \"blob_read\": true,\n \"blob_write\": true,\n \"blob_delete\": true,\n \"container_read\": true,\n \"container_write\": true,\n \"container_delete\": true,\n \"container_list\": true\n },\n \"azure_sb\": {\n \"namespace\": \"namespace\",\n \"sasKeyName\": \"sasKeyName\",\n \"sasKey\": \"sasKey\",\n \"entityPath\": \"entityPath\",\n \"expiration\": 1\n },\n \"rms\": {\n \"url\": \"url\"\n },\n \"mscrm\": {\n \"url\": \"url\"\n },\n \"slack\": {\n \"team\": \"team\"\n },\n \"sentry\": {\n \"org_slug\": \"org_slug\",\n \"base_url\": \"base_url\"\n },\n \"box\": {\n \"key\": \"value\"\n },\n \"cloudbees\": {\n \"key\": \"value\"\n },\n \"concur\": {\n \"key\": \"value\"\n },\n \"dropbox\": {\n \"key\": \"value\"\n },\n \"echosign\": {\n \"domain\": \"domain\"\n },\n \"egnyte\": {\n \"domain\": \"domain\"\n },\n \"firebase\": {\n \"secret\": \"secret\",\n \"private_key_id\": \"private_key_id\",\n \"private_key\": \"private_key\",\n \"client_email\": \"client_email\",\n \"lifetime_in_seconds\": 1\n },\n \"newrelic\": {\n \"account\": \"account\"\n },\n \"office365\": {\n \"domain\": \"domain\",\n \"connection\": \"connection\"\n },\n \"salesforce\": {\n \"entity_id\": \"entity_id\"\n },\n \"salesforce_api\": {\n \"clientid\": \"clientid\",\n \"principal\": \"principal\",\n \"communityName\": \"communityName\",\n \"community_url_section\": \"community_url_section\"\n },\n \"salesforce_sandbox_api\": {\n \"clientid\": \"clientid\",\n \"principal\": \"principal\",\n \"communityName\": \"communityName\",\n \"community_url_section\": \"community_url_section\"\n },\n \"samlp\": {\n \"mappings\": {\n \"key\": \"value\"\n },\n \"audience\": \"audience\",\n \"recipient\": \"recipient\",\n \"createUpnClaim\": true,\n \"mapUnknownClaimsAsIs\": true,\n \"passthroughClaimsWithNoMapping\": true,\n \"mapIdentities\": true,\n \"signatureAlgorithm\": \"signatureAlgorithm\",\n \"digestAlgorithm\": \"digestAlgorithm\",\n \"issuer\": \"issuer\",\n \"destination\": \"destination\",\n \"lifetimeInSeconds\": 1,\n \"signResponse\": true,\n \"nameIdentifierFormat\": \"nameIdentifierFormat\",\n \"nameIdentifierProbes\": [\n \"nameIdentifierProbes\"\n ],\n \"authnContextClassRef\": \"authnContextClassRef\"\n },\n \"layer\": {\n \"providerId\": \"providerId\",\n \"keyId\": \"keyId\",\n \"privateKey\": \"privateKey\",\n \"principal\": \"principal\",\n \"expiration\": 1\n },\n \"sap_api\": {\n \"clientid\": \"clientid\",\n \"usernameAttribute\": \"usernameAttribute\",\n \"tokenEndpointUrl\": \"tokenEndpointUrl\",\n \"scope\": \"scope\",\n \"servicePassword\": \"servicePassword\",\n \"nameIdentifierFormat\": \"nameIdentifierFormat\"\n },\n \"sharepoint\": {\n \"url\": \"url\",\n \"external_url\": [\n \"external_url\"\n ]\n },\n \"springcm\": {\n \"acsurl\": \"acsurl\"\n },\n \"wams\": {\n \"masterkey\": \"masterkey\"\n },\n \"wsfed\": {\n \"key\": \"value\"\n },\n \"zendesk\": {\n \"accountName\": \"accountName\"\n },\n \"zoom\": {\n \"account\": \"account\"\n },\n \"sso_integration\": {\n \"name\": \"name\",\n \"version\": \"version\"\n }\n },\n \"token_endpoint_auth_method\": \"none\",\n \"is_token_endpoint_ip_header_trusted\": true,\n \"client_metadata\": {\n \"key\": \"value\"\n },\n \"mobile\": {\n \"android\": {\n \"app_package_name\": \"app_package_name\",\n \"sha256_cert_fingerprints\": [\n \"sha256_cert_fingerprints\"\n ]\n },\n \"ios\": {\n \"team_id\": \"team_id\",\n \"app_bundle_identifier\": \"app_bundle_identifier\"\n }\n },\n \"initiate_login_uri\": \"initiate_login_uri\",\n \"native_social_login\": {\n \"apple\": {\n \"enabled\": true\n },\n \"facebook\": {\n \"enabled\": true\n },\n \"google\": {\n \"enabled\": true\n }\n },\n \"fedcm_login\": {\n \"google\": {\n \"is_enabled\": true\n }\n },\n \"refresh_token\": {\n \"rotation_type\": \"rotating\",\n \"expiration_type\": \"expiring\",\n \"leeway\": 1,\n \"token_lifetime\": 1,\n \"infinite_token_lifetime\": true,\n \"idle_token_lifetime\": 1,\n \"infinite_idle_token_lifetime\": true,\n \"policies\": [\n {\n \"audience\": \"audience\",\n \"scope\": [\n \"scope\"\n ]\n }\n ]\n },\n \"default_organization\": {\n \"organization_id\": \"organization_id\",\n \"flows\": [\n \"client_credentials\"\n ]\n },\n \"organization_usage\": \"deny\",\n \"organization_require_behavior\": \"no_prompt\",\n \"organization_discovery_methods\": [\n \"email\"\n ],\n \"client_authentication_methods\": {\n \"private_key_jwt\": {\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ]\n },\n \"tls_client_auth\": {\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ]\n },\n \"self_signed_tls_client_auth\": {\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ]\n }\n },\n \"require_pushed_authorization_requests\": true,\n \"require_proof_of_possession\": true,\n \"signed_request_object\": {\n \"required\": true,\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ]\n },\n \"token_vault_privileged_access\": {\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ],\n \"ip_allowlist\": [\n \"ip_allowlist\"\n ],\n \"grants\": [\n {\n \"connection\": \"connection\",\n \"scopes\": [\n \"scopes\"\n ]\n }\n ]\n },\n \"compliance_level\": \"none\",\n \"skip_non_verifiable_callback_uri_confirmation_prompt\": true,\n \"token_exchange\": {\n \"allow_any_profile_of_type\": [\n \"custom_authentication\"\n ]\n },\n \"par_request_expiry\": 1,\n \"token_quota\": {\n \"client_credentials\": {\n \"enforce\": true,\n \"per_day\": 1,\n \"per_hour\": 1\n }\n },\n \"express_configuration\": {\n \"initiate_login_uri_template\": \"initiate_login_uri_template\",\n \"user_attribute_profile_id\": \"user_attribute_profile_id\",\n \"connection_profile_id\": \"connection_profile_id\",\n \"enable_client\": true,\n \"enable_organization\": true,\n \"linked_clients\": [\n {\n \"client_id\": \"client_id\"\n }\n ],\n \"okta_oin_client_id\": \"okta_oin_client_id\",\n \"admin_login_domain\": \"admin_login_domain\",\n \"oin_submission_id\": \"oin_submission_id\"\n },\n \"my_organization_configuration\": {\n \"connection_profile_id\": \"connection_profile_id\",\n \"user_attribute_profile_id\": \"user_attribute_profile_id\",\n \"allowed_strategies\": [\n \"pingfederate\"\n ],\n \"connection_deletion_behavior\": \"allow\",\n \"invitation_landing_client_id\": \"invitation_landing_client_id\"\n },\n \"identity_assertion_authorization_grant\": {\n \"active\": true\n },\n \"third_party_security_mode\": \"strict\",\n \"redirection_policy\": \"allow_always\",\n \"resource_server_identifier\": \"resource_server_identifier\",\n \"async_approval_notification_channels\": [\n \"guardian-push\"\n ],\n \"external_metadata_type\": \"cimd\",\n \"external_metadata_created_by\": \"admin\",\n \"external_client_id\": \"external_client_id\",\n \"jwks_uri\": \"jwks_uri\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "f689c30d-6d4c-42b6-8ab3-1dd1ca9672d6", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "b8d4879d-c044-46cf-9b84-f94f05858081", + "name": "Preview and validate Client ID Metadata Document - default", + "request": { + "urlPathTemplate": "/clients/cimd/preview", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"client_id\": \"client_id\",\n \"errors\": [\n \"errors\"\n ],\n \"validation\": {\n \"valid\": true,\n \"violations\": [\n \"violations\"\n ],\n \"warnings\": [\n \"warnings\"\n ]\n },\n \"mapped_fields\": {\n \"external_client_id\": \"external_client_id\",\n \"name\": \"name\",\n \"app_type\": \"app_type\",\n \"callbacks\": [\n \"callbacks\"\n ],\n \"logo_uri\": \"logo_uri\",\n \"description\": \"description\",\n \"grant_types\": [\n \"grant_types\"\n ],\n \"token_endpoint_auth_method\": \"token_endpoint_auth_method\",\n \"jwks_uri\": \"jwks_uri\",\n \"client_authentication_methods\": {\n \"private_key_jwt\": {\n \"credentials\": [\n {\n \"credential_type\": \"credential_type\",\n \"kid\": \"kid\",\n \"alg\": \"alg\"\n }\n ]\n }\n }\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "b8d4879d-c044-46cf-9b84-f94f05858081", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "89ded3bf-7977-43f9-93dc-2f65f3dbc0fe", + "name": "Register or update a CIMD client via metadata URI - default", + "request": { + "urlPathTemplate": "/clients/cimd/register", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"client_id\": \"client_id\",\n \"mapped_fields\": {\n \"external_client_id\": \"external_client_id\",\n \"name\": \"name\",\n \"app_type\": \"app_type\",\n \"callbacks\": [\n \"callbacks\"\n ],\n \"logo_uri\": \"logo_uri\",\n \"description\": \"description\",\n \"grant_types\": [\n \"grant_types\"\n ],\n \"token_endpoint_auth_method\": \"token_endpoint_auth_method\",\n \"jwks_uri\": \"jwks_uri\",\n \"client_authentication_methods\": {\n \"private_key_jwt\": {\n \"credentials\": [\n {\n \"credential_type\": \"credential_type\",\n \"kid\": \"kid\",\n \"alg\": \"alg\"\n }\n ]\n }\n }\n },\n \"validation\": {\n \"valid\": true,\n \"violations\": [\n \"violations\"\n ],\n \"warnings\": [\n \"warnings\"\n ]\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "89ded3bf-7977-43f9-93dc-2f65f3dbc0fe", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "12071cdc-1adc-4b32-8601-2cd12aa19c0c", + "name": "Get client by ID - default", + "request": { + "urlPathTemplate": "/clients/{id}", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + }, + "queryParameters": { + "fields": { + "equalTo": "fields" + }, + "include_fields": { + "equalTo": "true" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"client_id\": \"client_id\",\n \"tenant\": \"tenant\",\n \"name\": \"name\",\n \"description\": \"description\",\n \"global\": true,\n \"client_secret\": \"client_secret\",\n \"app_type\": \"native\",\n \"logo_uri\": \"logo_uri\",\n \"is_first_party\": true,\n \"oidc_conformant\": true,\n \"callbacks\": [\n \"callbacks\"\n ],\n \"allowed_origins\": [\n \"allowed_origins\"\n ],\n \"web_origins\": [\n \"web_origins\"\n ],\n \"client_aliases\": [\n \"client_aliases\"\n ],\n \"allowed_clients\": [\n \"allowed_clients\"\n ],\n \"allowed_logout_urls\": [\n \"allowed_logout_urls\"\n ],\n \"session_transfer\": {\n \"can_create_session_transfer_token\": true,\n \"enforce_cascade_revocation\": true,\n \"allowed_authentication_methods\": [\n \"cookie\"\n ],\n \"enforce_device_binding\": \"ip\",\n \"allow_refresh_token\": true,\n \"enforce_online_refresh_tokens\": true,\n \"delegation\": {\n \"allow_delegated_access\": true,\n \"enforce_device_binding\": \"ip\"\n }\n },\n \"oidc_logout\": {\n \"backchannel_logout_urls\": [\n \"backchannel_logout_urls\"\n ],\n \"backchannel_logout_initiators\": {\n \"mode\": \"custom\",\n \"selected_initiators\": [\n \"rp-logout\"\n ]\n },\n \"backchannel_logout_session_metadata\": {\n \"include\": true\n }\n },\n \"grant_types\": [\n \"grant_types\"\n ],\n \"jwt_configuration\": {\n \"lifetime_in_seconds\": 1,\n \"secret_encoded\": true,\n \"scopes\": {\n \"key\": \"value\"\n },\n \"alg\": \"HS256\"\n },\n \"signing_keys\": [\n {\n \"pkcs7\": \"pkcs7\",\n \"cert\": \"cert\",\n \"subject\": \"subject\"\n }\n ],\n \"encryption_key\": {\n \"pub\": \"pub\",\n \"cert\": \"cert\",\n \"subject\": \"subject\"\n },\n \"sso\": true,\n \"sso_disabled\": true,\n \"cross_origin_authentication\": true,\n \"cross_origin_loc\": \"cross_origin_loc\",\n \"custom_login_page_on\": true,\n \"custom_login_page\": \"custom_login_page\",\n \"custom_login_page_preview\": \"custom_login_page_preview\",\n \"form_template\": \"form_template\",\n \"addons\": {\n \"aws\": {\n \"principal\": \"principal\",\n \"role\": \"role\",\n \"lifetime_in_seconds\": 1\n },\n \"azure_blob\": {\n \"accountName\": \"accountName\",\n \"storageAccessKey\": \"storageAccessKey\",\n \"containerName\": \"containerName\",\n \"blobName\": \"blobName\",\n \"expiration\": 1,\n \"signedIdentifier\": \"signedIdentifier\",\n \"blob_read\": true,\n \"blob_write\": true,\n \"blob_delete\": true,\n \"container_read\": true,\n \"container_write\": true,\n \"container_delete\": true,\n \"container_list\": true\n },\n \"azure_sb\": {\n \"namespace\": \"namespace\",\n \"sasKeyName\": \"sasKeyName\",\n \"sasKey\": \"sasKey\",\n \"entityPath\": \"entityPath\",\n \"expiration\": 1\n },\n \"rms\": {\n \"url\": \"url\"\n },\n \"mscrm\": {\n \"url\": \"url\"\n },\n \"slack\": {\n \"team\": \"team\"\n },\n \"sentry\": {\n \"org_slug\": \"org_slug\",\n \"base_url\": \"base_url\"\n },\n \"box\": {\n \"key\": \"value\"\n },\n \"cloudbees\": {\n \"key\": \"value\"\n },\n \"concur\": {\n \"key\": \"value\"\n },\n \"dropbox\": {\n \"key\": \"value\"\n },\n \"echosign\": {\n \"domain\": \"domain\"\n },\n \"egnyte\": {\n \"domain\": \"domain\"\n },\n \"firebase\": {\n \"secret\": \"secret\",\n \"private_key_id\": \"private_key_id\",\n \"private_key\": \"private_key\",\n \"client_email\": \"client_email\",\n \"lifetime_in_seconds\": 1\n },\n \"newrelic\": {\n \"account\": \"account\"\n },\n \"office365\": {\n \"domain\": \"domain\",\n \"connection\": \"connection\"\n },\n \"salesforce\": {\n \"entity_id\": \"entity_id\"\n },\n \"salesforce_api\": {\n \"clientid\": \"clientid\",\n \"principal\": \"principal\",\n \"communityName\": \"communityName\",\n \"community_url_section\": \"community_url_section\"\n },\n \"salesforce_sandbox_api\": {\n \"clientid\": \"clientid\",\n \"principal\": \"principal\",\n \"communityName\": \"communityName\",\n \"community_url_section\": \"community_url_section\"\n },\n \"samlp\": {\n \"mappings\": {\n \"key\": \"value\"\n },\n \"audience\": \"audience\",\n \"recipient\": \"recipient\",\n \"createUpnClaim\": true,\n \"mapUnknownClaimsAsIs\": true,\n \"passthroughClaimsWithNoMapping\": true,\n \"mapIdentities\": true,\n \"signatureAlgorithm\": \"signatureAlgorithm\",\n \"digestAlgorithm\": \"digestAlgorithm\",\n \"issuer\": \"issuer\",\n \"destination\": \"destination\",\n \"lifetimeInSeconds\": 1,\n \"signResponse\": true,\n \"nameIdentifierFormat\": \"nameIdentifierFormat\",\n \"nameIdentifierProbes\": [\n \"nameIdentifierProbes\"\n ],\n \"authnContextClassRef\": \"authnContextClassRef\"\n },\n \"layer\": {\n \"providerId\": \"providerId\",\n \"keyId\": \"keyId\",\n \"privateKey\": \"privateKey\",\n \"principal\": \"principal\",\n \"expiration\": 1\n },\n \"sap_api\": {\n \"clientid\": \"clientid\",\n \"usernameAttribute\": \"usernameAttribute\",\n \"tokenEndpointUrl\": \"tokenEndpointUrl\",\n \"scope\": \"scope\",\n \"servicePassword\": \"servicePassword\",\n \"nameIdentifierFormat\": \"nameIdentifierFormat\"\n },\n \"sharepoint\": {\n \"url\": \"url\",\n \"external_url\": [\n \"external_url\"\n ]\n },\n \"springcm\": {\n \"acsurl\": \"acsurl\"\n },\n \"wams\": {\n \"masterkey\": \"masterkey\"\n },\n \"wsfed\": {\n \"key\": \"value\"\n },\n \"zendesk\": {\n \"accountName\": \"accountName\"\n },\n \"zoom\": {\n \"account\": \"account\"\n },\n \"sso_integration\": {\n \"name\": \"name\",\n \"version\": \"version\"\n }\n },\n \"token_endpoint_auth_method\": \"none\",\n \"is_token_endpoint_ip_header_trusted\": true,\n \"client_metadata\": {\n \"key\": \"value\"\n },\n \"mobile\": {\n \"android\": {\n \"app_package_name\": \"app_package_name\",\n \"sha256_cert_fingerprints\": [\n \"sha256_cert_fingerprints\"\n ]\n },\n \"ios\": {\n \"team_id\": \"team_id\",\n \"app_bundle_identifier\": \"app_bundle_identifier\"\n }\n },\n \"initiate_login_uri\": \"initiate_login_uri\",\n \"native_social_login\": {\n \"apple\": {\n \"enabled\": true\n },\n \"facebook\": {\n \"enabled\": true\n },\n \"google\": {\n \"enabled\": true\n }\n },\n \"fedcm_login\": {\n \"google\": {\n \"is_enabled\": true\n }\n },\n \"refresh_token\": {\n \"rotation_type\": \"rotating\",\n \"expiration_type\": \"expiring\",\n \"leeway\": 1,\n \"token_lifetime\": 1,\n \"infinite_token_lifetime\": true,\n \"idle_token_lifetime\": 1,\n \"infinite_idle_token_lifetime\": true,\n \"policies\": [\n {\n \"audience\": \"audience\",\n \"scope\": [\n \"scope\"\n ]\n }\n ]\n },\n \"default_organization\": {\n \"organization_id\": \"organization_id\",\n \"flows\": [\n \"client_credentials\"\n ]\n },\n \"organization_usage\": \"deny\",\n \"organization_require_behavior\": \"no_prompt\",\n \"organization_discovery_methods\": [\n \"email\"\n ],\n \"client_authentication_methods\": {\n \"private_key_jwt\": {\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ]\n },\n \"tls_client_auth\": {\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ]\n },\n \"self_signed_tls_client_auth\": {\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ]\n }\n },\n \"require_pushed_authorization_requests\": true,\n \"require_proof_of_possession\": true,\n \"signed_request_object\": {\n \"required\": true,\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ]\n },\n \"token_vault_privileged_access\": {\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ],\n \"ip_allowlist\": [\n \"ip_allowlist\"\n ],\n \"grants\": [\n {\n \"connection\": \"connection\",\n \"scopes\": [\n \"scopes\"\n ]\n }\n ]\n },\n \"compliance_level\": \"none\",\n \"skip_non_verifiable_callback_uri_confirmation_prompt\": true,\n \"token_exchange\": {\n \"allow_any_profile_of_type\": [\n \"custom_authentication\"\n ]\n },\n \"par_request_expiry\": 1,\n \"token_quota\": {\n \"client_credentials\": {\n \"enforce\": true,\n \"per_day\": 1,\n \"per_hour\": 1\n }\n },\n \"express_configuration\": {\n \"initiate_login_uri_template\": \"initiate_login_uri_template\",\n \"user_attribute_profile_id\": \"user_attribute_profile_id\",\n \"connection_profile_id\": \"connection_profile_id\",\n \"enable_client\": true,\n \"enable_organization\": true,\n \"linked_clients\": [\n {\n \"client_id\": \"client_id\"\n }\n ],\n \"okta_oin_client_id\": \"okta_oin_client_id\",\n \"admin_login_domain\": \"admin_login_domain\",\n \"oin_submission_id\": \"oin_submission_id\"\n },\n \"my_organization_configuration\": {\n \"connection_profile_id\": \"connection_profile_id\",\n \"user_attribute_profile_id\": \"user_attribute_profile_id\",\n \"allowed_strategies\": [\n \"pingfederate\"\n ],\n \"connection_deletion_behavior\": \"allow\",\n \"invitation_landing_client_id\": \"invitation_landing_client_id\"\n },\n \"identity_assertion_authorization_grant\": {\n \"active\": true\n },\n \"third_party_security_mode\": \"strict\",\n \"redirection_policy\": \"allow_always\",\n \"resource_server_identifier\": \"resource_server_identifier\",\n \"async_approval_notification_channels\": [\n \"guardian-push\"\n ],\n \"external_metadata_type\": \"cimd\",\n \"external_metadata_created_by\": \"admin\",\n \"external_client_id\": \"external_client_id\",\n \"jwks_uri\": \"jwks_uri\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "12071cdc-1adc-4b32-8601-2cd12aa19c0c", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "814f5054-4723-45e8-8d89-5a7da08db0d8", + "name": "Delete a client - default", + "request": { + "urlPathTemplate": "/clients/{id}", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "814f5054-4723-45e8-8d89-5a7da08db0d8", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "b4e5dc6c-c84f-4128-b87a-50876b601f77", + "name": "Update a client - default", + "request": { + "urlPathTemplate": "/clients/{id}", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"client_id\": \"client_id\",\n \"tenant\": \"tenant\",\n \"name\": \"name\",\n \"description\": \"description\",\n \"global\": true,\n \"client_secret\": \"client_secret\",\n \"app_type\": \"native\",\n \"logo_uri\": \"logo_uri\",\n \"is_first_party\": true,\n \"oidc_conformant\": true,\n \"callbacks\": [\n \"callbacks\"\n ],\n \"allowed_origins\": [\n \"allowed_origins\"\n ],\n \"web_origins\": [\n \"web_origins\"\n ],\n \"client_aliases\": [\n \"client_aliases\"\n ],\n \"allowed_clients\": [\n \"allowed_clients\"\n ],\n \"allowed_logout_urls\": [\n \"allowed_logout_urls\"\n ],\n \"session_transfer\": {\n \"can_create_session_transfer_token\": true,\n \"enforce_cascade_revocation\": true,\n \"allowed_authentication_methods\": [\n \"cookie\"\n ],\n \"enforce_device_binding\": \"ip\",\n \"allow_refresh_token\": true,\n \"enforce_online_refresh_tokens\": true,\n \"delegation\": {\n \"allow_delegated_access\": true,\n \"enforce_device_binding\": \"ip\"\n }\n },\n \"oidc_logout\": {\n \"backchannel_logout_urls\": [\n \"backchannel_logout_urls\"\n ],\n \"backchannel_logout_initiators\": {\n \"mode\": \"custom\",\n \"selected_initiators\": [\n \"rp-logout\"\n ]\n },\n \"backchannel_logout_session_metadata\": {\n \"include\": true\n }\n },\n \"grant_types\": [\n \"grant_types\"\n ],\n \"jwt_configuration\": {\n \"lifetime_in_seconds\": 1,\n \"secret_encoded\": true,\n \"scopes\": {\n \"key\": \"value\"\n },\n \"alg\": \"HS256\"\n },\n \"signing_keys\": [\n {\n \"pkcs7\": \"pkcs7\",\n \"cert\": \"cert\",\n \"subject\": \"subject\"\n }\n ],\n \"encryption_key\": {\n \"pub\": \"pub\",\n \"cert\": \"cert\",\n \"subject\": \"subject\"\n },\n \"sso\": true,\n \"sso_disabled\": true,\n \"cross_origin_authentication\": true,\n \"cross_origin_loc\": \"cross_origin_loc\",\n \"custom_login_page_on\": true,\n \"custom_login_page\": \"custom_login_page\",\n \"custom_login_page_preview\": \"custom_login_page_preview\",\n \"form_template\": \"form_template\",\n \"addons\": {\n \"aws\": {\n \"principal\": \"principal\",\n \"role\": \"role\",\n \"lifetime_in_seconds\": 1\n },\n \"azure_blob\": {\n \"accountName\": \"accountName\",\n \"storageAccessKey\": \"storageAccessKey\",\n \"containerName\": \"containerName\",\n \"blobName\": \"blobName\",\n \"expiration\": 1,\n \"signedIdentifier\": \"signedIdentifier\",\n \"blob_read\": true,\n \"blob_write\": true,\n \"blob_delete\": true,\n \"container_read\": true,\n \"container_write\": true,\n \"container_delete\": true,\n \"container_list\": true\n },\n \"azure_sb\": {\n \"namespace\": \"namespace\",\n \"sasKeyName\": \"sasKeyName\",\n \"sasKey\": \"sasKey\",\n \"entityPath\": \"entityPath\",\n \"expiration\": 1\n },\n \"rms\": {\n \"url\": \"url\"\n },\n \"mscrm\": {\n \"url\": \"url\"\n },\n \"slack\": {\n \"team\": \"team\"\n },\n \"sentry\": {\n \"org_slug\": \"org_slug\",\n \"base_url\": \"base_url\"\n },\n \"box\": {\n \"key\": \"value\"\n },\n \"cloudbees\": {\n \"key\": \"value\"\n },\n \"concur\": {\n \"key\": \"value\"\n },\n \"dropbox\": {\n \"key\": \"value\"\n },\n \"echosign\": {\n \"domain\": \"domain\"\n },\n \"egnyte\": {\n \"domain\": \"domain\"\n },\n \"firebase\": {\n \"secret\": \"secret\",\n \"private_key_id\": \"private_key_id\",\n \"private_key\": \"private_key\",\n \"client_email\": \"client_email\",\n \"lifetime_in_seconds\": 1\n },\n \"newrelic\": {\n \"account\": \"account\"\n },\n \"office365\": {\n \"domain\": \"domain\",\n \"connection\": \"connection\"\n },\n \"salesforce\": {\n \"entity_id\": \"entity_id\"\n },\n \"salesforce_api\": {\n \"clientid\": \"clientid\",\n \"principal\": \"principal\",\n \"communityName\": \"communityName\",\n \"community_url_section\": \"community_url_section\"\n },\n \"salesforce_sandbox_api\": {\n \"clientid\": \"clientid\",\n \"principal\": \"principal\",\n \"communityName\": \"communityName\",\n \"community_url_section\": \"community_url_section\"\n },\n \"samlp\": {\n \"mappings\": {\n \"key\": \"value\"\n },\n \"audience\": \"audience\",\n \"recipient\": \"recipient\",\n \"createUpnClaim\": true,\n \"mapUnknownClaimsAsIs\": true,\n \"passthroughClaimsWithNoMapping\": true,\n \"mapIdentities\": true,\n \"signatureAlgorithm\": \"signatureAlgorithm\",\n \"digestAlgorithm\": \"digestAlgorithm\",\n \"issuer\": \"issuer\",\n \"destination\": \"destination\",\n \"lifetimeInSeconds\": 1,\n \"signResponse\": true,\n \"nameIdentifierFormat\": \"nameIdentifierFormat\",\n \"nameIdentifierProbes\": [\n \"nameIdentifierProbes\"\n ],\n \"authnContextClassRef\": \"authnContextClassRef\"\n },\n \"layer\": {\n \"providerId\": \"providerId\",\n \"keyId\": \"keyId\",\n \"privateKey\": \"privateKey\",\n \"principal\": \"principal\",\n \"expiration\": 1\n },\n \"sap_api\": {\n \"clientid\": \"clientid\",\n \"usernameAttribute\": \"usernameAttribute\",\n \"tokenEndpointUrl\": \"tokenEndpointUrl\",\n \"scope\": \"scope\",\n \"servicePassword\": \"servicePassword\",\n \"nameIdentifierFormat\": \"nameIdentifierFormat\"\n },\n \"sharepoint\": {\n \"url\": \"url\",\n \"external_url\": [\n \"external_url\"\n ]\n },\n \"springcm\": {\n \"acsurl\": \"acsurl\"\n },\n \"wams\": {\n \"masterkey\": \"masterkey\"\n },\n \"wsfed\": {\n \"key\": \"value\"\n },\n \"zendesk\": {\n \"accountName\": \"accountName\"\n },\n \"zoom\": {\n \"account\": \"account\"\n },\n \"sso_integration\": {\n \"name\": \"name\",\n \"version\": \"version\"\n }\n },\n \"token_endpoint_auth_method\": \"none\",\n \"is_token_endpoint_ip_header_trusted\": true,\n \"client_metadata\": {\n \"key\": \"value\"\n },\n \"mobile\": {\n \"android\": {\n \"app_package_name\": \"app_package_name\",\n \"sha256_cert_fingerprints\": [\n \"sha256_cert_fingerprints\"\n ]\n },\n \"ios\": {\n \"team_id\": \"team_id\",\n \"app_bundle_identifier\": \"app_bundle_identifier\"\n }\n },\n \"initiate_login_uri\": \"initiate_login_uri\",\n \"native_social_login\": {\n \"apple\": {\n \"enabled\": true\n },\n \"facebook\": {\n \"enabled\": true\n },\n \"google\": {\n \"enabled\": true\n }\n },\n \"fedcm_login\": {\n \"google\": {\n \"is_enabled\": true\n }\n },\n \"refresh_token\": {\n \"rotation_type\": \"rotating\",\n \"expiration_type\": \"expiring\",\n \"leeway\": 1,\n \"token_lifetime\": 1,\n \"infinite_token_lifetime\": true,\n \"idle_token_lifetime\": 1,\n \"infinite_idle_token_lifetime\": true,\n \"policies\": [\n {\n \"audience\": \"audience\",\n \"scope\": [\n \"scope\"\n ]\n }\n ]\n },\n \"default_organization\": {\n \"organization_id\": \"organization_id\",\n \"flows\": [\n \"client_credentials\"\n ]\n },\n \"organization_usage\": \"deny\",\n \"organization_require_behavior\": \"no_prompt\",\n \"organization_discovery_methods\": [\n \"email\"\n ],\n \"client_authentication_methods\": {\n \"private_key_jwt\": {\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ]\n },\n \"tls_client_auth\": {\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ]\n },\n \"self_signed_tls_client_auth\": {\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ]\n }\n },\n \"require_pushed_authorization_requests\": true,\n \"require_proof_of_possession\": true,\n \"signed_request_object\": {\n \"required\": true,\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ]\n },\n \"token_vault_privileged_access\": {\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ],\n \"ip_allowlist\": [\n \"ip_allowlist\"\n ],\n \"grants\": [\n {\n \"connection\": \"connection\",\n \"scopes\": [\n \"scopes\"\n ]\n }\n ]\n },\n \"compliance_level\": \"none\",\n \"skip_non_verifiable_callback_uri_confirmation_prompt\": true,\n \"token_exchange\": {\n \"allow_any_profile_of_type\": [\n \"custom_authentication\"\n ]\n },\n \"par_request_expiry\": 1,\n \"token_quota\": {\n \"client_credentials\": {\n \"enforce\": true,\n \"per_day\": 1,\n \"per_hour\": 1\n }\n },\n \"express_configuration\": {\n \"initiate_login_uri_template\": \"initiate_login_uri_template\",\n \"user_attribute_profile_id\": \"user_attribute_profile_id\",\n \"connection_profile_id\": \"connection_profile_id\",\n \"enable_client\": true,\n \"enable_organization\": true,\n \"linked_clients\": [\n {\n \"client_id\": \"client_id\"\n }\n ],\n \"okta_oin_client_id\": \"okta_oin_client_id\",\n \"admin_login_domain\": \"admin_login_domain\",\n \"oin_submission_id\": \"oin_submission_id\"\n },\n \"my_organization_configuration\": {\n \"connection_profile_id\": \"connection_profile_id\",\n \"user_attribute_profile_id\": \"user_attribute_profile_id\",\n \"allowed_strategies\": [\n \"pingfederate\"\n ],\n \"connection_deletion_behavior\": \"allow\",\n \"invitation_landing_client_id\": \"invitation_landing_client_id\"\n },\n \"identity_assertion_authorization_grant\": {\n \"active\": true\n },\n \"third_party_security_mode\": \"strict\",\n \"redirection_policy\": \"allow_always\",\n \"resource_server_identifier\": \"resource_server_identifier\",\n \"async_approval_notification_channels\": [\n \"guardian-push\"\n ],\n \"external_metadata_type\": \"cimd\",\n \"external_metadata_created_by\": \"admin\",\n \"external_client_id\": \"external_client_id\",\n \"jwks_uri\": \"jwks_uri\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "b4e5dc6c-c84f-4128-b87a-50876b601f77", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "3dbf1f11-9054-4a8d-b670-96640f3ba9a5", + "name": "Rotate a client secret - default", + "request": { + "urlPathTemplate": "/clients/{id}/rotate-secret", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"client_id\": \"client_id\",\n \"tenant\": \"tenant\",\n \"name\": \"name\",\n \"description\": \"description\",\n \"global\": true,\n \"client_secret\": \"client_secret\",\n \"app_type\": \"native\",\n \"logo_uri\": \"logo_uri\",\n \"is_first_party\": true,\n \"oidc_conformant\": true,\n \"callbacks\": [\n \"callbacks\"\n ],\n \"allowed_origins\": [\n \"allowed_origins\"\n ],\n \"web_origins\": [\n \"web_origins\"\n ],\n \"client_aliases\": [\n \"client_aliases\"\n ],\n \"allowed_clients\": [\n \"allowed_clients\"\n ],\n \"allowed_logout_urls\": [\n \"allowed_logout_urls\"\n ],\n \"session_transfer\": {\n \"can_create_session_transfer_token\": true,\n \"enforce_cascade_revocation\": true,\n \"allowed_authentication_methods\": [\n \"cookie\"\n ],\n \"enforce_device_binding\": \"ip\",\n \"allow_refresh_token\": true,\n \"enforce_online_refresh_tokens\": true,\n \"delegation\": {\n \"allow_delegated_access\": true,\n \"enforce_device_binding\": \"ip\"\n }\n },\n \"oidc_logout\": {\n \"backchannel_logout_urls\": [\n \"backchannel_logout_urls\"\n ],\n \"backchannel_logout_initiators\": {\n \"mode\": \"custom\",\n \"selected_initiators\": [\n \"rp-logout\"\n ]\n },\n \"backchannel_logout_session_metadata\": {\n \"include\": true\n }\n },\n \"grant_types\": [\n \"grant_types\"\n ],\n \"jwt_configuration\": {\n \"lifetime_in_seconds\": 1,\n \"secret_encoded\": true,\n \"scopes\": {\n \"key\": \"value\"\n },\n \"alg\": \"HS256\"\n },\n \"signing_keys\": [\n {\n \"pkcs7\": \"pkcs7\",\n \"cert\": \"cert\",\n \"subject\": \"subject\"\n }\n ],\n \"encryption_key\": {\n \"pub\": \"pub\",\n \"cert\": \"cert\",\n \"subject\": \"subject\"\n },\n \"sso\": true,\n \"sso_disabled\": true,\n \"cross_origin_authentication\": true,\n \"cross_origin_loc\": \"cross_origin_loc\",\n \"custom_login_page_on\": true,\n \"custom_login_page\": \"custom_login_page\",\n \"custom_login_page_preview\": \"custom_login_page_preview\",\n \"form_template\": \"form_template\",\n \"addons\": {\n \"aws\": {\n \"principal\": \"principal\",\n \"role\": \"role\",\n \"lifetime_in_seconds\": 1\n },\n \"azure_blob\": {\n \"accountName\": \"accountName\",\n \"storageAccessKey\": \"storageAccessKey\",\n \"containerName\": \"containerName\",\n \"blobName\": \"blobName\",\n \"expiration\": 1,\n \"signedIdentifier\": \"signedIdentifier\",\n \"blob_read\": true,\n \"blob_write\": true,\n \"blob_delete\": true,\n \"container_read\": true,\n \"container_write\": true,\n \"container_delete\": true,\n \"container_list\": true\n },\n \"azure_sb\": {\n \"namespace\": \"namespace\",\n \"sasKeyName\": \"sasKeyName\",\n \"sasKey\": \"sasKey\",\n \"entityPath\": \"entityPath\",\n \"expiration\": 1\n },\n \"rms\": {\n \"url\": \"url\"\n },\n \"mscrm\": {\n \"url\": \"url\"\n },\n \"slack\": {\n \"team\": \"team\"\n },\n \"sentry\": {\n \"org_slug\": \"org_slug\",\n \"base_url\": \"base_url\"\n },\n \"box\": {\n \"key\": \"value\"\n },\n \"cloudbees\": {\n \"key\": \"value\"\n },\n \"concur\": {\n \"key\": \"value\"\n },\n \"dropbox\": {\n \"key\": \"value\"\n },\n \"echosign\": {\n \"domain\": \"domain\"\n },\n \"egnyte\": {\n \"domain\": \"domain\"\n },\n \"firebase\": {\n \"secret\": \"secret\",\n \"private_key_id\": \"private_key_id\",\n \"private_key\": \"private_key\",\n \"client_email\": \"client_email\",\n \"lifetime_in_seconds\": 1\n },\n \"newrelic\": {\n \"account\": \"account\"\n },\n \"office365\": {\n \"domain\": \"domain\",\n \"connection\": \"connection\"\n },\n \"salesforce\": {\n \"entity_id\": \"entity_id\"\n },\n \"salesforce_api\": {\n \"clientid\": \"clientid\",\n \"principal\": \"principal\",\n \"communityName\": \"communityName\",\n \"community_url_section\": \"community_url_section\"\n },\n \"salesforce_sandbox_api\": {\n \"clientid\": \"clientid\",\n \"principal\": \"principal\",\n \"communityName\": \"communityName\",\n \"community_url_section\": \"community_url_section\"\n },\n \"samlp\": {\n \"mappings\": {\n \"key\": \"value\"\n },\n \"audience\": \"audience\",\n \"recipient\": \"recipient\",\n \"createUpnClaim\": true,\n \"mapUnknownClaimsAsIs\": true,\n \"passthroughClaimsWithNoMapping\": true,\n \"mapIdentities\": true,\n \"signatureAlgorithm\": \"signatureAlgorithm\",\n \"digestAlgorithm\": \"digestAlgorithm\",\n \"issuer\": \"issuer\",\n \"destination\": \"destination\",\n \"lifetimeInSeconds\": 1,\n \"signResponse\": true,\n \"nameIdentifierFormat\": \"nameIdentifierFormat\",\n \"nameIdentifierProbes\": [\n \"nameIdentifierProbes\"\n ],\n \"authnContextClassRef\": \"authnContextClassRef\"\n },\n \"layer\": {\n \"providerId\": \"providerId\",\n \"keyId\": \"keyId\",\n \"privateKey\": \"privateKey\",\n \"principal\": \"principal\",\n \"expiration\": 1\n },\n \"sap_api\": {\n \"clientid\": \"clientid\",\n \"usernameAttribute\": \"usernameAttribute\",\n \"tokenEndpointUrl\": \"tokenEndpointUrl\",\n \"scope\": \"scope\",\n \"servicePassword\": \"servicePassword\",\n \"nameIdentifierFormat\": \"nameIdentifierFormat\"\n },\n \"sharepoint\": {\n \"url\": \"url\",\n \"external_url\": [\n \"external_url\"\n ]\n },\n \"springcm\": {\n \"acsurl\": \"acsurl\"\n },\n \"wams\": {\n \"masterkey\": \"masterkey\"\n },\n \"wsfed\": {\n \"key\": \"value\"\n },\n \"zendesk\": {\n \"accountName\": \"accountName\"\n },\n \"zoom\": {\n \"account\": \"account\"\n },\n \"sso_integration\": {\n \"name\": \"name\",\n \"version\": \"version\"\n }\n },\n \"token_endpoint_auth_method\": \"none\",\n \"is_token_endpoint_ip_header_trusted\": true,\n \"client_metadata\": {\n \"key\": \"value\"\n },\n \"mobile\": {\n \"android\": {\n \"app_package_name\": \"app_package_name\",\n \"sha256_cert_fingerprints\": [\n \"sha256_cert_fingerprints\"\n ]\n },\n \"ios\": {\n \"team_id\": \"team_id\",\n \"app_bundle_identifier\": \"app_bundle_identifier\"\n }\n },\n \"initiate_login_uri\": \"initiate_login_uri\",\n \"native_social_login\": {\n \"apple\": {\n \"enabled\": true\n },\n \"facebook\": {\n \"enabled\": true\n },\n \"google\": {\n \"enabled\": true\n }\n },\n \"fedcm_login\": {\n \"google\": {\n \"is_enabled\": true\n }\n },\n \"refresh_token\": {\n \"rotation_type\": \"rotating\",\n \"expiration_type\": \"expiring\",\n \"leeway\": 1,\n \"token_lifetime\": 1,\n \"infinite_token_lifetime\": true,\n \"idle_token_lifetime\": 1,\n \"infinite_idle_token_lifetime\": true,\n \"policies\": [\n {\n \"audience\": \"audience\",\n \"scope\": [\n \"scope\"\n ]\n }\n ]\n },\n \"default_organization\": {\n \"organization_id\": \"organization_id\",\n \"flows\": [\n \"client_credentials\"\n ]\n },\n \"organization_usage\": \"deny\",\n \"organization_require_behavior\": \"no_prompt\",\n \"organization_discovery_methods\": [\n \"email\"\n ],\n \"client_authentication_methods\": {\n \"private_key_jwt\": {\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ]\n },\n \"tls_client_auth\": {\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ]\n },\n \"self_signed_tls_client_auth\": {\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ]\n }\n },\n \"require_pushed_authorization_requests\": true,\n \"require_proof_of_possession\": true,\n \"signed_request_object\": {\n \"required\": true,\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ]\n },\n \"token_vault_privileged_access\": {\n \"credentials\": [\n {\n \"id\": \"id\"\n }\n ],\n \"ip_allowlist\": [\n \"ip_allowlist\"\n ],\n \"grants\": [\n {\n \"connection\": \"connection\",\n \"scopes\": [\n \"scopes\"\n ]\n }\n ]\n },\n \"compliance_level\": \"none\",\n \"skip_non_verifiable_callback_uri_confirmation_prompt\": true,\n \"token_exchange\": {\n \"allow_any_profile_of_type\": [\n \"custom_authentication\"\n ]\n },\n \"par_request_expiry\": 1,\n \"token_quota\": {\n \"client_credentials\": {\n \"enforce\": true,\n \"per_day\": 1,\n \"per_hour\": 1\n }\n },\n \"express_configuration\": {\n \"initiate_login_uri_template\": \"initiate_login_uri_template\",\n \"user_attribute_profile_id\": \"user_attribute_profile_id\",\n \"connection_profile_id\": \"connection_profile_id\",\n \"enable_client\": true,\n \"enable_organization\": true,\n \"linked_clients\": [\n {\n \"client_id\": \"client_id\"\n }\n ],\n \"okta_oin_client_id\": \"okta_oin_client_id\",\n \"admin_login_domain\": \"admin_login_domain\",\n \"oin_submission_id\": \"oin_submission_id\"\n },\n \"my_organization_configuration\": {\n \"connection_profile_id\": \"connection_profile_id\",\n \"user_attribute_profile_id\": \"user_attribute_profile_id\",\n \"allowed_strategies\": [\n \"pingfederate\"\n ],\n \"connection_deletion_behavior\": \"allow\",\n \"invitation_landing_client_id\": \"invitation_landing_client_id\"\n },\n \"identity_assertion_authorization_grant\": {\n \"active\": true\n },\n \"third_party_security_mode\": \"strict\",\n \"redirection_policy\": \"allow_always\",\n \"resource_server_identifier\": \"resource_server_identifier\",\n \"async_approval_notification_channels\": [\n \"guardian-push\"\n ],\n \"external_metadata_type\": \"cimd\",\n \"external_metadata_created_by\": \"admin\",\n \"external_client_id\": \"external_client_id\",\n \"jwks_uri\": \"jwks_uri\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "3dbf1f11-9054-4a8d-b670-96640f3ba9a5", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "af1dc5c5-16af-447c-8374-e80a178ce120", + "name": "Get Connection Profiles - default", + "request": { + "urlPathTemplate": "/connection-profiles", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "queryParameters": { + "from": { + "equalTo": "from" + }, + "take": { + "equalTo": "1" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"next\": \"next\",\n \"connection_profiles\": [\n {\n \"id\": \"id\",\n \"name\": \"name\",\n \"connection_name_prefix_template\": \"connection_name_prefix_template\",\n \"enabled_features\": [\n \"scim\"\n ]\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "af1dc5c5-16af-447c-8374-e80a178ce120", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "759e4e87-7cf1-4e78-9d5e-ae5cdd0f4947", + "name": "Create a connection profile - default", + "request": { + "urlPathTemplate": "/connection-profiles", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 201, + "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"organization\": {\n \"show_as_button\": \"none\",\n \"assign_membership_on_login\": \"none\"\n },\n \"connection_name_prefix_template\": \"connection_name_prefix_template\",\n \"enabled_features\": [\n \"scim\"\n ],\n \"strategy_overrides\": {\n \"pingfederate\": {\n \"enabled_features\": [\n \"scim\"\n ]\n },\n \"ad\": {\n \"enabled_features\": [\n \"scim\"\n ]\n },\n \"adfs\": {\n \"enabled_features\": [\n \"scim\"\n ]\n },\n \"waad\": {\n \"enabled_features\": [\n \"scim\"\n ]\n },\n \"google-apps\": {\n \"enabled_features\": [\n \"scim\"\n ]\n },\n \"okta\": {\n \"enabled_features\": [\n \"scim\"\n ]\n },\n \"oidc\": {\n \"enabled_features\": [\n \"scim\"\n ]\n },\n \"samlp\": {\n \"enabled_features\": [\n \"scim\"\n ]\n }\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "759e4e87-7cf1-4e78-9d5e-ae5cdd0f4947", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "0d6f52e7-dd90-4579-a469-761793294ec5", + "name": "Get Connection Profile Templates - default", + "request": { + "urlPathTemplate": "/connection-profiles/templates", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"connection_profile_templates\": [\n {\n \"id\": \"id\",\n \"display_name\": \"display_name\"\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "0d6f52e7-dd90-4579-a469-761793294ec5", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "4e7a3895-5c6c-41cc-b32f-4303e2a973d9", + "name": "Get Connection Profile Template - default", + "request": { + "urlPathTemplate": "/connection-profiles/templates/{id}", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"display_name\": \"display_name\",\n \"template\": {\n \"name\": \"name\",\n \"organization\": {\n \"show_as_button\": \"none\",\n \"assign_membership_on_login\": \"none\"\n },\n \"connection_name_prefix_template\": \"connection_name_prefix_template\",\n \"enabled_features\": [\n \"scim\"\n ]\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "4e7a3895-5c6c-41cc-b32f-4303e2a973d9", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "d5fff7c1-6be8-487e-a8b2-45fa4f4713d9", + "name": "Get Connection Profile - default", + "request": { + "urlPathTemplate": "/connection-profiles/{id}", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"organization\": {\n \"show_as_button\": \"none\",\n \"assign_membership_on_login\": \"none\"\n },\n \"connection_name_prefix_template\": \"connection_name_prefix_template\",\n \"enabled_features\": [\n \"scim\"\n ],\n \"strategy_overrides\": {\n \"pingfederate\": {\n \"enabled_features\": [\n \"scim\"\n ]\n },\n \"ad\": {\n \"enabled_features\": [\n \"scim\"\n ]\n },\n \"adfs\": {\n \"enabled_features\": [\n \"scim\"\n ]\n },\n \"waad\": {\n \"enabled_features\": [\n \"scim\"\n ]\n },\n \"google-apps\": {\n \"enabled_features\": [\n \"scim\"\n ]\n },\n \"okta\": {\n \"enabled_features\": [\n \"scim\"\n ]\n },\n \"oidc\": {\n \"enabled_features\": [\n \"scim\"\n ]\n },\n \"samlp\": {\n \"enabled_features\": [\n \"scim\"\n ]\n }\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "d5fff7c1-6be8-487e-a8b2-45fa4f4713d9", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "fcfdce88-b3c9-4a57-8c4b-672e88f0363c", + "name": "Delete Connection Profile - default", + "request": { + "urlPathTemplate": "/connection-profiles/{id}", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "fcfdce88-b3c9-4a57-8c4b-672e88f0363c", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "77f167dc-e4c6-478a-b74f-0e1385df797c", + "name": "Modify a Connection Profile - default", + "request": { + "urlPathTemplate": "/connection-profiles/{id}", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"organization\": {\n \"show_as_button\": \"none\",\n \"assign_membership_on_login\": \"none\"\n },\n \"connection_name_prefix_template\": \"connection_name_prefix_template\",\n \"enabled_features\": [\n \"scim\"\n ],\n \"strategy_overrides\": {\n \"pingfederate\": {\n \"enabled_features\": [\n \"scim\"\n ]\n },\n \"ad\": {\n \"enabled_features\": [\n \"scim\"\n ]\n },\n \"adfs\": {\n \"enabled_features\": [\n \"scim\"\n ]\n },\n \"waad\": {\n \"enabled_features\": [\n \"scim\"\n ]\n },\n \"google-apps\": {\n \"enabled_features\": [\n \"scim\"\n ]\n },\n \"okta\": {\n \"enabled_features\": [\n \"scim\"\n ]\n },\n \"oidc\": {\n \"enabled_features\": [\n \"scim\"\n ]\n },\n \"samlp\": {\n \"enabled_features\": [\n \"scim\"\n ]\n }\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "77f167dc-e4c6-478a-b74f-0e1385df797c", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "baf70a92-2b1e-4355-a67e-a94f22a92ab5", + "name": "Get all connections - default", + "request": { + "urlPathTemplate": "/connections", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "queryParameters": { + "include_totals": { + "equalTo": "true" + }, + "from": { + "equalTo": "from" + }, + "take": { + "equalTo": "1" + }, + "strategy": { + "hasExactly": [ + { + "equalTo": "ad" + } + ] + }, + "name": { + "equalTo": "name" + }, + "fields": { + "equalTo": "fields" + }, + "include_fields": { + "equalTo": "true" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"next\": \"next\",\n \"connections\": [\n {\n \"name\": \"name\",\n \"display_name\": \"display_name\",\n \"options\": {\n \"key\": \"value\"\n },\n \"id\": \"id\",\n \"strategy\": \"strategy\",\n \"realms\": [\n \"realms\"\n ],\n \"is_domain_connection\": true,\n \"show_as_button\": true,\n \"authentication\": {\n \"active\": true\n },\n \"connected_accounts\": {\n \"active\": true\n },\n \"cross_app_access_requesting_app\": {\n \"active\": true\n },\n \"cross_app_access_resource_app\": {\n \"status\": \"enabled\"\n }\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "baf70a92-2b1e-4355-a67e-a94f22a92ab5", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "bfae8759-4528-462e-9a50-239cbd75f902", + "name": "Create a connection - default", + "request": { + "urlPathTemplate": "/connections", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 201, + "body": "{\n \"name\": \"name\",\n \"display_name\": \"display_name\",\n \"options\": {\n \"key\": \"value\"\n },\n \"id\": \"id\",\n \"strategy\": \"strategy\",\n \"realms\": [\n \"realms\"\n ],\n \"enabled_clients\": [\n \"enabled_clients\"\n ],\n \"is_domain_connection\": true,\n \"show_as_button\": true,\n \"metadata\": {\n \"key\": \"value\"\n },\n \"authentication\": {\n \"active\": true\n },\n \"connected_accounts\": {\n \"active\": true,\n \"cross_app_access\": true,\n \"allow_missing_user_id\": true\n },\n \"cross_app_access_requesting_app\": {\n \"active\": true\n },\n \"cross_app_access_resource_app\": {\n \"status\": \"enabled\"\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "bfae8759-4528-462e-9a50-239cbd75f902", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "eb9c1976-0ef9-4666-adde-d2059ed3c1a2", + "name": "Get a connection - default", + "request": { + "urlPathTemplate": "/connections/{id}", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + }, + "queryParameters": { + "fields": { + "equalTo": "fields" + }, + "include_fields": { + "equalTo": "true" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"name\": \"name\",\n \"display_name\": \"display_name\",\n \"options\": {\n \"key\": \"value\"\n },\n \"id\": \"id\",\n \"strategy\": \"strategy\",\n \"realms\": [\n \"realms\"\n ],\n \"enabled_clients\": [\n \"enabled_clients\"\n ],\n \"is_domain_connection\": true,\n \"show_as_button\": true,\n \"metadata\": {\n \"key\": \"value\"\n },\n \"authentication\": {\n \"active\": true\n },\n \"connected_accounts\": {\n \"active\": true,\n \"cross_app_access\": true,\n \"allow_missing_user_id\": true\n },\n \"cross_app_access_requesting_app\": {\n \"active\": true\n },\n \"cross_app_access_resource_app\": {\n \"status\": \"enabled\"\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "eb9c1976-0ef9-4666-adde-d2059ed3c1a2", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "e55d516f-7f79-4796-8adf-e0032183c04c", + "name": "Delete a connection - default", + "request": { + "urlPathTemplate": "/connections/{id}", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "e55d516f-7f79-4796-8adf-e0032183c04c", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "aa701672-a67f-47fc-9cfd-3d68353d9846", + "name": "Update a connection - default", + "request": { + "urlPathTemplate": "/connections/{id}", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"name\": \"name\",\n \"display_name\": \"display_name\",\n \"options\": {\n \"key\": \"value\"\n },\n \"id\": \"id\",\n \"strategy\": \"strategy\",\n \"realms\": [\n \"realms\"\n ],\n \"enabled_clients\": [\n \"enabled_clients\"\n ],\n \"is_domain_connection\": true,\n \"show_as_button\": true,\n \"metadata\": {\n \"key\": \"value\"\n },\n \"authentication\": {\n \"active\": true\n },\n \"connected_accounts\": {\n \"active\": true,\n \"cross_app_access\": true,\n \"allow_missing_user_id\": true\n },\n \"cross_app_access_requesting_app\": {\n \"active\": true\n },\n \"cross_app_access_resource_app\": {\n \"status\": \"enabled\"\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "aa701672-a67f-47fc-9cfd-3d68353d9846", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "6e5db857-6ab6-4406-a83f-fb4332f72b48", + "name": "Check connection status - default", + "request": { + "urlPathTemplate": "/connections/{id}/status", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "6e5db857-6ab6-4406-a83f-fb4332f72b48", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "c65f529d-2be4-4dc7-81c0-6d696834184e", + "name": "Get custom domains configurations - default", + "request": { + "urlPathTemplate": "/custom-domains", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "queryParameters": { + "q": { + "equalTo": "q" + }, + "fields": { + "equalTo": "fields" + }, + "include_fields": { + "equalTo": "true" + }, + "sort": { + "equalTo": "sort" + } + } + }, + "response": { + "status": 200, + "body": "[\n {\n \"custom_domain_id\": \"custom_domain_id\",\n \"domain\": \"domain\",\n \"primary\": true,\n \"is_default\": true,\n \"status\": \"pending_verification\",\n \"type\": \"auth0_managed_certs\",\n \"origin_domain_name\": \"origin_domain_name\",\n \"verification\": {\n \"methods\": [\n {\n \"name\": \"cname\",\n \"record\": \"record\"\n }\n ],\n \"status\": \"verified\",\n \"error_msg\": \"error_msg\",\n \"last_verified_at\": \"last_verified_at\"\n },\n \"custom_client_ip_header\": \"custom_client_ip_header\",\n \"tls_policy\": \"tls_policy\",\n \"domain_metadata\": {\n \"key\": \"value\"\n },\n \"certificate\": {\n \"status\": \"provisioning\",\n \"error_msg\": \"error_msg\",\n \"certificate_authority\": \"letsencrypt\",\n \"renews_before\": \"renews_before\"\n },\n \"relying_party_identifier\": \"relying_party_identifier\"\n }\n]", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "c65f529d-2be4-4dc7-81c0-6d696834184e", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "d2917b20-da7e-4962-a75f-362f99682cf9", + "name": "Configure a new custom domain - default", + "request": { + "urlPathTemplate": "/custom-domains", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 201, + "body": "{\n \"custom_domain_id\": \"custom_domain_id\",\n \"domain\": \"domain\",\n \"primary\": true,\n \"is_default\": true,\n \"status\": \"pending_verification\",\n \"type\": \"auth0_managed_certs\",\n \"verification\": {\n \"methods\": [\n {\n \"name\": \"cname\",\n \"record\": \"record\"\n }\n ],\n \"status\": \"verified\",\n \"error_msg\": \"error_msg\",\n \"last_verified_at\": \"last_verified_at\"\n },\n \"custom_client_ip_header\": \"custom_client_ip_header\",\n \"tls_policy\": \"tls_policy\",\n \"domain_metadata\": {\n \"key\": \"value\"\n },\n \"certificate\": {\n \"status\": \"provisioning\",\n \"error_msg\": \"error_msg\",\n \"certificate_authority\": \"letsencrypt\",\n \"renews_before\": \"renews_before\"\n },\n \"relying_party_identifier\": \"relying_party_identifier\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "d2917b20-da7e-4962-a75f-362f99682cf9", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "3d8672c6-5dc1-4542-a4d4-d8538c1fcb62", + "name": "Get the default domain - default", + "request": { + "urlPathTemplate": "/custom-domains/default", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"custom_domain_id\": \"custom_domain_id\",\n \"domain\": \"domain\",\n \"primary\": true,\n \"is_default\": true,\n \"status\": \"pending_verification\",\n \"type\": \"auth0_managed_certs\",\n \"origin_domain_name\": \"origin_domain_name\",\n \"verification\": {\n \"methods\": [\n {\n \"name\": \"cname\",\n \"record\": \"record\"\n }\n ],\n \"status\": \"verified\",\n \"error_msg\": \"error_msg\",\n \"last_verified_at\": \"last_verified_at\"\n },\n \"custom_client_ip_header\": \"custom_client_ip_header\",\n \"tls_policy\": \"tls_policy\",\n \"domain_metadata\": {\n \"key\": \"value\"\n },\n \"certificate\": {\n \"status\": \"provisioning\",\n \"error_msg\": \"error_msg\",\n \"certificate_authority\": \"letsencrypt\",\n \"renews_before\": \"renews_before\"\n },\n \"relying_party_identifier\": \"relying_party_identifier\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "3d8672c6-5dc1-4542-a4d4-d8538c1fcb62", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "9234f676-54a6-42a5-b92b-9d5b98462b82", + "name": "Update the default custom domain for the tenant - default", + "request": { + "urlPathTemplate": "/custom-domains/default", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"custom_domain_id\": \"custom_domain_id\",\n \"domain\": \"domain\",\n \"primary\": true,\n \"is_default\": true,\n \"status\": \"pending_verification\",\n \"type\": \"auth0_managed_certs\",\n \"origin_domain_name\": \"origin_domain_name\",\n \"verification\": {\n \"methods\": [\n {\n \"name\": \"cname\",\n \"record\": \"record\"\n }\n ],\n \"status\": \"verified\",\n \"error_msg\": \"error_msg\",\n \"last_verified_at\": \"last_verified_at\"\n },\n \"custom_client_ip_header\": \"custom_client_ip_header\",\n \"tls_policy\": \"tls_policy\",\n \"domain_metadata\": {\n \"key\": \"value\"\n },\n \"certificate\": {\n \"status\": \"provisioning\",\n \"error_msg\": \"error_msg\",\n \"certificate_authority\": \"letsencrypt\",\n \"renews_before\": \"renews_before\"\n },\n \"relying_party_identifier\": \"relying_party_identifier\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "9234f676-54a6-42a5-b92b-9d5b98462b82", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "d56d6773-eda9-4b8a-9193-025d27feecb9", + "name": "Get custom domain configuration - default", + "request": { + "urlPathTemplate": "/custom-domains/{id}", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"custom_domain_id\": \"custom_domain_id\",\n \"domain\": \"domain\",\n \"primary\": true,\n \"is_default\": true,\n \"status\": \"pending_verification\",\n \"type\": \"auth0_managed_certs\",\n \"origin_domain_name\": \"origin_domain_name\",\n \"verification\": {\n \"methods\": [\n {\n \"name\": \"cname\",\n \"record\": \"record\"\n }\n ],\n \"status\": \"verified\",\n \"error_msg\": \"error_msg\",\n \"last_verified_at\": \"last_verified_at\"\n },\n \"custom_client_ip_header\": \"custom_client_ip_header\",\n \"tls_policy\": \"tls_policy\",\n \"domain_metadata\": {\n \"key\": \"value\"\n },\n \"certificate\": {\n \"status\": \"provisioning\",\n \"error_msg\": \"error_msg\",\n \"certificate_authority\": \"letsencrypt\",\n \"renews_before\": \"renews_before\"\n },\n \"relying_party_identifier\": \"relying_party_identifier\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "d56d6773-eda9-4b8a-9193-025d27feecb9", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "0d3570c3-79d1-49e1-85ca-aa706fb2834d", + "name": "Delete custom domain configuration - default", + "request": { + "urlPathTemplate": "/custom-domains/{id}", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "0d3570c3-79d1-49e1-85ca-aa706fb2834d", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "38539a1e-230b-4e70-b2f9-7ae0f252e1b6", + "name": "Update custom domain configuration - default", + "request": { + "urlPathTemplate": "/custom-domains/{id}", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"custom_domain_id\": \"custom_domain_id\",\n \"domain\": \"domain\",\n \"primary\": true,\n \"is_default\": true,\n \"status\": \"pending_verification\",\n \"type\": \"auth0_managed_certs\",\n \"verification\": {\n \"methods\": [\n {\n \"name\": \"cname\",\n \"record\": \"record\"\n }\n ],\n \"status\": \"verified\",\n \"error_msg\": \"error_msg\",\n \"last_verified_at\": \"last_verified_at\"\n },\n \"custom_client_ip_header\": \"custom_client_ip_header\",\n \"tls_policy\": \"tls_policy\",\n \"domain_metadata\": {\n \"key\": \"value\"\n },\n \"certificate\": {\n \"status\": \"provisioning\",\n \"error_msg\": \"error_msg\",\n \"certificate_authority\": \"letsencrypt\",\n \"renews_before\": \"renews_before\"\n },\n \"relying_party_identifier\": \"relying_party_identifier\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "38539a1e-230b-4e70-b2f9-7ae0f252e1b6", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "cbb866f2-d5e1-4c1e-8e0e-9f50b3b5632c", + "name": "Test a custom domain - default", + "request": { + "urlPathTemplate": "/custom-domains/{id}/test", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"success\": true,\n \"message\": \"message\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "cbb866f2-d5e1-4c1e-8e0e-9f50b3b5632c", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "43d540a8-528e-44db-9bda-83cf1ef8a54d", + "name": "Verify a custom domain - default", + "request": { + "urlPathTemplate": "/custom-domains/{id}/verify", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"custom_domain_id\": \"custom_domain_id\",\n \"domain\": \"domain\",\n \"primary\": true,\n \"status\": \"pending_verification\",\n \"type\": \"auth0_managed_certs\",\n \"cname_api_key\": \"cname_api_key\",\n \"origin_domain_name\": \"origin_domain_name\",\n \"verification\": {\n \"methods\": [\n {\n \"name\": \"cname\",\n \"record\": \"record\"\n }\n ],\n \"status\": \"verified\",\n \"error_msg\": \"error_msg\",\n \"last_verified_at\": \"last_verified_at\"\n },\n \"custom_client_ip_header\": \"custom_client_ip_header\",\n \"tls_policy\": \"tls_policy\",\n \"domain_metadata\": {\n \"key\": \"value\"\n },\n \"certificate\": {\n \"status\": \"provisioning\",\n \"error_msg\": \"error_msg\",\n \"certificate_authority\": \"letsencrypt\",\n \"renews_before\": \"renews_before\"\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "43d540a8-528e-44db-9bda-83cf1ef8a54d", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "cfcb7751-7a75-45bf-b39f-29bac41590da", + "name": "Retrieve device credentials - default", + "request": { + "urlPathTemplate": "/device-credentials", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "queryParameters": { + "page": { + "equalTo": "1" + }, + "per_page": { + "equalTo": "1" + }, + "include_totals": { + "equalTo": "true" + }, + "fields": { + "equalTo": "fields" + }, + "include_fields": { + "equalTo": "true" + }, + "user_id": { + "equalTo": "user_id" + }, + "client_id": { + "equalTo": "client_id" + }, + "type": { + "equalTo": "public_key" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"start\": 1.1,\n \"limit\": 1.1,\n \"total\": 1.1,\n \"device_credentials\": [\n {\n \"id\": \"id\",\n \"device_name\": \"device_name\",\n \"device_id\": \"device_id\",\n \"type\": \"public_key\",\n \"user_id\": \"user_id\",\n \"client_id\": \"client_id\"\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "cfcb7751-7a75-45bf-b39f-29bac41590da", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "01818d23-c5cc-483a-90d7-5a5b11bf52e7", + "name": "Create a device public key credential - default", + "request": { + "urlPathTemplate": "/device-credentials", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 201, + "body": "{\n \"id\": \"id\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "01818d23-c5cc-483a-90d7-5a5b11bf52e7", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "d2da3529-65a2-4a85-a6c8-c60a55a085ad", + "name": "Delete a device credential - default", + "request": { + "urlPathTemplate": "/device-credentials/{id}", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "d2da3529-65a2-4a85-a6c8-c60a55a085ad", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "27d925db-b0e4-4cad-bf10-75440adb5dea", + "name": "Create an email template - default", + "request": { + "urlPathTemplate": "/email-templates", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"template\": \"verify_email\",\n \"body\": \"body\",\n \"from\": \"from\",\n \"resultUrl\": \"resultUrl\",\n \"subject\": \"subject\",\n \"syntax\": \"syntax\",\n \"urlLifetimeInSeconds\": 1.1,\n \"includeEmailInRedirect\": true,\n \"enabled\": true\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "27d925db-b0e4-4cad-bf10-75440adb5dea", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "e41992b1-8cf3-4611-9179-334debfd831a", + "name": "Get an email template - default", + "request": { + "urlPathTemplate": "/email-templates/{templateName}", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "templateName": { + "equalTo": "verify_email" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"template\": \"verify_email\",\n \"body\": \"body\",\n \"from\": \"from\",\n \"resultUrl\": \"resultUrl\",\n \"subject\": \"subject\",\n \"syntax\": \"syntax\",\n \"urlLifetimeInSeconds\": 1.1,\n \"includeEmailInRedirect\": true,\n \"enabled\": true\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "e41992b1-8cf3-4611-9179-334debfd831a", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "4b7ee5d7-df46-44d7-8747-1db6f37bcda8", + "name": "Update an email template - default", + "request": { + "urlPathTemplate": "/email-templates/{templateName}", + "method": "PUT", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "templateName": { + "equalTo": "verify_email" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"template\": \"verify_email\",\n \"body\": \"body\",\n \"from\": \"from\",\n \"resultUrl\": \"resultUrl\",\n \"subject\": \"subject\",\n \"syntax\": \"syntax\",\n \"urlLifetimeInSeconds\": 1.1,\n \"includeEmailInRedirect\": true,\n \"enabled\": true\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "4b7ee5d7-df46-44d7-8747-1db6f37bcda8", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "1489d312-c6ca-4277-a1d2-01ce4c4fdad9", + "name": "Patch an email template - default", + "request": { + "urlPathTemplate": "/email-templates/{templateName}", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "templateName": { + "equalTo": "verify_email" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"template\": \"verify_email\",\n \"body\": \"body\",\n \"from\": \"from\",\n \"resultUrl\": \"resultUrl\",\n \"subject\": \"subject\",\n \"syntax\": \"syntax\",\n \"urlLifetimeInSeconds\": 1.1,\n \"includeEmailInRedirect\": true,\n \"enabled\": true\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "1489d312-c6ca-4277-a1d2-01ce4c4fdad9", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "0fe7f4b8-58ff-4442-9339-c48f5185600f", + "name": "Get event streams - default", + "request": { + "urlPathTemplate": "/event-streams", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "queryParameters": { + "from": { + "equalTo": "from" + }, + "take": { + "equalTo": "1" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"eventStreams\": [\n {\n \"id\": \"id\",\n \"name\": \"name\",\n \"subscriptions\": [\n {}\n ],\n \"destination\": {\n \"type\": \"webhook\",\n \"configuration\": {\n \"webhook_endpoint\": \"webhook_endpoint\",\n \"webhook_authorization\": {\n \"method\": \"basic\",\n \"username\": \"username\"\n }\n }\n },\n \"status\": \"enabled\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\"\n }\n ],\n \"next\": \"next\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "0fe7f4b8-58ff-4442-9339-c48f5185600f", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "5b1a29bf-5c5c-45dd-a9fb-64f6944455e0", + "name": "Create an event stream - default", + "request": { + "urlPathTemplate": "/event-streams", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 201, + "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"subscriptions\": [\n {\n \"event_type\": \"event_type\"\n }\n ],\n \"destination\": {\n \"type\": \"webhook\",\n \"configuration\": {\n \"webhook_endpoint\": \"webhook_endpoint\",\n \"webhook_authorization\": {\n \"method\": \"basic\",\n \"username\": \"username\"\n }\n }\n },\n \"status\": \"enabled\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "5b1a29bf-5c5c-45dd-a9fb-64f6944455e0", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "85d4a52f-7433-408c-a7cc-30776d9ed641", + "name": "Get an event stream by ID - default", + "request": { + "urlPathTemplate": "/event-streams/{id}", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"subscriptions\": [\n {\n \"event_type\": \"event_type\"\n }\n ],\n \"destination\": {\n \"type\": \"webhook\",\n \"configuration\": {\n \"webhook_endpoint\": \"webhook_endpoint\",\n \"webhook_authorization\": {\n \"method\": \"basic\",\n \"username\": \"username\"\n }\n }\n },\n \"status\": \"enabled\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "85d4a52f-7433-408c-a7cc-30776d9ed641", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "4812fcc9-8f28-4732-96d4-8adb072fa78a", + "name": "Delete an event stream - default", + "request": { + "urlPathTemplate": "/event-streams/{id}", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "4812fcc9-8f28-4732-96d4-8adb072fa78a", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "08468f05-d404-462e-8fdd-ce9dca3f4e3c", + "name": "Update an event stream - default", + "request": { + "urlPathTemplate": "/event-streams/{id}", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"subscriptions\": [\n {\n \"event_type\": \"event_type\"\n }\n ],\n \"destination\": {\n \"type\": \"webhook\",\n \"configuration\": {\n \"webhook_endpoint\": \"webhook_endpoint\",\n \"webhook_authorization\": {\n \"method\": \"basic\",\n \"username\": \"username\"\n }\n }\n },\n \"status\": \"enabled\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "08468f05-d404-462e-8fdd-ce9dca3f4e3c", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "4ba115c6-e86b-4427-9ce9-8468a24916b0", + "name": "Send a test event to an event stream - default", + "request": { + "urlPathTemplate": "/event-streams/{id}/test", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 202, + "body": "{\n \"id\": \"id\",\n \"event_stream_id\": \"event_stream_id\",\n \"status\": \"failed\",\n \"event_type\": \"connection.created\",\n \"attempts\": [\n {\n \"status\": \"failed\",\n \"timestamp\": \"2024-01-15T09:30:00Z\",\n \"error_message\": \"error_message\",\n \"duration\": 1.1\n }\n ],\n \"event\": {\n \"id\": \"id\",\n \"source\": \"source\",\n \"specversion\": \"specversion\",\n \"type\": \"type\",\n \"time\": \"2024-01-15T09:30:00Z\",\n \"data\": {\n \"key\": \"value\"\n }\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "4ba115c6-e86b-4427-9ce9-8468a24916b0", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "396f02e3-b8ea-4947-982d-a5026bc0319f", + "name": "Subscribe to events via Server-Sent Events (SSE) - default", + "request": { + "urlPathTemplate": "/events", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "queryParameters": { + "from": { + "equalTo": "from" + }, + "from_timestamp": { + "equalTo": "from_timestamp" + }, + "event_type": { + "hasExactly": [ + { + "equalTo": "connection.created" + } + ] + } + } + }, + "response": { + "status": 200, + "body": "event: message\ndata: {\"offset\":\"offset\",\"event\":{\"specversion\":\"1.0\",\"type\":\"connection.created\",\"source\":\"source\",\"id\":\"id\",\"time\":\"2024-01-15T09:30:00Z\",\"data\":{\"object\":{\"id\":\"id\",\"name\":\"name\",\"strategy\":\"oidc\"},\"context\":{\"tenant\":{\"tenant_id\":\"tenant_id\"}}},\"a0tenant\":\"a0tenant\",\"a0stream\":\"a0stream\",\"a0purpose\":\"test\"},\"type\":\"connection.created\"}\n", + "headers": { + "Content-Type": "text/event-stream" + } + }, + "uuid": "396f02e3-b8ea-4947-982d-a5026bc0319f", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "9bee2213-71c4-41f8-9350-d50ede2f6c53", + "name": "Get flows - default", + "request": { + "urlPathTemplate": "/flows", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "queryParameters": { + "page": { + "equalTo": "1" + }, + "per_page": { + "equalTo": "1" + }, + "include_totals": { + "equalTo": "true" + }, + "hydrate": { + "hasExactly": [ + { + "equalTo": "form_count" + } + ] + }, + "synchronous": { + "equalTo": "true" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"start\": 1.1,\n \"limit\": 1.1,\n \"total\": 1.1,\n \"flows\": [\n {\n \"id\": \"id\",\n \"name\": \"name\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"executed_at\": \"executed_at\"\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "9bee2213-71c4-41f8-9350-d50ede2f6c53", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "6eb24c4a-01ad-47bc-bf9a-927970d1096e", + "name": "Create a flow - default", + "request": { + "urlPathTemplate": "/flows", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 201, + "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"actions\": [\n {\n \"id\": \"id\",\n \"alias\": \"alias\",\n \"type\": \"ACTIVECAMPAIGN\",\n \"action\": \"LIST_CONTACTS\",\n \"allow_failure\": true,\n \"mask_output\": true,\n \"params\": {\n \"connection_id\": \"connection_id\",\n \"email\": \"email\"\n }\n }\n ],\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"executed_at\": \"executed_at\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "6eb24c4a-01ad-47bc-bf9a-927970d1096e", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "1eccebc1-db7b-4349-8fae-45c8537e9880", + "name": "Get a flow - default", + "request": { + "urlPathTemplate": "/flows/{id}", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + }, + "queryParameters": { + "hydrate": { + "hasExactly": [ + { + "equalTo": "form_count" + } + ] + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"actions\": [\n {\n \"id\": \"id\",\n \"alias\": \"alias\",\n \"type\": \"ACTIVECAMPAIGN\",\n \"action\": \"LIST_CONTACTS\",\n \"allow_failure\": true,\n \"mask_output\": true,\n \"params\": {\n \"connection_id\": \"connection_id\",\n \"email\": \"email\"\n }\n }\n ],\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"executed_at\": \"executed_at\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "1eccebc1-db7b-4349-8fae-45c8537e9880", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "4dba8bf4-bec9-4e15-8591-752e9ac3644e", + "name": "Delete a flow - default", + "request": { + "urlPathTemplate": "/flows/{id}", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "4dba8bf4-bec9-4e15-8591-752e9ac3644e", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "fc07198a-b41e-4537-aec6-1226e9691c86", + "name": "Update a flow - default", + "request": { + "urlPathTemplate": "/flows/{id}", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"actions\": [\n {\n \"id\": \"id\",\n \"alias\": \"alias\",\n \"type\": \"ACTIVECAMPAIGN\",\n \"action\": \"LIST_CONTACTS\",\n \"allow_failure\": true,\n \"mask_output\": true,\n \"params\": {\n \"connection_id\": \"connection_id\",\n \"email\": \"email\"\n }\n }\n ],\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"executed_at\": \"executed_at\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "fc07198a-b41e-4537-aec6-1226e9691c86", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "3bf65872-e8cf-4987-becb-bb082f08419f", + "name": "Get forms - default", + "request": { + "urlPathTemplate": "/forms", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "queryParameters": { + "page": { + "equalTo": "1" + }, + "per_page": { + "equalTo": "1" + }, + "include_totals": { + "equalTo": "true" + }, + "hydrate": { + "hasExactly": [ + { + "equalTo": "flow_count" + } + ] + } + } + }, + "response": { + "status": 200, + "body": "{\n \"start\": 1.1,\n \"limit\": 1.1,\n \"total\": 1.1,\n \"forms\": [\n {\n \"id\": \"id\",\n \"name\": \"name\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"embedded_at\": \"embedded_at\",\n \"submitted_at\": \"submitted_at\"\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "3bf65872-e8cf-4987-becb-bb082f08419f", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "6255561a-7fa0-4557-a0e7-5d3a6f40b2a1", + "name": "Create a form - default", + "request": { + "urlPathTemplate": "/forms", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 201, + "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"messages\": {\n \"errors\": {\n \"key\": \"value\"\n },\n \"custom\": {\n \"key\": \"value\"\n }\n },\n \"languages\": {\n \"primary\": \"primary\",\n \"default\": \"default\"\n },\n \"translations\": {\n \"key\": {\n \"key\": \"value\"\n }\n },\n \"nodes\": [\n {\n \"id\": \"id\",\n \"type\": \"FLOW\",\n \"coordinates\": {\n \"x\": 1,\n \"y\": 1\n },\n \"alias\": \"alias\",\n \"config\": {\n \"flow_id\": \"flow_id\"\n }\n }\n ],\n \"start\": {\n \"hidden_fields\": [\n {\n \"key\": \"key\"\n }\n ],\n \"next_node\": \"$ending\",\n \"coordinates\": {\n \"x\": 1,\n \"y\": 1\n }\n },\n \"ending\": {\n \"redirection\": {\n \"delay\": 1,\n \"target\": \"target\"\n },\n \"after_submit\": {\n \"flow_id\": \"flow_id\"\n },\n \"coordinates\": {\n \"x\": 1,\n \"y\": 1\n },\n \"resume_flow\": true\n },\n \"style\": {\n \"css\": \"css\"\n },\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"embedded_at\": \"embedded_at\",\n \"submitted_at\": \"submitted_at\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "6255561a-7fa0-4557-a0e7-5d3a6f40b2a1", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "0bf329d0-420d-4f08-aec1-df5f12d67762", + "name": "Get a form - default", + "request": { + "urlPathTemplate": "/forms/{id}", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + }, + "queryParameters": { + "hydrate": { + "hasExactly": [ + { + "equalTo": "flow_count" + } + ] + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"messages\": {\n \"errors\": {\n \"key\": \"value\"\n },\n \"custom\": {\n \"key\": \"value\"\n }\n },\n \"languages\": {\n \"primary\": \"primary\",\n \"default\": \"default\"\n },\n \"translations\": {\n \"key\": {\n \"key\": \"value\"\n }\n },\n \"nodes\": [\n {\n \"id\": \"id\",\n \"type\": \"FLOW\",\n \"coordinates\": {\n \"x\": 1,\n \"y\": 1\n },\n \"alias\": \"alias\",\n \"config\": {\n \"flow_id\": \"flow_id\"\n }\n }\n ],\n \"start\": {\n \"hidden_fields\": [\n {\n \"key\": \"key\"\n }\n ],\n \"next_node\": \"$ending\",\n \"coordinates\": {\n \"x\": 1,\n \"y\": 1\n }\n },\n \"ending\": {\n \"redirection\": {\n \"delay\": 1,\n \"target\": \"target\"\n },\n \"after_submit\": {\n \"flow_id\": \"flow_id\"\n },\n \"coordinates\": {\n \"x\": 1,\n \"y\": 1\n },\n \"resume_flow\": true\n },\n \"style\": {\n \"css\": \"css\"\n },\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"embedded_at\": \"embedded_at\",\n \"submitted_at\": \"submitted_at\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "0bf329d0-420d-4f08-aec1-df5f12d67762", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "c91995fc-fe8b-410c-9cbf-e13e1d538d1e", + "name": "Delete a form - default", + "request": { + "urlPathTemplate": "/forms/{id}", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "c91995fc-fe8b-410c-9cbf-e13e1d538d1e", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "944b211b-eacb-4acc-8f40-a3463ae62f37", + "name": "Update a form - default", + "request": { + "urlPathTemplate": "/forms/{id}", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"messages\": {\n \"errors\": {\n \"key\": \"value\"\n },\n \"custom\": {\n \"key\": \"value\"\n }\n },\n \"languages\": {\n \"primary\": \"primary\",\n \"default\": \"default\"\n },\n \"translations\": {\n \"key\": {\n \"key\": \"value\"\n }\n },\n \"nodes\": [\n {\n \"id\": \"id\",\n \"type\": \"FLOW\",\n \"coordinates\": {\n \"x\": 1,\n \"y\": 1\n },\n \"alias\": \"alias\",\n \"config\": {\n \"flow_id\": \"flow_id\"\n }\n }\n ],\n \"start\": {\n \"hidden_fields\": [\n {\n \"key\": \"key\"\n }\n ],\n \"next_node\": \"$ending\",\n \"coordinates\": {\n \"x\": 1,\n \"y\": 1\n }\n },\n \"ending\": {\n \"redirection\": {\n \"delay\": 1,\n \"target\": \"target\"\n },\n \"after_submit\": {\n \"flow_id\": \"flow_id\"\n },\n \"coordinates\": {\n \"x\": 1,\n \"y\": 1\n },\n \"resume_flow\": true\n },\n \"style\": {\n \"css\": \"css\"\n },\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"embedded_at\": \"embedded_at\",\n \"submitted_at\": \"submitted_at\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "944b211b-eacb-4acc-8f40-a3463ae62f37", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "800693b3-6319-4d73-997d-7899f5d8b842", + "name": "Get grants - default", + "request": { + "urlPathTemplate": "/grants", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "queryParameters": { + "per_page": { + "equalTo": "1" + }, + "page": { + "equalTo": "1" + }, + "include_totals": { + "equalTo": "true" + }, + "user_id": { + "equalTo": "user_id" + }, + "client_id": { + "equalTo": "client_id" + }, + "audience": { + "equalTo": "audience" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"start\": 1.1,\n \"limit\": 1.1,\n \"total\": 1.1,\n \"grants\": [\n {\n \"id\": \"id\",\n \"clientID\": \"clientID\",\n \"user_id\": \"user_id\",\n \"audience\": \"audience\",\n \"scope\": [\n \"scope\"\n ],\n \"organization_id\": \"organization_id\"\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "800693b3-6319-4d73-997d-7899f5d8b842", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "42d14bbf-3fda-4f6e-82c7-0511f2cc78b4", + "name": "Delete a grant by user_id - default", + "request": { + "urlPathTemplate": "/grants", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "queryParameters": { + "user_id": { + "equalTo": "user_id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "42d14bbf-3fda-4f6e-82c7-0511f2cc78b4", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "0384a6d8-8b93-4c86-9b01-4a78b2056a0b", + "name": "Delete a grant by id - default", + "request": { + "urlPathTemplate": "/grants/{id}", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "0384a6d8-8b93-4c86-9b01-4a78b2056a0b", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "eef0d4e7-35b8-494e-9e36-bcdefebe33db", + "name": "Get all Groups - default", + "request": { + "urlPathTemplate": "/groups", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "queryParameters": { + "connection_id": { + "equalTo": "connection_id" + }, + "name": { + "equalTo": "name" + }, + "external_id": { + "equalTo": "external_id" + }, + "search": { + "equalTo": "search" + }, + "fields": { + "equalTo": "fields" + }, + "include_fields": { + "equalTo": "true" + }, + "include_totals": { + "equalTo": "true" + }, + "from": { + "equalTo": "from" + }, + "take": { + "equalTo": "1" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"groups\": [\n {\n \"id\": \"id\",\n \"name\": \"name\",\n \"external_id\": \"external_id\",\n \"connection_id\": \"connection_id\",\n \"tenant_name\": \"tenant_name\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\"\n }\n ],\n \"next\": \"next\",\n \"start\": 1.1,\n \"limit\": 1.1,\n \"total\": 1.1\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "eef0d4e7-35b8-494e-9e36-bcdefebe33db", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "871b57bd-a1f8-4a23-8337-5872e46fc987", + "name": "Get a Group - default", + "request": { + "urlPathTemplate": "/groups/{id}", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"external_id\": \"external_id\",\n \"connection_id\": \"connection_id\",\n \"tenant_name\": \"tenant_name\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "871b57bd-a1f8-4a23-8337-5872e46fc987", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "8cbbad9c-deff-4a46-bd84-189922d9d131", + "name": "Delete a Group - default", + "request": { + "urlPathTemplate": "/groups/{id}", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "8cbbad9c-deff-4a46-bd84-189922d9d131", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "8e59d144-ec26-4602-a30e-51471fa41a83", + "name": "Get hooks - default", + "request": { + "urlPathTemplate": "/hooks", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "queryParameters": { + "page": { + "equalTo": "1" + }, + "per_page": { + "equalTo": "1" + }, + "include_totals": { + "equalTo": "true" + }, + "enabled": { + "equalTo": "true" + }, + "fields": { + "equalTo": "fields" + }, + "triggerId": { + "equalTo": "credentials-exchange" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"start\": 1.1,\n \"limit\": 1.1,\n \"total\": 1.1,\n \"hooks\": [\n {\n \"triggerId\": \"triggerId\",\n \"id\": \"id\",\n \"name\": \"name\",\n \"enabled\": true,\n \"script\": \"script\",\n \"dependencies\": {\n \"key\": \"value\"\n }\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "8e59d144-ec26-4602-a30e-51471fa41a83", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "275f3fd6-ea46-4d4e-b0b7-b3ccfa929d1b", + "name": "Create a hook - default", + "request": { + "urlPathTemplate": "/hooks", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 201, + "body": "{\n \"triggerId\": \"triggerId\",\n \"id\": \"id\",\n \"name\": \"name\",\n \"enabled\": true,\n \"script\": \"script\",\n \"dependencies\": {\n \"key\": \"value\"\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "275f3fd6-ea46-4d4e-b0b7-b3ccfa929d1b", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "f14ce249-5900-4b4f-acd6-a9fa7255d829", + "name": "Get a hook - default", + "request": { + "urlPathTemplate": "/hooks/{id}", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + }, + "queryParameters": { + "fields": { + "equalTo": "fields" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"triggerId\": \"triggerId\",\n \"id\": \"id\",\n \"name\": \"name\",\n \"enabled\": true,\n \"script\": \"script\",\n \"dependencies\": {\n \"key\": \"value\"\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "f14ce249-5900-4b4f-acd6-a9fa7255d829", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "fff91330-4870-4c93-ac97-6d27a8f1fb9e", + "name": "Delete a hook - default", + "request": { + "urlPathTemplate": "/hooks/{id}", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "fff91330-4870-4c93-ac97-6d27a8f1fb9e", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "5b56e935-667b-4af8-be86-94a3aa61008d", + "name": "Update a hook - default", + "request": { + "urlPathTemplate": "/hooks/{id}", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 201, + "body": "{\n \"triggerId\": \"triggerId\",\n \"id\": \"id\",\n \"name\": \"name\",\n \"enabled\": true,\n \"script\": \"script\",\n \"dependencies\": {\n \"key\": \"value\"\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "5b56e935-667b-4af8-be86-94a3aa61008d", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "fcdce95c-c559-471a-985a-45682f16bc5a", + "name": "Get a job - default", + "request": { + "urlPathTemplate": "/jobs/{id}", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"status\": \"status\",\n \"type\": \"type\",\n \"created_at\": \"created_at\",\n \"id\": \"id\",\n \"connection_id\": \"connection_id\",\n \"location\": \"location\",\n \"percentage_done\": 1,\n \"time_left_seconds\": 1,\n \"format\": \"json\",\n \"status_details\": \"status_details\",\n \"summary\": {\n \"failed\": 1,\n \"updated\": 1,\n \"inserted\": 1,\n \"total\": 1\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "fcdce95c-c559-471a-985a-45682f16bc5a", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "0ce12a9c-ca36-486e-aa2a-e41e0eb1ef44", + "name": "Get log streams - default", + "request": { + "urlPathTemplate": "/log-streams", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "[\n {\n \"id\": \"id\",\n \"name\": \"name\",\n \"status\": \"active\",\n \"type\": \"http\",\n \"isPriority\": true,\n \"filters\": [\n {}\n ],\n \"pii_config\": {\n \"log_fields\": [\n \"first_name\"\n ],\n \"method\": \"mask\",\n \"algorithm\": \"xxhash\"\n },\n \"sink\": {\n \"httpAuthorization\": \"httpAuthorization\",\n \"httpContentFormat\": \"JSONARRAY\",\n \"httpContentType\": \"httpContentType\",\n \"httpEndpoint\": \"httpEndpoint\",\n \"httpCustomHeaders\": [\n {}\n ]\n }\n }\n]", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "0ce12a9c-ca36-486e-aa2a-e41e0eb1ef44", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "3cac6a38-0d9f-40e0-983f-439cbedfa617", + "name": "Create a log stream - default", + "request": { + "urlPathTemplate": "/log-streams", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"status\": \"active\",\n \"type\": \"http\",\n \"isPriority\": true,\n \"filters\": [\n {\n \"type\": \"category\",\n \"name\": \"auth.login.fail\"\n }\n ],\n \"pii_config\": {\n \"log_fields\": [\n \"first_name\"\n ],\n \"method\": \"mask\",\n \"algorithm\": \"xxhash\"\n },\n \"sink\": {\n \"httpAuthorization\": \"httpAuthorization\",\n \"httpContentFormat\": \"JSONARRAY\",\n \"httpContentType\": \"httpContentType\",\n \"httpEndpoint\": \"httpEndpoint\",\n \"httpCustomHeaders\": [\n {}\n ]\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "3cac6a38-0d9f-40e0-983f-439cbedfa617", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "046f0424-b1aa-49bc-bf20-db22d7a7bdf4", + "name": "Get log stream by ID - default", + "request": { + "urlPathTemplate": "/log-streams/{id}", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"status\": \"active\",\n \"type\": \"http\",\n \"isPriority\": true,\n \"filters\": [\n {\n \"type\": \"category\",\n \"name\": \"auth.login.fail\"\n }\n ],\n \"pii_config\": {\n \"log_fields\": [\n \"first_name\"\n ],\n \"method\": \"mask\",\n \"algorithm\": \"xxhash\"\n },\n \"sink\": {\n \"httpAuthorization\": \"httpAuthorization\",\n \"httpContentFormat\": \"JSONARRAY\",\n \"httpContentType\": \"httpContentType\",\n \"httpEndpoint\": \"httpEndpoint\",\n \"httpCustomHeaders\": [\n {}\n ]\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "046f0424-b1aa-49bc-bf20-db22d7a7bdf4", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "9fb04f8d-0fba-4891-8126-013d70d871aa", + "name": "Delete log stream - default", + "request": { + "urlPathTemplate": "/log-streams/{id}", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "9fb04f8d-0fba-4891-8126-013d70d871aa", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "8d10acdd-e185-496c-98c4-c91d469e6ed2", + "name": "Update a log stream - default", + "request": { + "urlPathTemplate": "/log-streams/{id}", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"status\": \"active\",\n \"type\": \"http\",\n \"isPriority\": true,\n \"filters\": [\n {\n \"type\": \"category\",\n \"name\": \"auth.login.fail\"\n }\n ],\n \"pii_config\": {\n \"log_fields\": [\n \"first_name\"\n ],\n \"method\": \"mask\",\n \"algorithm\": \"xxhash\"\n },\n \"sink\": {\n \"httpAuthorization\": \"httpAuthorization\",\n \"httpContentFormat\": \"JSONARRAY\",\n \"httpContentType\": \"httpContentType\",\n \"httpEndpoint\": \"httpEndpoint\",\n \"httpCustomHeaders\": [\n {}\n ]\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "8d10acdd-e185-496c-98c4-c91d469e6ed2", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "dc2b7d2b-54f2-4803-8bf1-bd0cfdcb6132", + "name": "Search log events - default", + "request": { + "urlPathTemplate": "/logs", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "queryParameters": { + "page": { + "equalTo": "1" + }, + "per_page": { + "equalTo": "1" + }, + "sort": { + "equalTo": "sort" + }, + "fields": { + "equalTo": "fields" + }, + "include_fields": { + "equalTo": "true" + }, + "include_totals": { + "equalTo": "true" + }, + "search": { + "equalTo": "search" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"start\": 1.1,\n \"limit\": 1.1,\n \"length\": 1.1,\n \"total\": 1.1,\n \"logs\": [\n {\n \"date\": \"date\",\n \"type\": \"type\",\n \"description\": \"description\",\n \"connection\": \"connection\",\n \"connection_id\": \"connection_id\",\n \"client_id\": \"client_id\",\n \"client_name\": \"client_name\",\n \"ip\": \"ip\",\n \"hostname\": \"hostname\",\n \"user_id\": \"user_id\",\n \"user_name\": \"user_name\",\n \"audience\": \"audience\",\n \"scope\": \"scope\",\n \"strategy\": \"strategy\",\n \"strategy_type\": \"strategy_type\",\n \"log_id\": \"log_id\",\n \"isMobile\": true,\n \"details\": {\n \"key\": \"value\"\n },\n \"user_agent\": \"user_agent\"\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "dc2b7d2b-54f2-4803-8bf1-bd0cfdcb6132", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "b10cc251-b48a-429a-a136-810cdb7290fc", + "name": "Get a log event by id - default", + "request": { + "urlPathTemplate": "/logs/{id}", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"date\": \"date\",\n \"type\": \"type\",\n \"description\": \"description\",\n \"connection\": \"connection\",\n \"connection_id\": \"connection_id\",\n \"client_id\": \"client_id\",\n \"client_name\": \"client_name\",\n \"ip\": \"ip\",\n \"hostname\": \"hostname\",\n \"user_id\": \"user_id\",\n \"user_name\": \"user_name\",\n \"audience\": \"audience\",\n \"scope\": \"scope\",\n \"strategy\": \"strategy\",\n \"strategy_type\": \"strategy_type\",\n \"log_id\": \"log_id\",\n \"isMobile\": true,\n \"details\": {\n \"key\": \"value\"\n },\n \"user_agent\": \"user_agent\",\n \"security_context\": {\n \"ja3\": \"ja3\",\n \"ja4\": \"ja4\"\n },\n \"location_info\": {\n \"country_code\": \"country_code\",\n \"country_code3\": \"country_code3\",\n \"country_name\": \"country_name\",\n \"city_name\": \"city_name\",\n \"latitude\": 1.1,\n \"longitude\": 1.1,\n \"time_zone\": \"time_zone\",\n \"continent_code\": \"continent_code\"\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "b10cc251-b48a-429a-a136-810cdb7290fc", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "858e0070-39b1-460a-a2d5-53d0a5c3524a", + "name": "Get all access control list entries for a tenant - default", + "request": { + "urlPathTemplate": "/network-acls", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "queryParameters": { + "page": { + "equalTo": "1" + }, + "per_page": { + "equalTo": "1" + }, + "include_totals": { + "equalTo": "true" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"network_acls\": [\n {\n \"id\": \"id\",\n \"description\": \"description\",\n \"active\": true,\n \"priority\": 1.1,\n \"rule\": {\n \"action\": {},\n \"scope\": \"management\"\n },\n \"created_at\": \"created_at\",\n \"updated_at\": \"updated_at\"\n }\n ],\n \"start\": 1.1,\n \"limit\": 1.1,\n \"total\": 1.1\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "858e0070-39b1-460a-a2d5-53d0a5c3524a", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "f8a963bf-a53b-445d-b1d7-e21a4b253957", + "name": "Create Access Control List - default", + "request": { + "urlPathTemplate": "/network-acls", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "f8a963bf-a53b-445d-b1d7-e21a4b253957", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "fb3b0b5f-3ab2-4b19-b79b-8f10391b7deb", + "name": "Get a specific access control list entry for a tenant - default", + "request": { + "urlPathTemplate": "/network-acls/{id}", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"description\": \"description\",\n \"active\": true,\n \"priority\": 1.1,\n \"rule\": {\n \"action\": {\n \"block\": true,\n \"allow\": true,\n \"log\": true,\n \"redirect\": true,\n \"redirect_uri\": \"redirect_uri\"\n },\n \"match\": {\n \"asns\": [\n 1\n ],\n \"auth0_managed\": [\n \"auth0_managed\"\n ],\n \"geo_country_codes\": [\n \"geo_country_codes\"\n ],\n \"geo_subdivision_codes\": [\n \"geo_subdivision_codes\"\n ],\n \"ipv4_cidrs\": [\n \"ipv4_cidrs\"\n ],\n \"ipv6_cidrs\": [\n \"ipv6_cidrs\"\n ],\n \"ja3_fingerprints\": [\n \"ja3_fingerprints\"\n ],\n \"ja4_fingerprints\": [\n \"ja4_fingerprints\"\n ],\n \"user_agents\": [\n \"user_agents\"\n ],\n \"hostnames\": [\n \"hostnames\"\n ],\n \"connecting_ipv4_cidrs\": [\n \"connecting_ipv4_cidrs\"\n ],\n \"connecting_ipv6_cidrs\": [\n \"connecting_ipv6_cidrs\"\n ]\n },\n \"not_match\": {\n \"asns\": [\n 1\n ],\n \"auth0_managed\": [\n \"auth0_managed\"\n ],\n \"geo_country_codes\": [\n \"geo_country_codes\"\n ],\n \"geo_subdivision_codes\": [\n \"geo_subdivision_codes\"\n ],\n \"ipv4_cidrs\": [\n \"ipv4_cidrs\"\n ],\n \"ipv6_cidrs\": [\n \"ipv6_cidrs\"\n ],\n \"ja3_fingerprints\": [\n \"ja3_fingerprints\"\n ],\n \"ja4_fingerprints\": [\n \"ja4_fingerprints\"\n ],\n \"user_agents\": [\n \"user_agents\"\n ],\n \"hostnames\": [\n \"hostnames\"\n ],\n \"connecting_ipv4_cidrs\": [\n \"connecting_ipv4_cidrs\"\n ],\n \"connecting_ipv6_cidrs\": [\n \"connecting_ipv6_cidrs\"\n ]\n },\n \"scope\": \"management\"\n },\n \"created_at\": \"created_at\",\n \"updated_at\": \"updated_at\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "fb3b0b5f-3ab2-4b19-b79b-8f10391b7deb", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "b26d23ea-edcd-4512-a319-51a6e98131a0", + "name": "Update Access Control List - default", + "request": { + "urlPathTemplate": "/network-acls/{id}", + "method": "PUT", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"description\": \"description\",\n \"active\": true,\n \"priority\": 1.1,\n \"rule\": {\n \"action\": {\n \"block\": true,\n \"allow\": true,\n \"log\": true,\n \"redirect\": true,\n \"redirect_uri\": \"redirect_uri\"\n },\n \"match\": {\n \"asns\": [\n 1\n ],\n \"auth0_managed\": [\n \"auth0_managed\"\n ],\n \"geo_country_codes\": [\n \"geo_country_codes\"\n ],\n \"geo_subdivision_codes\": [\n \"geo_subdivision_codes\"\n ],\n \"ipv4_cidrs\": [\n \"ipv4_cidrs\"\n ],\n \"ipv6_cidrs\": [\n \"ipv6_cidrs\"\n ],\n \"ja3_fingerprints\": [\n \"ja3_fingerprints\"\n ],\n \"ja4_fingerprints\": [\n \"ja4_fingerprints\"\n ],\n \"user_agents\": [\n \"user_agents\"\n ],\n \"hostnames\": [\n \"hostnames\"\n ],\n \"connecting_ipv4_cidrs\": [\n \"connecting_ipv4_cidrs\"\n ],\n \"connecting_ipv6_cidrs\": [\n \"connecting_ipv6_cidrs\"\n ]\n },\n \"not_match\": {\n \"asns\": [\n 1\n ],\n \"auth0_managed\": [\n \"auth0_managed\"\n ],\n \"geo_country_codes\": [\n \"geo_country_codes\"\n ],\n \"geo_subdivision_codes\": [\n \"geo_subdivision_codes\"\n ],\n \"ipv4_cidrs\": [\n \"ipv4_cidrs\"\n ],\n \"ipv6_cidrs\": [\n \"ipv6_cidrs\"\n ],\n \"ja3_fingerprints\": [\n \"ja3_fingerprints\"\n ],\n \"ja4_fingerprints\": [\n \"ja4_fingerprints\"\n ],\n \"user_agents\": [\n \"user_agents\"\n ],\n \"hostnames\": [\n \"hostnames\"\n ],\n \"connecting_ipv4_cidrs\": [\n \"connecting_ipv4_cidrs\"\n ],\n \"connecting_ipv6_cidrs\": [\n \"connecting_ipv6_cidrs\"\n ]\n },\n \"scope\": \"management\"\n },\n \"created_at\": \"created_at\",\n \"updated_at\": \"updated_at\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "b26d23ea-edcd-4512-a319-51a6e98131a0", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "6df7bc0d-d051-4e5f-8f62-608e9d028cc6", + "name": "Delete Access Control List - default", + "request": { + "urlPathTemplate": "/network-acls/{id}", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "6df7bc0d-d051-4e5f-8f62-608e9d028cc6", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "80648d37-b6ab-4ab4-ba80-17f00933453d", + "name": "Partial Update for an Access Control List - default", + "request": { + "urlPathTemplate": "/network-acls/{id}", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"description\": \"description\",\n \"active\": true,\n \"priority\": 1.1,\n \"rule\": {\n \"action\": {\n \"block\": true,\n \"allow\": true,\n \"log\": true,\n \"redirect\": true,\n \"redirect_uri\": \"redirect_uri\"\n },\n \"match\": {\n \"asns\": [\n 1\n ],\n \"auth0_managed\": [\n \"auth0_managed\"\n ],\n \"geo_country_codes\": [\n \"geo_country_codes\"\n ],\n \"geo_subdivision_codes\": [\n \"geo_subdivision_codes\"\n ],\n \"ipv4_cidrs\": [\n \"ipv4_cidrs\"\n ],\n \"ipv6_cidrs\": [\n \"ipv6_cidrs\"\n ],\n \"ja3_fingerprints\": [\n \"ja3_fingerprints\"\n ],\n \"ja4_fingerprints\": [\n \"ja4_fingerprints\"\n ],\n \"user_agents\": [\n \"user_agents\"\n ],\n \"hostnames\": [\n \"hostnames\"\n ],\n \"connecting_ipv4_cidrs\": [\n \"connecting_ipv4_cidrs\"\n ],\n \"connecting_ipv6_cidrs\": [\n \"connecting_ipv6_cidrs\"\n ]\n },\n \"not_match\": {\n \"asns\": [\n 1\n ],\n \"auth0_managed\": [\n \"auth0_managed\"\n ],\n \"geo_country_codes\": [\n \"geo_country_codes\"\n ],\n \"geo_subdivision_codes\": [\n \"geo_subdivision_codes\"\n ],\n \"ipv4_cidrs\": [\n \"ipv4_cidrs\"\n ],\n \"ipv6_cidrs\": [\n \"ipv6_cidrs\"\n ],\n \"ja3_fingerprints\": [\n \"ja3_fingerprints\"\n ],\n \"ja4_fingerprints\": [\n \"ja4_fingerprints\"\n ],\n \"user_agents\": [\n \"user_agents\"\n ],\n \"hostnames\": [\n \"hostnames\"\n ],\n \"connecting_ipv4_cidrs\": [\n \"connecting_ipv4_cidrs\"\n ],\n \"connecting_ipv6_cidrs\": [\n \"connecting_ipv6_cidrs\"\n ]\n },\n \"scope\": \"management\"\n },\n \"created_at\": \"created_at\",\n \"updated_at\": \"updated_at\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "80648d37-b6ab-4ab4-ba80-17f00933453d", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "a4016e68-1c58-4a5c-b698-27ca350b937c", + "name": "Get organizations - default", + "request": { + "urlPathTemplate": "/organizations", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "queryParameters": { + "include_totals": { + "equalTo": "true" + }, + "from": { + "equalTo": "from" + }, + "take": { + "equalTo": "1" + }, + "sort": { + "equalTo": "sort" + }, + "include_client_association_for": { + "equalTo": "include_client_association_for" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"next\": \"next\",\n \"organizations\": [\n {\n \"id\": \"id\",\n \"name\": \"name\",\n \"display_name\": \"display_name\",\n \"token_quota\": {\n \"client_credentials\": {}\n },\n \"third_party_client_access\": \"block\",\n \"is_app_entitlement_active\": true\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "a4016e68-1c58-4a5c-b698-27ca350b937c", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "61349de2-c20a-4002-822b-9ed84e87ca1f", + "name": "Create an Organization - default", + "request": { + "urlPathTemplate": "/organizations", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 201, + "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"display_name\": \"display_name\",\n \"branding\": {\n \"logo_url\": \"logo_url\",\n \"colors\": {\n \"primary\": \"primary\",\n \"page_background\": \"page_background\"\n }\n },\n \"metadata\": {\n \"key\": \"value\"\n },\n \"token_quota\": {\n \"client_credentials\": {\n \"enforce\": true,\n \"per_day\": 1,\n \"per_hour\": 1\n }\n },\n \"third_party_client_access\": \"block\",\n \"is_app_entitlement_active\": true,\n \"client\": {\n \"use_for_member_access\": true\n },\n \"enabled_connections\": [\n {\n \"connection_id\": \"connection_id\",\n \"assign_membership_on_login\": true,\n \"show_as_button\": true,\n \"is_signup_enabled\": true\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "61349de2-c20a-4002-822b-9ed84e87ca1f", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "dabd338a-8798-40ba-aaa0-8ce9b262b711", + "name": "Get organization by name - default", + "request": { + "urlPathTemplate": "/organizations/name/{name}", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "name": { + "equalTo": "name" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"display_name\": \"display_name\",\n \"branding\": {\n \"logo_url\": \"logo_url\",\n \"colors\": {\n \"primary\": \"primary\",\n \"page_background\": \"page_background\"\n }\n },\n \"metadata\": {\n \"key\": \"value\"\n },\n \"token_quota\": {\n \"client_credentials\": {\n \"enforce\": true,\n \"per_day\": 1,\n \"per_hour\": 1\n }\n },\n \"third_party_client_access\": \"block\",\n \"is_app_entitlement_active\": true,\n \"client\": {\n \"use_for_member_access\": true\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "dabd338a-8798-40ba-aaa0-8ce9b262b711", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "da7fe10b-f528-48cf-b4e0-8d769617a66c", + "name": "Get organization - default", + "request": { + "urlPathTemplate": "/organizations/{id}", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"display_name\": \"display_name\",\n \"branding\": {\n \"logo_url\": \"logo_url\",\n \"colors\": {\n \"primary\": \"primary\",\n \"page_background\": \"page_background\"\n }\n },\n \"metadata\": {\n \"key\": \"value\"\n },\n \"token_quota\": {\n \"client_credentials\": {\n \"enforce\": true,\n \"per_day\": 1,\n \"per_hour\": 1\n }\n },\n \"third_party_client_access\": \"block\",\n \"is_app_entitlement_active\": true,\n \"client\": {\n \"use_for_member_access\": true\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "da7fe10b-f528-48cf-b4e0-8d769617a66c", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "82031fa8-9043-489a-aa84-46bae3772393", + "name": "Delete organization - default", + "request": { + "urlPathTemplate": "/organizations/{id}", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "82031fa8-9043-489a-aa84-46bae3772393", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "a03fdbdd-77b7-4c31-9a5f-6d63cf2c017a", + "name": "Modify an Organization - default", + "request": { + "urlPathTemplate": "/organizations/{id}", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"display_name\": \"display_name\",\n \"branding\": {\n \"logo_url\": \"logo_url\",\n \"colors\": {\n \"primary\": \"primary\",\n \"page_background\": \"page_background\"\n }\n },\n \"metadata\": {\n \"key\": \"value\"\n },\n \"token_quota\": {\n \"client_credentials\": {\n \"enforce\": true,\n \"per_day\": 1,\n \"per_hour\": 1\n }\n },\n \"third_party_client_access\": \"block\",\n \"is_app_entitlement_active\": true,\n \"client\": {\n \"use_for_member_access\": true\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "a03fdbdd-77b7-4c31-9a5f-6d63cf2c017a", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "a5b27e78-ff1e-480e-a2ff-cda4a7e2a15e", + "name": "Get prompt settings - default", + "request": { + "urlPathTemplate": "/prompts", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"universal_login_experience\": \"new\",\n \"identifier_first\": true,\n \"webauthn_platform_first_factor\": true\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "a5b27e78-ff1e-480e-a2ff-cda4a7e2a15e", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "170f5b5a-a3d8-415f-b2ab-64eb7e3b775b", + "name": "Update prompt settings - default", + "request": { + "urlPathTemplate": "/prompts", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"universal_login_experience\": \"new\",\n \"identifier_first\": true,\n \"webauthn_platform_first_factor\": true\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "170f5b5a-a3d8-415f-b2ab-64eb7e3b775b", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "ffa760a3-13f2-4a02-8c0b-0a50833659d1", + "name": "Get rate limit policies - default", + "request": { + "urlPathTemplate": "/rate-limit-policies", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "queryParameters": { + "resource": { + "equalTo": "oauth_authentication_api" + }, + "consumer": { + "equalTo": "client" + }, + "consumer_selector": { + "equalTo": "consumer_selector" + }, + "take": { + "equalTo": "1" + }, + "from": { + "equalTo": "from" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"rate_limit_policies\": [\n {\n \"id\": \"id\",\n \"resource\": \"oauth_authentication_api\",\n \"consumer\": \"client\",\n \"consumer_selector\": \"consumer_selector\",\n \"configuration\": {\n \"action\": \"allow\"\n },\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\"\n }\n ],\n \"next\": \"next\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "ffa760a3-13f2-4a02-8c0b-0a50833659d1", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "8d96433a-d9e1-4c04-b3c7-6a38e20fb85f", + "name": "Create a rate limit policy - default", + "request": { + "urlPathTemplate": "/rate-limit-policies", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 201, + "body": "{\n \"id\": \"id\",\n \"resource\": \"oauth_authentication_api\",\n \"consumer\": \"client\",\n \"consumer_selector\": \"consumer_selector\",\n \"configuration\": {\n \"action\": \"allow\"\n },\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "8d96433a-d9e1-4c04-b3c7-6a38e20fb85f", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "252162e3-2c11-4b7f-aa9a-b9f245700110", + "name": "Get a rate limit policy - default", + "request": { + "urlPathTemplate": "/rate-limit-policies/{id}", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"resource\": \"oauth_authentication_api\",\n \"consumer\": \"client\",\n \"consumer_selector\": \"consumer_selector\",\n \"configuration\": {\n \"action\": \"allow\"\n },\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "252162e3-2c11-4b7f-aa9a-b9f245700110", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "8827be53-c433-4722-9aef-6c36aedd8e8f", + "name": "Delete a rate limit policy - default", + "request": { + "urlPathTemplate": "/rate-limit-policies/{id}", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "8827be53-c433-4722-9aef-6c36aedd8e8f", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "067fc71d-f738-4be0-bbd8-7b63d5cef466", + "name": "Update a rate limit policy - default", + "request": { + "urlPathTemplate": "/rate-limit-policies/{id}", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"resource\": \"oauth_authentication_api\",\n \"consumer\": \"client\",\n \"consumer_selector\": \"consumer_selector\",\n \"configuration\": {\n \"action\": \"allow\"\n },\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "067fc71d-f738-4be0-bbd8-7b63d5cef466", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "1be8f43f-0f7e-4335-879a-b48d21ecfac6", + "name": "Get refresh tokens - default", + "request": { + "urlPathTemplate": "/refresh-tokens", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "queryParameters": { + "user_id": { + "equalTo": "user_id" + }, + "client_id": { + "equalTo": "client_id" + }, + "from": { + "equalTo": "from" + }, + "take": { + "equalTo": "1" + }, + "fields": { + "equalTo": "fields" + }, + "include_fields": { + "equalTo": "true" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"refresh_tokens\": [\n {\n \"id\": \"id\",\n \"user_id\": \"user_id\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"idle_expires_at\": \"2024-01-15T09:30:00Z\",\n \"expires_at\": \"2024-01-15T09:30:00Z\",\n \"client_id\": \"client_id\",\n \"session_id\": \"session_id\",\n \"rotating\": true,\n \"resource_servers\": [\n {}\n ],\n \"refresh_token_metadata\": {\n \"key\": \"value\"\n },\n \"last_exchanged_at\": \"2024-01-15T09:30:00Z\"\n }\n ],\n \"next\": \"next\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "1be8f43f-0f7e-4335-879a-b48d21ecfac6", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "65469ecb-a8c6-48b9-ab08-19befcf04503", + "name": "Revoke refresh tokens - default", + "request": { + "urlPathTemplate": "/refresh-tokens/revoke", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "65469ecb-a8c6-48b9-ab08-19befcf04503", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "6a045b19-b94d-495c-b30c-c1de79efc46f", + "name": "Get a refresh token - default", + "request": { + "urlPathTemplate": "/refresh-tokens/{id}", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"user_id\": \"user_id\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"idle_expires_at\": \"2024-01-15T09:30:00Z\",\n \"expires_at\": \"2024-01-15T09:30:00Z\",\n \"device\": {\n \"initial_ip\": \"initial_ip\",\n \"initial_asn\": \"initial_asn\",\n \"initial_user_agent\": \"initial_user_agent\",\n \"last_ip\": \"last_ip\",\n \"last_asn\": \"last_asn\",\n \"last_user_agent\": \"last_user_agent\"\n },\n \"client_id\": \"client_id\",\n \"session_id\": \"session_id\",\n \"rotating\": true,\n \"resource_servers\": [\n {\n \"audience\": \"audience\",\n \"scopes\": \"scopes\"\n }\n ],\n \"refresh_token_metadata\": {\n \"key\": \"value\"\n },\n \"last_exchanged_at\": \"2024-01-15T09:30:00Z\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "6a045b19-b94d-495c-b30c-c1de79efc46f", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "9b9572e8-f0ad-4d7d-9367-b2d3e62c7cd7", + "name": "Delete a refresh token - default", + "request": { + "urlPathTemplate": "/refresh-tokens/{id}", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "9b9572e8-f0ad-4d7d-9367-b2d3e62c7cd7", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "7ea8e845-2337-4fbc-9632-246f4befb072", + "name": "Update a refresh token - default", + "request": { + "urlPathTemplate": "/refresh-tokens/{id}", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"user_id\": \"user_id\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"idle_expires_at\": \"2024-01-15T09:30:00Z\",\n \"expires_at\": \"2024-01-15T09:30:00Z\",\n \"device\": {\n \"initial_ip\": \"initial_ip\",\n \"initial_asn\": \"initial_asn\",\n \"initial_user_agent\": \"initial_user_agent\",\n \"last_ip\": \"last_ip\",\n \"last_asn\": \"last_asn\",\n \"last_user_agent\": \"last_user_agent\"\n },\n \"client_id\": \"client_id\",\n \"session_id\": \"session_id\",\n \"rotating\": true,\n \"resource_servers\": [\n {\n \"audience\": \"audience\",\n \"scopes\": \"scopes\"\n }\n ],\n \"refresh_token_metadata\": {\n \"key\": \"value\"\n },\n \"last_exchanged_at\": \"2024-01-15T09:30:00Z\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "7ea8e845-2337-4fbc-9632-246f4befb072", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "8e9d39f1-8389-4238-acc7-0c1fd5f97c1b", + "name": "Get resource servers - default", + "request": { + "urlPathTemplate": "/resource-servers", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "queryParameters": { + "identifiers": { + "hasExactly": [ + { + "equalTo": "identifiers" + } + ] + }, + "page": { + "equalTo": "1" + }, + "per_page": { + "equalTo": "1" + }, + "include_totals": { + "equalTo": "true" + }, + "include_fields": { + "equalTo": "true" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"start\": 1.1,\n \"limit\": 1.1,\n \"total\": 1.1,\n \"resource_servers\": [\n {\n \"id\": \"id\",\n \"name\": \"name\",\n \"is_system\": true,\n \"identifier\": \"identifier\",\n \"scopes\": [\n {\n \"value\": \"value\"\n }\n ],\n \"signing_alg\": \"HS256\",\n \"signing_secret\": \"signing_secret\",\n \"allow_offline_access\": true,\n \"allow_online_access\": true,\n \"allow_online_access_with_ephemeral_sessions\": true,\n \"skip_consent_for_verifiable_first_party_clients\": true,\n \"token_lifetime\": 1,\n \"token_lifetime_for_web\": 1,\n \"enforce_policies\": true,\n \"token_dialect\": \"access_token\",\n \"token_encryption\": {\n \"format\": \"compact-nested-jwe\",\n \"encryption_key\": {\n \"alg\": \"RSA-OAEP-256\",\n \"pem\": \"pem\"\n }\n },\n \"consent_policy\": \"transactional-authorization-with-mfa\",\n \"proof_of_possession\": {\n \"mechanism\": \"mtls\",\n \"required\": true\n },\n \"authorization_policy\": {\n \"policy_id\": \"policy_id\"\n },\n \"client_id\": \"client_id\"\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "8e9d39f1-8389-4238-acc7-0c1fd5f97c1b", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "47aa9a64-a544-47e0-9817-a2fe54866219", + "name": "Create a resource server - default", + "request": { + "urlPathTemplate": "/resource-servers", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 201, + "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"is_system\": true,\n \"identifier\": \"identifier\",\n \"scopes\": [\n {\n \"value\": \"value\",\n \"description\": \"description\"\n }\n ],\n \"signing_alg\": \"HS256\",\n \"signing_secret\": \"signing_secret\",\n \"allow_offline_access\": true,\n \"allow_online_access\": true,\n \"allow_online_access_with_ephemeral_sessions\": true,\n \"skip_consent_for_verifiable_first_party_clients\": true,\n \"token_lifetime\": 1,\n \"token_lifetime_for_web\": 1,\n \"enforce_policies\": true,\n \"token_dialect\": \"access_token\",\n \"token_encryption\": {\n \"format\": \"compact-nested-jwe\",\n \"encryption_key\": {\n \"name\": \"name\",\n \"alg\": \"RSA-OAEP-256\",\n \"kid\": \"kid\",\n \"pem\": \"pem\"\n }\n },\n \"consent_policy\": \"transactional-authorization-with-mfa\",\n \"authorization_details\": [\n {\n \"key\": \"value\"\n }\n ],\n \"proof_of_possession\": {\n \"mechanism\": \"mtls\",\n \"required\": true,\n \"required_for\": \"public_clients\"\n },\n \"subject_type_authorization\": {\n \"user\": {\n \"policy\": \"allow_all\"\n },\n \"client\": {\n \"policy\": \"deny_all\"\n }\n },\n \"authorization_policy\": {\n \"policy_id\": \"policy_id\"\n },\n \"client_id\": \"client_id\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "47aa9a64-a544-47e0-9817-a2fe54866219", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "da399a32-c9a2-481c-9995-fc402c47f72a", + "name": "Get a resource server - default", + "request": { + "urlPathTemplate": "/resource-servers/{id}", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + }, + "queryParameters": { + "include_fields": { + "equalTo": "true" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"is_system\": true,\n \"identifier\": \"identifier\",\n \"scopes\": [\n {\n \"value\": \"value\",\n \"description\": \"description\"\n }\n ],\n \"signing_alg\": \"HS256\",\n \"signing_secret\": \"signing_secret\",\n \"allow_offline_access\": true,\n \"allow_online_access\": true,\n \"allow_online_access_with_ephemeral_sessions\": true,\n \"skip_consent_for_verifiable_first_party_clients\": true,\n \"token_lifetime\": 1,\n \"token_lifetime_for_web\": 1,\n \"enforce_policies\": true,\n \"token_dialect\": \"access_token\",\n \"token_encryption\": {\n \"format\": \"compact-nested-jwe\",\n \"encryption_key\": {\n \"name\": \"name\",\n \"alg\": \"RSA-OAEP-256\",\n \"kid\": \"kid\",\n \"pem\": \"pem\"\n }\n },\n \"consent_policy\": \"transactional-authorization-with-mfa\",\n \"authorization_details\": [\n {\n \"key\": \"value\"\n }\n ],\n \"proof_of_possession\": {\n \"mechanism\": \"mtls\",\n \"required\": true,\n \"required_for\": \"public_clients\"\n },\n \"subject_type_authorization\": {\n \"user\": {\n \"policy\": \"allow_all\"\n },\n \"client\": {\n \"policy\": \"deny_all\"\n }\n },\n \"authorization_policy\": {\n \"policy_id\": \"policy_id\"\n },\n \"client_id\": \"client_id\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "da399a32-c9a2-481c-9995-fc402c47f72a", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "f46b0f05-ce0a-4b6a-9004-650a8a9d14da", + "name": "Delete a resource server - default", + "request": { + "urlPathTemplate": "/resource-servers/{id}", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "f46b0f05-ce0a-4b6a-9004-650a8a9d14da", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "dd7769c9-ea3c-4d2e-bf38-bc9cd0083bc7", + "name": "Update a resource server - default", + "request": { + "urlPathTemplate": "/resource-servers/{id}", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 201, + "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"is_system\": true,\n \"identifier\": \"identifier\",\n \"scopes\": [\n {\n \"value\": \"value\",\n \"description\": \"description\"\n }\n ],\n \"signing_alg\": \"HS256\",\n \"signing_secret\": \"signing_secret\",\n \"allow_offline_access\": true,\n \"allow_online_access\": true,\n \"allow_online_access_with_ephemeral_sessions\": true,\n \"skip_consent_for_verifiable_first_party_clients\": true,\n \"token_lifetime\": 1,\n \"token_lifetime_for_web\": 1,\n \"enforce_policies\": true,\n \"token_dialect\": \"access_token\",\n \"token_encryption\": {\n \"format\": \"compact-nested-jwe\",\n \"encryption_key\": {\n \"name\": \"name\",\n \"alg\": \"RSA-OAEP-256\",\n \"kid\": \"kid\",\n \"pem\": \"pem\"\n }\n },\n \"consent_policy\": \"transactional-authorization-with-mfa\",\n \"authorization_details\": [\n {\n \"key\": \"value\"\n }\n ],\n \"proof_of_possession\": {\n \"mechanism\": \"mtls\",\n \"required\": true,\n \"required_for\": \"public_clients\"\n },\n \"subject_type_authorization\": {\n \"user\": {\n \"policy\": \"allow_all\"\n },\n \"client\": {\n \"policy\": \"deny_all\"\n }\n },\n \"authorization_policy\": {\n \"policy_id\": \"policy_id\"\n },\n \"client_id\": \"client_id\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "dd7769c9-ea3c-4d2e-bf38-bc9cd0083bc7", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "d64f1dab-8cae-47da-98e9-b16c1a5189dc", + "name": "Get roles - default", + "request": { + "urlPathTemplate": "/roles", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "queryParameters": { + "per_page": { + "equalTo": "1" + }, + "page": { + "equalTo": "1" + }, + "include_totals": { + "equalTo": "true" + }, + "name_filter": { + "equalTo": "name_filter" + }, + "type": { + "equalTo": "tenant" + }, + "owner_id": { + "equalTo": "owner_id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"start\": 1.1,\n \"limit\": 1.1,\n \"total\": 1.1,\n \"roles\": [\n {\n \"id\": \"id\",\n \"name\": \"name\",\n \"description\": \"description\",\n \"type\": \"tenant\",\n \"owner_id\": \"owner_id\"\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "d64f1dab-8cae-47da-98e9-b16c1a5189dc", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "ddc91359-6806-4cf1-b143-e8d1bc363c3f", + "name": "Create a role - default", + "request": { + "urlPathTemplate": "/roles", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"description\": \"description\",\n \"type\": \"tenant\",\n \"owner_id\": \"owner_id\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "ddc91359-6806-4cf1-b143-e8d1bc363c3f", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "18803f36-8ee6-4051-9c5e-ab4a2a000ec7", + "name": "Get a role - default", + "request": { + "urlPathTemplate": "/roles/{id}", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"description\": \"description\",\n \"type\": \"tenant\",\n \"owner_id\": \"owner_id\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "18803f36-8ee6-4051-9c5e-ab4a2a000ec7", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "53428abe-f9c9-49e7-ada5-7cabecc6f0f5", + "name": "Delete a role - default", + "request": { + "urlPathTemplate": "/roles/{id}", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "53428abe-f9c9-49e7-ada5-7cabecc6f0f5", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "fb25cab0-ca38-4950-ba80-98504d41bb20", + "name": "Update a role - default", + "request": { + "urlPathTemplate": "/roles/{id}", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"description\": \"description\",\n \"type\": \"tenant\",\n \"owner_id\": \"owner_id\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "fb25cab0-ca38-4950-ba80-98504d41bb20", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "551dd253-310d-4f66-ab80-e07988490a37", + "name": "Get rules - default", + "request": { + "urlPathTemplate": "/rules", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "queryParameters": { + "page": { + "equalTo": "1" + }, + "per_page": { + "equalTo": "1" + }, + "include_totals": { + "equalTo": "true" + }, + "enabled": { + "equalTo": "true" + }, + "fields": { + "equalTo": "fields" + }, + "include_fields": { + "equalTo": "true" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"start\": 1.1,\n \"limit\": 1.1,\n \"total\": 1.1,\n \"rules\": [\n {\n \"name\": \"name\",\n \"id\": \"id\",\n \"enabled\": true,\n \"script\": \"script\",\n \"order\": 1.1,\n \"stage\": \"stage\"\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "551dd253-310d-4f66-ab80-e07988490a37", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "6eba8e54-3d94-4b5a-9f90-34ea57895fb5", + "name": "Create a rule - default", + "request": { + "urlPathTemplate": "/rules", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 201, + "body": "{\n \"name\": \"name\",\n \"id\": \"id\",\n \"enabled\": true,\n \"script\": \"script\",\n \"order\": 1.1,\n \"stage\": \"stage\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "6eba8e54-3d94-4b5a-9f90-34ea57895fb5", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "6bd903b2-17f8-4021-9cae-4c1141223c95", + "name": "Get a rule - default", + "request": { + "urlPathTemplate": "/rules/{id}", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + }, + "queryParameters": { + "fields": { + "equalTo": "fields" + }, + "include_fields": { + "equalTo": "true" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"name\": \"name\",\n \"id\": \"id\",\n \"enabled\": true,\n \"script\": \"script\",\n \"order\": 1.1,\n \"stage\": \"stage\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "6bd903b2-17f8-4021-9cae-4c1141223c95", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "6110c86e-027f-441b-bb72-e5b0e6096803", + "name": "Delete a rule - default", + "request": { + "urlPathTemplate": "/rules/{id}", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "6110c86e-027f-441b-bb72-e5b0e6096803", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "3033effa-f1f9-4988-8752-203075bb6aec", + "name": "Update a rule - default", + "request": { + "urlPathTemplate": "/rules/{id}", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"name\": \"name\",\n \"id\": \"id\",\n \"enabled\": true,\n \"script\": \"script\",\n \"order\": 1.1,\n \"stage\": \"stage\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "3033effa-f1f9-4988-8752-203075bb6aec", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "3abfda6c-fc81-4be8-a87e-be80fcef8c2f", + "name": "Retrieve config variable keys for rules (get_rules-configs) - default", + "request": { + "urlPathTemplate": "/rules-configs", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "[\n {\n \"key\": \"key\"\n }\n]", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "3abfda6c-fc81-4be8-a87e-be80fcef8c2f", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "f90321dc-6914-4101-8af1-743cafaa62d7", + "name": "Set rules config for a given key - default", + "request": { + "urlPathTemplate": "/rules-configs/{key}", + "method": "PUT", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "key": { + "equalTo": "key" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"key\": \"key\",\n \"value\": \"value\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "f90321dc-6914-4101-8af1-743cafaa62d7", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "4e06c73c-ffd7-4b88-9857-99801c652707", + "name": "Delete rules config for a given key - default", + "request": { + "urlPathTemplate": "/rules-configs/{key}", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "key": { + "equalTo": "key" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "4e06c73c-ffd7-4b88-9857-99801c652707", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "466bc78c-8022-4a7f-96e1-2a01c78c0b54", + "name": "Get self-service profiles - default", + "request": { + "urlPathTemplate": "/self-service-profiles", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "queryParameters": { + "page": { + "equalTo": "1" + }, + "per_page": { + "equalTo": "1" + }, + "include_totals": { + "equalTo": "true" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"start\": 1.1,\n \"limit\": 1.1,\n \"total\": 1.1,\n \"self_service_profiles\": [\n {\n \"id\": \"id\",\n \"name\": \"name\",\n \"description\": \"description\",\n \"user_attributes\": [\n {\n \"name\": \"name\",\n \"description\": \"description\",\n \"is_optional\": true\n }\n ],\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"allowed_strategies\": [\n \"oidc\"\n ],\n \"user_attribute_profile_id\": \"user_attribute_profile_id\"\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "466bc78c-8022-4a7f-96e1-2a01c78c0b54", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "bc8551be-c96c-4800-a5cc-dbbecc17b15b", + "name": "Create a self-service profile - default", + "request": { + "urlPathTemplate": "/self-service-profiles", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 201, + "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"description\": \"description\",\n \"user_attributes\": [\n {\n \"name\": \"name\",\n \"description\": \"description\",\n \"is_optional\": true\n }\n ],\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"branding\": {\n \"logo_url\": \"logo_url\",\n \"colors\": {\n \"primary\": \"primary\"\n }\n },\n \"allowed_strategies\": [\n \"oidc\"\n ],\n \"user_attribute_profile_id\": \"user_attribute_profile_id\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "bc8551be-c96c-4800-a5cc-dbbecc17b15b", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "19739c76-9199-492a-bd18-730f773b6ffb", + "name": "Get a self-service profile by Id - default", + "request": { + "urlPathTemplate": "/self-service-profiles/{id}", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"description\": \"description\",\n \"user_attributes\": [\n {\n \"name\": \"name\",\n \"description\": \"description\",\n \"is_optional\": true\n }\n ],\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"branding\": {\n \"logo_url\": \"logo_url\",\n \"colors\": {\n \"primary\": \"primary\"\n }\n },\n \"allowed_strategies\": [\n \"oidc\"\n ],\n \"user_attribute_profile_id\": \"user_attribute_profile_id\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "19739c76-9199-492a-bd18-730f773b6ffb", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "5378d984-8d98-4586-9b4a-7dd9f2ef00af", + "name": "Delete a self-service profile by Id - default", + "request": { + "urlPathTemplate": "/self-service-profiles/{id}", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "5378d984-8d98-4586-9b4a-7dd9f2ef00af", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "d25c3782-1ef8-47b4-bf73-67a8f977fb17", + "name": "Update a self-service profile - default", + "request": { + "urlPathTemplate": "/self-service-profiles/{id}", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"description\": \"description\",\n \"user_attributes\": [\n {\n \"name\": \"name\",\n \"description\": \"description\",\n \"is_optional\": true\n }\n ],\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"branding\": {\n \"logo_url\": \"logo_url\",\n \"colors\": {\n \"primary\": \"primary\"\n }\n },\n \"allowed_strategies\": [\n \"oidc\"\n ],\n \"user_attribute_profile_id\": \"user_attribute_profile_id\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "d25c3782-1ef8-47b4-bf73-67a8f977fb17", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "3eff16ca-bc50-43ac-9373-249bdaf18766", + "name": "Get session - default", + "request": { + "urlPathTemplate": "/sessions/{id}", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"user_id\": \"user_id\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"authenticated_at\": \"2024-01-15T09:30:00Z\",\n \"idle_expires_at\": \"2024-01-15T09:30:00Z\",\n \"expires_at\": \"2024-01-15T09:30:00Z\",\n \"last_interacted_at\": \"2024-01-15T09:30:00Z\",\n \"device\": {\n \"initial_user_agent\": \"initial_user_agent\",\n \"initial_ip\": \"initial_ip\",\n \"initial_asn\": \"initial_asn\",\n \"last_user_agent\": \"last_user_agent\",\n \"last_ip\": \"last_ip\",\n \"last_asn\": \"last_asn\"\n },\n \"clients\": [\n {\n \"client_id\": \"client_id\"\n }\n ],\n \"authentication\": {\n \"methods\": [\n {}\n ]\n },\n \"cookie\": {\n \"mode\": \"non-persistent\"\n },\n \"session_metadata\": {\n \"key\": \"value\"\n },\n \"actor\": {\n \"sub\": \"sub\"\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "3eff16ca-bc50-43ac-9373-249bdaf18766", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "046df2cc-1fd5-4ffb-bf25-97235e3418aa", + "name": "Delete session - default", + "request": { + "urlPathTemplate": "/sessions/{id}", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "046df2cc-1fd5-4ffb-bf25-97235e3418aa", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "cde85d14-94e2-472f-93d0-ab0f6a1e29e6", + "name": "Update session - default", + "request": { + "urlPathTemplate": "/sessions/{id}", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"user_id\": \"user_id\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"authenticated_at\": \"2024-01-15T09:30:00Z\",\n \"idle_expires_at\": \"2024-01-15T09:30:00Z\",\n \"expires_at\": \"2024-01-15T09:30:00Z\",\n \"last_interacted_at\": \"2024-01-15T09:30:00Z\",\n \"device\": {\n \"initial_user_agent\": \"initial_user_agent\",\n \"initial_ip\": \"initial_ip\",\n \"initial_asn\": \"initial_asn\",\n \"last_user_agent\": \"last_user_agent\",\n \"last_ip\": \"last_ip\",\n \"last_asn\": \"last_asn\"\n },\n \"clients\": [\n {\n \"client_id\": \"client_id\"\n }\n ],\n \"authentication\": {\n \"methods\": [\n {}\n ]\n },\n \"cookie\": {\n \"mode\": \"non-persistent\"\n },\n \"session_metadata\": {\n \"key\": \"value\"\n },\n \"actor\": {\n \"sub\": \"sub\"\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "cde85d14-94e2-472f-93d0-ab0f6a1e29e6", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "eceb4045-ef5a-414d-a73f-ebbc3266db3b", + "name": "Revokes a session - default", + "request": { + "urlPathTemplate": "/sessions/{id}/revoke", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "eceb4045-ef5a-414d-a73f-ebbc3266db3b", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "deb6f466-7529-4d43-9ae7-ec08cdee6fc8", + "name": "Get active users count - default", + "request": { + "urlPathTemplate": "/stats/active-users", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "1.1", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "deb6f466-7529-4d43-9ae7-ec08cdee6fc8", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "a1c7c8b9-a534-46f2-ae35-eb70ca7628ae", + "name": "Get daily stats - default", + "request": { + "urlPathTemplate": "/stats/daily", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "queryParameters": { + "from": { + "equalTo": "from" + }, + "to": { + "equalTo": "to" + } + } + }, + "response": { + "status": 200, + "body": "[\n {\n \"date\": \"date\",\n \"logins\": 1,\n \"signups\": 1,\n \"leaked_passwords\": 1,\n \"updated_at\": \"updated_at\",\n \"created_at\": \"created_at\"\n }\n]", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "a1c7c8b9-a534-46f2-ae35-eb70ca7628ae", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "818f5cc7-86b3-4568-8861-9d114c5669ef", + "name": "Get the supplemental signals configuration for a tenant - default", + "request": { + "urlPathTemplate": "/supplemental-signals", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"akamai_enabled\": true\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "818f5cc7-86b3-4568-8861-9d114c5669ef", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "7ba85b66-eee6-4f11-b0e1-ae58fc016a79", + "name": "Update the supplemental signals configuration for a tenant - default", + "request": { + "urlPathTemplate": "/supplemental-signals", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"akamai_enabled\": true\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "7ba85b66-eee6-4f11-b0e1-ae58fc016a79", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "5b479979-e975-4c68-b8fd-ca081dfcbca7", + "name": "Create an email verification ticket - default", + "request": { + "urlPathTemplate": "/tickets/email-verification", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 201, + "body": "{\n \"ticket\": \"ticket\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "5b479979-e975-4c68-b8fd-ca081dfcbca7", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "2b3107dc-9258-4e8c-bfb4-9f4d911eefec", + "name": "Create a password change ticket - default", + "request": { + "urlPathTemplate": "/tickets/password-change", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 201, + "body": "{\n \"ticket\": \"ticket\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "2b3107dc-9258-4e8c-bfb4-9f4d911eefec", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "83be5ec3-d77b-4a3a-9e52-87f57af4d962", + "name": "Get token exchange profiles - default", + "request": { + "urlPathTemplate": "/token-exchange-profiles", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "queryParameters": { + "from": { + "equalTo": "from" + }, + "take": { + "equalTo": "1" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"next\": \"next\",\n \"token_exchange_profiles\": [\n {\n \"id\": \"id\",\n \"name\": \"name\",\n \"subject_token_type\": \"subject_token_type\",\n \"action_id\": \"action_id\",\n \"type\": \"custom_authentication\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\"\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "83be5ec3-d77b-4a3a-9e52-87f57af4d962", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "98e2d250-d01b-4580-a4b1-92e13a0b54b9", + "name": "Create a token exchange profile - default", + "request": { + "urlPathTemplate": "/token-exchange-profiles", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 201, + "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"subject_token_type\": \"subject_token_type\",\n \"action_id\": \"action_id\",\n \"type\": \"custom_authentication\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "98e2d250-d01b-4580-a4b1-92e13a0b54b9", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "4594d614-c499-48ab-9fee-e1d4df134a89", + "name": "Get a token exchange profile - default", + "request": { + "urlPathTemplate": "/token-exchange-profiles/{id}", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"subject_token_type\": \"subject_token_type\",\n \"action_id\": \"action_id\",\n \"type\": \"custom_authentication\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "4594d614-c499-48ab-9fee-e1d4df134a89", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "172477bd-43d7-47ae-8ec8-eeb2f403f89c", + "name": "Delete a token exchange profile - default", + "request": { + "urlPathTemplate": "/token-exchange-profiles/{id}", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "172477bd-43d7-47ae-8ec8-eeb2f403f89c", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "2d5941b9-03b1-47b9-ad3b-1466357ae3b0", + "name": "Update an existing token exchange profile - default", + "request": { + "urlPathTemplate": "/token-exchange-profiles/{id}", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "2d5941b9-03b1-47b9-ad3b-1466357ae3b0", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "b4e9ccbb-5ef3-4c51-8149-56153dc787d4", + "name": "Get User Attribute Profiles - default", + "request": { + "urlPathTemplate": "/user-attribute-profiles", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "queryParameters": { + "from": { + "equalTo": "from" + }, + "take": { + "equalTo": "1" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"next\": \"next\",\n \"user_attribute_profiles\": [\n {\n \"id\": \"id\",\n \"name\": \"name\",\n \"user_attributes\": {\n \"key\": {\n \"description\": \"description\",\n \"label\": \"label\",\n \"profile_required\": true,\n \"auth0_mapping\": \"auth0_mapping\"\n }\n }\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "b4e9ccbb-5ef3-4c51-8149-56153dc787d4", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "d032e452-b3cb-4a7a-8906-bb80a76c6b8f", + "name": "Post User Attribute Profile - default", + "request": { + "urlPathTemplate": "/user-attribute-profiles", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 201, + "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"user_id\": {\n \"oidc_mapping\": \"sub\",\n \"saml_mapping\": [\n \"saml_mapping\"\n ],\n \"scim_mapping\": \"scim_mapping\"\n },\n \"user_attributes\": {\n \"key\": {\n \"description\": \"description\",\n \"label\": \"label\",\n \"profile_required\": true,\n \"auth0_mapping\": \"auth0_mapping\",\n \"oidc_mapping\": {\n \"mapping\": \"mapping\"\n },\n \"saml_mapping\": [\n \"saml_mapping\"\n ],\n \"scim_mapping\": \"scim_mapping\"\n }\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "d032e452-b3cb-4a7a-8906-bb80a76c6b8f", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "5a222f5e-5188-4dff-ae26-46d41f56c061", + "name": "Get User Attribute Profile Templates - default", + "request": { + "urlPathTemplate": "/user-attribute-profiles/templates", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"user_attribute_profile_templates\": [\n {\n \"id\": \"id\",\n \"display_name\": \"display_name\"\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "5a222f5e-5188-4dff-ae26-46d41f56c061", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "6672c8c9-01d1-4aae-9ade-20890bbff6b3", + "name": "Get User Attribute Profile Template - default", + "request": { + "urlPathTemplate": "/user-attribute-profiles/templates/{id}", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"display_name\": \"display_name\",\n \"template\": {\n \"name\": \"name\",\n \"user_id\": {\n \"oidc_mapping\": \"sub\",\n \"saml_mapping\": [\n \"saml_mapping\"\n ],\n \"scim_mapping\": \"scim_mapping\"\n },\n \"user_attributes\": {\n \"key\": {\n \"description\": \"description\",\n \"label\": \"label\",\n \"profile_required\": true,\n \"auth0_mapping\": \"auth0_mapping\"\n }\n }\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "6672c8c9-01d1-4aae-9ade-20890bbff6b3", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "b09540c6-726c-42e3-b5e8-dbc7182c2147", + "name": "Get User Attribute Profile - default", + "request": { + "urlPathTemplate": "/user-attribute-profiles/{id}", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"user_id\": {\n \"oidc_mapping\": \"sub\",\n \"saml_mapping\": [\n \"saml_mapping\"\n ],\n \"scim_mapping\": \"scim_mapping\"\n },\n \"user_attributes\": {\n \"key\": {\n \"description\": \"description\",\n \"label\": \"label\",\n \"profile_required\": true,\n \"auth0_mapping\": \"auth0_mapping\",\n \"oidc_mapping\": {\n \"mapping\": \"mapping\"\n },\n \"saml_mapping\": [\n \"saml_mapping\"\n ],\n \"scim_mapping\": \"scim_mapping\"\n }\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "b09540c6-726c-42e3-b5e8-dbc7182c2147", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "ce0d7ce2-8b91-4791-be9b-2774f5efeec0", + "name": "Delete User Attribute Profile - default", + "request": { + "urlPathTemplate": "/user-attribute-profiles/{id}", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "ce0d7ce2-8b91-4791-be9b-2774f5efeec0", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "2e6307a7-6f62-4b1f-a02b-e6414927a286", + "name": "Modify a user attribute profile - default", + "request": { + "urlPathTemplate": "/user-attribute-profiles/{id}", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"user_id\": {\n \"oidc_mapping\": \"sub\",\n \"saml_mapping\": [\n \"saml_mapping\"\n ],\n \"scim_mapping\": \"scim_mapping\"\n },\n \"user_attributes\": {\n \"key\": {\n \"description\": \"description\",\n \"label\": \"label\",\n \"profile_required\": true,\n \"auth0_mapping\": \"auth0_mapping\",\n \"oidc_mapping\": {\n \"mapping\": \"mapping\"\n },\n \"saml_mapping\": [\n \"saml_mapping\"\n ],\n \"scim_mapping\": \"scim_mapping\"\n }\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "2e6307a7-6f62-4b1f-a02b-e6414927a286", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "2522dc7d-5aa2-4655-a7a9-24f79a2b8425", + "name": "Get blocks by identifier - default", + "request": { + "urlPathTemplate": "/user-blocks", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "queryParameters": { + "identifier": { + "equalTo": "identifier" + }, + "consider_brute_force_enablement": { + "equalTo": "true" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"blocked_for\": [\n {\n \"identifier\": \"identifier\",\n \"ip\": \"ip\",\n \"connection\": \"connection\"\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "2522dc7d-5aa2-4655-a7a9-24f79a2b8425", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "049ee4c7-943e-481c-8ebf-dc6d21d5260c", + "name": "Unblock by identifier - default", + "request": { + "urlPathTemplate": "/user-blocks", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "queryParameters": { + "identifier": { + "equalTo": "identifier" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "049ee4c7-943e-481c-8ebf-dc6d21d5260c", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "d2565899-4c2a-4b6b-93b5-caecdbadc782", + "name": "Get a user's blocks - default", + "request": { + "urlPathTemplate": "/user-blocks/{id}", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + }, + "queryParameters": { + "consider_brute_force_enablement": { + "equalTo": "true" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"blocked_for\": [\n {\n \"identifier\": \"identifier\",\n \"ip\": \"ip\",\n \"connection\": \"connection\"\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "d2565899-4c2a-4b6b-93b5-caecdbadc782", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "b3f82ebe-f646-4a06-9770-8ece4e55d861", + "name": "Unblock a user - default", + "request": { + "urlPathTemplate": "/user-blocks/{id}", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "b3f82ebe-f646-4a06-9770-8ece4e55d861", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "8b4e8914-5be6-4e9b-896f-0b72752d9671", + "name": "List or Search Users - default", + "request": { + "urlPathTemplate": "/users", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "queryParameters": { + "page": { + "equalTo": "1" + }, + "per_page": { + "equalTo": "1" + }, + "include_totals": { + "equalTo": "true" + }, + "sort": { + "equalTo": "sort" + }, + "connection": { + "equalTo": "connection" + }, + "fields": { + "equalTo": "fields" + }, + "include_fields": { + "equalTo": "true" + }, + "q": { + "equalTo": "q" + }, + "search_engine": { + "equalTo": "v1" + }, + "primary_order": { + "equalTo": "true" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"start\": 1.1,\n \"limit\": 1.1,\n \"length\": 1.1,\n \"total\": 1.1,\n \"users\": [\n {\n \"user_id\": \"user_id\",\n \"email\": \"email\",\n \"email_verified\": true,\n \"username\": \"username\",\n \"phone_number\": \"phone_number\",\n \"phone_verified\": true,\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"identities\": [\n {}\n ],\n \"app_metadata\": {\n \"key\": \"value\"\n },\n \"user_metadata\": {\n \"key\": \"value\"\n },\n \"picture\": \"picture\",\n \"name\": \"name\",\n \"nickname\": \"nickname\",\n \"multifactor\": [\n \"multifactor\"\n ],\n \"multifactor_last_modified\": \"2024-01-15T09:30:00Z\",\n \"last_ip\": \"last_ip\",\n \"last_login\": \"2024-01-15T09:30:00Z\",\n \"last_password_reset\": \"2024-01-15T09:30:00Z\",\n \"logins_count\": 1,\n \"blocked\": true,\n \"given_name\": \"given_name\",\n \"family_name\": \"family_name\"\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "8b4e8914-5be6-4e9b-896f-0b72752d9671", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "4a8c54d7-9d2a-4a48-ad89-4b2481eed23a", + "name": "Create a User - default", + "request": { + "urlPathTemplate": "/users", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 201, + "body": "{\n \"user_id\": \"user_id\",\n \"email\": \"email\",\n \"email_verified\": true,\n \"username\": \"username\",\n \"phone_number\": \"phone_number\",\n \"phone_verified\": true,\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"identities\": [\n {\n \"connection\": \"connection\",\n \"user_id\": \"user_id\",\n \"provider\": \"ad\",\n \"isSocial\": true,\n \"access_token\": \"access_token\",\n \"access_token_secret\": \"access_token_secret\",\n \"refresh_token\": \"refresh_token\"\n }\n ],\n \"app_metadata\": {\n \"key\": \"value\"\n },\n \"user_metadata\": {\n \"key\": \"value\"\n },\n \"picture\": \"picture\",\n \"name\": \"name\",\n \"nickname\": \"nickname\",\n \"multifactor\": [\n \"multifactor\"\n ],\n \"multifactor_last_modified\": \"2024-01-15T09:30:00Z\",\n \"last_ip\": \"last_ip\",\n \"last_login\": \"2024-01-15T09:30:00Z\",\n \"last_password_reset\": \"2024-01-15T09:30:00Z\",\n \"logins_count\": 1,\n \"blocked\": true,\n \"given_name\": \"given_name\",\n \"family_name\": \"family_name\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "4a8c54d7-9d2a-4a48-ad89-4b2481eed23a", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "414f2fd9-cbe8-4b07-b181-1bc4d03f38d6", + "name": "Search Users by Email - default", + "request": { + "urlPathTemplate": "/users-by-email", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "queryParameters": { + "fields": { + "equalTo": "fields" + }, + "include_fields": { + "equalTo": "true" + }, + "email": { + "equalTo": "email" + } + } + }, + "response": { + "status": 200, + "body": "[\n {\n \"user_id\": \"user_id\",\n \"email\": \"email\",\n \"email_verified\": true,\n \"username\": \"username\",\n \"phone_number\": \"phone_number\",\n \"phone_verified\": true,\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"identities\": [\n {}\n ],\n \"app_metadata\": {\n \"key\": \"value\"\n },\n \"user_metadata\": {\n \"key\": \"value\"\n },\n \"picture\": \"picture\",\n \"name\": \"name\",\n \"nickname\": \"nickname\",\n \"multifactor\": [\n \"multifactor\"\n ],\n \"multifactor_last_modified\": \"2024-01-15T09:30:00Z\",\n \"last_ip\": \"last_ip\",\n \"last_login\": \"2024-01-15T09:30:00Z\",\n \"last_password_reset\": \"2024-01-15T09:30:00Z\",\n \"logins_count\": 1,\n \"blocked\": true,\n \"given_name\": \"given_name\",\n \"family_name\": \"family_name\"\n }\n]", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "414f2fd9-cbe8-4b07-b181-1bc4d03f38d6", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "9fc639a9-4bc3-4dab-909f-41947203684a", + "name": "Get a User - default", + "request": { + "urlPathTemplate": "/users/{id}", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + }, + "queryParameters": { + "fields": { + "equalTo": "fields" + }, + "include_fields": { + "equalTo": "true" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"user_id\": \"user_id\",\n \"email\": \"email\",\n \"email_verified\": true,\n \"username\": \"username\",\n \"phone_number\": \"phone_number\",\n \"phone_verified\": true,\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"identities\": [\n {\n \"connection\": \"connection\",\n \"user_id\": \"user_id\",\n \"provider\": \"ad\",\n \"isSocial\": true,\n \"access_token\": \"access_token\",\n \"access_token_secret\": \"access_token_secret\",\n \"refresh_token\": \"refresh_token\"\n }\n ],\n \"app_metadata\": {\n \"key\": \"value\"\n },\n \"user_metadata\": {\n \"key\": \"value\"\n },\n \"picture\": \"picture\",\n \"name\": \"name\",\n \"nickname\": \"nickname\",\n \"multifactor\": [\n \"multifactor\"\n ],\n \"multifactor_last_modified\": \"2024-01-15T09:30:00Z\",\n \"last_ip\": \"last_ip\",\n \"last_login\": \"2024-01-15T09:30:00Z\",\n \"last_password_reset\": \"2024-01-15T09:30:00Z\",\n \"logins_count\": 1,\n \"blocked\": true,\n \"given_name\": \"given_name\",\n \"family_name\": \"family_name\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "9fc639a9-4bc3-4dab-909f-41947203684a", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "265181b3-7abf-472b-99f2-d2e6eb47b27e", + "name": "Delete a User - default", + "request": { + "urlPathTemplate": "/users/{id}", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "265181b3-7abf-472b-99f2-d2e6eb47b27e", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "c65910b9-fa24-4a35-87b7-3b8e611f2d5c", + "name": "Update a User - default", + "request": { + "urlPathTemplate": "/users/{id}", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"user_id\": \"user_id\",\n \"email\": \"email\",\n \"email_verified\": true,\n \"username\": \"username\",\n \"phone_number\": \"phone_number\",\n \"phone_verified\": true,\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"identities\": [\n {\n \"connection\": \"connection\",\n \"user_id\": \"user_id\",\n \"provider\": \"ad\",\n \"isSocial\": true,\n \"access_token\": \"access_token\",\n \"access_token_secret\": \"access_token_secret\",\n \"refresh_token\": \"refresh_token\"\n }\n ],\n \"app_metadata\": {\n \"key\": \"value\"\n },\n \"user_metadata\": {\n \"key\": \"value\"\n },\n \"picture\": \"picture\",\n \"name\": \"name\",\n \"nickname\": \"nickname\",\n \"multifactor\": [\n \"multifactor\"\n ],\n \"multifactor_last_modified\": \"2024-01-15T09:30:00Z\",\n \"last_ip\": \"last_ip\",\n \"last_login\": \"2024-01-15T09:30:00Z\",\n \"last_password_reset\": \"2024-01-15T09:30:00Z\",\n \"logins_count\": 1,\n \"blocked\": true,\n \"given_name\": \"given_name\",\n \"family_name\": \"family_name\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "c65910b9-fa24-4a35-87b7-3b8e611f2d5c", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "365cef77-10c1-4fea-9b15-317ad7a38e99", + "name": "Generate New Multi-factor Authentication (MFA) Recovery Code - default", + "request": { + "urlPathTemplate": "/users/{id}/recovery-code-regeneration", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"recovery_code\": \"recovery_code\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "365cef77-10c1-4fea-9b15-317ad7a38e99", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "a562240d-132f-4adc-a0f6-763101460526", + "name": "Revokes selected resources from a user - default", + "request": { + "urlPathTemplate": "/users/{id}/revoke-access", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "a562240d-132f-4adc-a0f6-763101460526", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "ccdc2dc5-d900-4938-9ae0-3a9466191ed1", + "name": "Get an action's versions - default", + "request": { + "urlPathTemplate": "/actions/actions/{actionId}/versions", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "actionId": { + "equalTo": "actionId" + } + }, + "queryParameters": { + "page": { + "equalTo": "1" + }, + "per_page": { + "equalTo": "1" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"total\": 1.1,\n \"page\": 1.1,\n \"per_page\": 1.1,\n \"versions\": [\n {\n \"id\": \"id\",\n \"action_id\": \"action_id\",\n \"code\": \"code\",\n \"dependencies\": [\n {}\n ],\n \"deployed\": true,\n \"runtime\": \"runtime\",\n \"secrets\": [\n {}\n ],\n \"status\": \"pending\",\n \"number\": 1.1,\n \"errors\": [\n {}\n ],\n \"built_at\": \"2024-01-15T09:30:00Z\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"supported_triggers\": [\n {\n \"id\": \"post-login\"\n }\n ],\n \"modules\": [\n {}\n ]\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "ccdc2dc5-d900-4938-9ae0-3a9466191ed1", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "33c0cb30-ca1f-4477-9078-8647e82f975f", + "name": "Get a specific version of an action - default", + "request": { + "urlPathTemplate": "/actions/actions/{actionId}/versions/{id}", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "actionId": { + "equalTo": "actionId" + }, + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"action_id\": \"action_id\",\n \"code\": \"code\",\n \"dependencies\": [\n {\n \"name\": \"name\",\n \"version\": \"version\",\n \"registry_url\": \"registry_url\"\n }\n ],\n \"deployed\": true,\n \"runtime\": \"runtime\",\n \"secrets\": [\n {\n \"name\": \"name\",\n \"updated_at\": \"2024-01-15T09:30:00Z\"\n }\n ],\n \"status\": \"pending\",\n \"number\": 1.1,\n \"errors\": [\n {\n \"id\": \"id\",\n \"msg\": \"msg\",\n \"url\": \"url\"\n }\n ],\n \"action\": {\n \"id\": \"id\",\n \"name\": \"name\",\n \"supported_triggers\": [\n {\n \"id\": \"post-login\"\n }\n ],\n \"all_changes_deployed\": true,\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\"\n },\n \"built_at\": \"2024-01-15T09:30:00Z\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"supported_triggers\": [\n {\n \"id\": \"post-login\",\n \"version\": \"version\",\n \"status\": \"status\",\n \"runtimes\": [\n \"runtimes\"\n ],\n \"default_runtime\": \"default_runtime\",\n \"compatible_triggers\": [\n {\n \"id\": \"post-login\",\n \"version\": \"version\"\n }\n ],\n \"binding_policy\": \"trigger-bound\"\n }\n ],\n \"modules\": [\n {\n \"module_id\": \"module_id\",\n \"module_name\": \"module_name\",\n \"module_version_id\": \"module_version_id\",\n \"module_version_number\": 1\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "33c0cb30-ca1f-4477-9078-8647e82f975f", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "746fbf5a-cee7-4302-ad86-14035a3912f7", + "name": "Roll back to a previous action version - default", + "request": { + "urlPathTemplate": "/actions/actions/{actionId}/versions/{id}/deploy", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "actionId": { + "equalTo": "actionId" + }, + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 202, + "body": "{\n \"id\": \"id\",\n \"action_id\": \"action_id\",\n \"code\": \"code\",\n \"dependencies\": [\n {\n \"name\": \"name\",\n \"version\": \"version\",\n \"registry_url\": \"registry_url\"\n }\n ],\n \"deployed\": true,\n \"runtime\": \"runtime\",\n \"secrets\": [\n {\n \"name\": \"name\",\n \"updated_at\": \"2024-01-15T09:30:00Z\"\n }\n ],\n \"status\": \"pending\",\n \"number\": 1.1,\n \"errors\": [\n {\n \"id\": \"id\",\n \"msg\": \"msg\",\n \"url\": \"url\"\n }\n ],\n \"action\": {\n \"id\": \"id\",\n \"name\": \"name\",\n \"supported_triggers\": [\n {\n \"id\": \"post-login\"\n }\n ],\n \"all_changes_deployed\": true,\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\"\n },\n \"built_at\": \"2024-01-15T09:30:00Z\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"supported_triggers\": [\n {\n \"id\": \"post-login\",\n \"version\": \"version\",\n \"status\": \"status\",\n \"runtimes\": [\n \"runtimes\"\n ],\n \"default_runtime\": \"default_runtime\",\n \"compatible_triggers\": [\n {\n \"id\": \"post-login\",\n \"version\": \"version\"\n }\n ],\n \"binding_policy\": \"trigger-bound\"\n }\n ],\n \"modules\": [\n {\n \"module_id\": \"module_id\",\n \"module_name\": \"module_name\",\n \"module_version_id\": \"module_version_id\",\n \"module_version_number\": 1\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "746fbf5a-cee7-4302-ad86-14035a3912f7", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "822dd98d-546e-46d8-a976-8f2c97028432", + "name": "Get an execution - default", + "request": { + "urlPathTemplate": "/actions/executions/{id}", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"trigger_id\": \"post-login\",\n \"status\": \"unspecified\",\n \"results\": [\n {\n \"action_name\": \"action_name\",\n \"started_at\": \"2024-01-15T09:30:00Z\",\n \"ended_at\": \"2024-01-15T09:30:00Z\"\n }\n ],\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "822dd98d-546e-46d8-a976-8f2c97028432", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "8abc8ed4-7895-434f-a43b-613d4101d6bc", + "name": "List Actions Modules - default", + "request": { + "urlPathTemplate": "/actions/modules", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "queryParameters": { + "page": { + "equalTo": "1" + }, + "per_page": { + "equalTo": "1" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"modules\": [\n {\n \"id\": \"id\",\n \"name\": \"name\",\n \"code\": \"code\",\n \"dependencies\": [\n {}\n ],\n \"secrets\": [\n {}\n ],\n \"actions_using_module_total\": 1,\n \"all_changes_published\": true,\n \"latest_version_number\": 1,\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\"\n }\n ],\n \"total\": 1,\n \"page\": 1,\n \"per_page\": 1\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "8abc8ed4-7895-434f-a43b-613d4101d6bc", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "3e5b836f-105d-4d50-a185-5cd051f4db56", + "name": "Create a new Actions Module - default", + "request": { + "urlPathTemplate": "/actions/modules", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 201, + "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"code\": \"code\",\n \"dependencies\": [\n {\n \"name\": \"name\",\n \"version\": \"version\"\n }\n ],\n \"secrets\": [\n {\n \"name\": \"name\",\n \"updated_at\": \"2024-01-15T09:30:00Z\"\n }\n ],\n \"actions_using_module_total\": 1,\n \"all_changes_published\": true,\n \"latest_version_number\": 1,\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"latest_version\": {\n \"id\": \"id\",\n \"version_number\": 1,\n \"code\": \"code\",\n \"dependencies\": [\n {}\n ],\n \"secrets\": [\n {}\n ],\n \"created_at\": \"2024-01-15T09:30:00Z\"\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "3e5b836f-105d-4d50-a185-5cd051f4db56", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "51d32ec1-89e7-4db1-aae7-76445e9e0cd2", + "name": "Get a specific Actions Module by ID - default", + "request": { + "urlPathTemplate": "/actions/modules/{id}", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"code\": \"code\",\n \"dependencies\": [\n {\n \"name\": \"name\",\n \"version\": \"version\"\n }\n ],\n \"secrets\": [\n {\n \"name\": \"name\",\n \"updated_at\": \"2024-01-15T09:30:00Z\"\n }\n ],\n \"actions_using_module_total\": 1,\n \"all_changes_published\": true,\n \"latest_version_number\": 1,\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"latest_version\": {\n \"id\": \"id\",\n \"version_number\": 1,\n \"code\": \"code\",\n \"dependencies\": [\n {}\n ],\n \"secrets\": [\n {}\n ],\n \"created_at\": \"2024-01-15T09:30:00Z\"\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "51d32ec1-89e7-4db1-aae7-76445e9e0cd2", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "613a56ac-b303-417b-bbfe-d8ceda21db89", + "name": "Delete a specific Actions Module by ID - default", + "request": { + "urlPathTemplate": "/actions/modules/{id}", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "613a56ac-b303-417b-bbfe-d8ceda21db89", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "33cfded9-118e-4c8a-b0a1-207b0f1ae202", + "name": "Update a specific Actions Module - default", + "request": { + "urlPathTemplate": "/actions/modules/{id}", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"code\": \"code\",\n \"dependencies\": [\n {\n \"name\": \"name\",\n \"version\": \"version\"\n }\n ],\n \"secrets\": [\n {\n \"name\": \"name\",\n \"updated_at\": \"2024-01-15T09:30:00Z\"\n }\n ],\n \"actions_using_module_total\": 1,\n \"all_changes_published\": true,\n \"latest_version_number\": 1,\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"latest_version\": {\n \"id\": \"id\",\n \"version_number\": 1,\n \"code\": \"code\",\n \"dependencies\": [\n {}\n ],\n \"secrets\": [\n {}\n ],\n \"created_at\": \"2024-01-15T09:30:00Z\"\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "33cfded9-118e-4c8a-b0a1-207b0f1ae202", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "989d944b-6872-44fc-957b-87900af162f6", + "name": "List all actions using an Actions Module - default", + "request": { + "urlPathTemplate": "/actions/modules/{id}/actions", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + }, + "queryParameters": { + "page": { + "equalTo": "1" + }, + "per_page": { + "equalTo": "1" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"actions\": [\n {\n \"action_id\": \"action_id\",\n \"action_name\": \"action_name\",\n \"module_version_id\": \"module_version_id\",\n \"module_version_number\": 1,\n \"supported_triggers\": [\n {\n \"id\": \"post-login\"\n }\n ]\n }\n ],\n \"total\": 1,\n \"page\": 1,\n \"per_page\": 1\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "989d944b-6872-44fc-957b-87900af162f6", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "d83ce3f7-bfbf-4999-97ba-7813c7fb466b", + "name": "Rollback an Actions Module to a previous version - default", + "request": { + "urlPathTemplate": "/actions/modules/{id}/rollback", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"code\": \"code\",\n \"dependencies\": [\n {\n \"name\": \"name\",\n \"version\": \"version\"\n }\n ],\n \"secrets\": [\n {\n \"name\": \"name\",\n \"updated_at\": \"2024-01-15T09:30:00Z\"\n }\n ],\n \"actions_using_module_total\": 1,\n \"all_changes_published\": true,\n \"latest_version_number\": 1,\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"latest_version\": {\n \"id\": \"id\",\n \"version_number\": 1,\n \"code\": \"code\",\n \"dependencies\": [\n {}\n ],\n \"secrets\": [\n {}\n ],\n \"created_at\": \"2024-01-15T09:30:00Z\"\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "d83ce3f7-bfbf-4999-97ba-7813c7fb466b", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "f6c96303-6883-4084-989f-2dbadb13c1d9", + "name": "Get triggers - default", + "request": { + "urlPathTemplate": "/actions/triggers", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"triggers\": [\n {\n \"id\": \"post-login\",\n \"version\": \"version\",\n \"status\": \"status\",\n \"runtimes\": [\n \"runtimes\"\n ],\n \"default_runtime\": \"default_runtime\",\n \"compatible_triggers\": [\n {\n \"id\": \"post-login\",\n \"version\": \"version\"\n }\n ],\n \"binding_policy\": \"trigger-bound\"\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "f6c96303-6883-4084-989f-2dbadb13c1d9", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "f9d3c975-0170-4fb7-977a-8b220d9f62bb", + "name": "List all versions of an Actions Module - default", + "request": { + "urlPathTemplate": "/actions/modules/{id}/versions", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + }, + "queryParameters": { + "page": { + "equalTo": "1" + }, + "per_page": { + "equalTo": "1" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"versions\": [\n {\n \"id\": \"id\",\n \"module_id\": \"module_id\",\n \"version_number\": 1,\n \"code\": \"code\",\n \"secrets\": [\n {}\n ],\n \"dependencies\": [\n {}\n ],\n \"created_at\": \"2024-01-15T09:30:00Z\"\n }\n ],\n \"total\": 1,\n \"page\": 1,\n \"per_page\": 1\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "f9d3c975-0170-4fb7-977a-8b220d9f62bb", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "f2ae0322-48cb-47bb-a197-e4607ede713a", + "name": "Create a new version of an Actions Module - default", + "request": { + "urlPathTemplate": "/actions/modules/{id}/versions", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"module_id\": \"module_id\",\n \"version_number\": 1,\n \"code\": \"code\",\n \"secrets\": [\n {\n \"name\": \"name\",\n \"updated_at\": \"2024-01-15T09:30:00Z\"\n }\n ],\n \"dependencies\": [\n {\n \"name\": \"name\",\n \"version\": \"version\"\n }\n ],\n \"created_at\": \"2024-01-15T09:30:00Z\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "f2ae0322-48cb-47bb-a197-e4607ede713a", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "29f3eb37-e484-460b-a662-6e196927da74", + "name": "Get a specific version of an Actions Module - default", + "request": { + "urlPathTemplate": "/actions/modules/{id}/versions/{versionId}", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + }, + "versionId": { + "equalTo": "versionId" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"module_id\": \"module_id\",\n \"version_number\": 1,\n \"code\": \"code\",\n \"secrets\": [\n {\n \"name\": \"name\",\n \"updated_at\": \"2024-01-15T09:30:00Z\"\n }\n ],\n \"dependencies\": [\n {\n \"name\": \"name\",\n \"version\": \"version\"\n }\n ],\n \"created_at\": \"2024-01-15T09:30:00Z\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "29f3eb37-e484-460b-a662-6e196927da74", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "eb7071fc-50a8-4dc9-a79d-ce47e23d4637", + "name": "Get trigger bindings - default", + "request": { + "urlPathTemplate": "/actions/triggers/{triggerId}/bindings", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "triggerId": { + "equalTo": "post-login" + } + }, + "queryParameters": { + "page": { + "equalTo": "1" + }, + "per_page": { + "equalTo": "1" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"total\": 1.1,\n \"page\": 1.1,\n \"per_page\": 1.1,\n \"bindings\": [\n {\n \"id\": \"id\",\n \"trigger_id\": \"post-login\",\n \"display_name\": \"display_name\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\"\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "eb7071fc-50a8-4dc9-a79d-ce47e23d4637", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "677bf282-a2a0-4bc7-a065-b5de9e248673", + "name": "Update trigger bindings - default", + "request": { + "urlPathTemplate": "/actions/triggers/{triggerId}/bindings", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "triggerId": { + "equalTo": "post-login" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"bindings\": [\n {\n \"id\": \"id\",\n \"trigger_id\": \"post-login\",\n \"display_name\": \"display_name\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\"\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "677bf282-a2a0-4bc7-a065-b5de9e248673", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "858c0df0-350f-4619-8960-6f774c0f234a", + "name": "Check if an IP address is blocked - default", + "request": { + "urlPathTemplate": "/anomaly/blocks/ips/{id}", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "858c0df0-350f-4619-8960-6f774c0f234a", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "3c386455-0d8c-4edf-a027-a4ac0ff2e391", + "name": "Remove the blocked IP address - default", + "request": { + "urlPathTemplate": "/anomaly/blocks/ips/{id}", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "3c386455-0d8c-4edf-a027-a4ac0ff2e391", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "80b1e16c-5284-48f9-9802-ff189fca3b63", + "name": "Get Bot Detection settings - default", + "request": { + "urlPathTemplate": "/attack-protection/bot-detection", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"bot_detection_level\": \"low\",\n \"challenge_password_policy\": \"never\",\n \"challenge_passwordless_policy\": \"never\",\n \"challenge_password_reset_policy\": \"never\",\n \"allowlist\": [\n \"allowlist\"\n ],\n \"monitoring_mode_enabled\": true\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "80b1e16c-5284-48f9-9802-ff189fca3b63", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "bf92fa51-631d-42ef-bf27-8161f3bcab37", + "name": "Update Bot Detection settings - default", + "request": { + "urlPathTemplate": "/attack-protection/bot-detection", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"bot_detection_level\": \"low\",\n \"challenge_password_policy\": \"never\",\n \"challenge_passwordless_policy\": \"never\",\n \"challenge_password_reset_policy\": \"never\",\n \"allowlist\": [\n \"allowlist\"\n ],\n \"monitoring_mode_enabled\": true\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "bf92fa51-631d-42ef-bf27-8161f3bcab37", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "3ecb5fd3-5290-46e1-80da-bbdc282e2e86", + "name": "Get Breached Password Detection settings - default", + "request": { + "urlPathTemplate": "/attack-protection/breached-password-detection", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"enabled\": true,\n \"shields\": [\n \"block\"\n ],\n \"admin_notification_frequency\": [\n \"immediately\"\n ],\n \"method\": \"standard\",\n \"stage\": {\n \"pre-user-registration\": {\n \"shields\": [\n \"block\"\n ]\n },\n \"pre-change-password\": {\n \"shields\": [\n \"block\"\n ]\n }\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "3ecb5fd3-5290-46e1-80da-bbdc282e2e86", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "7f0c04d7-e36a-49ce-af70-af9df4825f56", + "name": "Update Breached Password Detection settings - default", + "request": { + "urlPathTemplate": "/attack-protection/breached-password-detection", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"enabled\": true,\n \"shields\": [\n \"block\"\n ],\n \"admin_notification_frequency\": [\n \"immediately\"\n ],\n \"method\": \"standard\",\n \"stage\": {\n \"pre-user-registration\": {\n \"shields\": [\n \"block\"\n ]\n },\n \"pre-change-password\": {\n \"shields\": [\n \"block\"\n ]\n }\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "7f0c04d7-e36a-49ce-af70-af9df4825f56", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "7870c330-d1c9-4a9f-9745-40e1d8b2d0ac", + "name": "Get Brute-force settings - default", + "request": { + "urlPathTemplate": "/attack-protection/brute-force-protection", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"enabled\": true,\n \"shields\": [\n \"block\"\n ],\n \"allowlist\": [\n \"allowlist\"\n ],\n \"mode\": \"count_per_identifier_and_ip\",\n \"max_attempts\": 1\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "7870c330-d1c9-4a9f-9745-40e1d8b2d0ac", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "23e440e9-0ef4-4ec5-96f3-0b4d84085d92", + "name": "Update Brute-force settings - default", + "request": { + "urlPathTemplate": "/attack-protection/brute-force-protection", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"enabled\": true,\n \"shields\": [\n \"block\"\n ],\n \"allowlist\": [\n \"allowlist\"\n ],\n \"mode\": \"count_per_identifier_and_ip\",\n \"max_attempts\": 1\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "23e440e9-0ef4-4ec5-96f3-0b4d84085d92", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "1cfbbf1e-0b0a-4d9e-bfe5-8d796adbfb34", + "name": "Get the CAPTCHA configuration for a tenant - default", + "request": { + "urlPathTemplate": "/attack-protection/captcha", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"active_provider_id\": \"active_provider_id\",\n \"arkose\": {\n \"site_key\": \"site_key\",\n \"fail_open\": true,\n \"client_subdomain\": \"client_subdomain\",\n \"verify_subdomain\": \"verify_subdomain\"\n },\n \"auth_challenge\": {\n \"fail_open\": true\n },\n \"hcaptcha\": {\n \"site_key\": \"site_key\"\n },\n \"friendly_captcha\": {\n \"site_key\": \"site_key\"\n },\n \"recaptcha_enterprise\": {\n \"site_key\": \"site_key\",\n \"project_id\": \"project_id\"\n },\n \"recaptcha_v2\": {\n \"site_key\": \"site_key\"\n },\n \"simple_captcha\": {\n \"key\": \"value\"\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "1cfbbf1e-0b0a-4d9e-bfe5-8d796adbfb34", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "c8a6243c-e0ad-49f2-8b47-405276a8ae5e", + "name": "Partial Update for CAPTCHA Configuration - default", + "request": { + "urlPathTemplate": "/attack-protection/captcha", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"active_provider_id\": \"active_provider_id\",\n \"arkose\": {\n \"site_key\": \"site_key\",\n \"fail_open\": true,\n \"client_subdomain\": \"client_subdomain\",\n \"verify_subdomain\": \"verify_subdomain\"\n },\n \"auth_challenge\": {\n \"fail_open\": true\n },\n \"hcaptcha\": {\n \"site_key\": \"site_key\"\n },\n \"friendly_captcha\": {\n \"site_key\": \"site_key\"\n },\n \"recaptcha_enterprise\": {\n \"site_key\": \"site_key\",\n \"project_id\": \"project_id\"\n },\n \"recaptcha_v2\": {\n \"site_key\": \"site_key\"\n },\n \"simple_captcha\": {\n \"key\": \"value\"\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "c8a6243c-e0ad-49f2-8b47-405276a8ae5e", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "e3a2dc7e-fb58-4806-a3f1-3d94a401a38f", + "name": "Get Phone Provider Protection settings - default", + "request": { + "urlPathTemplate": "/attack-protection/phone-provider-protection", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"type\": \"exponential\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "e3a2dc7e-fb58-4806-a3f1-3d94a401a38f", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "336b75f5-4a3b-4a34-b2ef-248cc14ee45b", + "name": "Update Phone Provider Protection settings - default", + "request": { + "urlPathTemplate": "/attack-protection/phone-provider-protection", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"type\": \"exponential\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "336b75f5-4a3b-4a34-b2ef-248cc14ee45b", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "a3ae14b8-1582-4cae-bb51-84b1d3b3fccf", + "name": "Get Suspicious IP Throttling settings - default", + "request": { + "urlPathTemplate": "/attack-protection/suspicious-ip-throttling", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"enabled\": true,\n \"shields\": [\n \"block\"\n ],\n \"allowlist\": [\n \"allowlist\"\n ],\n \"stage\": {\n \"pre-login\": {\n \"max_attempts\": 1,\n \"rate\": 1\n },\n \"pre-user-registration\": {\n \"max_attempts\": 1,\n \"rate\": 1\n },\n \"pre-custom-token-exchange\": {\n \"max_attempts\": 1,\n \"rate\": 1\n }\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "a3ae14b8-1582-4cae-bb51-84b1d3b3fccf", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "119c9fe7-b349-4ad0-8846-3e6be6a9661e", + "name": "Update Suspicious IP Throttling settings - default", + "request": { + "urlPathTemplate": "/attack-protection/suspicious-ip-throttling", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"enabled\": true,\n \"shields\": [\n \"block\"\n ],\n \"allowlist\": [\n \"allowlist\"\n ],\n \"stage\": {\n \"pre-login\": {\n \"max_attempts\": 1,\n \"rate\": 1\n },\n \"pre-user-registration\": {\n \"max_attempts\": 1,\n \"rate\": 1\n },\n \"pre-custom-token-exchange\": {\n \"max_attempts\": 1,\n \"rate\": 1\n }\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "119c9fe7-b349-4ad0-8846-3e6be6a9661e", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "bdf661b2-3819-41c2-98f8-4b9137f67189", + "name": "Get template for New Universal Login Experience - default", + "request": { + "urlPathTemplate": "/branding/templates/universal-login", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"body\": \"body\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "bdf661b2-3819-41c2-98f8-4b9137f67189", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "44f5b8dc-7d64-47a1-8889-79cda94f7809", + "name": "Set template for New Universal Login Experience - default", + "request": { + "urlPathTemplate": "/branding/templates/universal-login", + "method": "PUT", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "44f5b8dc-7d64-47a1-8889-79cda94f7809", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "c2b51bd9-187b-466d-8fe6-68a2eb02e00f", + "name": "Delete template for New Universal Login Experience - default", + "request": { + "urlPathTemplate": "/branding/templates/universal-login", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "c2b51bd9-187b-466d-8fe6-68a2eb02e00f", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "2c7a5627-a851-4881-9e60-689c81a3122b", + "name": "Create branding theme - default", + "request": { + "urlPathTemplate": "/branding/themes", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"borders\": {\n \"button_border_radius\": 1.1,\n \"button_border_weight\": 1.1,\n \"buttons_style\": \"pill\",\n \"input_border_radius\": 1.1,\n \"input_border_weight\": 1.1,\n \"inputs_style\": \"pill\",\n \"show_widget_shadow\": true,\n \"widget_border_weight\": 1.1,\n \"widget_corner_radius\": 1.1\n },\n \"colors\": {\n \"base_focus_color\": \"base_focus_color\",\n \"base_hover_color\": \"base_hover_color\",\n \"body_text\": \"body_text\",\n \"captcha_widget_theme\": \"auto\",\n \"error\": \"error\",\n \"header\": \"header\",\n \"icons\": \"icons\",\n \"input_background\": \"input_background\",\n \"input_border\": \"input_border\",\n \"input_filled_text\": \"input_filled_text\",\n \"input_labels_placeholders\": \"input_labels_placeholders\",\n \"links_focused_components\": \"links_focused_components\",\n \"primary_button\": \"primary_button\",\n \"primary_button_label\": \"primary_button_label\",\n \"read_only_background\": \"read_only_background\",\n \"secondary_button_border\": \"secondary_button_border\",\n \"secondary_button_label\": \"secondary_button_label\",\n \"success\": \"success\",\n \"widget_background\": \"widget_background\",\n \"widget_border\": \"widget_border\"\n },\n \"displayName\": \"displayName\",\n \"fonts\": {\n \"body_text\": {\n \"bold\": true,\n \"size\": 1.1\n },\n \"buttons_text\": {\n \"bold\": true,\n \"size\": 1.1\n },\n \"font_url\": \"font_url\",\n \"input_labels\": {\n \"bold\": true,\n \"size\": 1.1\n },\n \"links\": {\n \"bold\": true,\n \"size\": 1.1\n },\n \"links_style\": \"normal\",\n \"reference_text_size\": 1.1,\n \"subtitle\": {\n \"bold\": true,\n \"size\": 1.1\n },\n \"title\": {\n \"bold\": true,\n \"size\": 1.1\n }\n },\n \"identifiers\": {\n \"login_display\": \"separate\",\n \"otp_autocomplete\": true,\n \"phone_display\": {\n \"formatting\": \"international\",\n \"masking\": \"hide_country_code\"\n }\n },\n \"page_background\": {\n \"background_color\": \"background_color\",\n \"background_image_url\": \"background_image_url\",\n \"page_layout\": \"center\"\n },\n \"themeId\": \"themeId\",\n \"widget\": {\n \"header_text_alignment\": \"center\",\n \"logo_height\": 1.1,\n \"logo_position\": \"center\",\n \"logo_url\": \"logo_url\",\n \"social_buttons_layout\": \"bottom\"\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "2c7a5627-a851-4881-9e60-689c81a3122b", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "91d16fa4-7e8b-4de2-aa78-061a5267295b", + "name": "Get default branding theme - default", + "request": { + "urlPathTemplate": "/branding/themes/default", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"borders\": {\n \"button_border_radius\": 1.1,\n \"button_border_weight\": 1.1,\n \"buttons_style\": \"pill\",\n \"input_border_radius\": 1.1,\n \"input_border_weight\": 1.1,\n \"inputs_style\": \"pill\",\n \"show_widget_shadow\": true,\n \"widget_border_weight\": 1.1,\n \"widget_corner_radius\": 1.1\n },\n \"colors\": {\n \"base_focus_color\": \"base_focus_color\",\n \"base_hover_color\": \"base_hover_color\",\n \"body_text\": \"body_text\",\n \"captcha_widget_theme\": \"auto\",\n \"error\": \"error\",\n \"header\": \"header\",\n \"icons\": \"icons\",\n \"input_background\": \"input_background\",\n \"input_border\": \"input_border\",\n \"input_filled_text\": \"input_filled_text\",\n \"input_labels_placeholders\": \"input_labels_placeholders\",\n \"links_focused_components\": \"links_focused_components\",\n \"primary_button\": \"primary_button\",\n \"primary_button_label\": \"primary_button_label\",\n \"read_only_background\": \"read_only_background\",\n \"secondary_button_border\": \"secondary_button_border\",\n \"secondary_button_label\": \"secondary_button_label\",\n \"success\": \"success\",\n \"widget_background\": \"widget_background\",\n \"widget_border\": \"widget_border\"\n },\n \"displayName\": \"displayName\",\n \"fonts\": {\n \"body_text\": {\n \"bold\": true,\n \"size\": 1.1\n },\n \"buttons_text\": {\n \"bold\": true,\n \"size\": 1.1\n },\n \"font_url\": \"font_url\",\n \"input_labels\": {\n \"bold\": true,\n \"size\": 1.1\n },\n \"links\": {\n \"bold\": true,\n \"size\": 1.1\n },\n \"links_style\": \"normal\",\n \"reference_text_size\": 1.1,\n \"subtitle\": {\n \"bold\": true,\n \"size\": 1.1\n },\n \"title\": {\n \"bold\": true,\n \"size\": 1.1\n }\n },\n \"identifiers\": {\n \"login_display\": \"separate\",\n \"otp_autocomplete\": true,\n \"phone_display\": {\n \"formatting\": \"international\",\n \"masking\": \"hide_country_code\"\n }\n },\n \"page_background\": {\n \"background_color\": \"background_color\",\n \"background_image_url\": \"background_image_url\",\n \"page_layout\": \"center\"\n },\n \"themeId\": \"themeId\",\n \"widget\": {\n \"header_text_alignment\": \"center\",\n \"logo_height\": 1.1,\n \"logo_position\": \"center\",\n \"logo_url\": \"logo_url\",\n \"social_buttons_layout\": \"bottom\"\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "91d16fa4-7e8b-4de2-aa78-061a5267295b", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "f102da1c-5323-41ec-b320-888d05f069b8", + "name": "Get branding theme - default", + "request": { + "urlPathTemplate": "/branding/themes/{themeId}", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "themeId": { + "equalTo": "themeId" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"borders\": {\n \"button_border_radius\": 1.1,\n \"button_border_weight\": 1.1,\n \"buttons_style\": \"pill\",\n \"input_border_radius\": 1.1,\n \"input_border_weight\": 1.1,\n \"inputs_style\": \"pill\",\n \"show_widget_shadow\": true,\n \"widget_border_weight\": 1.1,\n \"widget_corner_radius\": 1.1\n },\n \"colors\": {\n \"base_focus_color\": \"base_focus_color\",\n \"base_hover_color\": \"base_hover_color\",\n \"body_text\": \"body_text\",\n \"captcha_widget_theme\": \"auto\",\n \"error\": \"error\",\n \"header\": \"header\",\n \"icons\": \"icons\",\n \"input_background\": \"input_background\",\n \"input_border\": \"input_border\",\n \"input_filled_text\": \"input_filled_text\",\n \"input_labels_placeholders\": \"input_labels_placeholders\",\n \"links_focused_components\": \"links_focused_components\",\n \"primary_button\": \"primary_button\",\n \"primary_button_label\": \"primary_button_label\",\n \"read_only_background\": \"read_only_background\",\n \"secondary_button_border\": \"secondary_button_border\",\n \"secondary_button_label\": \"secondary_button_label\",\n \"success\": \"success\",\n \"widget_background\": \"widget_background\",\n \"widget_border\": \"widget_border\"\n },\n \"displayName\": \"displayName\",\n \"fonts\": {\n \"body_text\": {\n \"bold\": true,\n \"size\": 1.1\n },\n \"buttons_text\": {\n \"bold\": true,\n \"size\": 1.1\n },\n \"font_url\": \"font_url\",\n \"input_labels\": {\n \"bold\": true,\n \"size\": 1.1\n },\n \"links\": {\n \"bold\": true,\n \"size\": 1.1\n },\n \"links_style\": \"normal\",\n \"reference_text_size\": 1.1,\n \"subtitle\": {\n \"bold\": true,\n \"size\": 1.1\n },\n \"title\": {\n \"bold\": true,\n \"size\": 1.1\n }\n },\n \"identifiers\": {\n \"login_display\": \"separate\",\n \"otp_autocomplete\": true,\n \"phone_display\": {\n \"formatting\": \"international\",\n \"masking\": \"hide_country_code\"\n }\n },\n \"page_background\": {\n \"background_color\": \"background_color\",\n \"background_image_url\": \"background_image_url\",\n \"page_layout\": \"center\"\n },\n \"themeId\": \"themeId\",\n \"widget\": {\n \"header_text_alignment\": \"center\",\n \"logo_height\": 1.1,\n \"logo_position\": \"center\",\n \"logo_url\": \"logo_url\",\n \"social_buttons_layout\": \"bottom\"\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "f102da1c-5323-41ec-b320-888d05f069b8", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "215eeb29-68c9-4243-857e-d87a7c62795f", + "name": "Delete branding theme - default", + "request": { + "urlPathTemplate": "/branding/themes/{themeId}", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "themeId": { + "equalTo": "themeId" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "215eeb29-68c9-4243-857e-d87a7c62795f", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "2dbbd929-7e98-438f-8310-2500cb90f70c", + "name": "Update branding theme - default", + "request": { + "urlPathTemplate": "/branding/themes/{themeId}", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "themeId": { + "equalTo": "themeId" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"borders\": {\n \"button_border_radius\": 1.1,\n \"button_border_weight\": 1.1,\n \"buttons_style\": \"pill\",\n \"input_border_radius\": 1.1,\n \"input_border_weight\": 1.1,\n \"inputs_style\": \"pill\",\n \"show_widget_shadow\": true,\n \"widget_border_weight\": 1.1,\n \"widget_corner_radius\": 1.1\n },\n \"colors\": {\n \"base_focus_color\": \"base_focus_color\",\n \"base_hover_color\": \"base_hover_color\",\n \"body_text\": \"body_text\",\n \"captcha_widget_theme\": \"auto\",\n \"error\": \"error\",\n \"header\": \"header\",\n \"icons\": \"icons\",\n \"input_background\": \"input_background\",\n \"input_border\": \"input_border\",\n \"input_filled_text\": \"input_filled_text\",\n \"input_labels_placeholders\": \"input_labels_placeholders\",\n \"links_focused_components\": \"links_focused_components\",\n \"primary_button\": \"primary_button\",\n \"primary_button_label\": \"primary_button_label\",\n \"read_only_background\": \"read_only_background\",\n \"secondary_button_border\": \"secondary_button_border\",\n \"secondary_button_label\": \"secondary_button_label\",\n \"success\": \"success\",\n \"widget_background\": \"widget_background\",\n \"widget_border\": \"widget_border\"\n },\n \"displayName\": \"displayName\",\n \"fonts\": {\n \"body_text\": {\n \"bold\": true,\n \"size\": 1.1\n },\n \"buttons_text\": {\n \"bold\": true,\n \"size\": 1.1\n },\n \"font_url\": \"font_url\",\n \"input_labels\": {\n \"bold\": true,\n \"size\": 1.1\n },\n \"links\": {\n \"bold\": true,\n \"size\": 1.1\n },\n \"links_style\": \"normal\",\n \"reference_text_size\": 1.1,\n \"subtitle\": {\n \"bold\": true,\n \"size\": 1.1\n },\n \"title\": {\n \"bold\": true,\n \"size\": 1.1\n }\n },\n \"identifiers\": {\n \"login_display\": \"separate\",\n \"otp_autocomplete\": true,\n \"phone_display\": {\n \"formatting\": \"international\",\n \"masking\": \"hide_country_code\"\n }\n },\n \"page_background\": {\n \"background_color\": \"background_color\",\n \"background_image_url\": \"background_image_url\",\n \"page_layout\": \"center\"\n },\n \"themeId\": \"themeId\",\n \"widget\": {\n \"header_text_alignment\": \"center\",\n \"logo_height\": 1.1,\n \"logo_position\": \"center\",\n \"logo_url\": \"logo_url\",\n \"social_buttons_layout\": \"bottom\"\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "2dbbd929-7e98-438f-8310-2500cb90f70c", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "520b4b30-1317-42da-89bf-a0491d1694b6", + "name": "Get a list of phone providers - default", + "request": { + "urlPathTemplate": "/branding/phone/providers", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "queryParameters": { + "disabled": { + "equalTo": "true" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"providers\": [\n {\n \"id\": \"id\",\n \"tenant\": \"tenant\",\n \"name\": \"twilio\",\n \"channel\": \"phone\",\n \"disabled\": true,\n \"configuration\": {\n \"sid\": \"sid\",\n \"delivery_methods\": [\n \"text\"\n ]\n },\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\"\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "520b4b30-1317-42da-89bf-a0491d1694b6", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "be5761ff-7af6-40ca-95bb-4fdc3bf8eb00", + "name": "Configure the phone provider - default", + "request": { + "urlPathTemplate": "/branding/phone/providers", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 201, + "body": "{\n \"id\": \"id\",\n \"tenant\": \"tenant\",\n \"name\": \"twilio\",\n \"channel\": \"phone\",\n \"disabled\": true,\n \"configuration\": {\n \"default_from\": \"default_from\",\n \"mssid\": \"mssid\",\n \"sid\": \"sid\",\n \"delivery_methods\": [\n \"text\"\n ]\n },\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "be5761ff-7af6-40ca-95bb-4fdc3bf8eb00", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "8c639058-4844-47c5-8ad8-c0ccd33399bb", + "name": "Get a phone provider - default", + "request": { + "urlPathTemplate": "/branding/phone/providers/{id}", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"tenant\": \"tenant\",\n \"name\": \"twilio\",\n \"channel\": \"phone\",\n \"disabled\": true,\n \"configuration\": {\n \"default_from\": \"default_from\",\n \"mssid\": \"mssid\",\n \"sid\": \"sid\",\n \"delivery_methods\": [\n \"text\"\n ]\n },\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "8c639058-4844-47c5-8ad8-c0ccd33399bb", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "a6175428-056a-47f4-b776-4dcf8260822c", + "name": "Deletes a Phone Provider - default", + "request": { + "urlPathTemplate": "/branding/phone/providers/{id}", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "a6175428-056a-47f4-b776-4dcf8260822c", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "95edda2c-d9d9-4854-9130-044ebb441bd7", + "name": "Update the phone provider - default", + "request": { + "urlPathTemplate": "/branding/phone/providers/{id}", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"tenant\": \"tenant\",\n \"name\": \"twilio\",\n \"channel\": \"phone\",\n \"disabled\": true,\n \"configuration\": {\n \"default_from\": \"default_from\",\n \"mssid\": \"mssid\",\n \"sid\": \"sid\",\n \"delivery_methods\": [\n \"text\"\n ]\n },\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "95edda2c-d9d9-4854-9130-044ebb441bd7", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "eced0fdd-3915-430a-8c28-1161ab6a3313", + "name": "Send a test phone notification for the configured provider - default", + "request": { + "urlPathTemplate": "/branding/phone/providers/{id}/try", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 202, + "body": "{\n \"code\": 1.1,\n \"message\": \"message\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "eced0fdd-3915-430a-8c28-1161ab6a3313", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "927ee9f5-34f7-4b77-83bf-5eb0b1a61e2d", + "name": "Get a list of phone notification templates - default", + "request": { + "urlPathTemplate": "/branding/phone/templates", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "queryParameters": { + "disabled": { + "equalTo": "true" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"templates\": [\n {\n \"id\": \"id\",\n \"channel\": \"channel\",\n \"customizable\": true,\n \"tenant\": \"tenant\",\n \"content\": {},\n \"type\": \"otp_verify\",\n \"disabled\": true\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "927ee9f5-34f7-4b77-83bf-5eb0b1a61e2d", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "300d3eb8-52bc-4001-8af4-a0594f4242d9", + "name": "Create a phone notification template - default", + "request": { + "urlPathTemplate": "/branding/phone/templates", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 201, + "body": "{\n \"id\": \"id\",\n \"channel\": \"channel\",\n \"customizable\": true,\n \"tenant\": \"tenant\",\n \"content\": {\n \"syntax\": \"syntax\",\n \"from\": \"from\",\n \"body\": {\n \"text\": \"text\",\n \"voice\": \"voice\"\n }\n },\n \"type\": \"otp_verify\",\n \"disabled\": true\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "300d3eb8-52bc-4001-8af4-a0594f4242d9", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "76aa966c-5fbe-4a23-a2a4-7cbf13eb043c", + "name": "Get a phone notification template - default", + "request": { + "urlPathTemplate": "/branding/phone/templates/{id}", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"channel\": \"channel\",\n \"customizable\": true,\n \"tenant\": \"tenant\",\n \"content\": {\n \"syntax\": \"syntax\",\n \"from\": \"from\",\n \"body\": {\n \"text\": \"text\",\n \"voice\": \"voice\"\n }\n },\n \"type\": \"otp_verify\",\n \"disabled\": true\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "76aa966c-5fbe-4a23-a2a4-7cbf13eb043c", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "97c15733-1abd-4f5e-8eda-3dc1b372e0ec", + "name": "Delete a phone notification template - default", + "request": { + "urlPathTemplate": "/branding/phone/templates/{id}", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "97c15733-1abd-4f5e-8eda-3dc1b372e0ec", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "2e4c517e-f1d0-4252-bfea-7b6342825fba", + "name": "Update a phone notification template - default", + "request": { + "urlPathTemplate": "/branding/phone/templates/{id}", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"channel\": \"channel\",\n \"customizable\": true,\n \"tenant\": \"tenant\",\n \"content\": {\n \"syntax\": \"syntax\",\n \"from\": \"from\",\n \"body\": {\n \"text\": \"text\",\n \"voice\": \"voice\"\n }\n },\n \"type\": \"otp_verify\",\n \"disabled\": true\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "2e4c517e-f1d0-4252-bfea-7b6342825fba", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "7d7a4ccb-4b23-4fb0-813d-9f0eef8f6ed4", + "name": "Resets a phone notification template values - default", + "request": { + "urlPathTemplate": "/branding/phone/templates/{id}/reset", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"x\",\n \"channel\": \"channel\",\n \"customizable\": true,\n \"tenant\": \"x\",\n \"content\": {\n \"syntax\": \"syntax\",\n \"from\": \"x\",\n \"body\": {\n \"text\": \"x\",\n \"voice\": \"x\"\n }\n },\n \"type\": \"otp_verify\",\n \"disabled\": true\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "7d7a4ccb-4b23-4fb0-813d-9f0eef8f6ed4", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "0d9ba799-020f-40db-86d6-08de485ad618", + "name": "Send a test phone notification for the configured template - default", + "request": { + "urlPathTemplate": "/branding/phone/templates/{id}/try", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 202, + "body": "{\n \"message\": \"message\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "0d9ba799-020f-40db-86d6-08de485ad618", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "f3b442cc-02a6-4c76-9a8f-3c3bd4c6efde", + "name": "Get the organizations associated to a client grant - default", + "request": { + "urlPathTemplate": "/client-grants/{id}/organizations", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + }, + "queryParameters": { + "include_totals": { + "equalTo": "true" + }, + "from": { + "equalTo": "from" + }, + "take": { + "equalTo": "1" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"next\": \"next\",\n \"organizations\": [\n {\n \"id\": \"id\",\n \"name\": \"name\",\n \"display_name\": \"display_name\",\n \"token_quota\": {\n \"client_credentials\": {}\n },\n \"third_party_client_access\": \"block\",\n \"is_app_entitlement_active\": true\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "f3b442cc-02a6-4c76-9a8f-3c3bd4c6efde", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "318739d6-2060-4406-9548-e1dca9fc9306", + "name": "Get client credentials - default", + "request": { + "urlPathTemplate": "/clients/{client_id}/credentials", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "client_id": { + "equalTo": "client_id" + } + } + }, + "response": { + "status": 200, + "body": "[\n {\n \"id\": \"id\",\n \"name\": \"name\",\n \"kid\": \"kid\",\n \"alg\": \"RS256\",\n \"credential_type\": \"public_key\",\n \"subject_dn\": \"subject_dn\",\n \"thumbprint_sha256\": \"thumbprint_sha256\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"expires_at\": \"2024-01-15T09:30:00Z\"\n }\n]", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "318739d6-2060-4406-9548-e1dca9fc9306", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "e1b4ce2a-40cd-428d-98c4-4fe2c4dfb358", + "name": "Create a client credential - default", + "request": { + "urlPathTemplate": "/clients/{client_id}/credentials", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "client_id": { + "equalTo": "client_id" + } + } + }, + "response": { + "status": 201, + "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"kid\": \"kid\",\n \"alg\": \"RS256\",\n \"credential_type\": \"public_key\",\n \"subject_dn\": \"subject_dn\",\n \"thumbprint_sha256\": \"thumbprint_sha256\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"expires_at\": \"2024-01-15T09:30:00Z\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "e1b4ce2a-40cd-428d-98c4-4fe2c4dfb358", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "84fb49da-5fa4-4f09-8176-cf14ff179829", + "name": "Get client credential details - default", + "request": { + "urlPathTemplate": "/clients/{client_id}/credentials/{credential_id}", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "client_id": { + "equalTo": "client_id" + }, + "credential_id": { + "equalTo": "credential_id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"kid\": \"kid\",\n \"alg\": \"RS256\",\n \"credential_type\": \"public_key\",\n \"subject_dn\": \"subject_dn\",\n \"thumbprint_sha256\": \"thumbprint_sha256\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"expires_at\": \"2024-01-15T09:30:00Z\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "84fb49da-5fa4-4f09-8176-cf14ff179829", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "ac24c006-0300-485b-b881-9bfd0a38c4aa", + "name": "Delete a client credential - default", + "request": { + "urlPathTemplate": "/clients/{client_id}/credentials/{credential_id}", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "client_id": { + "equalTo": "client_id" + }, + "credential_id": { + "equalTo": "credential_id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "ac24c006-0300-485b-b881-9bfd0a38c4aa", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "c820cce1-37c3-4aa6-8700-119563b70d23", + "name": "Update a client credential - default", + "request": { + "urlPathTemplate": "/clients/{client_id}/credentials/{credential_id}", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "client_id": { + "equalTo": "client_id" + }, + "credential_id": { + "equalTo": "credential_id" + } + } + }, + "response": { + "status": 201, + "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"kid\": \"kid\",\n \"alg\": \"RS256\",\n \"credential_type\": \"public_key\",\n \"subject_dn\": \"subject_dn\",\n \"thumbprint_sha256\": \"thumbprint_sha256\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"expires_at\": \"2024-01-15T09:30:00Z\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "c820cce1-37c3-4aa6-8700-119563b70d23", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "324ddd4f-5b97-4bf3-8c51-91ad2c931c47", + "name": "Get enabled connections for a client - default", + "request": { + "urlPathTemplate": "/clients/{id}/connections", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + }, + "queryParameters": { + "strategy": { + "hasExactly": [ + { + "equalTo": "ad" + } + ] + }, + "from": { + "equalTo": "from" + }, + "take": { + "equalTo": "1" + }, + "fields": { + "equalTo": "fields" + }, + "include_fields": { + "equalTo": "true" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"connections\": [\n {\n \"name\": \"name\",\n \"display_name\": \"display_name\",\n \"options\": {\n \"key\": \"value\"\n },\n \"id\": \"id\",\n \"strategy\": \"strategy\",\n \"realms\": [\n \"realms\"\n ],\n \"is_domain_connection\": true,\n \"show_as_button\": true,\n \"authentication\": {\n \"active\": true\n },\n \"connected_accounts\": {\n \"active\": true\n },\n \"cross_app_access_requesting_app\": {\n \"active\": true\n },\n \"cross_app_access_resource_app\": {\n \"status\": \"enabled\"\n }\n }\n ],\n \"next\": \"next\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "324ddd4f-5b97-4bf3-8c51-91ad2c931c47", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "7960ea97-24a9-4c8e-ad42-2dcb8c0215bc", + "name": "Get a list of directory provisioning configurations - default", + "request": { + "urlPathTemplate": "/connections-directory-provisionings", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "queryParameters": { + "from": { + "equalTo": "from" + }, + "take": { + "equalTo": "1" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"directory_provisionings\": [\n {\n \"connection_id\": \"connection_id\",\n \"connection_name\": \"connection_name\",\n \"strategy\": \"strategy\",\n \"mapping\": [\n {\n \"auth0\": \"auth0\",\n \"idp\": \"idp\"\n }\n ],\n \"synchronize_automatically\": true,\n \"synchronize_groups\": \"all\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"last_synchronization_at\": \"2024-01-15T09:30:00Z\",\n \"last_synchronization_status\": \"last_synchronization_status\",\n \"last_synchronization_error\": \"last_synchronization_error\"\n }\n ],\n \"next\": \"next\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "7960ea97-24a9-4c8e-ad42-2dcb8c0215bc", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "feeddf21-212e-4dbc-a0eb-4a922ec0341b", + "name": "Get a directory provisioning configuration - default", + "request": { + "urlPathTemplate": "/connections/{id}/directory-provisioning", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"connection_id\": \"connection_id\",\n \"connection_name\": \"connection_name\",\n \"strategy\": \"strategy\",\n \"mapping\": [\n {\n \"auth0\": \"auth0\",\n \"idp\": \"idp\"\n }\n ],\n \"synchronize_automatically\": true,\n \"synchronize_groups\": \"all\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"last_synchronization_at\": \"2024-01-15T09:30:00Z\",\n \"last_synchronization_status\": \"last_synchronization_status\",\n \"last_synchronization_error\": \"last_synchronization_error\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "feeddf21-212e-4dbc-a0eb-4a922ec0341b", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "3cfd3977-6fa4-44df-bdf3-78fee867315a", + "name": "Create a directory provisioning configuration - default", + "request": { + "urlPathTemplate": "/connections/{id}/directory-provisioning", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 201, + "body": "{\n \"connection_id\": \"connection_id\",\n \"connection_name\": \"connection_name\",\n \"strategy\": \"strategy\",\n \"mapping\": [\n {\n \"auth0\": \"auth0\",\n \"idp\": \"idp\"\n }\n ],\n \"synchronize_automatically\": true,\n \"synchronize_groups\": \"all\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"last_synchronization_at\": \"2024-01-15T09:30:00Z\",\n \"last_synchronization_status\": \"last_synchronization_status\",\n \"last_synchronization_error\": \"last_synchronization_error\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "3cfd3977-6fa4-44df-bdf3-78fee867315a", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "2ee66349-1719-45a8-bbbc-65b8e4e783a3", + "name": "Delete a directory provisioning configuration - default", + "request": { + "urlPathTemplate": "/connections/{id}/directory-provisioning", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "2ee66349-1719-45a8-bbbc-65b8e4e783a3", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "738a6f0e-a176-48c6-ac5b-1bcc67bc8656", + "name": "Patch a directory provisioning configuration - default", + "request": { + "urlPathTemplate": "/connections/{id}/directory-provisioning", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"connection_id\": \"connection_id\",\n \"connection_name\": \"connection_name\",\n \"strategy\": \"strategy\",\n \"mapping\": [\n {\n \"auth0\": \"auth0\",\n \"idp\": \"idp\"\n }\n ],\n \"synchronize_automatically\": true,\n \"synchronize_groups\": \"all\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"last_synchronization_at\": \"2024-01-15T09:30:00Z\",\n \"last_synchronization_status\": \"last_synchronization_status\",\n \"last_synchronization_error\": \"last_synchronization_error\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "738a6f0e-a176-48c6-ac5b-1bcc67bc8656", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "181a029d-c4d1-4386-8c0d-4e517aea7579", + "name": "Get a connection's default directory provisioning attribute mapping - default", + "request": { + "urlPathTemplate": "/connections/{id}/directory-provisioning/default-mapping", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"mapping\": [\n {\n \"auth0\": \"auth0\",\n \"idp\": \"idp\"\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "181a029d-c4d1-4386-8c0d-4e517aea7579", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "54b92a05-a1d2-41b6-887a-45227b7b7901", + "name": "Get synchronized groups for a directory provisioning configuration - default", + "request": { + "urlPathTemplate": "/connections/{id}/directory-provisioning/synchronized-groups", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + }, + "queryParameters": { + "from": { + "equalTo": "from" + }, + "take": { + "equalTo": "1" + }, + "q": { + "equalTo": "q" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"groups\": [\n {\n \"id\": \"id\",\n \"name\": \"name\",\n \"email\": \"email\",\n \"direct_members_count\": 1\n }\n ],\n \"next\": \"next\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "54b92a05-a1d2-41b6-887a-45227b7b7901", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "5bbdfb31-4781-467f-8fba-9b4896124cb2", + "name": "Add synchronized group selections to a directory provisioning configuration - default", + "request": { + "urlPathTemplate": "/connections/{id}/directory-provisioning/synchronized-groups", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "5bbdfb31-4781-467f-8fba-9b4896124cb2", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "3862e103-ed23-45b1-9543-8c83720a6c9c", + "name": "Create or replace synchronized group selections for a directory provisioning configuration - default", + "request": { + "urlPathTemplate": "/connections/{id}/directory-provisioning/synchronized-groups", + "method": "PUT", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "3862e103-ed23-45b1-9543-8c83720a6c9c", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "e0e41a59-3e51-4a64-b4c9-8bfae41b828f", + "name": "Delete synchronized group selections for a directory provisioning configuration - default", + "request": { + "urlPathTemplate": "/connections/{id}/directory-provisioning/synchronized-groups", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "e0e41a59-3e51-4a64-b4c9-8bfae41b828f", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "9821e94c-1529-464c-911e-9b351dbc15bd", + "name": "Get a list of SCIM configurations - default", + "request": { + "urlPathTemplate": "/connections-scim-configurations", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "queryParameters": { + "from": { + "equalTo": "from" + }, + "take": { + "equalTo": "1" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"scim_configurations\": [\n {\n \"connection_id\": \"connection_id\",\n \"connection_name\": \"connection_name\",\n \"strategy\": \"strategy\",\n \"tenant_name\": \"tenant_name\",\n \"user_id_attribute\": \"user_id_attribute\",\n \"mapping\": [\n {}\n ],\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_on\": \"2024-01-15T09:30:00Z\"\n }\n ],\n \"next\": \"next\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "9821e94c-1529-464c-911e-9b351dbc15bd", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "30a0fe58-a2bc-4645-9d9e-c1ca9f8c3e2f", + "name": "Get a connection's SCIM configuration - default", + "request": { + "urlPathTemplate": "/connections/{id}/scim-configuration", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"connection_id\": \"connection_id\",\n \"connection_name\": \"connection_name\",\n \"strategy\": \"strategy\",\n \"tenant_name\": \"tenant_name\",\n \"user_id_attribute\": \"user_id_attribute\",\n \"mapping\": [\n {\n \"auth0\": \"auth0\",\n \"scim\": \"scim\"\n }\n ],\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_on\": \"2024-01-15T09:30:00Z\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "30a0fe58-a2bc-4645-9d9e-c1ca9f8c3e2f", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "45f92e80-8b92-4937-b29b-76fac22cf624", + "name": "Create a SCIM configuration - default", + "request": { + "urlPathTemplate": "/connections/{id}/scim-configuration", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 201, + "body": "{\n \"connection_id\": \"connection_id\",\n \"connection_name\": \"connection_name\",\n \"strategy\": \"strategy\",\n \"tenant_name\": \"tenant_name\",\n \"user_id_attribute\": \"user_id_attribute\",\n \"mapping\": [\n {\n \"auth0\": \"auth0\",\n \"scim\": \"scim\"\n }\n ],\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_on\": \"2024-01-15T09:30:00Z\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "45f92e80-8b92-4937-b29b-76fac22cf624", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "c9239c3d-f534-4c1d-a05e-64c0785f569a", + "name": "Delete a connection's SCIM configuration - default", + "request": { + "urlPathTemplate": "/connections/{id}/scim-configuration", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "c9239c3d-f534-4c1d-a05e-64c0785f569a", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "d298cb6d-3c6a-4510-a78c-556fad17fd65", + "name": "Patch a connection's SCIM configuration - default", + "request": { + "urlPathTemplate": "/connections/{id}/scim-configuration", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"connection_id\": \"connection_id\",\n \"connection_name\": \"connection_name\",\n \"strategy\": \"strategy\",\n \"tenant_name\": \"tenant_name\",\n \"user_id_attribute\": \"user_id_attribute\",\n \"mapping\": [\n {\n \"auth0\": \"auth0\",\n \"scim\": \"scim\"\n }\n ],\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_on\": \"2024-01-15T09:30:00Z\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "d298cb6d-3c6a-4510-a78c-556fad17fd65", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "4cc31df0-e4df-450c-9fac-16b9c893e9fa", + "name": "Get a connection's default SCIM mapping - default", + "request": { + "urlPathTemplate": "/connections/{id}/scim-configuration/default-mapping", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"mapping\": [\n {\n \"auth0\": \"auth0\",\n \"scim\": \"scim\"\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "4cc31df0-e4df-450c-9fac-16b9c893e9fa", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "4cda0987-d608-47ba-b465-245ecfaabb90", + "name": "Get enabled clients for a connection - default", + "request": { + "urlPathTemplate": "/connections/{id}/clients", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + }, + "queryParameters": { + "take": { + "equalTo": "1" + }, + "from": { + "equalTo": "from" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"clients\": [\n {\n \"client_id\": \"client_id\"\n }\n ],\n \"next\": \"next\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "4cda0987-d608-47ba-b465-245ecfaabb90", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "0c56da15-4d9a-470c-9fcd-64f2c04dd3d3", + "name": "Update enabled clients for a connection - default", + "request": { + "urlPathTemplate": "/connections/{id}/clients", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "0c56da15-4d9a-470c-9fcd-64f2c04dd3d3", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "bf72570e-1315-4eaa-8145-3f400d3eccf0", + "name": "Get connection keys - default", + "request": { + "urlPathTemplate": "/connections/{id}/keys", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "[\n {\n \"kid\": \"kid\",\n \"cert\": \"cert\",\n \"pkcs\": \"pkcs\",\n \"current\": true,\n \"next\": true,\n \"previous\": true,\n \"current_since\": \"current_since\",\n \"fingerprint\": \"fingerprint\",\n \"thumbprint\": \"thumbprint\",\n \"algorithm\": \"algorithm\",\n \"key_use\": \"encryption\",\n \"subject_dn\": \"subject_dn\"\n }\n]", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "bf72570e-1315-4eaa-8145-3f400d3eccf0", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "faa363d9-1b22-41f6-a15a-6b53ce1566f2", + "name": "Create connection keys - default", + "request": { + "urlPathTemplate": "/connections/{id}/keys", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 201, + "body": "[\n {\n \"kid\": \"kid\",\n \"cert\": \"cert\",\n \"pkcs\": \"pkcs\",\n \"current\": true,\n \"next\": true,\n \"current_since\": \"current_since\",\n \"fingerprint\": \"fingerprint\",\n \"thumbprint\": \"thumbprint\",\n \"algorithm\": \"algorithm\",\n \"key_use\": \"encryption\",\n \"subject_dn\": \"subject_dn\"\n }\n]", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "faa363d9-1b22-41f6-a15a-6b53ce1566f2", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "b11a1483-99df-4d6a-ace7-cb55bf35ba34", + "name": "Rotate connection keys - default", + "request": { + "urlPathTemplate": "/connections/{id}/keys/rotate", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 201, + "body": "{\n \"kid\": \"kid\",\n \"cert\": \"cert\",\n \"pkcs\": \"pkcs\",\n \"next\": true,\n \"fingerprint\": \"fingerprint\",\n \"thumbprint\": \"thumbprint\",\n \"algorithm\": \"algorithm\",\n \"key_use\": \"encryption\",\n \"subject_dn\": \"subject_dn\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "b11a1483-99df-4d6a-ace7-cb55bf35ba34", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "1d0cb62f-340c-4168-bd90-0fa1ba032e3a", + "name": "Delete a connection user - default", + "request": { + "urlPathTemplate": "/connections/{id}/users", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + }, + "queryParameters": { + "email": { + "equalTo": "email" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "1d0cb62f-340c-4168-bd90-0fa1ba032e3a", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "175c0550-405b-4cd6-b498-6501a695ed33", + "name": "Request an on-demand synchronization of the directory - default", + "request": { + "urlPathTemplate": "/connections/{id}/directory-provisioning/synchronizations", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 201, + "body": "{\n \"connection_id\": \"connection_id\",\n \"synchronization_id\": \"synchronization_id\",\n \"status\": \"status\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "175c0550-405b-4cd6-b498-6501a695ed33", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "58eab082-4eda-42df-9764-ed787b38df1e", + "name": "Get a connection's SCIM tokens - default", + "request": { + "urlPathTemplate": "/connections/{id}/scim-configuration/tokens", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "[\n {\n \"token_id\": \"token_id\",\n \"scopes\": [\n \"scopes\"\n ],\n \"created_at\": \"created_at\",\n \"valid_until\": \"valid_until\",\n \"last_used_at\": \"last_used_at\"\n }\n]", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "58eab082-4eda-42df-9764-ed787b38df1e", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "b55da7ed-453d-4799-b895-796f72020abb", + "name": "Create a SCIM Token - default", + "request": { + "urlPathTemplate": "/connections/{id}/scim-configuration/tokens", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 201, + "body": "{\n \"token_id\": \"token_id\",\n \"token\": \"token\",\n \"scopes\": [\n \"scopes\"\n ],\n \"created_at\": \"created_at\",\n \"valid_until\": \"valid_until\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "b55da7ed-453d-4799-b895-796f72020abb", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "e0eaabd0-7ebe-4b89-90e6-f0c7b43be7c9", + "name": "Delete a connection's SCIM token - default", + "request": { + "urlPathTemplate": "/connections/{id}/scim-configuration/tokens/{tokenId}", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + }, + "tokenId": { + "equalTo": "tokenId" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "e0eaabd0-7ebe-4b89-90e6-f0c7b43be7c9", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "53da06f4-1ed4-4e51-8bb8-0ce04e219464", + "name": "Get email provider - default", + "request": { + "urlPathTemplate": "/emails/provider", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "queryParameters": { + "fields": { + "equalTo": "fields" + }, + "include_fields": { + "equalTo": "true" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"name\": \"name\",\n \"enabled\": true,\n \"default_from_address\": \"default_from_address\",\n \"credentials\": {\n \"api_user\": \"api_user\",\n \"region\": \"region\",\n \"smtp_host\": \"smtp_host\",\n \"smtp_port\": 1,\n \"smtp_user\": \"smtp_user\"\n },\n \"settings\": {\n \"key\": \"value\"\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "53da06f4-1ed4-4e51-8bb8-0ce04e219464", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "d1a0f535-378f-4200-865f-23ca6cf50b9d", + "name": "Configure email provider - default", + "request": { + "urlPathTemplate": "/emails/provider", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 201, + "body": "{\n \"name\": \"name\",\n \"enabled\": true,\n \"default_from_address\": \"default_from_address\",\n \"credentials\": {\n \"api_user\": \"api_user\",\n \"region\": \"region\",\n \"smtp_host\": \"smtp_host\",\n \"smtp_port\": 1,\n \"smtp_user\": \"smtp_user\"\n },\n \"settings\": {\n \"key\": \"value\"\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "d1a0f535-378f-4200-865f-23ca6cf50b9d", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "a57ca053-0cf9-416a-9cb3-144e7c5bd4d5", + "name": "Delete email provider - default", + "request": { + "urlPathTemplate": "/emails/provider", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "a57ca053-0cf9-416a-9cb3-144e7c5bd4d5", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "36f2813e-a299-41fd-a6d6-54938ea37a15", + "name": "Update email provider - default", + "request": { + "urlPathTemplate": "/emails/provider", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"name\": \"name\",\n \"enabled\": true,\n \"default_from_address\": \"default_from_address\",\n \"credentials\": {\n \"api_user\": \"api_user\",\n \"region\": \"region\",\n \"smtp_host\": \"smtp_host\",\n \"smtp_port\": 1,\n \"smtp_user\": \"smtp_user\"\n },\n \"settings\": {\n \"key\": \"value\"\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "36f2813e-a299-41fd-a6d6-54938ea37a15", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "c3751490-b492-4376-9596-bd7d6f5e8443", + "name": "Get this event stream's delivery history - default", + "request": { + "urlPathTemplate": "/event-streams/{id}/deliveries", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + }, + "queryParameters": { + "statuses": { + "equalTo": "statuses" + }, + "event_types": { + "equalTo": "event_types" + }, + "date_from": { + "equalTo": "date_from" + }, + "date_to": { + "equalTo": "date_to" + }, + "from": { + "equalTo": "from" + }, + "take": { + "equalTo": "1" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"deliveries\": [\n {\n \"id\": \"id\",\n \"event_stream_id\": \"event_stream_id\",\n \"status\": \"failed\",\n \"event_type\": \"connection.created\",\n \"attempts\": [\n {\n \"status\": \"failed\",\n \"timestamp\": \"2024-01-15T09:30:00Z\"\n }\n ]\n }\n ],\n \"next\": \"next\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "c3751490-b492-4376-9596-bd7d6f5e8443", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "93fa5cb1-a92c-4b20-8483-814c91175496", + "name": "Get a specific event's delivery history - default", + "request": { + "urlPathTemplate": "/event-streams/{id}/deliveries/{event_id}", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + }, + "event_id": { + "equalTo": "event_id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"event_stream_id\": \"event_stream_id\",\n \"status\": \"failed\",\n \"event_type\": \"connection.created\",\n \"attempts\": [\n {\n \"status\": \"failed\",\n \"timestamp\": \"2024-01-15T09:30:00Z\",\n \"error_message\": \"error_message\",\n \"duration\": 1.1\n }\n ],\n \"event\": {\n \"id\": \"id\",\n \"source\": \"source\",\n \"specversion\": \"specversion\",\n \"type\": \"type\",\n \"time\": \"2024-01-15T09:30:00Z\",\n \"data\": {\n \"key\": \"value\"\n }\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "93fa5cb1-a92c-4b20-8483-814c91175496", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "25856d60-9bad-4777-b7f2-7b5e2656b133", + "name": "Redeliver failed events - default", + "request": { + "urlPathTemplate": "/event-streams/{id}/redeliver", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 202, + "body": "{\n \"date_from\": \"2024-01-15T09:30:00Z\",\n \"date_to\": \"2024-01-15T09:30:00Z\",\n \"statuses\": [\n \"failed\"\n ],\n \"event_types\": [\n \"connection.created\"\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "25856d60-9bad-4777-b7f2-7b5e2656b133", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "05d8b619-8b8d-41ea-b60f-bea3298d5e33", + "name": "Redeliver a single failed event by ID - default", + "request": { + "urlPathTemplate": "/event-streams/{id}/redeliver/{event_id}", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + }, + "event_id": { + "equalTo": "event_id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "05d8b619-8b8d-41ea-b60f-bea3298d5e33", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "62d121a4-93bc-4281-8659-06708ac8d781", + "name": "Get flow executions - default", + "request": { + "urlPathTemplate": "/flows/{flow_id}/executions", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "flow_id": { + "equalTo": "flow_id" + } + }, + "queryParameters": { + "include_totals": { + "equalTo": "true" + }, + "from": { + "equalTo": "from" + }, + "take": { + "equalTo": "1" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"next\": \"next\",\n \"executions\": [\n {\n \"id\": \"id\",\n \"trace_id\": \"trace_id\",\n \"journey_id\": \"journey_id\",\n \"status\": \"status\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"started_at\": \"2024-01-15T09:30:00Z\",\n \"ended_at\": \"2024-01-15T09:30:00Z\"\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "62d121a4-93bc-4281-8659-06708ac8d781", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "3151ee0d-c1ca-45b6-9f72-5b4138b4b90d", + "name": "Get a flow execution - default", + "request": { + "urlPathTemplate": "/flows/{flow_id}/executions/{execution_id}", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "flow_id": { + "equalTo": "flow_id" + }, + "execution_id": { + "equalTo": "execution_id" + } + }, + "queryParameters": { + "hydrate": { + "hasExactly": [ + { + "equalTo": "debug" + } + ] + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"trace_id\": \"trace_id\",\n \"journey_id\": \"journey_id\",\n \"status\": \"status\",\n \"debug\": {\n \"key\": \"value\"\n },\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"started_at\": \"2024-01-15T09:30:00Z\",\n \"ended_at\": \"2024-01-15T09:30:00Z\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "3151ee0d-c1ca-45b6-9f72-5b4138b4b90d", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "9f81cb02-c44f-4e52-a1a3-cc26c0ae01a5", + "name": "Delete a flow execution - default", + "request": { + "urlPathTemplate": "/flows/{flow_id}/executions/{execution_id}", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "flow_id": { + "equalTo": "flow_id" + }, + "execution_id": { + "equalTo": "execution_id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "9f81cb02-c44f-4e52-a1a3-cc26c0ae01a5", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "ee40f82d-4bce-4a5a-8cbb-bb5eda1909ee", + "name": "Get Flows Vault connection list - default", + "request": { + "urlPathTemplate": "/flows/vault/connections", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "queryParameters": { + "page": { + "equalTo": "1" + }, + "per_page": { + "equalTo": "1" + }, + "include_totals": { + "equalTo": "true" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"start\": 1.1,\n \"limit\": 1.1,\n \"total\": 1.1,\n \"connections\": [\n {\n \"id\": \"id\",\n \"app_id\": \"app_id\",\n \"name\": \"name\",\n \"account_name\": \"account_name\",\n \"ready\": true,\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"refreshed_at\": \"2024-01-15T09:30:00Z\",\n \"fingerprint\": \"fingerprint\"\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "ee40f82d-4bce-4a5a-8cbb-bb5eda1909ee", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "b56d64da-174f-4d7e-86e7-3240fb1a8174", + "name": "Create a Flows Vault connection - default", + "request": { + "urlPathTemplate": "/flows/vault/connections", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 201, + "body": "{\n \"id\": \"id\",\n \"app_id\": \"app_id\",\n \"environment\": \"environment\",\n \"name\": \"name\",\n \"account_name\": \"account_name\",\n \"ready\": true,\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"refreshed_at\": \"2024-01-15T09:30:00Z\",\n \"fingerprint\": \"fingerprint\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "b56d64da-174f-4d7e-86e7-3240fb1a8174", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "6cc30ec0-8e30-44ab-b033-e2db27abc3ac", + "name": "Get a Flows Vault connection - default", + "request": { + "urlPathTemplate": "/flows/vault/connections/{id}", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"app_id\": \"app_id\",\n \"environment\": \"environment\",\n \"name\": \"name\",\n \"account_name\": \"account_name\",\n \"ready\": true,\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"refreshed_at\": \"2024-01-15T09:30:00Z\",\n \"fingerprint\": \"fingerprint\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "6cc30ec0-8e30-44ab-b033-e2db27abc3ac", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "97e2e46c-2af3-4cf0-b6df-e09cd0f4151a", + "name": "Delete a Flows Vault connection - default", + "request": { + "urlPathTemplate": "/flows/vault/connections/{id}", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "97e2e46c-2af3-4cf0-b6df-e09cd0f4151a", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "cdbf8062-2c13-4861-9280-e1ef2af24823", + "name": "Update a Flows Vault connection - default", + "request": { + "urlPathTemplate": "/flows/vault/connections/{id}", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"app_id\": \"app_id\",\n \"environment\": \"environment\",\n \"name\": \"name\",\n \"account_name\": \"account_name\",\n \"ready\": true,\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"refreshed_at\": \"2024-01-15T09:30:00Z\",\n \"fingerprint\": \"fingerprint\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "cdbf8062-2c13-4861-9280-e1ef2af24823", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "a79f7c93-ff7f-4b2e-8d07-41cdddf27eeb", + "name": "Get Group Members - default", + "request": { + "urlPathTemplate": "/groups/{id}/members", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + }, + "queryParameters": { + "fields": { + "equalTo": "fields" + }, + "include_fields": { + "equalTo": "true" + }, + "from": { + "equalTo": "from" + }, + "take": { + "equalTo": "1" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"members\": [\n {\n \"id\": \"id\",\n \"member_type\": \"user\",\n \"type\": \"connection\",\n \"connection_id\": \"connection_id\",\n \"created_at\": \"2024-01-15T09:30:00Z\"\n }\n ],\n \"next\": \"next\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "a79f7c93-ff7f-4b2e-8d07-41cdddf27eeb", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "a6180ede-b842-44df-ae1d-d9243c735673", + "name": "Get a group's roles - default", + "request": { + "urlPathTemplate": "/groups/{id}/roles", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + }, + "queryParameters": { + "from": { + "equalTo": "from" + }, + "take": { + "equalTo": "1" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"roles\": [\n {\n \"id\": \"id\",\n \"name\": \"name\",\n \"description\": \"description\",\n \"type\": \"tenant\",\n \"owner_id\": \"owner_id\"\n }\n ],\n \"next\": \"next\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "a6180ede-b842-44df-ae1d-d9243c735673", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "89bf9bc1-fdef-4324-af0b-ae27bc06a0b7", + "name": "Assign roles to a group - default", + "request": { + "urlPathTemplate": "/groups/{id}/roles", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "89bf9bc1-fdef-4324-af0b-ae27bc06a0b7", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "8524f74e-b4e7-406d-847c-49ff4fda5446", + "name": "Remove roles from a group - default", + "request": { + "urlPathTemplate": "/groups/{id}/roles", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "8524f74e-b4e7-406d-847c-49ff4fda5446", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "a2982e98-d69b-4815-a50d-57f1267374d8", + "name": "Create a multi-factor authentication enrollment ticket - default", + "request": { + "urlPathTemplate": "/guardian/enrollments/ticket", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"ticket_id\": \"ticket_id\",\n \"ticket_url\": \"ticket_url\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "a2982e98-d69b-4815-a50d-57f1267374d8", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "029d8a45-40e7-4697-b2da-a0c12a4d3895", + "name": "Get a multi-factor authentication enrollment - default", + "request": { + "urlPathTemplate": "/guardian/enrollments/{id}", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"status\": \"pending\",\n \"name\": \"name\",\n \"identifier\": \"identifier\",\n \"phone_number\": \"phone_number\",\n \"enrolled_at\": \"enrolled_at\",\n \"last_auth\": \"last_auth\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "029d8a45-40e7-4697-b2da-a0c12a4d3895", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "d28abba4-f155-4fa4-ba9b-077e8ea016ad", + "name": "Delete a multi-factor authentication enrollment - default", + "request": { + "urlPathTemplate": "/guardian/enrollments/{id}", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "d28abba4-f155-4fa4-ba9b-077e8ea016ad", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "12377456-a682-4cdc-b63d-41a188b3ce32", + "name": "Get Factors and multi-factor authentication details - default", + "request": { + "urlPathTemplate": "/guardian/factors", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "[\n {\n \"enabled\": true,\n \"trial_expired\": true,\n \"name\": \"push-notification\",\n \"settings\": {\n \"otp_length\": 1,\n \"otp_expiration_time\": 1\n }\n }\n]", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "12377456-a682-4cdc-b63d-41a188b3ce32", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "93c9905e-4981-4cb3-a7b0-026dab1704d6", + "name": "Update multi-factor authentication type - default", + "request": { + "urlPathTemplate": "/guardian/factors/{name}", + "method": "PUT", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "name": { + "equalTo": "push-notification" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"enabled\": true\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "93c9905e-4981-4cb3-a7b0-026dab1704d6", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "e47dd04a-f3a3-409a-a301-7732f16f3bec", + "name": "Get multi-factor authentication policies - default", + "request": { + "urlPathTemplate": "/guardian/policies", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "[\n \"all-applications\"\n]", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "e47dd04a-f3a3-409a-a301-7732f16f3bec", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "8ee26dda-4638-4269-9b14-59f2907ef28b", + "name": "Update multi-factor authentication policies - default", + "request": { + "urlPathTemplate": "/guardian/policies", + "method": "PUT", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "[\n \"all-applications\"\n]", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "8ee26dda-4638-4269-9b14-59f2907ef28b", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "ed435b3e-66b6-47b0-882f-08d926944cad", + "name": "Get Enabled Phone Factors - default", + "request": { + "urlPathTemplate": "/guardian/factors/phone/message-types", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"message_types\": [\n \"sms\"\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "ed435b3e-66b6-47b0-882f-08d926944cad", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "92b96146-6175-4994-87af-ac137f73595d", + "name": "Update the Enabled Phone Factors - default", + "request": { + "urlPathTemplate": "/guardian/factors/phone/message-types", + "method": "PUT", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"message_types\": [\n \"sms\"\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "92b96146-6175-4994-87af-ac137f73595d", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "bd1421c2-3dbe-4603-b96c-02e53872498b", + "name": "Get Twilio configuration - default", + "request": { + "urlPathTemplate": "/guardian/factors/phone/providers/twilio", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"from\": \"from\",\n \"messaging_service_sid\": \"messaging_service_sid\",\n \"auth_token\": \"auth_token\",\n \"sid\": \"sid\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "bd1421c2-3dbe-4603-b96c-02e53872498b", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "92ac09b5-25bb-4b34-8fad-73bbd1a12984", + "name": "Update Twilio configuration - default", + "request": { + "urlPathTemplate": "/guardian/factors/phone/providers/twilio", + "method": "PUT", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"from\": \"from\",\n \"messaging_service_sid\": \"messaging_service_sid\",\n \"auth_token\": \"auth_token\",\n \"sid\": \"sid\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "92ac09b5-25bb-4b34-8fad-73bbd1a12984", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "5c310715-a914-4928-9142-141be90dd71e", + "name": "Get phone provider configuration - default", + "request": { + "urlPathTemplate": "/guardian/factors/phone/selected-provider", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"provider\": \"auth0\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "5c310715-a914-4928-9142-141be90dd71e", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "555dfcb1-93af-4dcf-8241-1114028c32b4", + "name": "Update phone provider configuration - default", + "request": { + "urlPathTemplate": "/guardian/factors/phone/selected-provider", + "method": "PUT", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"provider\": \"auth0\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "555dfcb1-93af-4dcf-8241-1114028c32b4", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "0e83b2df-19bf-4909-b1c4-0522a7f929a3", + "name": "Get Enrollment and Verification Phone Templates - default", + "request": { + "urlPathTemplate": "/guardian/factors/phone/templates", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"enrollment_message\": \"enrollment_message\",\n \"verification_message\": \"verification_message\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "0e83b2df-19bf-4909-b1c4-0522a7f929a3", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "d55307be-4c05-42f6-888f-c5a6ee1d2ae2", + "name": "Update Enrollment and Verification Phone Templates - default", + "request": { + "urlPathTemplate": "/guardian/factors/phone/templates", + "method": "PUT", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"enrollment_message\": \"enrollment_message\",\n \"verification_message\": \"verification_message\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "d55307be-4c05-42f6-888f-c5a6ee1d2ae2", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "11ed0ad4-9dc8-48ea-bc9c-9824179b9f32", + "name": "Get APNS push notification configuration - default", + "request": { + "urlPathTemplate": "/guardian/factors/push-notification/providers/apns", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"bundle_id\": \"bundle_id\",\n \"sandbox\": true,\n \"enabled\": true\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "11ed0ad4-9dc8-48ea-bc9c-9824179b9f32", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "e3a3549b-eb87-4309-aa03-a9f08b1b17a7", + "name": "Update APNS configuration - default", + "request": { + "urlPathTemplate": "/guardian/factors/push-notification/providers/apns", + "method": "PUT", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"sandbox\": true,\n \"bundle_id\": \"bundle_id\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "e3a3549b-eb87-4309-aa03-a9f08b1b17a7", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "177fd0d5-49f0-4b48-8c6a-6d7dfc8e7784", + "name": "Update APNs provider configuration - default", + "request": { + "urlPathTemplate": "/guardian/factors/push-notification/providers/apns", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"sandbox\": true,\n \"bundle_id\": \"bundle_id\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "177fd0d5-49f0-4b48-8c6a-6d7dfc8e7784", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "2a5a732a-4ffa-4f42-8454-448f5735b2f3", + "name": "Overwrite FCM configuration - default", + "request": { + "urlPathTemplate": "/guardian/factors/push-notification/providers/fcm", + "method": "PUT", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"key\": \"value\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "2a5a732a-4ffa-4f42-8454-448f5735b2f3", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "96fb85cc-6ac7-4ec7-9234-6b2db38ea009", + "name": "Updates FCM configuration - default", + "request": { + "urlPathTemplate": "/guardian/factors/push-notification/providers/fcm", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"key\": \"value\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "96fb85cc-6ac7-4ec7-9234-6b2db38ea009", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "712dc55b-7135-4196-89c9-281072bf1983", + "name": "Overwrite FCMV1 configuration - default", + "request": { + "urlPathTemplate": "/guardian/factors/push-notification/providers/fcmv1", + "method": "PUT", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"key\": \"value\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "712dc55b-7135-4196-89c9-281072bf1983", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "de696b9c-3ffb-4bc8-adde-131913ca6338", + "name": "Updates FCMV1 configuration - default", + "request": { + "urlPathTemplate": "/guardian/factors/push-notification/providers/fcmv1", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"key\": \"value\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "de696b9c-3ffb-4bc8-adde-131913ca6338", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "a03df5fb-b6e0-4345-9c83-e920d88114c9", + "name": "Get AWS SNS configuration - default", + "request": { + "urlPathTemplate": "/guardian/factors/push-notification/providers/sns", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"aws_access_key_id\": \"aws_access_key_id\",\n \"aws_secret_access_key\": \"aws_secret_access_key\",\n \"aws_region\": \"aws_region\",\n \"sns_apns_platform_application_arn\": \"sns_apns_platform_application_arn\",\n \"sns_gcm_platform_application_arn\": \"sns_gcm_platform_application_arn\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "a03df5fb-b6e0-4345-9c83-e920d88114c9", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "e2945e05-5067-4c32-b82b-483fff53cfc3", + "name": "Configure AWS SNS configuration - default", + "request": { + "urlPathTemplate": "/guardian/factors/push-notification/providers/sns", + "method": "PUT", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"aws_access_key_id\": \"aws_access_key_id\",\n \"aws_secret_access_key\": \"aws_secret_access_key\",\n \"aws_region\": \"aws_region\",\n \"sns_apns_platform_application_arn\": \"sns_apns_platform_application_arn\",\n \"sns_gcm_platform_application_arn\": \"sns_gcm_platform_application_arn\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "e2945e05-5067-4c32-b82b-483fff53cfc3", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "79a10ee8-bacd-486b-b5f3-4f23e2382c4b", + "name": "Update AWS SNS configuration - default", + "request": { + "urlPathTemplate": "/guardian/factors/push-notification/providers/sns", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"aws_access_key_id\": \"aws_access_key_id\",\n \"aws_secret_access_key\": \"aws_secret_access_key\",\n \"aws_region\": \"aws_region\",\n \"sns_apns_platform_application_arn\": \"sns_apns_platform_application_arn\",\n \"sns_gcm_platform_application_arn\": \"sns_gcm_platform_application_arn\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "79a10ee8-bacd-486b-b5f3-4f23e2382c4b", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "0496348c-7357-4623-8514-fb741a753c75", + "name": "Get push notification provider - default", + "request": { + "urlPathTemplate": "/guardian/factors/push-notification/selected-provider", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"provider\": \"guardian\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "0496348c-7357-4623-8514-fb741a753c75", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "7285a311-6499-4a95-a8cc-6701a6997bf5", + "name": "Update Push Notification configuration - default", + "request": { + "urlPathTemplate": "/guardian/factors/push-notification/selected-provider", + "method": "PUT", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"provider\": \"guardian\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "7285a311-6499-4a95-a8cc-6701a6997bf5", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "e8ca19da-0184-44a0-868c-f020f73cbcbe", + "name": "Get Twilio SMS configuration - default", + "request": { + "urlPathTemplate": "/guardian/factors/sms/providers/twilio", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"from\": \"from\",\n \"messaging_service_sid\": \"messaging_service_sid\",\n \"auth_token\": \"auth_token\",\n \"sid\": \"sid\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "e8ca19da-0184-44a0-868c-f020f73cbcbe", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "8e51f842-c731-4fc6-9f28-42d20d05f8a7", + "name": "Update Twilio SMS configuration - default", + "request": { + "urlPathTemplate": "/guardian/factors/sms/providers/twilio", + "method": "PUT", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"from\": \"from\",\n \"messaging_service_sid\": \"messaging_service_sid\",\n \"auth_token\": \"auth_token\",\n \"sid\": \"sid\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "8e51f842-c731-4fc6-9f28-42d20d05f8a7", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "a9bd6f03-210a-4eba-9f63-48eb355c59a5", + "name": "Get SMS configuration - default", + "request": { + "urlPathTemplate": "/guardian/factors/sms/selected-provider", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"provider\": \"auth0\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "a9bd6f03-210a-4eba-9f63-48eb355c59a5", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "69919759-0017-4dd6-8df8-a40088848ddb", + "name": "Update SMS configuration - default", + "request": { + "urlPathTemplate": "/guardian/factors/sms/selected-provider", + "method": "PUT", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"provider\": \"auth0\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "69919759-0017-4dd6-8df8-a40088848ddb", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "1731b364-a171-42f2-8475-62bdb634879d", + "name": "Get SMS enrollment and verification templates - default", + "request": { + "urlPathTemplate": "/guardian/factors/sms/templates", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"enrollment_message\": \"enrollment_message\",\n \"verification_message\": \"verification_message\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "1731b364-a171-42f2-8475-62bdb634879d", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "2b0be931-6224-442e-92ca-1b5dfe5c06ba", + "name": "Update SMS enrollment and verification templates - default", + "request": { + "urlPathTemplate": "/guardian/factors/sms/templates", + "method": "PUT", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"enrollment_message\": \"enrollment_message\",\n \"verification_message\": \"verification_message\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "2b0be931-6224-442e-92ca-1b5dfe5c06ba", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "47cb059e-e754-4e4c-804b-52d84dd12162", + "name": "Get DUO Configuration - default", + "request": { + "urlPathTemplate": "/guardian/factors/duo/settings", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"ikey\": \"ikey\",\n \"skey\": \"skey\",\n \"host\": \"host\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "47cb059e-e754-4e4c-804b-52d84dd12162", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "0bc934b5-9b7a-4a4d-9ffe-54d5473d5f62", + "name": "Set the DUO Configuration - default", + "request": { + "urlPathTemplate": "/guardian/factors/duo/settings", + "method": "PUT", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"ikey\": \"ikey\",\n \"skey\": \"skey\",\n \"host\": \"host\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "0bc934b5-9b7a-4a4d-9ffe-54d5473d5f62", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "38a5aa65-75f0-471c-ab5e-10b544359b3c", + "name": "Update the DUO Configuration - default", + "request": { + "urlPathTemplate": "/guardian/factors/duo/settings", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"ikey\": \"ikey\",\n \"skey\": \"skey\",\n \"host\": \"host\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "38a5aa65-75f0-471c-ab5e-10b544359b3c", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "fcdfec44-0fb3-42b6-a292-48e9fb13271a", + "name": "Get hook secrets - default", + "request": { + "urlPathTemplate": "/hooks/{id}/secrets", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"key\": \"value\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "fcdfec44-0fb3-42b6-a292-48e9fb13271a", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "a4e022c8-8ee2-4d3b-a52d-18c34a18c1e2", + "name": "Add hook secrets - default", + "request": { + "urlPathTemplate": "/hooks/{id}/secrets", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "a4e022c8-8ee2-4d3b-a52d-18c34a18c1e2", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "1e6e250b-ded1-4ca6-831a-83d54b71295e", + "name": "Delete hook secrets - default", + "request": { + "urlPathTemplate": "/hooks/{id}/secrets", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "1e6e250b-ded1-4ca6-831a-83d54b71295e", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "81e2c92a-69de-446b-82c8-7f320f9e1060", + "name": "Update hook secrets - default", + "request": { + "urlPathTemplate": "/hooks/{id}/secrets", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "81e2c92a-69de-446b-82c8-7f320f9e1060", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "a93c6324-dab3-4581-8117-74e0dc2c05b3", + "name": "Create export users job - default", + "request": { + "urlPathTemplate": "/jobs/users-exports", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"status\": \"status\",\n \"type\": \"type\",\n \"created_at\": \"created_at\",\n \"id\": \"id\",\n \"connection_id\": \"connection_id\",\n \"format\": \"json\",\n \"limit\": 1,\n \"fields\": [\n {\n \"name\": \"name\",\n \"export_as\": \"export_as\"\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "a93c6324-dab3-4581-8117-74e0dc2c05b3", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "d7d59bf9-f846-4967-a50c-0d5e2daaf044", + "name": "Create import users job - default", + "request": { + "urlPathTemplate": "/jobs/users-imports", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 202, + "body": "{\n \"status\": \"status\",\n \"type\": \"type\",\n \"created_at\": \"created_at\",\n \"id\": \"id\",\n \"connection_id\": \"connection_id\",\n \"external_id\": \"external_id\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "d7d59bf9-f846-4967-a50c-0d5e2daaf044", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "1ec86184-b7ac-4cff-9fa1-e78fcdcaa954", + "name": "Send an email address verification email - default", + "request": { + "urlPathTemplate": "/jobs/verification-email", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 201, + "body": "{\n \"status\": \"status\",\n \"type\": \"type\",\n \"created_at\": \"created_at\",\n \"id\": \"id\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "1ec86184-b7ac-4cff-9fa1-e78fcdcaa954", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "1ddcb674-4117-4538-98e8-5723fdb083e8", + "name": "Get job error details - default", + "request": { + "urlPathTemplate": "/jobs/{id}/errors", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "[\n {\n \"user\": {\n \"key\": \"value\"\n },\n \"errors\": [\n {}\n ]\n }\n]", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "1ddcb674-4117-4538-98e8-5723fdb083e8", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "70e1c2da-e7db-401a-b166-be0b5da6139c", + "name": "Get custom signing keys - default", + "request": { + "urlPathTemplate": "/keys/custom-signing", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"keys\": [\n {\n \"kty\": \"EC\",\n \"kid\": \"kid\",\n \"use\": \"sig\",\n \"key_ops\": [\n \"verify\"\n ],\n \"alg\": \"RS256\",\n \"n\": \"n\",\n \"e\": \"e\",\n \"crv\": \"P-256\",\n \"x\": \"x\",\n \"y\": \"y\",\n \"x5u\": \"x5u\",\n \"x5c\": [\n \"x5c\"\n ],\n \"x5t\": \"x5t\",\n \"x5t#S256\": \"x5t#S256\"\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "70e1c2da-e7db-401a-b166-be0b5da6139c", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "3b40098d-d649-4030-bc12-31606e807e15", + "name": "Create or replace custom signing keys - default", + "request": { + "urlPathTemplate": "/keys/custom-signing", + "method": "PUT", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"keys\": [\n {\n \"kty\": \"EC\",\n \"kid\": \"kid\",\n \"use\": \"sig\",\n \"key_ops\": [\n \"verify\"\n ],\n \"alg\": \"RS256\",\n \"n\": \"n\",\n \"e\": \"e\",\n \"crv\": \"P-256\",\n \"x\": \"x\",\n \"y\": \"y\",\n \"x5u\": \"x5u\",\n \"x5c\": [\n \"x5c\"\n ],\n \"x5t\": \"x5t\",\n \"x5t#S256\": \"x5t#S256\"\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "3b40098d-d649-4030-bc12-31606e807e15", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "f9b82290-1c82-4a29-891c-cee6ec28bcc5", + "name": "Delete custom signing keys - default", + "request": { + "urlPathTemplate": "/keys/custom-signing", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "f9b82290-1c82-4a29-891c-cee6ec28bcc5", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "c09166ed-9d73-4607-92f6-ae884592a5e5", + "name": "Get all encryption keys - default", + "request": { + "urlPathTemplate": "/keys/encryption", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "queryParameters": { + "page": { + "equalTo": "1" + }, + "per_page": { + "equalTo": "1" + }, + "include_totals": { + "equalTo": "true" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"start\": 1,\n \"limit\": 1,\n \"total\": 1,\n \"keys\": [\n {\n \"kid\": \"kid\",\n \"type\": \"customer-provided-root-key\",\n \"state\": \"pre-activation\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"parent_kid\": \"parent_kid\",\n \"public_key\": \"public_key\"\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "c09166ed-9d73-4607-92f6-ae884592a5e5", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "b0a9c75d-5268-41dd-849a-da3c0cfcb04b", + "name": "Create the new encryption key - default", + "request": { + "urlPathTemplate": "/keys/encryption", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 201, + "body": "{\n \"kid\": \"kid\",\n \"type\": \"customer-provided-root-key\",\n \"state\": \"pre-activation\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"parent_kid\": \"parent_kid\",\n \"public_key\": \"public_key\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "b0a9c75d-5268-41dd-849a-da3c0cfcb04b", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "974880c1-1ef6-4001-a614-aa43c37b4420", + "name": "Rekey the key hierarchy - default", + "request": { + "urlPathTemplate": "/keys/encryption/rekey", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "974880c1-1ef6-4001-a614-aa43c37b4420", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "77bab061-9dae-4268-84d0-0b63e263f1ab", + "name": "Get the encryption key by its key id - default", + "request": { + "urlPathTemplate": "/keys/encryption/{kid}", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "kid": { + "equalTo": "kid" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"kid\": \"kid\",\n \"type\": \"customer-provided-root-key\",\n \"state\": \"pre-activation\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"parent_kid\": \"parent_kid\",\n \"public_key\": \"public_key\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "77bab061-9dae-4268-84d0-0b63e263f1ab", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "86a3fc30-c02a-4c36-ac4c-7900289870b8", + "name": "Import the encryption key - default", + "request": { + "urlPathTemplate": "/keys/encryption/{kid}", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "kid": { + "equalTo": "kid" + } + } + }, + "response": { + "status": 201, + "body": "{\n \"kid\": \"kid\",\n \"type\": \"customer-provided-root-key\",\n \"state\": \"pre-activation\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"parent_kid\": \"parent_kid\",\n \"public_key\": \"public_key\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "86a3fc30-c02a-4c36-ac4c-7900289870b8", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "cb3a536a-7775-4fcf-a037-f10b16d2fe1d", + "name": "Delete the encryption key by its key id - default", + "request": { + "urlPathTemplate": "/keys/encryption/{kid}", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "kid": { + "equalTo": "kid" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "cb3a536a-7775-4fcf-a037-f10b16d2fe1d", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "cf0b4ec6-52f1-4f55-974a-9eadd755c04f", + "name": "Create the public wrapping key - default", + "request": { + "urlPathTemplate": "/keys/encryption/{kid}/wrapping-key", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "kid": { + "equalTo": "kid" + } + } + }, + "response": { + "status": 201, + "body": "{\n \"public_key\": \"public_key\",\n \"algorithm\": \"CKM_RSA_AES_KEY_WRAP\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "cf0b4ec6-52f1-4f55-974a-9eadd755c04f", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "1bde50a3-a51e-41b4-9018-8f46bd597774", + "name": "Get all Application Signing Keys - default", + "request": { + "urlPathTemplate": "/keys/signing", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "[\n {\n \"kid\": \"kid\",\n \"cert\": \"cert\",\n \"pkcs7\": \"pkcs7\",\n \"current\": true,\n \"next\": true,\n \"previous\": true,\n \"current_since\": \"current_since\",\n \"current_until\": \"current_until\",\n \"fingerprint\": \"fingerprint\",\n \"thumbprint\": \"thumbprint\",\n \"revoked\": true,\n \"revoked_at\": \"revoked_at\"\n }\n]", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "1bde50a3-a51e-41b4-9018-8f46bd597774", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "e9d4827d-c55c-4b09-a761-24a551052257", + "name": "Rotate the Application Signing Key - default", + "request": { + "urlPathTemplate": "/keys/signing/rotate", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 201, + "body": "{\n \"cert\": \"cert\",\n \"kid\": \"kid\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "e9d4827d-c55c-4b09-a761-24a551052257", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "adec0e81-f58d-4f1f-9071-2c1f28b236e1", + "name": "Get an Application Signing Key by its key id - default", + "request": { + "urlPathTemplate": "/keys/signing/{kid}", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "kid": { + "equalTo": "kid" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"kid\": \"kid\",\n \"cert\": \"cert\",\n \"pkcs7\": \"pkcs7\",\n \"current\": true,\n \"next\": true,\n \"previous\": true,\n \"current_since\": \"current_since\",\n \"current_until\": \"current_until\",\n \"fingerprint\": \"fingerprint\",\n \"thumbprint\": \"thumbprint\",\n \"revoked\": true,\n \"revoked_at\": \"revoked_at\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "adec0e81-f58d-4f1f-9071-2c1f28b236e1", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "cab3e5d7-c549-4ce9-aa51-648a2d61b321", + "name": "Revoke an Application Signing Key by its key id - default", + "request": { + "urlPathTemplate": "/keys/signing/{kid}/revoke", + "method": "PUT", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "kid": { + "equalTo": "kid" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"cert\": \"cert\",\n \"kid\": \"kid\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "cab3e5d7-c549-4ce9-aa51-648a2d61b321", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "3bd5c630-fb83-4b4e-a903-67268e3218e0", + "name": "Get client grants associated to an organization - default", + "request": { + "urlPathTemplate": "/organizations/{id}/client-grants", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + }, + "queryParameters": { + "audience": { + "equalTo": "audience" + }, + "client_id": { + "equalTo": "client_id" + }, + "grant_ids": { + "hasExactly": [ + { + "equalTo": "grant_ids" + } + ] + }, + "page": { + "equalTo": "1" + }, + "per_page": { + "equalTo": "1" + }, + "include_totals": { + "equalTo": "true" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"start\": 1.1,\n \"limit\": 1.1,\n \"total\": 1.1,\n \"client_grants\": [\n {\n \"id\": \"id\",\n \"client_id\": \"client_id\",\n \"audience\": \"audience\",\n \"scope\": [\n \"scope\"\n ],\n \"organization_usage\": \"deny\",\n \"allow_any_organization\": true\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "3bd5c630-fb83-4b4e-a903-67268e3218e0", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "e4a9924e-c625-4ff3-a5ed-44c5e7f20053", + "name": "Associate a client grant with an organization - default", + "request": { + "urlPathTemplate": "/organizations/{id}/client-grants", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 201, + "body": "{\n \"id\": \"id\",\n \"client_id\": \"client_id\",\n \"audience\": \"audience\",\n \"scope\": [\n \"scope\"\n ],\n \"organization_usage\": \"deny\",\n \"allow_any_organization\": true\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "e4a9924e-c625-4ff3-a5ed-44c5e7f20053", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "36ae6d81-83b3-4c2c-8f37-5e921d4740ad", + "name": "Remove a client grant from an organization - default", + "request": { + "urlPathTemplate": "/organizations/{id}/client-grants/{grant_id}", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + }, + "grant_id": { + "equalTo": "grant_id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "36ae6d81-83b3-4c2c-8f37-5e921d4740ad", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "a3c9ba95-a693-4d69-a1b3-1aa9120eb072", + "name": "List organization client associations - default", + "request": { + "urlPathTemplate": "/organizations/{id}/clients", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + }, + "queryParameters": { + "from": { + "equalTo": "from" + }, + "take": { + "equalTo": "1" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"clients\": [\n {\n \"client_id\": \"client_id\",\n \"use_for_member_access\": true,\n \"client\": {}\n }\n ],\n \"next\": \"next\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "a3c9ba95-a693-4d69-a1b3-1aa9120eb072", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "2fa25415-ea73-486d-a4db-dc430b35eb0b", + "name": "Associate clients with an organization - default", + "request": { + "urlPathTemplate": "/organizations/{id}/clients", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 201, + "body": "[\n {\n \"client_id\": \"client_id\",\n \"use_for_member_access\": true,\n \"client\": {\n \"name\": \"name\",\n \"app_type\": \"app_type\",\n \"logo_uri\": \"logo_uri\",\n \"is_first_party\": true,\n \"grant_types\": [\n \"grant_types\"\n ],\n \"organization_usage\": \"deny\"\n }\n }\n]", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "2fa25415-ea73-486d-a4db-dc430b35eb0b", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "20855d1e-636b-4663-bac9-875b3eb0d7b3", + "name": "Remove client associations from an organization - default", + "request": { + "urlPathTemplate": "/organizations/{id}/clients", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "20855d1e-636b-4663-bac9-875b3eb0d7b3", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "87f91e02-b7a6-470d-9913-43e936377815", + "name": "Get an organization client association - default", + "request": { + "urlPathTemplate": "/organizations/{id}/clients/{client_id}", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + }, + "client_id": { + "equalTo": "client_id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"client_id\": \"client_id\",\n \"use_for_member_access\": true,\n \"client\": {\n \"name\": \"name\",\n \"app_type\": \"app_type\",\n \"logo_uri\": \"logo_uri\",\n \"is_first_party\": true,\n \"grant_types\": [\n \"grant_types\"\n ],\n \"organization_usage\": \"deny\"\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "87f91e02-b7a6-470d-9913-43e936377815", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "da35509c-6faa-46b7-b7d9-809febc746b9", + "name": "Update an organization client association - default", + "request": { + "urlPathTemplate": "/organizations/{id}/clients/{client_id}", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + }, + "client_id": { + "equalTo": "client_id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"client_id\": \"client_id\",\n \"use_for_member_access\": true,\n \"client\": {\n \"name\": \"name\",\n \"app_type\": \"app_type\",\n \"logo_uri\": \"logo_uri\",\n \"is_first_party\": true,\n \"grant_types\": [\n \"grant_types\"\n ],\n \"organization_usage\": \"deny\"\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "da35509c-6faa-46b7-b7d9-809febc746b9", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "4c65b7b7-43a0-4437-b96f-7f47fdad6550", + "name": "Get connections associated with an organization - default", + "request": { + "urlPathTemplate": "/organizations/{id}/connections", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + }, + "queryParameters": { + "page": { + "equalTo": "1" + }, + "per_page": { + "equalTo": "1" + }, + "include_totals": { + "equalTo": "true" + }, + "is_enabled": { + "equalTo": "true" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"start\": 1.1,\n \"limit\": 1.1,\n \"total\": 1.1,\n \"connections\": [\n {\n \"organization_connection_name\": \"organization_connection_name\",\n \"assign_membership_on_login\": true,\n \"show_as_button\": true,\n \"is_signup_enabled\": true,\n \"organization_access_level\": \"none\",\n \"is_enabled\": true,\n \"connection_id\": \"connection_id\"\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "4c65b7b7-43a0-4437-b96f-7f47fdad6550", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "1d212ed4-03d7-4aac-a774-8ae99461b148", + "name": "Add a connection to an organization - default", + "request": { + "urlPathTemplate": "/organizations/{id}/connections", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 201, + "body": "{\n \"organization_connection_name\": \"organization_connection_name\",\n \"assign_membership_on_login\": true,\n \"show_as_button\": true,\n \"is_signup_enabled\": true,\n \"organization_access_level\": \"none\",\n \"is_enabled\": true,\n \"connection_id\": \"connection_id\",\n \"connection\": {\n \"name\": \"name\",\n \"strategy\": \"strategy\"\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "1d212ed4-03d7-4aac-a774-8ae99461b148", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "ac4ecac7-55a4-49de-b0d5-639975924208", + "name": "Get a specific connection associated with an organization - default", + "request": { + "urlPathTemplate": "/organizations/{id}/connections/{connection_id}", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + }, + "connection_id": { + "equalTo": "connection_id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"organization_connection_name\": \"organization_connection_name\",\n \"assign_membership_on_login\": true,\n \"show_as_button\": true,\n \"is_signup_enabled\": true,\n \"organization_access_level\": \"none\",\n \"is_enabled\": true,\n \"connection_id\": \"connection_id\",\n \"connection\": {\n \"name\": \"name\",\n \"strategy\": \"strategy\"\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "ac4ecac7-55a4-49de-b0d5-639975924208", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "dea1d6a9-c8e5-43e2-b22c-b1008e34c6f1", + "name": "Delete a connection from an organization - default", + "request": { + "urlPathTemplate": "/organizations/{id}/connections/{connection_id}", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + }, + "connection_id": { + "equalTo": "connection_id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "dea1d6a9-c8e5-43e2-b22c-b1008e34c6f1", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "98e911b3-5c83-4a51-9fdc-6b4a18bac7c0", + "name": "Update a connection for an organization - default", + "request": { + "urlPathTemplate": "/organizations/{id}/connections/{connection_id}", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + }, + "connection_id": { + "equalTo": "connection_id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"organization_connection_name\": \"organization_connection_name\",\n \"assign_membership_on_login\": true,\n \"show_as_button\": true,\n \"is_signup_enabled\": true,\n \"organization_access_level\": \"none\",\n \"is_enabled\": true,\n \"connection_id\": \"connection_id\",\n \"connection\": {\n \"name\": \"name\",\n \"strategy\": \"strategy\"\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "98e911b3-5c83-4a51-9fdc-6b4a18bac7c0", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "2edde951-0b04-4e05-9389-658b85c37299", + "name": "Retrieve all organization discovery domains - default", + "request": { + "urlPathTemplate": "/organizations/{id}/discovery-domains", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + }, + "queryParameters": { + "from": { + "equalTo": "from" + }, + "take": { + "equalTo": "1" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"next\": \"next\",\n \"domains\": [\n {\n \"id\": \"id\",\n \"domain\": \"domain\",\n \"status\": \"pending\",\n \"use_for_organization_discovery\": true,\n \"verification_txt\": \"verification_txt\",\n \"verification_host\": \"verification_host\"\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "2edde951-0b04-4e05-9389-658b85c37299", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "fdfc20b0-5e2b-4eb6-98af-e0f922aefac7", + "name": "Create an organization discovery domain - default", + "request": { + "urlPathTemplate": "/organizations/{id}/discovery-domains", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 201, + "body": "{\n \"id\": \"id\",\n \"domain\": \"domain\",\n \"status\": \"pending\",\n \"use_for_organization_discovery\": true,\n \"verification_txt\": \"verification_txt\",\n \"verification_host\": \"verification_host\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "fdfc20b0-5e2b-4eb6-98af-e0f922aefac7", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "6880f9c8-a623-4d59-b041-fc7f1b5104cc", + "name": "Retrieve an organization discovery domain by domain name - default", + "request": { + "urlPathTemplate": "/organizations/{id}/discovery-domains/name/{discovery_domain}", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + }, + "discovery_domain": { + "equalTo": "discovery_domain" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"domain\": \"domain\",\n \"status\": \"pending\",\n \"use_for_organization_discovery\": true,\n \"verification_txt\": \"verification_txt\",\n \"verification_host\": \"verification_host\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "6880f9c8-a623-4d59-b041-fc7f1b5104cc", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "4cb0d18e-2a9a-4d6c-a1f3-f2c3e5c3c496", + "name": "Retrieve an organization discovery domain by ID - default", + "request": { + "urlPathTemplate": "/organizations/{id}/discovery-domains/{discovery_domain_id}", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + }, + "discovery_domain_id": { + "equalTo": "discovery_domain_id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"domain\": \"domain\",\n \"status\": \"pending\",\n \"use_for_organization_discovery\": true,\n \"verification_txt\": \"verification_txt\",\n \"verification_host\": \"verification_host\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "4cb0d18e-2a9a-4d6c-a1f3-f2c3e5c3c496", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "803a298e-d6f6-4370-8e03-37d06547eeef", + "name": "Delete an organization discovery domain - default", + "request": { + "urlPathTemplate": "/organizations/{id}/discovery-domains/{discovery_domain_id}", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + }, + "discovery_domain_id": { + "equalTo": "discovery_domain_id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "803a298e-d6f6-4370-8e03-37d06547eeef", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "fca95551-032d-44de-a3cf-849f98ec2177", + "name": "Update an organization discovery domain - default", + "request": { + "urlPathTemplate": "/organizations/{id}/discovery-domains/{discovery_domain_id}", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + }, + "discovery_domain_id": { + "equalTo": "discovery_domain_id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"domain\": \"domain\",\n \"status\": \"pending\",\n \"use_for_organization_discovery\": true,\n \"verification_txt\": \"verification_txt\",\n \"verification_host\": \"verification_host\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "fca95551-032d-44de-a3cf-849f98ec2177", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "47767c5f-78ac-42c3-affe-a5d3e1ed6800", + "name": "Get connections enabled for an organization - default", + "request": { + "urlPathTemplate": "/organizations/{id}/enabled_connections", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + }, + "queryParameters": { + "page": { + "equalTo": "1" + }, + "per_page": { + "equalTo": "1" + }, + "include_totals": { + "equalTo": "true" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"start\": 1.1,\n \"limit\": 1.1,\n \"total\": 1.1,\n \"enabled_connections\": [\n {\n \"connection_id\": \"connection_id\",\n \"assign_membership_on_login\": true,\n \"show_as_button\": true,\n \"is_signup_enabled\": true\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "47767c5f-78ac-42c3-affe-a5d3e1ed6800", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "c311c287-5333-41bd-819e-e813c541ed66", + "name": "Add connections to an organization - default", + "request": { + "urlPathTemplate": "/organizations/{id}/enabled_connections", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 201, + "body": "{\n \"connection_id\": \"connection_id\",\n \"assign_membership_on_login\": true,\n \"show_as_button\": true,\n \"is_signup_enabled\": true,\n \"connection\": {\n \"name\": \"name\",\n \"strategy\": \"strategy\"\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "c311c287-5333-41bd-819e-e813c541ed66", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "c455a9b2-1f8f-45e1-8100-df1d73cd097d", + "name": "Get an enabled connection for an organization - default", + "request": { + "urlPathTemplate": "/organizations/{id}/enabled_connections/{connectionId}", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + }, + "connectionId": { + "equalTo": "connectionId" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"connection_id\": \"connection_id\",\n \"assign_membership_on_login\": true,\n \"show_as_button\": true,\n \"is_signup_enabled\": true,\n \"connection\": {\n \"name\": \"name\",\n \"strategy\": \"strategy\"\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "c455a9b2-1f8f-45e1-8100-df1d73cd097d", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "0dc9106a-150c-40d8-9000-176bd6350a98", + "name": "Delete connections from an organization - default", + "request": { + "urlPathTemplate": "/organizations/{id}/enabled_connections/{connectionId}", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + }, + "connectionId": { + "equalTo": "connectionId" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "0dc9106a-150c-40d8-9000-176bd6350a98", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "9a371d52-abea-44dc-a464-f04f63a601b0", + "name": "Update the Connection of an Organization - default", + "request": { + "urlPathTemplate": "/organizations/{id}/enabled_connections/{connectionId}", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + }, + "connectionId": { + "equalTo": "connectionId" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"connection_id\": \"connection_id\",\n \"assign_membership_on_login\": true,\n \"show_as_button\": true,\n \"is_signup_enabled\": true,\n \"connection\": {\n \"name\": \"name\",\n \"strategy\": \"strategy\"\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "9a371d52-abea-44dc-a464-f04f63a601b0", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "7fb2e068-8caf-4234-aa52-3b51c9f37300", + "name": "Get invitations to an organization - default", + "request": { + "urlPathTemplate": "/organizations/{id}/invitations", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + }, + "queryParameters": { + "page": { + "equalTo": "1" + }, + "per_page": { + "equalTo": "1" + }, + "include_totals": { + "equalTo": "true" + }, + "fields": { + "equalTo": "fields" + }, + "include_fields": { + "equalTo": "true" + }, + "sort": { + "equalTo": "sort" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"start\": 1.1,\n \"limit\": 1.1,\n \"invitations\": [\n {\n \"id\": \"id\",\n \"organization_id\": \"organization_id\",\n \"inviter\": {\n \"name\": \"name\"\n },\n \"invitee\": {\n \"email\": \"email\"\n },\n \"invitation_url\": \"invitation_url\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"expires_at\": \"2024-01-15T09:30:00Z\",\n \"client_id\": \"client_id\",\n \"connection_id\": \"connection_id\",\n \"app_metadata\": {\n \"key\": \"value\"\n },\n \"user_metadata\": {\n \"key\": \"value\"\n },\n \"roles\": [\n \"roles\"\n ],\n \"ticket_id\": \"ticket_id\"\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "7fb2e068-8caf-4234-aa52-3b51c9f37300", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "49ad8742-5d95-4969-87cf-09427959682f", + "name": "Create invitations to an organization - default", + "request": { + "urlPathTemplate": "/organizations/{id}/invitations", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"organization_id\": \"organization_id\",\n \"inviter\": {\n \"name\": \"name\"\n },\n \"invitee\": {\n \"email\": \"email\"\n },\n \"invitation_url\": \"invitation_url\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"expires_at\": \"2024-01-15T09:30:00Z\",\n \"client_id\": \"client_id\",\n \"connection_id\": \"connection_id\",\n \"app_metadata\": {\n \"key\": \"value\"\n },\n \"user_metadata\": {\n \"key\": \"value\"\n },\n \"roles\": [\n \"roles\"\n ],\n \"ticket_id\": \"ticket_id\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "49ad8742-5d95-4969-87cf-09427959682f", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "2bf04456-d49c-45d6-aedf-19598f4c6df8", + "name": "Get a specific invitation to an Organization - default", + "request": { + "urlPathTemplate": "/organizations/{id}/invitations/{invitation_id}", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + }, + "invitation_id": { + "equalTo": "invitation_id" + } + }, + "queryParameters": { + "fields": { + "equalTo": "fields" + }, + "include_fields": { + "equalTo": "true" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"organization_id\": \"organization_id\",\n \"inviter\": {\n \"name\": \"name\"\n },\n \"invitee\": {\n \"email\": \"email\"\n },\n \"invitation_url\": \"invitation_url\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"expires_at\": \"2024-01-15T09:30:00Z\",\n \"client_id\": \"client_id\",\n \"connection_id\": \"connection_id\",\n \"app_metadata\": {\n \"key\": \"value\"\n },\n \"user_metadata\": {\n \"key\": \"value\"\n },\n \"roles\": [\n \"roles\"\n ],\n \"ticket_id\": \"ticket_id\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "2bf04456-d49c-45d6-aedf-19598f4c6df8", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "1a1c3283-fac9-4185-bcb8-3a9053a43163", + "name": "Delete an invitation to an Organization - default", + "request": { + "urlPathTemplate": "/organizations/{id}/invitations/{invitation_id}", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + }, + "invitation_id": { + "equalTo": "invitation_id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "1a1c3283-fac9-4185-bcb8-3a9053a43163", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "b33d5e95-cdf1-4d3a-b019-7fa6e46267a0", + "name": "Get members who belong to an organization - default", + "request": { + "urlPathTemplate": "/organizations/{id}/members", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + }, + "queryParameters": { + "include_totals": { + "equalTo": "true" + }, + "from": { + "equalTo": "from" + }, + "take": { + "equalTo": "1" + }, + "fields": { + "equalTo": "fields" + }, + "include_fields": { + "equalTo": "true" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"next\": \"next\",\n \"members\": [\n {\n \"user_id\": \"user_id\",\n \"picture\": \"picture\",\n \"name\": \"name\",\n \"email\": \"email\",\n \"roles\": [\n {}\n ]\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "b33d5e95-cdf1-4d3a-b019-7fa6e46267a0", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "8536454b-53b8-4272-8829-062f2cb9092d", + "name": "Add members to an organization - default", + "request": { + "urlPathTemplate": "/organizations/{id}/members", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "8536454b-53b8-4272-8829-062f2cb9092d", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "71dcfc22-87b0-4591-921b-7d7088bd16ae", + "name": "Delete members from an organization - default", + "request": { + "urlPathTemplate": "/organizations/{id}/members", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "71dcfc22-87b0-4591-921b-7d7088bd16ae", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "6d9e3ba1-00dd-4040-89c3-a856e4b77da2", + "name": "List the groups that are assigned to the organization. - default", + "request": { + "urlPathTemplate": "/organizations/{organization_id}/groups", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "organization_id": { + "equalTo": "organization_id" + } + }, + "queryParameters": { + "from": { + "equalTo": "from" + }, + "take": { + "equalTo": "1" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"groups\": [\n {\n \"id\": \"id\",\n \"name\": \"name\",\n \"external_id\": \"external_id\",\n \"connection_id\": \"connection_id\",\n \"tenant_name\": \"tenant_name\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\"\n }\n ],\n \"next\": \"next\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "6d9e3ba1-00dd-4040-89c3-a856e4b77da2", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "709cfc79-902f-4c6b-9c1d-8f115c63e170", + "name": "List the roles assigned to a group in the context of an organization. - default", + "request": { + "urlPathTemplate": "/organizations/{organization_id}/groups/{group_id}/roles", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "organization_id": { + "equalTo": "organization_id" + }, + "group_id": { + "equalTo": "group_id" + } + }, + "queryParameters": { + "from": { + "equalTo": "from" + }, + "take": { + "equalTo": "1" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"roles\": [\n {\n \"id\": \"id\",\n \"name\": \"name\",\n \"description\": \"description\",\n \"type\": \"tenant\",\n \"owner_id\": \"owner_id\"\n }\n ],\n \"next\": \"next\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "709cfc79-902f-4c6b-9c1d-8f115c63e170", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "51f1e8f1-c3f9-4662-b84c-98d35f72e50c", + "name": "Assign roles to a group in an organization context. - default", + "request": { + "urlPathTemplate": "/organizations/{organization_id}/groups/{group_id}/roles", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "organization_id": { + "equalTo": "organization_id" + }, + "group_id": { + "equalTo": "group_id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "51f1e8f1-c3f9-4662-b84c-98d35f72e50c", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "41aa31c6-ab88-4d21-a15f-f2238b94e356", + "name": "Remove roles assigned to a group in an organization context. - default", + "request": { + "urlPathTemplate": "/organizations/{organization_id}/groups/{group_id}/roles", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "organization_id": { + "equalTo": "organization_id" + }, + "group_id": { + "equalTo": "group_id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "41aa31c6-ab88-4d21-a15f-f2238b94e356", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "5927f1a7-b918-4d94-b4f5-66e48d50773d", + "name": "List organization member effective roles. - default", + "request": { + "urlPathTemplate": "/organizations/{id}/members/{user_id}/effective-roles", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + }, + "user_id": { + "equalTo": "user_id" + } + }, + "queryParameters": { + "from": { + "equalTo": "from" + }, + "take": { + "equalTo": "1" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"roles\": [\n {\n \"id\": \"id\",\n \"name\": \"name\",\n \"description\": \"description\",\n \"sources\": [\n \"direct\"\n ]\n }\n ],\n \"next\": \"next\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "5927f1a7-b918-4d94-b4f5-66e48d50773d", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "2c099b94-dfed-4bf8-b370-25ceade844b1", + "name": "Get user roles assigned to an Organization member - default", + "request": { + "urlPathTemplate": "/organizations/{id}/members/{user_id}/roles", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + }, + "user_id": { + "equalTo": "user_id" + } + }, + "queryParameters": { + "page": { + "equalTo": "1" + }, + "per_page": { + "equalTo": "1" + }, + "include_totals": { + "equalTo": "true" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"start\": 1.1,\n \"limit\": 1.1,\n \"total\": 1.1,\n \"roles\": [\n {\n \"id\": \"id\",\n \"name\": \"name\",\n \"description\": \"description\",\n \"type\": \"tenant\",\n \"owner_id\": \"owner_id\"\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "2c099b94-dfed-4bf8-b370-25ceade844b1", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "8a5dc31c-084d-4753-9c95-0a0ddd2294da", + "name": "Assign user roles to an Organization member - default", + "request": { + "urlPathTemplate": "/organizations/{id}/members/{user_id}/roles", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + }, + "user_id": { + "equalTo": "user_id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "8a5dc31c-084d-4753-9c95-0a0ddd2294da", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "245dc825-fc94-49ca-9547-a4b30ac4485a", + "name": "Delete user roles from an Organization member - default", + "request": { + "urlPathTemplate": "/organizations/{id}/members/{user_id}/roles", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + }, + "user_id": { + "equalTo": "user_id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "245dc825-fc94-49ca-9547-a4b30ac4485a", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "730f9e46-6a5a-455f-94ce-2b274a2c74f9", + "name": "List organization member role group sources. - default", + "request": { + "urlPathTemplate": "/organizations/{id}/members/{user_id}/effective-roles/sources/groups", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + }, + "user_id": { + "equalTo": "user_id" + } + }, + "queryParameters": { + "from": { + "equalTo": "from" + }, + "take": { + "equalTo": "1" + }, + "role_id": { + "equalTo": "role_id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"groups\": [\n {\n \"id\": \"id\",\n \"name\": \"name\",\n \"external_id\": \"external_id\",\n \"connection_id\": \"connection_id\",\n \"tenant_name\": \"tenant_name\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\"\n }\n ],\n \"next\": \"next\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "730f9e46-6a5a-455f-94ce-2b274a2c74f9", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "b184f317-24f3-4e73-9e7b-c6e7decd08e0", + "name": "List the members assigned to a role in the context of an organization - default", + "request": { + "urlPathTemplate": "/organizations/{id}/roles/{role_id}/members", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + }, + "role_id": { + "equalTo": "role_id" + } + }, + "queryParameters": { + "from": { + "equalTo": "from" + }, + "take": { + "equalTo": "1" + }, + "fields": { + "equalTo": "fields" + }, + "include_fields": { + "equalTo": "true" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"members\": [\n {\n \"user_id\": \"user_id\",\n \"picture\": \"picture\",\n \"name\": \"name\",\n \"email\": \"email\"\n }\n ],\n \"next\": \"next\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "b184f317-24f3-4e73-9e7b-c6e7decd08e0", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "c6a72036-f7db-4e59-a8cf-684c7aa65301", + "name": "List the groups assigned to a role in the context of an organization - default", + "request": { + "urlPathTemplate": "/organizations/{organization_id}/roles/{role_id}/groups", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "organization_id": { + "equalTo": "organization_id" + }, + "role_id": { + "equalTo": "role_id" + } + }, + "queryParameters": { + "from": { + "equalTo": "from" + }, + "take": { + "equalTo": "1" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"groups\": [\n {\n \"id\": \"id\",\n \"name\": \"name\",\n \"external_id\": \"external_id\",\n \"connection_id\": \"connection_id\",\n \"organization_id\": \"organization_id\",\n \"tenant_name\": \"tenant_name\",\n \"description\": \"description\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\"\n }\n ],\n \"next\": \"next\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "c6a72036-f7db-4e59-a8cf-684c7aa65301", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "f02cb8dc-cee0-4470-b69b-596e4d0653f9", + "name": "Get render setting configurations for all screens - default", + "request": { + "urlPathTemplate": "/prompts/rendering", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "queryParameters": { + "fields": { + "equalTo": "fields" + }, + "include_fields": { + "equalTo": "true" + }, + "page": { + "equalTo": "1" + }, + "per_page": { + "equalTo": "1" + }, + "include_totals": { + "equalTo": "true" + }, + "prompt": { + "equalTo": "prompt" + }, + "screen": { + "equalTo": "screen" + }, + "rendering_mode": { + "equalTo": "advanced" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"configs\": [\n {\n \"tenant\": \"tenant\",\n \"prompt\": \"prompt\",\n \"screen\": \"screen\",\n \"rendering_mode\": \"advanced\",\n \"context_configuration\": [\n \"branding.settings\"\n ],\n \"default_head_tags_disabled\": true,\n \"use_page_template\": true,\n \"head_tags\": [\n {}\n ]\n }\n ],\n \"start\": 1.1,\n \"limit\": 1.1,\n \"total\": 1.1\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "f02cb8dc-cee0-4470-b69b-596e4d0653f9", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "d0abb404-e603-4992-9c65-19a5766a9462", + "name": "Update render settings for multiple screens - default", + "request": { + "urlPathTemplate": "/prompts/rendering", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"configs\": [\n {\n \"prompt\": \"login\",\n \"screen\": \"login\",\n \"rendering_mode\": \"advanced\",\n \"context_configuration\": [\n \"branding.settings\"\n ],\n \"default_head_tags_disabled\": true,\n \"use_page_template\": true,\n \"head_tags\": [\n {}\n ]\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "d0abb404-e603-4992-9c65-19a5766a9462", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "b6f4a3c0-8032-487e-be5c-24b52aea56c3", + "name": "Get render settings for a screen - default", + "request": { + "urlPathTemplate": "/prompts/{prompt}/screen/{screen}/rendering", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "prompt": { + "equalTo": "login" + }, + "screen": { + "equalTo": "login" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"tenant\": \"tenant\",\n \"prompt\": \"prompt\",\n \"screen\": \"screen\",\n \"rendering_mode\": \"advanced\",\n \"context_configuration\": [\n \"branding.settings\"\n ],\n \"default_head_tags_disabled\": true,\n \"use_page_template\": true,\n \"head_tags\": [\n {\n \"tag\": \"tag\",\n \"attributes\": {\n \"key\": \"value\"\n },\n \"content\": \"content\"\n }\n ],\n \"filters\": {\n \"match_type\": \"includes_any\",\n \"clients\": [\n {\n \"id\": \"id\"\n }\n ],\n \"organizations\": [\n {\n \"id\": \"id\"\n }\n ],\n \"domains\": [\n {\n \"id\": \"id\"\n }\n ]\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "b6f4a3c0-8032-487e-be5c-24b52aea56c3", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "248d2934-0ee0-434c-a9a5-df7501ef901c", + "name": "Update render settings for a screen - default", + "request": { + "urlPathTemplate": "/prompts/{prompt}/screen/{screen}/rendering", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "prompt": { + "equalTo": "login" + }, + "screen": { + "equalTo": "login" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"rendering_mode\": \"advanced\",\n \"context_configuration\": [\n \"branding.settings\"\n ],\n \"default_head_tags_disabled\": true,\n \"use_page_template\": true,\n \"head_tags\": [\n {\n \"tag\": \"tag\",\n \"attributes\": {\n \"key\": \"value\"\n },\n \"content\": \"content\"\n }\n ],\n \"filters\": {\n \"match_type\": \"includes_any\",\n \"clients\": [\n {\n \"id\": \"id\"\n }\n ],\n \"organizations\": [\n {\n \"id\": \"id\"\n }\n ],\n \"domains\": [\n {\n \"id\": \"id\"\n }\n ]\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "248d2934-0ee0-434c-a9a5-df7501ef901c", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "1cd54de8-b246-4b0a-863b-f5fa0184e206", + "name": "Get custom text for a prompt - default", + "request": { + "urlPathTemplate": "/prompts/{prompt}/custom-text/{language}", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "prompt": { + "equalTo": "login" + }, + "language": { + "equalTo": "am" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"key\": \"value\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "1cd54de8-b246-4b0a-863b-f5fa0184e206", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "bff89979-efc7-413e-8aaf-a45d84f1793b", + "name": "Set custom text for a specific prompt - default", + "request": { + "urlPathTemplate": "/prompts/{prompt}/custom-text/{language}", + "method": "PUT", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "prompt": { + "equalTo": "login" + }, + "language": { + "equalTo": "am" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "bff89979-efc7-413e-8aaf-a45d84f1793b", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "e2ccf6be-be59-4e7f-90f9-dd24529c4981", + "name": "Get partials for a prompt - default", + "request": { + "urlPathTemplate": "/prompts/{prompt}/partials", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "prompt": { + "equalTo": "login" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"key\": \"value\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "e2ccf6be-be59-4e7f-90f9-dd24529c4981", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "c9517422-8a42-4204-8156-cda9b385f017", + "name": "Set partials for a prompt - default", + "request": { + "urlPathTemplate": "/prompts/{prompt}/partials", + "method": "PUT", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "prompt": { + "equalTo": "login" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "c9517422-8a42-4204-8156-cda9b385f017", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "cb391545-5076-433d-8b32-b19ed3d73939", + "name": "Get risk assessment settings - default", + "request": { + "urlPathTemplate": "/risk-assessments/settings", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"enabled\": true\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "cb391545-5076-433d-8b32-b19ed3d73939", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "8018c245-2f30-469f-992f-dc1668cccd75", + "name": "Update risk assessment settings - default", + "request": { + "urlPathTemplate": "/risk-assessments/settings", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"enabled\": true\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "8018c245-2f30-469f-992f-dc1668cccd75", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "b25bc47f-4ec8-4cd8-b419-5323232b8bb8", + "name": "Get new device assessor - default", + "request": { + "urlPathTemplate": "/risk-assessments/settings/new-device", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"remember_for\": 1\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "b25bc47f-4ec8-4cd8-b419-5323232b8bb8", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "07a0ab5c-d2e9-4e3d-899b-3f9a833c3813", + "name": "Update new device assessor - default", + "request": { + "urlPathTemplate": "/risk-assessments/settings/new-device", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"remember_for\": 1\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "07a0ab5c-d2e9-4e3d-899b-3f9a833c3813", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "25c64235-59ca-41e7-a5b7-7431295591d4", + "name": "Get a role's groups - default", + "request": { + "urlPathTemplate": "/roles/{id}/groups", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + }, + "queryParameters": { + "from": { + "equalTo": "from" + }, + "take": { + "equalTo": "1" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"groups\": [\n {\n \"id\": \"id\",\n \"name\": \"name\",\n \"external_id\": \"external_id\",\n \"connection_id\": \"connection_id\",\n \"tenant_name\": \"tenant_name\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\"\n }\n ],\n \"next\": \"next\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "25c64235-59ca-41e7-a5b7-7431295591d4", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "1b19f0e9-b733-4cf4-99e5-7536043c1d8b", + "name": "Assign groups to a role - default", + "request": { + "urlPathTemplate": "/roles/{id}/groups", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "1b19f0e9-b733-4cf4-99e5-7536043c1d8b", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "e7233c54-c20d-4709-baea-47148eb72066", + "name": "Remove groups from a role - default", + "request": { + "urlPathTemplate": "/roles/{id}/groups", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "e7233c54-c20d-4709-baea-47148eb72066", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "bf10686c-2651-4040-8299-93e4bbc9834d", + "name": "Get permissions granted by role - default", + "request": { + "urlPathTemplate": "/roles/{id}/permissions", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + }, + "queryParameters": { + "per_page": { + "equalTo": "1" + }, + "page": { + "equalTo": "1" + }, + "include_totals": { + "equalTo": "true" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"start\": 1.1,\n \"limit\": 1.1,\n \"total\": 1.1,\n \"permissions\": [\n {\n \"resource_server_identifier\": \"resource_server_identifier\",\n \"permission_name\": \"permission_name\",\n \"resource_server_name\": \"resource_server_name\",\n \"description\": \"description\"\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "bf10686c-2651-4040-8299-93e4bbc9834d", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "23e27895-e8da-4c4d-bec9-94df0205eb5c", + "name": "Associate permissions with a role - default", + "request": { + "urlPathTemplate": "/roles/{id}/permissions", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "23e27895-e8da-4c4d-bec9-94df0205eb5c", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "b94e86fc-05a4-43a3-a57f-ecd7e72ca50a", + "name": "Remove permissions from a role - default", + "request": { + "urlPathTemplate": "/roles/{id}/permissions", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "b94e86fc-05a4-43a3-a57f-ecd7e72ca50a", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "c87640fd-900b-400f-93f0-9ccb6702a609", + "name": "Get a role's users - default", + "request": { + "urlPathTemplate": "/roles/{id}/users", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + }, + "queryParameters": { + "include_totals": { + "equalTo": "true" + }, + "from": { + "equalTo": "from" + }, + "take": { + "equalTo": "1" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"next\": \"next\",\n \"users\": [\n {\n \"user_id\": \"user_id\",\n \"picture\": \"picture\",\n \"name\": \"name\",\n \"email\": \"email\"\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "c87640fd-900b-400f-93f0-9ccb6702a609", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "3715bf7c-6aeb-4cbb-b3a0-57d86272ae3f", + "name": "Assign users to a role - default", + "request": { + "urlPathTemplate": "/roles/{id}/users", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "3715bf7c-6aeb-4cbb-b3a0-57d86272ae3f", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "f6173c4f-82c6-420c-a40d-889a713cb3e7", + "name": "Get custom text for a self-service profile - default", + "request": { + "urlPathTemplate": "/self-service-profiles/{id}/custom-text/{language}/{page}", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + }, + "language": { + "equalTo": "en" + }, + "page": { + "equalTo": "get-started" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"key\": \"value\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "f6173c4f-82c6-420c-a40d-889a713cb3e7", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "52a78cce-bea7-4f10-be84-5b860989a20e", + "name": "Set custom text for a self-service profile - default", + "request": { + "urlPathTemplate": "/self-service-profiles/{id}/custom-text/{language}/{page}", + "method": "PUT", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + }, + "language": { + "equalTo": "en" + }, + "page": { + "equalTo": "get-started" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"key\": \"value\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "52a78cce-bea7-4f10-be84-5b860989a20e", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "7e182693-df12-4840-b9bc-73e1de098435", + "name": "Create an access ticket to initiate the Self-Service Enterprise Configuration flow - default", + "request": { + "urlPathTemplate": "/self-service-profiles/{id}/sso-ticket", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 201, + "body": "{\n \"ticket\": \"ticket\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "7e182693-df12-4840-b9bc-73e1de098435", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "aafed087-998d-432b-8617-d217875bf59b", + "name": "Revoke a Self-Service Enterprise Configuration access ticket - default", + "request": { + "urlPathTemplate": "/self-service-profiles/{profileId}/sso-ticket/{id}/revoke", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "profileId": { + "equalTo": "profileId" + }, + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "aafed087-998d-432b-8617-d217875bf59b", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "12199f5c-a53a-4405-8a5f-a83867b89865", + "name": "Get tenant settings - default", + "request": { + "urlPathTemplate": "/tenants/settings", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "queryParameters": { + "fields": { + "equalTo": "fields" + }, + "include_fields": { + "equalTo": "true" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"change_password\": {\n \"enabled\": true,\n \"html\": \"html\"\n },\n \"guardian_mfa_page\": {\n \"enabled\": true,\n \"html\": \"html\"\n },\n \"default_audience\": \"default_audience\",\n \"default_directory\": \"default_directory\",\n \"error_page\": {\n \"html\": \"html\",\n \"show_log_link\": true,\n \"url\": \"url\"\n },\n \"device_flow\": {\n \"charset\": \"base20\",\n \"mask\": \"mask\"\n },\n \"default_token_quota\": {\n \"clients\": {\n \"client_credentials\": {}\n },\n \"organizations\": {\n \"client_credentials\": {}\n }\n },\n \"flags\": {\n \"change_pwd_flow_v1\": true,\n \"enable_apis_section\": true,\n \"disable_impersonation\": true,\n \"enable_client_connections\": true,\n \"enable_pipeline2\": true,\n \"allow_legacy_delegation_grant_types\": true,\n \"allow_legacy_ro_grant_types\": true,\n \"allow_legacy_tokeninfo_endpoint\": true,\n \"enable_legacy_profile\": true,\n \"enable_idtoken_api2\": true,\n \"enable_public_signup_user_exists_error\": true,\n \"enable_sso\": true,\n \"allow_changing_enable_sso\": true,\n \"disable_clickjack_protection_headers\": true,\n \"no_disclose_enterprise_connections\": true,\n \"enforce_client_authentication_on_passwordless_start\": true,\n \"enable_adfs_waad_email_verification\": true,\n \"revoke_refresh_token_grant\": true,\n \"dashboard_log_streams_next\": true,\n \"dashboard_insights_view\": true,\n \"disable_fields_map_fix\": true,\n \"mfa_show_factor_list_on_enrollment\": true,\n \"remove_alg_from_jwks\": true,\n \"improved_signup_bot_detection_in_classic\": true,\n \"genai_trial\": true,\n \"enable_dynamic_client_registration\": true,\n \"disable_management_api_sms_obfuscation\": true,\n \"trust_azure_adfs_email_verified_connection_property\": true,\n \"custom_domains_provisioning\": true\n },\n \"friendly_name\": \"friendly_name\",\n \"picture_url\": \"picture_url\",\n \"support_email\": \"support_email\",\n \"support_url\": \"support_url\",\n \"allowed_logout_urls\": [\n \"allowed_logout_urls\"\n ],\n \"session_lifetime\": 1.1,\n \"idle_session_lifetime\": 1.1,\n \"ephemeral_session_lifetime\": 1.1,\n \"idle_ephemeral_session_lifetime\": 1.1,\n \"sandbox_version\": \"sandbox_version\",\n \"legacy_sandbox_version\": \"legacy_sandbox_version\",\n \"sandbox_versions_available\": [\n \"sandbox_versions_available\"\n ],\n \"default_redirection_uri\": \"default_redirection_uri\",\n \"enabled_locales\": [\n \"am\"\n ],\n \"security_headers\": {\n \"content_security_policy\": {\n \"enabled\": true,\n \"policies\": [\n {}\n ]\n },\n \"x_xss_protection\": {\n \"enabled\": true,\n \"mode\": \"block\",\n \"report_uri\": \"report_uri\"\n }\n },\n \"session_cookie\": {\n \"mode\": \"persistent\"\n },\n \"sessions\": {\n \"oidc_logout_prompt_enabled\": true\n },\n \"oidc_logout\": {\n \"rp_logout_end_session_endpoint_discovery\": true\n },\n \"allow_organization_name_in_authentication_api\": true,\n \"customize_mfa_in_postlogin_action\": true,\n \"acr_values_supported\": [\n \"acr_values_supported\"\n ],\n \"mtls\": {\n \"enable_endpoint_aliases\": true\n },\n \"pushed_authorization_requests_supported\": true,\n \"authorization_response_iss_parameter_supported\": true,\n \"skip_non_verifiable_callback_uri_confirmation_prompt\": true,\n \"resource_parameter_profile\": \"audience\",\n \"client_id_metadata_document_supported\": true,\n \"phone_consolidated_experience\": true,\n \"enable_ai_guide\": true,\n \"include_session_metadata_in_tenant_logs\": true,\n \"dynamic_client_registration_security_mode\": \"strict\",\n \"country_codes\": {\n \"list\": [\n \"list\"\n ],\n \"mode\": \"allow\"\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "12199f5c-a53a-4405-8a5f-a83867b89865", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "48a056e4-f2d6-45a2-9b0a-3b7d173c8597", + "name": "Update tenant settings - default", + "request": { + "urlPathTemplate": "/tenants/settings", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"change_password\": {\n \"enabled\": true,\n \"html\": \"html\"\n },\n \"guardian_mfa_page\": {\n \"enabled\": true,\n \"html\": \"html\"\n },\n \"default_audience\": \"default_audience\",\n \"default_directory\": \"default_directory\",\n \"error_page\": {\n \"html\": \"html\",\n \"show_log_link\": true,\n \"url\": \"url\"\n },\n \"device_flow\": {\n \"charset\": \"base20\",\n \"mask\": \"mask\"\n },\n \"default_token_quota\": {\n \"clients\": {\n \"client_credentials\": {}\n },\n \"organizations\": {\n \"client_credentials\": {}\n }\n },\n \"flags\": {\n \"change_pwd_flow_v1\": true,\n \"enable_apis_section\": true,\n \"disable_impersonation\": true,\n \"enable_client_connections\": true,\n \"enable_pipeline2\": true,\n \"allow_legacy_delegation_grant_types\": true,\n \"allow_legacy_ro_grant_types\": true,\n \"allow_legacy_tokeninfo_endpoint\": true,\n \"enable_legacy_profile\": true,\n \"enable_idtoken_api2\": true,\n \"enable_public_signup_user_exists_error\": true,\n \"enable_sso\": true,\n \"allow_changing_enable_sso\": true,\n \"disable_clickjack_protection_headers\": true,\n \"no_disclose_enterprise_connections\": true,\n \"enforce_client_authentication_on_passwordless_start\": true,\n \"enable_adfs_waad_email_verification\": true,\n \"revoke_refresh_token_grant\": true,\n \"dashboard_log_streams_next\": true,\n \"dashboard_insights_view\": true,\n \"disable_fields_map_fix\": true,\n \"mfa_show_factor_list_on_enrollment\": true,\n \"remove_alg_from_jwks\": true,\n \"improved_signup_bot_detection_in_classic\": true,\n \"genai_trial\": true,\n \"enable_dynamic_client_registration\": true,\n \"disable_management_api_sms_obfuscation\": true,\n \"trust_azure_adfs_email_verified_connection_property\": true,\n \"custom_domains_provisioning\": true\n },\n \"friendly_name\": \"friendly_name\",\n \"picture_url\": \"picture_url\",\n \"support_email\": \"support_email\",\n \"support_url\": \"support_url\",\n \"allowed_logout_urls\": [\n \"allowed_logout_urls\"\n ],\n \"session_lifetime\": 1.1,\n \"idle_session_lifetime\": 1.1,\n \"ephemeral_session_lifetime\": 1.1,\n \"idle_ephemeral_session_lifetime\": 1.1,\n \"sandbox_version\": \"sandbox_version\",\n \"legacy_sandbox_version\": \"legacy_sandbox_version\",\n \"sandbox_versions_available\": [\n \"sandbox_versions_available\"\n ],\n \"default_redirection_uri\": \"default_redirection_uri\",\n \"enabled_locales\": [\n \"am\"\n ],\n \"security_headers\": {\n \"content_security_policy\": {\n \"enabled\": true,\n \"policies\": [\n {}\n ]\n },\n \"x_xss_protection\": {\n \"enabled\": true,\n \"mode\": \"block\",\n \"report_uri\": \"report_uri\"\n }\n },\n \"session_cookie\": {\n \"mode\": \"persistent\"\n },\n \"sessions\": {\n \"oidc_logout_prompt_enabled\": true\n },\n \"oidc_logout\": {\n \"rp_logout_end_session_endpoint_discovery\": true\n },\n \"allow_organization_name_in_authentication_api\": true,\n \"customize_mfa_in_postlogin_action\": true,\n \"acr_values_supported\": [\n \"acr_values_supported\"\n ],\n \"mtls\": {\n \"enable_endpoint_aliases\": true\n },\n \"pushed_authorization_requests_supported\": true,\n \"authorization_response_iss_parameter_supported\": true,\n \"skip_non_verifiable_callback_uri_confirmation_prompt\": true,\n \"resource_parameter_profile\": \"audience\",\n \"client_id_metadata_document_supported\": true,\n \"phone_consolidated_experience\": true,\n \"enable_ai_guide\": true,\n \"include_session_metadata_in_tenant_logs\": true,\n \"dynamic_client_registration_security_mode\": \"strict\",\n \"country_codes\": {\n \"list\": [\n \"list\"\n ],\n \"mode\": \"allow\"\n }\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "48a056e4-f2d6-45a2-9b0a-3b7d173c8597", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "3d87eb15-86f8-42c9-b9bf-b1bdcb1d72d5", + "name": "Get a list of authentication methods - default", + "request": { + "urlPathTemplate": "/users/{id}/authentication-methods", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + }, + "queryParameters": { + "page": { + "equalTo": "1" + }, + "per_page": { + "equalTo": "1" + }, + "include_totals": { + "equalTo": "true" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"start\": 1.1,\n \"limit\": 1.1,\n \"total\": 1.1,\n \"authenticators\": [\n {\n \"id\": \"id\",\n \"type\": \"recovery-code\",\n \"confirmed\": true,\n \"name\": \"name\",\n \"authentication_methods\": [\n {}\n ],\n \"preferred_authentication_method\": \"voice\",\n \"link_id\": \"link_id\",\n \"phone_number\": \"phone_number\",\n \"email\": \"email\",\n \"key_id\": \"key_id\",\n \"public_key\": \"public_key\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"enrolled_at\": \"2024-01-15T09:30:00Z\",\n \"last_auth_at\": \"2024-01-15T09:30:00Z\",\n \"credential_device_type\": \"credential_device_type\",\n \"credential_backed_up\": true,\n \"identity_user_id\": \"identity_user_id\",\n \"user_agent\": \"user_agent\",\n \"user_handle\": \"user_handle\",\n \"transports\": [\n \"transports\"\n ],\n \"aaguid\": \"aaguid\",\n \"relying_party_identifier\": \"relying_party_identifier\"\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "3d87eb15-86f8-42c9-b9bf-b1bdcb1d72d5", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "a786d309-f573-4722-9c1a-4336dcb2ca34", + "name": "Creates an authentication method for a given user - default", + "request": { + "urlPathTemplate": "/users/{id}/authentication-methods", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 201, + "body": "{\n \"id\": \"id\",\n \"type\": \"phone\",\n \"name\": \"name\",\n \"totp_secret\": \"totp_secret\",\n \"phone_number\": \"phone_number\",\n \"email\": \"email\",\n \"authentication_methods\": [\n {\n \"type\": \"totp\",\n \"id\": \"id\"\n }\n ],\n \"preferred_authentication_method\": \"voice\",\n \"key_id\": \"key_id\",\n \"public_key\": \"public_key\",\n \"aaguid\": \"aaguid\",\n \"relying_party_identifier\": \"relying_party_identifier\",\n \"credential_device_type\": \"single_device\",\n \"credential_backed_up\": true,\n \"identity_user_id\": \"identity_user_id\",\n \"user_agent\": \"user_agent\",\n \"user_handle\": \"user_handle\",\n \"transports\": [\n \"transports\"\n ],\n \"created_at\": \"2024-01-15T09:30:00Z\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "a786d309-f573-4722-9c1a-4336dcb2ca34", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "de90147a-4c08-43b0-9e64-3c7afab7fe48", + "name": "Update all authentication methods by replacing them with the given ones - default", + "request": { + "urlPathTemplate": "/users/{id}/authentication-methods", + "method": "PUT", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "[\n {\n \"id\": \"id\",\n \"type\": \"phone\",\n \"name\": \"name\",\n \"totp_secret\": \"totp_secret\",\n \"phone_number\": \"phone_number\",\n \"email\": \"email\",\n \"authentication_methods\": [\n {}\n ],\n \"preferred_authentication_method\": \"voice\",\n \"key_id\": \"key_id\",\n \"public_key\": \"public_key\",\n \"aaguid\": \"aaguid\",\n \"relying_party_identifier\": \"relying_party_identifier\",\n \"created_at\": \"2024-01-15T09:30:00Z\"\n }\n]", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "de90147a-4c08-43b0-9e64-3c7afab7fe48", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "0fd546c5-9e1f-4319-b6f2-9ee49c498250", + "name": "Delete all authentication methods for the given user - default", + "request": { + "urlPathTemplate": "/users/{id}/authentication-methods", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "0fd546c5-9e1f-4319-b6f2-9ee49c498250", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "a3ee9cc4-e4af-46b6-9fcc-371bb0db0e03", + "name": "Get an authentication method by ID - default", + "request": { + "urlPathTemplate": "/users/{id}/authentication-methods/{authentication_method_id}", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + }, + "authentication_method_id": { + "equalTo": "authentication_method_id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"type\": \"recovery-code\",\n \"confirmed\": true,\n \"name\": \"name\",\n \"authentication_methods\": [\n {\n \"type\": \"totp\",\n \"id\": \"id\"\n }\n ],\n \"preferred_authentication_method\": \"voice\",\n \"link_id\": \"link_id\",\n \"phone_number\": \"phone_number\",\n \"email\": \"email\",\n \"key_id\": \"key_id\",\n \"public_key\": \"public_key\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"enrolled_at\": \"2024-01-15T09:30:00Z\",\n \"last_auth_at\": \"2024-01-15T09:30:00Z\",\n \"credential_device_type\": \"credential_device_type\",\n \"credential_backed_up\": true,\n \"identity_user_id\": \"identity_user_id\",\n \"user_agent\": \"user_agent\",\n \"user_handle\": \"user_handle\",\n \"transports\": [\n \"transports\"\n ],\n \"aaguid\": \"aaguid\",\n \"relying_party_identifier\": \"relying_party_identifier\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "a3ee9cc4-e4af-46b6-9fcc-371bb0db0e03", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "add53361-2a24-44ea-93fe-fd31b9981468", + "name": "Delete an authentication method by ID - default", + "request": { + "urlPathTemplate": "/users/{id}/authentication-methods/{authentication_method_id}", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + }, + "authentication_method_id": { + "equalTo": "authentication_method_id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "add53361-2a24-44ea-93fe-fd31b9981468", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "1cfc820b-23ae-4b7b-8b10-d9e1c2825e51", + "name": "Update an authentication method - default", + "request": { + "urlPathTemplate": "/users/{id}/authentication-methods/{authentication_method_id}", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + }, + "authentication_method_id": { + "equalTo": "authentication_method_id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"type\": \"phone\",\n \"name\": \"name\",\n \"totp_secret\": \"totp_secret\",\n \"phone_number\": \"phone_number\",\n \"email\": \"email\",\n \"authentication_methods\": [\n {\n \"type\": \"totp\",\n \"id\": \"id\"\n }\n ],\n \"preferred_authentication_method\": \"voice\",\n \"key_id\": \"key_id\",\n \"public_key\": \"public_key\",\n \"aaguid\": \"aaguid\",\n \"relying_party_identifier\": \"relying_party_identifier\",\n \"confirmed\": true,\n \"created_at\": \"2024-01-15T09:30:00Z\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "1cfc820b-23ae-4b7b-8b10-d9e1c2825e51", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "59e259ee-3764-496e-9875-949a218233be", + "name": "Delete All Authenticators - default", + "request": { + "urlPathTemplate": "/users/{id}/authenticators", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "59e259ee-3764-496e-9875-949a218233be", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "0f4d4b1f-e7f1-42bd-8a14-64c2e7348b16", + "name": "Get a User's Connected Accounts - default", + "request": { + "urlPathTemplate": "/users/{id}/connected-accounts", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + }, + "queryParameters": { + "from": { + "equalTo": "from" + }, + "take": { + "equalTo": "1" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"connected_accounts\": [\n {\n \"id\": \"id\",\n \"connection\": \"connection\",\n \"connection_id\": \"connection_id\",\n \"strategy\": \"strategy\",\n \"access_type\": \"offline\",\n \"scopes\": [\n \"scopes\"\n ],\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"expires_at\": \"2024-01-15T09:30:00Z\",\n \"organization_id\": \"organization_id\"\n }\n ],\n \"next\": \"next\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "0f4d4b1f-e7f1-42bd-8a14-64c2e7348b16", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "7536c164-3568-4198-bcd2-c4f13e028cf6", + "name": "List the permissions assigned to a user directly or through roles or groups. - default", + "request": { + "urlPathTemplate": "/users/{id}/effective-permissions", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + }, + "queryParameters": { + "from": { + "equalTo": "from" + }, + "take": { + "equalTo": "1" + }, + "resource_server_identifier": { + "equalTo": "resource_server_identifier" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"permissions\": [\n {\n \"resource_server_identifier\": \"resource_server_identifier\",\n \"permission_name\": \"permission_name\",\n \"resource_server_name\": \"resource_server_name\",\n \"description\": \"description\",\n \"sources\": [\n \"direct\"\n ]\n }\n ],\n \"next\": \"next\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "7536c164-3568-4198-bcd2-c4f13e028cf6", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "ca15acda-19bd-4ac9-8810-10a77a44c083", + "name": "List the roles for a user with sources: directly assigned or through group membership. - default", + "request": { + "urlPathTemplate": "/users/{id}/effective-roles", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + }, + "queryParameters": { + "from": { + "equalTo": "from" + }, + "take": { + "equalTo": "1" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"roles\": [\n {\n \"id\": \"id\",\n \"name\": \"name\",\n \"description\": \"description\",\n \"sources\": [\n \"direct\"\n ]\n }\n ],\n \"next\": \"next\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "ca15acda-19bd-4ac9-8810-10a77a44c083", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "b12cc020-548e-4219-bf5f-7896e003fa92", + "name": "Get the First Confirmed Multi-factor Authentication (MFA) Enrollment - default", + "request": { + "urlPathTemplate": "/users/{id}/enrollments", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "[\n {\n \"id\": \"id\",\n \"status\": \"pending\",\n \"type\": \"type\",\n \"name\": \"name\",\n \"identifier\": \"identifier\",\n \"phone_number\": \"phone_number\",\n \"auth_method\": \"authenticator\",\n \"enrolled_at\": \"2024-01-15T09:30:00Z\",\n \"last_auth\": \"2024-01-15T09:30:00Z\"\n }\n]", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "b12cc020-548e-4219-bf5f-7896e003fa92", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "10f1d36a-08fb-4d1c-9ae0-7e3a75f996ee", + "name": "Get user's groups - default", + "request": { + "urlPathTemplate": "/users/{id}/groups", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + }, + "queryParameters": { + "fields": { + "equalTo": "fields" + }, + "include_fields": { + "equalTo": "true" + }, + "include_totals": { + "equalTo": "true" + }, + "from": { + "equalTo": "from" + }, + "take": { + "equalTo": "1" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"groups\": [\n {\n \"id\": \"id\",\n \"name\": \"name\",\n \"external_id\": \"external_id\",\n \"connection_id\": \"connection_id\",\n \"tenant_name\": \"tenant_name\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"membership_created_at\": \"2024-01-15T09:30:00Z\"\n }\n ],\n \"next\": \"next\",\n \"start\": 1.1,\n \"limit\": 1.1,\n \"total\": 1.1\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "10f1d36a-08fb-4d1c-9ae0-7e3a75f996ee", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "0333210f-005f-4731-9928-1487697620ba", + "name": "Link a User Account - default", + "request": { + "urlPathTemplate": "/users/{id}/identities", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 201, + "body": "[\n {\n \"connection\": \"connection\",\n \"user_id\": \"user_id\",\n \"provider\": \"provider\",\n \"profileData\": {\n \"email\": \"email\",\n \"email_verified\": true,\n \"name\": \"name\",\n \"username\": \"username\",\n \"given_name\": \"given_name\",\n \"phone_number\": \"phone_number\",\n \"phone_verified\": true,\n \"family_name\": \"family_name\"\n },\n \"isSocial\": true,\n \"access_token\": \"access_token\",\n \"access_token_secret\": \"access_token_secret\",\n \"refresh_token\": \"refresh_token\"\n }\n]", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "0333210f-005f-4731-9928-1487697620ba", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "2dc23165-ddbe-4c7a-8f82-ed8cb6afed3c", + "name": "Unlink a User Identity - default", + "request": { + "urlPathTemplate": "/users/{id}/identities/{provider}/{user_id}", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + }, + "provider": { + "equalTo": "ad" + }, + "user_id": { + "equalTo": "user_id" + } + } + }, + "response": { + "status": 200, + "body": "[\n {\n \"connection\": \"connection\",\n \"user_id\": \"user_id\",\n \"provider\": \"provider\",\n \"isSocial\": true,\n \"access_token\": \"access_token\",\n \"access_token_secret\": \"access_token_secret\",\n \"refresh_token\": \"refresh_token\",\n \"profileData\": {\n \"email\": \"email\",\n \"email_verified\": true,\n \"name\": \"name\",\n \"username\": \"username\",\n \"given_name\": \"given_name\",\n \"phone_number\": \"phone_number\",\n \"phone_verified\": true,\n \"family_name\": \"family_name\"\n }\n }\n]", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "2dc23165-ddbe-4c7a-8f82-ed8cb6afed3c", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "bb12a5f2-c0fc-41b9-874a-4d0b151ca508", + "name": "Get user's log events - default", + "request": { + "urlPathTemplate": "/users/{id}/logs", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + }, + "queryParameters": { + "page": { + "equalTo": "1" + }, + "per_page": { + "equalTo": "1" + }, + "sort": { + "equalTo": "sort" + }, + "include_totals": { + "equalTo": "true" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"start\": 1.1,\n \"limit\": 1.1,\n \"length\": 1.1,\n \"total\": 1.1,\n \"logs\": [\n {\n \"date\": \"date\",\n \"type\": \"type\",\n \"description\": \"description\",\n \"connection\": \"connection\",\n \"connection_id\": \"connection_id\",\n \"client_id\": \"client_id\",\n \"client_name\": \"client_name\",\n \"ip\": \"ip\",\n \"hostname\": \"hostname\",\n \"user_id\": \"user_id\",\n \"user_name\": \"user_name\",\n \"audience\": \"audience\",\n \"scope\": \"scope\",\n \"strategy\": \"strategy\",\n \"strategy_type\": \"strategy_type\",\n \"log_id\": \"log_id\",\n \"isMobile\": true,\n \"details\": {\n \"key\": \"value\"\n },\n \"user_agent\": \"user_agent\"\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "bb12a5f2-c0fc-41b9-874a-4d0b151ca508", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "b4ab10fb-07fa-43d6-97f0-2f777308b563", + "name": "Invalidate All Remembered Browsers for Multi-factor Authentication (MFA) - default", + "request": { + "urlPathTemplate": "/users/{id}/multifactor/actions/invalidate-remember-browser", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "b4ab10fb-07fa-43d6-97f0-2f777308b563", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "86847e95-c858-46df-b005-c0f0392ae95c", + "name": "Delete a User's Multi-factor Provider - default", + "request": { + "urlPathTemplate": "/users/{id}/multifactor/{provider}", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + }, + "provider": { + "equalTo": "duo" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "86847e95-c858-46df-b005-c0f0392ae95c", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "3a825384-1ed6-44a5-9a15-b2be0438a1d6", + "name": "List user's organizations - default", + "request": { + "urlPathTemplate": "/users/{id}/organizations", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + }, + "queryParameters": { + "page": { + "equalTo": "1" + }, + "per_page": { + "equalTo": "1" + }, + "include_totals": { + "equalTo": "true" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"start\": 1.1,\n \"limit\": 1.1,\n \"total\": 1.1,\n \"organizations\": [\n {\n \"id\": \"id\",\n \"name\": \"name\",\n \"display_name\": \"display_name\",\n \"token_quota\": {\n \"client_credentials\": {}\n },\n \"third_party_client_access\": \"block\",\n \"is_app_entitlement_active\": true\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "3a825384-1ed6-44a5-9a15-b2be0438a1d6", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "58cc0983-45ee-47d2-8a5c-b6e215c83942", + "name": "Get a User's Permissions - default", + "request": { + "urlPathTemplate": "/users/{id}/permissions", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + }, + "queryParameters": { + "per_page": { + "equalTo": "1" + }, + "page": { + "equalTo": "1" + }, + "include_totals": { + "equalTo": "true" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"start\": 1.1,\n \"limit\": 1.1,\n \"total\": 1.1,\n \"permissions\": [\n {\n \"resource_server_identifier\": \"resource_server_identifier\",\n \"permission_name\": \"permission_name\",\n \"resource_server_name\": \"resource_server_name\",\n \"description\": \"description\"\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "58cc0983-45ee-47d2-8a5c-b6e215c83942", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "812e845d-b47e-41b3-ad6b-edf602577cc4", + "name": "Assign Permissions to a User - default", + "request": { + "urlPathTemplate": "/users/{id}/permissions", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "812e845d-b47e-41b3-ad6b-edf602577cc4", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "6829e581-25db-4d58-99ad-1fd675c362f1", + "name": "Remove Permissions from a User - default", + "request": { + "urlPathTemplate": "/users/{id}/permissions", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "6829e581-25db-4d58-99ad-1fd675c362f1", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "0bf944f2-8c7e-474c-82eb-9e21bb625219", + "name": "Clear risk assessment assessors for a specific user - default", + "request": { + "urlPathTemplate": "/users/{id}/risk-assessments/clear", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "0bf944f2-8c7e-474c-82eb-9e21bb625219", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "96a14af0-6c21-49ec-af86-512e672dd464", + "name": "Get a user's roles - default", + "request": { + "urlPathTemplate": "/users/{id}/roles", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + }, + "queryParameters": { + "per_page": { + "equalTo": "1" + }, + "page": { + "equalTo": "1" + }, + "include_totals": { + "equalTo": "true" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"start\": 1.1,\n \"limit\": 1.1,\n \"total\": 1.1,\n \"roles\": [\n {\n \"id\": \"id\",\n \"name\": \"name\",\n \"description\": \"description\",\n \"type\": \"tenant\",\n \"owner_id\": \"owner_id\"\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "96a14af0-6c21-49ec-af86-512e672dd464", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "fcc9270b-77f1-4374-b64e-ce2381665996", + "name": "Assign roles to a user - default", + "request": { + "urlPathTemplate": "/users/{id}/roles", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "fcc9270b-77f1-4374-b64e-ce2381665996", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "45b3a04d-67d0-4781-84c6-686818e8cc76", + "name": "Remove roles from a user - default", + "request": { + "urlPathTemplate": "/users/{id}/roles", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "45b3a04d-67d0-4781-84c6-686818e8cc76", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "28b46c14-5cc3-42ad-8808-0072fb3249ba", + "name": "Get refresh tokens for a user - default", + "request": { + "urlPathTemplate": "/users/{user_id}/refresh-tokens", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "user_id": { + "equalTo": "user_id" + } + }, + "queryParameters": { + "include_totals": { + "equalTo": "true" + }, + "from": { + "equalTo": "from" + }, + "take": { + "equalTo": "1" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"tokens\": [\n {\n \"id\": \"id\",\n \"user_id\": \"user_id\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"idle_expires_at\": \"2024-01-15T09:30:00Z\",\n \"expires_at\": \"2024-01-15T09:30:00Z\",\n \"client_id\": \"client_id\",\n \"session_id\": \"session_id\",\n \"rotating\": true,\n \"resource_servers\": [\n {}\n ],\n \"refresh_token_metadata\": {\n \"key\": \"value\"\n },\n \"last_exchanged_at\": \"2024-01-15T09:30:00Z\"\n }\n ],\n \"next\": \"next\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "28b46c14-5cc3-42ad-8808-0072fb3249ba", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "1f25d8aa-36f6-4ba8-9865-27c99731105f", + "name": "Delete refresh tokens for a user - default", + "request": { + "urlPathTemplate": "/users/{user_id}/refresh-tokens", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "user_id": { + "equalTo": "user_id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "1f25d8aa-36f6-4ba8-9865-27c99731105f", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "dd1c4072-54e4-4dbc-82d9-ca1c27916f1d", + "name": "Get sessions for user - default", + "request": { + "urlPathTemplate": "/users/{user_id}/sessions", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "user_id": { + "equalTo": "user_id" + } + }, + "queryParameters": { + "include_totals": { + "equalTo": "true" + }, + "from": { + "equalTo": "from" + }, + "take": { + "equalTo": "1" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"sessions\": [\n {\n \"id\": \"id\",\n \"user_id\": \"user_id\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\",\n \"authenticated_at\": \"2024-01-15T09:30:00Z\",\n \"idle_expires_at\": \"2024-01-15T09:30:00Z\",\n \"expires_at\": \"2024-01-15T09:30:00Z\",\n \"last_interacted_at\": \"2024-01-15T09:30:00Z\",\n \"clients\": [\n {}\n ],\n \"session_metadata\": {\n \"key\": \"value\"\n },\n \"actor\": {\n \"sub\": \"sub\"\n }\n }\n ],\n \"next\": \"next\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "dd1c4072-54e4-4dbc-82d9-ca1c27916f1d", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "0691684c-d746-4411-aa18-4de52a90a463", + "name": "Delete sessions for user - default", + "request": { + "urlPathTemplate": "/users/{user_id}/sessions", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "user_id": { + "equalTo": "user_id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "0691684c-d746-4411-aa18-4de52a90a463", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "4e6af123-91a7-4267-8471-a054fc227366", + "name": "List the roles which grant the user a given permission (whether directly or through groups). - default", + "request": { + "urlPathTemplate": "/users/{id}/effective-permissions/sources/effective-roles", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + }, + "queryParameters": { + "from": { + "equalTo": "from" + }, + "take": { + "equalTo": "1" + }, + "resource_server_identifier": { + "equalTo": "resource_server_identifier" + }, + "permission_name": { + "equalTo": "permission_name" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"roles\": [\n {\n \"id\": \"id\",\n \"name\": \"name\",\n \"description\": \"description\",\n \"type\": \"tenant\",\n \"owner_id\": \"owner_id\",\n \"sources\": [\n \"direct\"\n ]\n }\n ],\n \"next\": \"next\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "4e6af123-91a7-4267-8471-a054fc227366", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "6d4f49b1-9731-4224-af65-0673be60a0c1", + "name": "Get a user's role source groups - default", + "request": { + "urlPathTemplate": "/users/{id}/effective-roles/sources/groups", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + }, + "queryParameters": { + "role_id": { + "equalTo": "role_id" + }, + "from": { + "equalTo": "from" + }, + "take": { + "equalTo": "1" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"groups\": [\n {\n \"id\": \"id\",\n \"name\": \"name\",\n \"external_id\": \"external_id\",\n \"connection_id\": \"connection_id\",\n \"tenant_name\": \"tenant_name\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\"\n }\n ],\n \"next\": \"next\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "6d4f49b1-9731-4224-af65-0673be60a0c1", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "e370a2a2-5b39-4ba1-ac2b-4b5be9ef38f2", + "name": "List verifiable credential templates for a tenant. - default", + "request": { + "urlPathTemplate": "/verifiable-credentials/verification/templates", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "queryParameters": { + "from": { + "equalTo": "from" + }, + "take": { + "equalTo": "1" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"next\": \"next\",\n \"templates\": [\n {\n \"id\": \"id\",\n \"name\": \"name\",\n \"type\": \"type\",\n \"dialect\": \"dialect\",\n \"presentation\": {\n \"org.iso.18013.5.1.mDL\": {\n \"org.iso.18013.5.1\": {}\n }\n },\n \"custom_certificate_authority\": \"custom_certificate_authority\",\n \"well_known_trusted_issuers\": \"well_known_trusted_issuers\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\"\n }\n ]\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "e370a2a2-5b39-4ba1-ac2b-4b5be9ef38f2", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + }, + "postServeActions": [] + }, + { + "id": "65b53386-72a6-4ac3-afba-c41377b10e93", + "name": "Create a verifiable credential template. - default", + "request": { + "urlPathTemplate": "/verifiable-credentials/verification/templates", + "method": "POST", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + } + }, + "response": { + "status": 201, + "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"type\": \"type\",\n \"dialect\": \"dialect\",\n \"presentation\": {\n \"org.iso.18013.5.1.mDL\": {\n \"org.iso.18013.5.1\": {}\n }\n },\n \"custom_certificate_authority\": \"custom_certificate_authority\",\n \"well_known_trusted_issuers\": \"well_known_trusted_issuers\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "65b53386-72a6-4ac3-afba-c41377b10e93", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "bac80375-0249-4659-a3d4-3cad535b4a20", + "name": "Get a verifiable credential template by ID. - default", + "request": { + "urlPathTemplate": "/verifiable-credentials/verification/templates/{id}", + "method": "GET", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"type\": \"type\",\n \"dialect\": \"dialect\",\n \"presentation\": {\n \"org.iso.18013.5.1.mDL\": {\n \"org.iso.18013.5.1\": {}\n }\n },\n \"custom_certificate_authority\": \"custom_certificate_authority\",\n \"well_known_trusted_issuers\": \"well_known_trusted_issuers\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "bac80375-0249-4659-a3d4-3cad535b4a20", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "ca7ff9f3-642c-4fae-92b4-0e4e95f34d4c", + "name": "Delete a verifiable credential template by ID. - default", + "request": { + "urlPathTemplate": "/verifiable-credentials/verification/templates/{id}", + "method": "DELETE", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "\"\"", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "ca7ff9f3-642c-4fae-92b4-0e4e95f34d4c", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + }, + { + "id": "9934fba5-6f64-4698-89dd-6123d0878561", + "name": "Update a verifiable credential template by ID. - default", + "request": { + "urlPathTemplate": "/verifiable-credentials/verification/templates/{id}", + "method": "PATCH", + "headers": { + "Authorization": { + "matches": "Bearer .+" + } + }, + "pathParameters": { + "id": { + "equalTo": "id" + } + } + }, + "response": { + "status": 200, + "body": "{\n \"id\": \"id\",\n \"name\": \"name\",\n \"type\": \"type\",\n \"dialect\": \"dialect\",\n \"presentation\": {\n \"org.iso.18013.5.1.mDL\": {\n \"org.iso.18013.5.1\": {}\n }\n },\n \"custom_certificate_authority\": \"custom_certificate_authority\",\n \"well_known_trusted_issuers\": \"well_known_trusted_issuers\",\n \"created_at\": \"2024-01-15T09:30:00Z\",\n \"updated_at\": \"2024-01-15T09:30:00Z\"\n}", + "headers": { + "Content-Type": "application/json" + } + }, + "uuid": "9934fba5-6f64-4698-89dd-6123d0878561", + "persistent": true, + "priority": 3, + "metadata": { + "mocklab": { + "created": { + "at": "2020-01-01T00:00:00.000Z", + "via": "SYSTEM" + } + } + } + } + ], + "meta": { + "total": 441 + } +} \ No newline at end of file