我的任务是将现有的JavaScript应用程序与Okta集成 .
此应用程序需要访问Amazon AWS API Gateway上的某些资源 . API-Gateway生成的SDK需要访问密钥和秘密访问密钥,我们更愿意使用临时凭证 .
根据AWS文档,需要断言才能调用AWS's AssumeRoleWithSAML in order to retrieve temporary credentials .
我尝试了以下Okta资源,但无法确定如何使用JavaScript获取断言:
-
AWS SAML Integration with Okta:此设置允许登录AWS控制台 .
-
The Okta Sign-in Widget:使用小部件,我无法在返回的内容中找到断言 .
-
Okta API/SDK:未列出JavaScript API / SDK .
我发现了一些返回临时访问密钥的Python实现,但是没有找到任何描述Okta的JavaScript方法的示例或文档 .
谢谢 .
1 回答
这是一个示例应用程序,展示了如何使用Okta登录小部件将Okta与Amazon S3集成在一起:https://github.com/okta/okta-oidc-aws
此示例应用程序基于Amazon的JavaScript in the Browser示例应用程序,但使用OpenID Connect而不是使用Facebook对Okta进行身份验证,就像Amazon的示例应用程序一样 .
GitHub repository for the okta-oidc-aws sample有关于使示例正常工作的完整详细信息 .
在较高的层面上,重要的部分如下:
从Okta获得OpenID Connect id_token .
使用WebIdentityCredentials class将Okta
id_token
替换为AWS IAM角色 . 这被称为“Web Identity Federation” .执行此操作的代码如下所示,并直接从示例中的sample.html文件中复制: