【问题标题】:How do I get the current user from within an AWS AppStream?如何从 AWS AppStream 中获取当前用户?
【发布时间】:2017-08-23 16:29:49
【问题描述】:

我正在通过 AWS AppStream 对应用程序的部署进行原型设计。通过 Web 门户(使用 SAML)管理对流的访问。我的应用程序需要知道用户的身份。我可以提示他们,但我不想让他们同时登录门户和应用程序。我想获得他们在门户网站上提供的凭据。 (AppStream 实例在“PhotonUser”帐户下运行,因此我无法从操作系统获取用户名。)

AWS SDK 有一个 Session 类,其中包含用户 ID,但我找不到为当前流会话获取它的实例的方法。

【问题讨论】:

    标签: java aws-appstream


    【解决方案1】:

    让门户将标识用户的令牌作为 session context 传递到 AppStream。令牌可以是您想要的任何东西(受未强制执行的1024 byte limit 约束),但可能应该包含一个时间戳以便它可以过期和一个签名以确保它没有被伪造或篡改。

    修改您的门户以通过CreateStreamingURL API 为每个用户创建一个自定义 URL,以提供令牌作为会话上下文。 AppStream 中的应用程序将会话上下文视为命令行参数。解析并验证令牌(即检查它是否过期并验证签名)。

    【讨论】:

      【解决方案2】:

      AppStream_UserName 环境变量在每个会话中设置。

      因此,您的门户应该获取他们的电子邮件地址并将其与 CreateStreamingURLRequest(加上堆栈、车队等)一起使用。门户现在应该将他们的浏览器会话重定向到这个 URL。

      在该运行实例中,AppStream_UserName 将是他们的电子邮件地址。

      【讨论】:

        猜你喜欢
        • 2018-02-17
        • 1970-01-01
        • 2018-12-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-01-10
        • 2020-02-21
        相关资源
        最近更新 更多