Methods
- D
- G
- R
- V
Constants
DIRECT_UPLOAD_TOKEN_LENGTH | = | 32 |
SEPARATOR | = | "." |
Instance Public methods
generate_direct_upload_token(attachment_name, service_name, session) Link
verify_direct_upload_token(token, attachment_name, session) Link
# File activestorage/lib/active_storage/direct_upload_token.rb, line 15 def verify_direct_upload_token(token, attachment_name, session) raise ActiveStorage::InvalidDirectUploadTokenError if token.nil? service_name, *token_components = decode_token(token).split(SEPARATOR) decoded_token = token_components.join(SEPARATOR) return service_name if valid_direct_upload_token?(decoded_token, attachment_name, session) raise ActiveStorage::InvalidDirectUploadTokenError end
Instance Private methods
direct_upload_token(session, attachment_name) Link
direct_upload_token_hmac(session, identifier) Link
real_direct_upload_token(session) Link
# File activestorage/lib/active_storage/direct_upload_token.rb, line 46 def real_direct_upload_token(session) # :doc: session[:_direct_upload_token] ||= SecureRandom.urlsafe_base64(DIRECT_UPLOAD_TOKEN_LENGTH, padding: false) encode_direct_upload_token(session[:_direct_upload_token]) end
valid_direct_upload_token?(token, attachment_name, session) Link
# File activestorage/lib/active_storage/direct_upload_token.rb, line 31 def valid_direct_upload_token?(token, attachment_name, session) # :doc: correct_token = direct_upload_token(session, attachment_name) ActiveSupport::SecurityUtils.fixed_length_secure_compare(token, correct_token) rescue ArgumentError raise ActiveStorage::InvalidDirectUploadTokenError end