Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • O openapi-generator
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 3,476
    • Issues 3,476
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 402
    • Merge requests 402
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • OpenAPI Tools
  • openapi-generator
  • Merge requests
  • !4452

Preliminary openIdConnect support

  • Review changes

  • Download
  • Email patches
  • Plain diff
Open Administrator requested to merge github/fork/aanno2/feature/pr-aanno2-oidc into master Nov 11, 2019
  • Overview 0
  • Commits 2
  • Pipelines 1
  • Changes 10

Created by: aanno2

PR checklist

  • Read the contribution guidelines.
  • If contributing template-only or documentation-only changes which will change sample output, build the project before.
  • Run the shell script(s) under ./bin/ (or Windows batch scripts under.\bin\windows) to update Petstore samples related to your fix. This is important, as CI jobs will verify all generator outputs of your HEAD commit, and these must match the expectations made by your contribution. You only need to run ./bin/{LANG}-petstore.sh, ./bin/openapi3/{LANG}-petstore.sh if updating the code or mustache templates for a language ({LANG}) (e.g. php, ruby, python, etc).
  • File the PR against the correct branch: master, 4.3.x, 5.0.x. Default: master.
  • Copy the technical committee to review the pull request if your PR is targeting a particular programming language.

Preliminary openIdConnect support

This is a (somewhat simplistic) approach to include some openIdConnect support into openapi-generator. As openIdConnect is simply a specialization of OAuth2 [1], I extented CodegenSecurity to include the isOpenIdConnect field. If this field is set to true, isOAuth is also set true.

Openid retrieves most information from openIdConnectUrl [2]. The JSON available at this URL is specified by the discovery protocol [3]. In the new Class OpenIdConnect, I retrieve the information and construct CodegenSecurity objects from it. This means that the openIdConnect discovery stuff is mainly consumed as OAuth2 flows (that are already handled by openapi-generator).

This should be enough to fix #4406 and similiar bugs were the fix is simply to treat openIdConnect as some sort of OAuth2.

Certainly this solution could be extended (later) for more openIdConnect specific stuff.

[1] https://blog.runscope.com/posts/understanding-oauth-2-and-openid-connect [2] https://swagger.io/docs/specification/authentication/openid-connect-discovery/ [3] https://openid.net/specs/openid-connect-discovery-1_0.html

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: github/fork/aanno2/feature/pr-aanno2-oidc