Accessing current authenticated users info











up vote
0
down vote

favorite












I have a lambda function that is triggered whenever a user uploads an image to an S3 bucket. I'm trying to write the generated url of that image to a DynamoDB database along with the email of the user who uploaded said image, which should be the user that is currently logged in.



I've gotten these attributes before by doing



event.request.userAttributes.email


But that was done in a Cognito triggered post-confirmation lambda function, so that information was stored in the event parameter of the handler function. In this scenario, I'm not sure if that information is sent along in the event. Any idea how I'd get access to information like that? I've been reading up JWT ID Tokens, but I haven't figured out how to access that or if that's the correct and safe approach.










share|improve this question


























    up vote
    0
    down vote

    favorite












    I have a lambda function that is triggered whenever a user uploads an image to an S3 bucket. I'm trying to write the generated url of that image to a DynamoDB database along with the email of the user who uploaded said image, which should be the user that is currently logged in.



    I've gotten these attributes before by doing



    event.request.userAttributes.email


    But that was done in a Cognito triggered post-confirmation lambda function, so that information was stored in the event parameter of the handler function. In this scenario, I'm not sure if that information is sent along in the event. Any idea how I'd get access to information like that? I've been reading up JWT ID Tokens, but I haven't figured out how to access that or if that's the correct and safe approach.










    share|improve this question
























      up vote
      0
      down vote

      favorite









      up vote
      0
      down vote

      favorite











      I have a lambda function that is triggered whenever a user uploads an image to an S3 bucket. I'm trying to write the generated url of that image to a DynamoDB database along with the email of the user who uploaded said image, which should be the user that is currently logged in.



      I've gotten these attributes before by doing



      event.request.userAttributes.email


      But that was done in a Cognito triggered post-confirmation lambda function, so that information was stored in the event parameter of the handler function. In this scenario, I'm not sure if that information is sent along in the event. Any idea how I'd get access to information like that? I've been reading up JWT ID Tokens, but I haven't figured out how to access that or if that's the correct and safe approach.










      share|improve this question













      I have a lambda function that is triggered whenever a user uploads an image to an S3 bucket. I'm trying to write the generated url of that image to a DynamoDB database along with the email of the user who uploaded said image, which should be the user that is currently logged in.



      I've gotten these attributes before by doing



      event.request.userAttributes.email


      But that was done in a Cognito triggered post-confirmation lambda function, so that information was stored in the event parameter of the handler function. In this scenario, I'm not sure if that information is sent along in the event. Any idea how I'd get access to information like that? I've been reading up JWT ID Tokens, but I haven't figured out how to access that or if that's the correct and safe approach.







      amazon-web-services amazon-cognito






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked 2 days ago









      KSamra

      335




      335
























          1 Answer
          1






          active

          oldest

          votes

















          up vote
          0
          down vote













          I am afraid you will have to handle it yourself. One option which you may like is to use custom object metadata to store the information about the uploading user:



          https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html



          You can then retrieve the metadata together with the object and continue from that point.






          share|improve this answer





















          • Surely there must be some way to know who is currently logged in? The metadata approach you suggested could be used but I still don't know who is logged in, so I have no actual metadata to pass.
            – KSamra
            yesterday










          • "logged in" can have meaning in your application but it does not have any meaning from the AWS viewpoint. They check only if the api is called with a valid signature and if the IAM user has permission to invoke the given action.
            – petrch
            11 hours ago











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














           

          draft saved


          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53349194%2faccessing-current-authenticated-users-info%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes








          up vote
          0
          down vote













          I am afraid you will have to handle it yourself. One option which you may like is to use custom object metadata to store the information about the uploading user:



          https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html



          You can then retrieve the metadata together with the object and continue from that point.






          share|improve this answer





















          • Surely there must be some way to know who is currently logged in? The metadata approach you suggested could be used but I still don't know who is logged in, so I have no actual metadata to pass.
            – KSamra
            yesterday










          • "logged in" can have meaning in your application but it does not have any meaning from the AWS viewpoint. They check only if the api is called with a valid signature and if the IAM user has permission to invoke the given action.
            – petrch
            11 hours ago















          up vote
          0
          down vote













          I am afraid you will have to handle it yourself. One option which you may like is to use custom object metadata to store the information about the uploading user:



          https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html



          You can then retrieve the metadata together with the object and continue from that point.






          share|improve this answer





















          • Surely there must be some way to know who is currently logged in? The metadata approach you suggested could be used but I still don't know who is logged in, so I have no actual metadata to pass.
            – KSamra
            yesterday










          • "logged in" can have meaning in your application but it does not have any meaning from the AWS viewpoint. They check only if the api is called with a valid signature and if the IAM user has permission to invoke the given action.
            – petrch
            11 hours ago













          up vote
          0
          down vote










          up vote
          0
          down vote









          I am afraid you will have to handle it yourself. One option which you may like is to use custom object metadata to store the information about the uploading user:



          https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html



          You can then retrieve the metadata together with the object and continue from that point.






          share|improve this answer












          I am afraid you will have to handle it yourself. One option which you may like is to use custom object metadata to store the information about the uploading user:



          https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html



          You can then retrieve the metadata together with the object and continue from that point.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered yesterday









          petrch

          1216




          1216












          • Surely there must be some way to know who is currently logged in? The metadata approach you suggested could be used but I still don't know who is logged in, so I have no actual metadata to pass.
            – KSamra
            yesterday










          • "logged in" can have meaning in your application but it does not have any meaning from the AWS viewpoint. They check only if the api is called with a valid signature and if the IAM user has permission to invoke the given action.
            – petrch
            11 hours ago


















          • Surely there must be some way to know who is currently logged in? The metadata approach you suggested could be used but I still don't know who is logged in, so I have no actual metadata to pass.
            – KSamra
            yesterday










          • "logged in" can have meaning in your application but it does not have any meaning from the AWS viewpoint. They check only if the api is called with a valid signature and if the IAM user has permission to invoke the given action.
            – petrch
            11 hours ago
















          Surely there must be some way to know who is currently logged in? The metadata approach you suggested could be used but I still don't know who is logged in, so I have no actual metadata to pass.
          – KSamra
          yesterday




          Surely there must be some way to know who is currently logged in? The metadata approach you suggested could be used but I still don't know who is logged in, so I have no actual metadata to pass.
          – KSamra
          yesterday












          "logged in" can have meaning in your application but it does not have any meaning from the AWS viewpoint. They check only if the api is called with a valid signature and if the IAM user has permission to invoke the given action.
          – petrch
          11 hours ago




          "logged in" can have meaning in your application but it does not have any meaning from the AWS viewpoint. They check only if the api is called with a valid signature and if the IAM user has permission to invoke the given action.
          – petrch
          11 hours ago


















           

          draft saved


          draft discarded



















































           


          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53349194%2faccessing-current-authenticated-users-info%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Create new schema in PostgreSQL using DBeaver

          Deepest pit of an array with Javascript: test on Codility

          Costa Masnaga