如何从AWS AppStream中获取当前用户?

时间:2017-08-23 16:29:50

标签: java aws-appstream

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

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

2 个答案:

答案 0 :(得分:1)

让门户网站将标识用户的令牌传递给AppStream session context。令牌可以是您想要的任何内容(受到未强制1024 byte limit的限制),但应该包含一个时间戳,以便它可以过期并签名以确保它没有被伪造或篡改。

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

答案 1 :(得分:0)

在每个会话中都设置

AppStream_UserName环境变量。

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

在那个正在运行的实例AppStream_UserName将是其电子邮件地址。