Skip to content

Repository files navigation

@nextcloud/password-confirmation

npmBuild statusREUSE statusLicense

Promise-based password confirmation for Nextcloud.

This library exports a function that displays a password confirmation dialog when called and returns a promise. This makes it easier to integrate with other asynchronous operations.

Versions compatibility

@nextcloud/password-confirmationMaintainedNextcloud@nextcloud/vue
6.x31+9.x (Vue 3) ¹
5.x28-328.x
2.x - 4.x25-277.x
1.x< 25-

¹: In version 6.x the @nextcloud/vue dependency is moved to dependencies so you can also use this library with an old version of @nextcloud/vue in your app dependencies if your app still uses Vue 2. Note that this might increase the bundled app size. If your app also already uses @nextcloud/vue version 9.x and Vue 3 then the bundle size will not increase.

Installation

npm install @nextcloud/password-confirmation

Usage

Direct usage

import{confirmPassword}from'@nextcloud/password-confirmation'import'@nextcloud/password-confirmation/style.css'// Required for dialog stylesconstfoo=async()=>{try{awaitconfirmPassword()// Your logic}catch(error){// Your error handling logic}}

Usage with axios interceptor

importaxiosfrom'@nextcloud/axios'import{addPasswordConfirmationInterceptors,PwdConfirmationMode}from'@nextcloud/password-confirmation'import'@nextcloud/password-confirmation/style.css'// Required for dialog stylesaddPasswordConfirmationInterceptors(axios)constfoo=async()=>{try{constresponse=awaitaxios.request({confirmPassword: PwdConfirmationMode.Strict,
method,
url,data: this.getData(),})// Your logic}catch(error){// Your error handling logic}}

API Reference

/** * Check if password confirmation is required according to the last confirmation time. * Use as a replacement of deprecated `OC.PasswordConfirmation.requiresPasswordConfirmation()`. * Not needed if `confirmPassword()` can be used, because it checks requirements itself. * * @return {boolean} Whether password confirmation is required or was confirmed recently */declarefunctionisPasswordConfirmationRequired(): boolean/** * Confirm password if needed. * Replacement of deprecated `OC.PasswordConfirmation.requirePasswordConfirmation(callback)` * * @return {Promise<void>} Promise that resolves when password is confirmed or not needded. * Rejects if password confirmation was cancelled * or confirmation is already in process. */declarefunctionconfirmPassword(): Promise<void>/** * Lax: Confirm password if needed. * Strict: Confirm in the request. */exportenumPwdConfirmationMode{Lax='lax',Strict='strict',}

Releasing

  1. Create release branch
  2. Adjust version using npm version vx.y.z --no-git-tag-version
  3. Update CHANGELOG.md
  4. Commit and open PR
  5. After merge, pull latest main
  6. git tag vx.y.z
  7. git push origin vx.y.z
  8. npm ci && npm run build && npm publish

Releases

Packages

Used by

Contributors

Languages