Code Monkey home page Code Monkey logo

Comments (10)

lgibso34 avatar lgibso34 commented on August 11, 2024 2

Just added so you should be able to define custom ouath settings like so:

var options = {
	validatorUrl : null,
	oauth: {
	 clientId: "your-client-id1",
	 clientSecret: "your-client-secret-if-required1",
	 realm: "your-realms1",
	 appName: "your-app-name1",
	 scopeSeparator: ",",
	 additionalQueryStringParams: {}
       }
};

app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerDocument, false, options));

Let me know if that works and I will update the documentation. You will need to make sure to define all the oauth settings as it simply replaces the current object with the one you define.

@scottie1984
Is the "oauth" param documented anywhere? Had quite the trouble finding out how to do this and would like to help anyone in the future find this easier. You have a line in the README "For all the available options, refer to Swagger UI Configuration" but the key "oauth" does not exist there.

Thanks.

from swagger-ui-express.

scottie1984 avatar scottie1984 commented on August 11, 2024

This should be possible by passing a custom onComplete function into swagger-ui-express:

const options: {
      onComplete: function(swaggerApi, swaggerUi){
	   if(typeof initOAuth == "function") {
	       initOAuth({
	           clientId: "your-client-id",
	           clientSecret: "your-client-secret-if-required",
	           realm: "your-realms",
	           appName: "your-app-name",
	           scopeSeparator: ",",
	           additionalQueryStringParams: {}
	       });
	  }
          if(window.SwaggerTranslator) {
	       window.SwaggerTranslator.translate();
	  }
     }
}
	
app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerDocument, false, options));

Let me know and if it doesn't work I can create a new version to allow you to pass oAuth options through.

from swagger-ui-express.

otusweb avatar otusweb commented on August 11, 2024

Looking at index.js, JSON.stringify is called on options, so the method is lost at that point.

from swagger-ui-express.

scottie1984 avatar scottie1984 commented on August 11, 2024

Apologies - my bad!

{
clientId: "your-client-id",
clientSecret: "your-client-secret-if-required",
realm: "your-realms",
appName: "your-app-name",
scopeSeparator: ",",
additionalQueryStringParams: {}
}

Would you accept being able to pass in this object to the module?

from swagger-ui-express.

otusweb avatar otusweb commented on August 11, 2024

Yes, that would work for me

from swagger-ui-express.

scottie1984 avatar scottie1984 commented on August 11, 2024

Just added so you should be able to define custom ouath settings like so:

var options = {
	validatorUrl : null,
	oauth: {
	 clientId: "your-client-id1",
	 clientSecret: "your-client-secret-if-required1",
	 realm: "your-realms1",
	 appName: "your-app-name1",
	 scopeSeparator: ",",
	 additionalQueryStringParams: {}
       }
};

app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerDocument, false, options));

Let me know if that works and I will update the documentation. You will need to make sure to define all the oauth settings as it simply replaces the current object with the one you define.

from swagger-ui-express.

grayyang avatar grayyang commented on August 11, 2024

@scottie1984 , any updates on this issue? I also need this to provides additional query parameters.

The solution you are going to provide above is OK for us. I made a local test with your solution by adding following code into the indexTemplate:

...
  var ui = SwaggerUIBundle(swaggerOptions)

  if (customOptions.oauth) {
    ui.initOAuth(customOptions.oauth)
  }

  window.ui = ui
...

Any plan when you will provide this feature, or if I missed anything?

from swagger-ui-express.

scottie1984 avatar scottie1984 commented on August 11, 2024

I have merge that in - let me know if everything works ok.

from swagger-ui-express.

grayyang avatar grayyang commented on August 11, 2024

I have tested using the v2.0.3 npm package, it works well.

from swagger-ui-express.

scottie1984 avatar scottie1984 commented on August 11, 2024

Any help documenting this would be great.

from swagger-ui-express.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.