handles_password_revalidation_token.rb 703 B

12345678910111213141516171819202122
  1. # Copyright (C) 2012-2025 Zammad Foundation, https://zammad-foundation.org/
  2. module Gql::Concerns::HandlesPasswordRevalidationToken
  3. extend ActiveSupport::Concern
  4. included do
  5. argument :token, String, description: 'Password revalidation token issued by the password check mutation.'
  6. def verify_token!(token_string)
  7. Token.validate! action: 'PasswordCheck', token: token_string, user: context.current_user
  8. rescue Token::TokenInvalid
  9. raise InvalidTokenError, __('The supplied password revalidation token is invalid.')
  10. end
  11. end
  12. # rubocop:disable GraphQL/ObjectDescription
  13. class InvalidTokenError < StandardError; end
  14. # rubocop:enable GraphQL/ObjectDescription
  15. end