This is a OTP authentication plugin for Swagger UI.
Add github npm registry to .npmrc
,
# .npmrc
always-auth = true
@dsaidgovsg:registry=https://npm.pkg.github.com
Install the package,
$ npm install @dsaidgovsg/swagger-ui-plugin-otp-auth
import OtpAuthPlugin from '@dsaidgovsg/swagger-ui-plugin-otp-auth'
// swagger-ui initialization
SwaggerUI({
plugins: [
OtpAuthPlugin,
...
]
})
components:
securitySchemes:
OtpAuth:
# base config
type: http
scheme: bearer
otp: true
# token url
tokenUrl: /api/otp/
# request path and method
requestOtpPath: /new
requestOtpMethod: post
requestOtpQuery:
service: service-name
# auth path and method
authPath: /authenticate
authMethod: post
authQuery:
service: service-name
expiry: 10800
security:
- OtpAuth: []