|
| 1 | +# frozen_string_literal: true |
| 2 | + |
| 3 | +module Types |
| 4 | + module Input |
| 5 | + class IdentityProviderConfigInputType < Types::BaseInputObject |
| 6 | + description 'Input for identity provider configuration. Contains fields for both OIDC and SAML.' |
| 7 | + |
| 8 | + # OIDC fields |
| 9 | + argument :authorization_url, String, required: false, |
| 10 | + description: 'The authorization URL for the OIDC identity provider' |
| 11 | + argument :client_id, String, required: false, description: 'The client ID for the OIDC identity provider' |
| 12 | + argument :client_secret, String, required: false, description: 'The client secret for the OIDC identity provider' |
| 13 | + argument :redirect_uri, String, required: false, description: 'The redirect URI for the OIDC identity provider' |
| 14 | + argument :user_details_url, String, required: false, |
| 15 | + description: 'The user details URL for the OIDC identity provider' |
| 16 | + |
| 17 | + # Common |
| 18 | + argument :attribute_statements, GraphQL::Types::JSON, |
| 19 | + required: false, |
| 20 | + description: 'List of attribute statements for the identity provider' |
| 21 | + argument :provider_name, String, |
| 22 | + required: false, |
| 23 | + description: 'The name of the identity provider' |
| 24 | + |
| 25 | + # SAML-specific fields |
| 26 | + argument :metadata_url, String, required: false, |
| 27 | + description: 'Optional metadata URL to fetch metadata (alternative to settings)' |
| 28 | + argument :response_settings, GraphQL::Types::JSON, |
| 29 | + required: false, |
| 30 | + description: 'The SAML response settings for the identity provider' |
| 31 | + argument :settings, GraphQL::Types::JSON, required: false, |
| 32 | + description: 'The SAML settings for the identity provider' |
| 33 | + end |
| 34 | + end |
| 35 | +end |
0 commit comments