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