MCPcopy Create free account
hub / github.com/aws/aws-cli / add_auth

Method add_auth

awscli/botocore/auth.py:827–864  ·  view source on GitHub ↗
(self, request)

Source from the content-addressed store, hash-verified

825 """
826
827 def add_auth(self, request):
828 datetime_now = datetime.datetime.utcnow()
829 request.context['timestamp'] = datetime_now.strftime(SIGV4_TIMESTAMP)
830
831 fields = {}
832 if request.context.get('s3-presign-post-fields', None) is not None:
833 fields = request.context['s3-presign-post-fields']
834
835 policy = {}
836 conditions = []
837 if request.context.get('s3-presign-post-policy', None) is not None:
838 policy = request.context['s3-presign-post-policy']
839 if policy.get('conditions', None) is not None:
840 conditions = policy['conditions']
841
842 policy['conditions'] = conditions
843
844 fields['x-amz-algorithm'] = 'AWS4-HMAC-SHA256'
845 fields['x-amz-credential'] = self.scope(request)
846 fields['x-amz-date'] = request.context['timestamp']
847
848 conditions.append({'x-amz-algorithm': 'AWS4-HMAC-SHA256'})
849 conditions.append({'x-amz-credential': self.scope(request)})
850 conditions.append({'x-amz-date': request.context['timestamp']})
851
852 if self.credentials.token is not None:
853 fields['x-amz-security-token'] = self.credentials.token
854 conditions.append({'x-amz-security-token': self.credentials.token})
855
856 # Dump the base64 encoded policy into the fields dictionary.
857 fields['policy'] = base64.b64encode(
858 json.dumps(policy).encode('utf-8')
859 ).decode('utf-8')
860
861 fields['x-amz-signature'] = self.signature(fields['policy'], request)
862
863 request.context['s3-presign-post-fields'] = fields
864 request.context['s3-presign-post-policy'] = policy
865
866
867class BearerAuth(TokenSigner):

Callers

nothing calls this directly

Calls 4

scopeMethod · 0.80
decodeMethod · 0.80
signatureMethod · 0.80
encodeMethod · 0.45

Tested by

no test coverage detected