naftiko: 1.0.0-alpha2 info: label: OpenID Connect (OIDC) SSO API — Authorization description: 'OpenID Connect (OIDC) SSO API — Authorization. 1 operations. Lead operation: Initiate OIDC Authorization. Self-contained Naftiko capability covering one Sso business surface.' tags: - Sso - Authorization created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: SSO_API_KEY: SSO_API_KEY capability: consumes: - type: http namespace: oidc-authorization baseUri: https://your-idp.example.com description: OpenID Connect (OIDC) SSO API — Authorization business capability. Self-contained, no shared references. resources: - name: authorize path: /authorize operations: - name: initiateoidcauthorization method: GET description: Initiate OIDC Authorization outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: response_type in: query type: string description: Specifies the authorization flow. Use 'code' for Authorization Code Flow, 'id_token' for Implicit Flow. required: true - name: client_id in: query type: string description: The client identifier registered with the OpenID Provider required: true - name: redirect_uri in: query type: string description: URI to redirect to after authentication. Must match a pre-registered redirect URI for the client. required: true - name: scope in: query type: string description: 'Space-separated list of scopes. Must include ''openid''. Additional scopes: profile, email, address, phone, offline_access.' required: true - name: state in: query type: string description: Opaque value used to maintain state between the request and callback. Used to prevent CSRF attacks. required: true - name: nonce in: query type: string description: String value used to associate a client session with an ID token and mitigate replay attacks. - name: code_challenge in: query type: string description: PKCE code challenge derived from the code_verifier. Required for public clients using PKCE. - name: code_challenge_method in: query type: string description: Method used to derive the code_challenge from code_verifier - name: response_mode in: query type: string description: Mechanism used to return authorization response parameters - name: prompt in: query type: string description: Prompts for user interaction during authentication - name: login_hint in: query type: string description: Hint to the authorization server about the login identifier - name: acr_values in: query type: string description: Authentication Context Class Reference values authentication: type: bearer token: '{{env.SSO_API_KEY}}' exposes: - type: rest namespace: oidc-authorization-rest port: 8080 description: REST adapter for OpenID Connect (OIDC) SSO API — Authorization. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/authorize name: authorize description: REST surface for authorize. operations: - method: GET name: initiateoidcauthorization description: Initiate OIDC Authorization call: oidc-authorization.initiateoidcauthorization with: response_type: rest.response_type client_id: rest.client_id redirect_uri: rest.redirect_uri scope: rest.scope state: rest.state nonce: rest.nonce code_challenge: rest.code_challenge code_challenge_method: rest.code_challenge_method response_mode: rest.response_mode prompt: rest.prompt login_hint: rest.login_hint acr_values: rest.acr_values outputParameters: - type: object mapping: $. - type: mcp namespace: oidc-authorization-mcp port: 9090 transport: http description: MCP adapter for OpenID Connect (OIDC) SSO API — Authorization. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: initiate-oidc-authorization description: Initiate OIDC Authorization hints: readOnly: true destructive: false idempotent: true call: oidc-authorization.initiateoidcauthorization with: response_type: tools.response_type client_id: tools.client_id redirect_uri: tools.redirect_uri scope: tools.scope state: tools.state nonce: tools.nonce code_challenge: tools.code_challenge code_challenge_method: tools.code_challenge_method response_mode: tools.response_mode prompt: tools.prompt login_hint: tools.login_hint acr_values: tools.acr_values outputParameters: - type: object mapping: $.