Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

168
Vistas
carga del navegador s3, depósito canónico o de políticas?

Los documentos para la última publicación de carga del navegador sigv4 s3 - http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-post-example.html - muestran que necesito usar x-amz-signature , x-amz-credential y policy .

Si intento eso, aparece un error que dice que me falta AWSAccessKeyId , que no se menciona en los documentos, y que la x-amz-signature debe ser una signature .

Cadena para firmar:

¿Se supone que debo hacer el documento de política de depósito base64 anterior, o se supone que debo hacer el enfoque canónico, como la publicación de python en dynamoDB - http://docs.aws.amazon.com/general/latest/gr/ sigv4-signed-request-examples.html#sig-v4-examples-post .

Firma:

el canonical usa hmac hexdigest hmac.new(signing_key, (string_to_sign).encode('utf-8'), hashlib.sha256).hexdigest()

El documento de carga anterior usa hmac con base64: Base64.encode64(OpenSSL::HMAC.digest('sha256', signaturekey, @policy)) .

Bajo el capó de ruby sdk , parece que están usando el hexdigest que no es hmac: OpenSSL::HMAC.hexdigest(OpenSSL::Digest.new('sha256'), key, value) .

¿Qué método se necesita para subir a s3?

FWIW, estoy usando un SPA con Rails como API, por lo que lamentablemente no tengo acceso a ningún asistente de vista de Rails.

Ayer publiqué una pregunta sobre mi código y, lamentablemente, se me mostró un enlace que usa asistentes de vista de rieles.

Editar:

Lo que la política está enviando:

 {"expiration":"2017-03-06T20:13:51Z", "conditions":[ {"bucket":"example-development"}, {"x-amz-credential":"AKIAIVVIZJHOBCBAB5CA/20170305/us-west-2/s3/aws4_request"}, {"x-amz-algorithm":"AWS4-HMAC-SHA256"}, {"x-amz-date":"20170305T000000Z"} ] }

Lo que el formulario está enviando:

 Policy:"eyJleHBpcmF0aW9uIjoiMjAxNy0wMy0wNlQyMDoxOTowN1oiLCJjb25kaXRpb25zIjpbeyJidWNrZXQiOiJ3YXlkb3BlLWRldmVsb3BtZW50In0seyJ4LWFtei1jcmVkZW50aWFsIjoiQUtJQUlWVklaSkhPQkNCQUI1Q0EvMjAxNzAzMDUvdXMtd2VzdC0yL3MzL2F3czRfcmVxdWVzdCJ9LHsieC1hbXotYWxnb3JpdGhtIjoiQVdTNC1ITUFDLVNIQTI1NiJ9LHsieC1hbXotZGF0ZSI6IjIwMTcwMzA1VDAwMDAwMFoifV19" X-Amz-Signature:"Cqjvo9aYCrb8PYHD+mUDjlOwKUzTpsI4d5/oycFAUBA=" key:"uploads/photo/photo/126/photo.jpg" x-amz-algorithm:"AWS4-HMAC-SHA256" x-amz-credential:"AKIAIVVIZJHOBCBAB5CA/20170305/us-west-2/s3/aws4_request" x-amz-date:"20170305T000000Z"

La política de depósito y CORS contienen condiciones cero.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Con una carga del navegador s3, la cadena para firmar debe ser la configuración del depósito: http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-UsingHTTPPOST.html

Siga los enlaces en la parte inferior de la página.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda