Bläddra i källkod

获取sts token

peng 1 år sedan
förälder
incheckning
ad3e90ff64
1 ändrade filer med 30 tillägg och 0 borttagningar
  1. 30 0
      Controller/TestApi.py

+ 30 - 0
Controller/TestApi.py

@@ -188,6 +188,8 @@ class testView(View):
             return self.get_oci_url(request_dict, request, response)
         elif operation == 'delOciObj':
             return self.del_oci_obj(request_dict, request, response)
+        elif operation == 'get-token':
+            return self.get_token(request_dict, response)
         else:
             return response.json(414)
 
@@ -1343,3 +1345,31 @@ class testView(View):
             return response.json(0)
         except Exception as e:
             return response.json(500, 'error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
+
+    @staticmethod
+    def get_token(request_dict, response):
+        """
+        获取临时token
+        @param request_dict: 请求参数
+        @request_dict uid: 设备uid
+        @param response: 响应对象
+        @return: response
+        """
+        try:
+            sts_client_conn = boto3.client(
+                'sts',
+                aws_access_key_id='AKIA2E67UIMD45Y3HL53',
+                aws_secret_access_key='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',
+                region_name='us-east-1'
+            )
+            sts_obj = sts_client_conn.get_session_token(DurationSeconds=129600)
+            res = {
+                'AccessKeyId': sts_obj['Credentials']['AccessKeyId'],
+                'AccessKeySecret': sts_obj['Credentials']['SecretAccessKey'],
+                'SessionToken': sts_obj['Credentials']['SessionToken'],
+                'Expiration': str(sts_obj['Credentials']['Expiration'])
+            }
+            return response.json(0, res)
+        except Exception as e:
+            print(e)
+            return response.json(500, 'error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))