当前位置: 首页 > wzjs >正文

北仑做网站唐山网站建设方案优化

北仑做网站,唐山网站建设方案优化,自己怎样优化网站,山东省交通运输厅网站开发单位首先Cognito没有提供登录至AWS控制台的功能,然而您可以通过Cognito Identity Pool获取到IAM role的credentials [1],再另外通过代码自行将IAM role credentials拼凑成AWS控制台登录的URL [2]。 最后,由于Cognito的使用除了User Pool以及Iden…

首先Cognito没有提供登录至AWS控制台的功能,然而您可以通过Cognito Identity Pool获取到IAM role的credentials [1],再另外通过代码自行将IAM role credentials拼凑成AWS控制台登录的URL [2]。

最后,由于Cognito的使用除了User Pool以及Identity Pool的创建以及配置以外,在登录及认证的流程中都必须依赖API(通过AWS CLI或代码),因此您可以先参考文档资源 [6] 熟悉这项服务。

Q2. cognito底层是否是OIDC协议?AWS自己的协议还是Oauth?

A2. Cognito支持OAuth 2.0及OIDC [7],没有另外自己开发协议。

  1. 调用 initiate-auth [2] 手动向User Pool发起登录,获取token。
    命令:
    aws cognito-idp initiate-auth --auth-flow USER_PASSWORD_AUTH --auth-parameters USERNAME=,PASSWORD= --client-id --region
    输出:
    {
    “ChallengeParameters”: {},
    “AuthenticationResult”: {
    “AccessToken”: “”,
    “ExpiresIn”: 3600,
    “TokenType”: “Bearer”,
    “RefreshToken”: “”,
    “IdToken”: “”
    }
    }

  2. 参考文档 [3] 的「增强型流程(Enhanced flow)」调用 get-id [4] 以及 get-credentials-for-identity [5] 获取IAM role的AccessKeyId、SecretKey、以及SessionToken。
    命令:
    aws cognito-identity get-id --identity-pool-id <identity_pool_id> --logins cognito-idp..amazonaws.com/<user_pool_id>=<步骤1获取的IdToken>
    输出:
    {
    “IdentityId”: “”
    }

命令:
aws cognito-identity get-credentials-for-identity --identity-id --logins cognito-idp..amazonaws.com/<user_pool_id>=<步骤1获取的IdToken>
输出:
{
“IdentityId”: “”,
“Credentials”: {
“AccessKeyId”: “”,
“SecretKey”: “”,
“SessionToken”: “”,
“Expiration”: “”
}
}

  1. 如同一般的IAM role credentials,在credentials到期前配置并使用AccessKeyId、SecretKey、以及SessionToken [6]。

也提供文档说明 [7] 供您参考。

希望以上信息能对您有所帮助,欢迎您再度联系亚马逊技术支持。

参考文档:
[1] Common Amazon Cognito scenarios - Access AWS services with a user pool and an identity pool - https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-scenarios.html#scenario-aws-and-user-pool
[2] https://docs.aws.amazon.com/cli/latest/reference/cognito-idp/initiate-auth.html
[3] 如何使用 Amazon Cognito 身份池授予用户访问 AWS 服务的权限? - https://repost.aws/zh-Hans/knowledge-center/cognito-identity-pool-grant-user-access
[4] https://docs.aws.amazon.com/cli/latest/reference/cognito-identity/get-id.html
[5] https://docs.aws.amazon.com/cli/latest/reference/cognito-identity/get-credentials-for-identity.html
[6] Configuration and credential file settings in the AWS CLI - https://docs.aws.amazon.com/cli/v1/userguide/cli-configure-files.html
[7] Accessing AWS services using an identity pool after sign-in - https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-integrating-user-pools-with-identity-pools.html

AssumeRoleWithWebIdentity 与Identity Pool的搭配适用于当您在Identity Pool选择了Basic authflow的时候 [1]。您可以参考文档 [1] 或是 [2] 的Basic authflow(基本流程),当您使用了Basic authflow的时候,在调用了 get-id 后,您便会需要依序调用 get-open-id-token [3] 以及 assume-role-with-web-identity [4] 来去获取到IAM role的credentials,而不是使用 get-credentials-for-identity。

命令:
aws cognito-identity get-open-id-token --identity-id “” --logins cognito-idp..amazonaws.com/<user_pool_id>=<步骤1获取的IdToken>

输出:
{
“IdentityId”: “”,
“Token”: “”
}

命令:
aws sts assume-role-with-web-identity --role-arn “<指定事先配置好的IAM role>” --web-identity-token “” --role-session-name “<自定义session名>”

输出:
{
“Credentials”: {
AccessKeyId": “”,
SecretAccessKey": “”,
SessionToken": “”,
Expiration": “”
},
“SubjectFromWebIdentityToken”: “”,
“AssumedRoleUser”: {
“AssumedRoleId”: “”,
“Arn”: “”
},
“Provider”: “cognito-identity.amazonaws.com”,
“Audience”: “”
}

参考文档:
[1] Identity pools authentication flow - https://docs.aws.amazon.com/cognito/latest/developerguide/authentication-flow.html
[2] 如何使用 Amazon Cognito 身份池授予用户访问 AWS 服务的权限? - https://repost.aws/zh-Hans/knowledge-center/cognito-identity-pool-grant-user-access
[3] https://docs.aws.amazon.com/cli/latest/reference/cognito-identity/get-open-id-token.html
[4] https://docs.aws.amazon.com/de_de/cli/latest/reference/sts/assume-role-with-web-identity.html

简单来说,通过Enhanced authflow您拿到的IAM role是由送交给Identity Pool的token内容决定,IAM role的对应也是在Identity Pool里面配置。而Basic authflow拿到的IAM role则是在调用 AssumeRoleWithWebIdentity 的时候由发起人决定。例如在Enhanced authflow您可以设置只要登录成功调用get-credentials-for-identity就返回IAM role A,没有登录就返回IAM role B。在Basic authflow由于没有mapping的功能,就必须另外配置IAM role,然后再通过 IAM 的 AssumeRoleWithWebIdentity 获取IAM role。

详细的说明以及流程图请您直接参考文档 [1],为了您的方便,也为您节录文档说明如下,由于文档的中文为机器翻译,为了避免机器翻译的翻译问题,以下将为您节录原文。

「The basic workflow gives you more granular control over the credentials that you distribute to your users. The GetCredentialsForIdentity request of the enhanced authflow requests a role based on the contents of an access token. The AssumeRoleWithWebIdentity request in the classic workflow grants your app a greater ability to request credentials for any AWS Identity and Access Management role that you have configured with a sufficient trust policy. You can also request a custom role session duration.

You can sign in with the Basic authflow in user pools that don’t have role mappings. This type of identity pool doesn’t have a default authenticated or unauthenticated role, and doesn’t have role-based or attribute-based access control configured. When you attempt GetOpenIdToken in an identity pool with role mappings, you receive the following error.

Basic (classic) flow is not supported with RoleMappings, please use enhanced flow.」

参考文档:
[1] Identity pools authentication flow - https://docs.aws.amazon.com/cognito/latest/developerguide/authentication-flow.html

http://www.dtcms.com/wzjs/111839.html

相关文章:

  • 网站目前如何做外链网络整合营销案例
  • 大浪网云南seo
  • 电影网站cpa怎么做网站规划与设计
  • 做蛋糕视频教学网站seo技术培训宁波
  • 网站建设思想重视不够广告设计网站
  • 网站建设需兰州seo推广
  • 手机端网站开发的意义排名前50名免费的网站
  • html个人主页源码网络优化工程师有前途吗
  • 济南做网站公司济南网络推广公司电话
  • 网站建设文编干净无广告的搜索引擎
  • 网站建设技术服务方案怎么在百度上发广告
  • 国内html5网站案例营销网站设计
  • 视频教育网站开发网络营销的主要传播渠道是
  • 欧美网站设计欣赏企业产品营销策划推广
  • 网站建设电话销售话术长沙seo优化排名推广
  • 模具外贸营销网站如何做怎么制作网页链接
  • 三都网站建设网站制作流程图
  • 注册公司网站模版百度识图鉴你所见
  • js 网站跳转写软文的平台有哪些
  • 中国做网站知名的公司最火的网络销售平台
  • 嵌入式软件开发流程图网站排名seo培训
  • 呼和浩特网站建设SEO优化seo怎么收费seo
  • 用商标做网站名字营销策略模板
  • 中国上海网站首页百度指数的使用方法
  • 专业做网站建地推团队如何收费
  • 13572074638网站建设百度推广案例及效果
  • 网站建设菜鸟教程关键词优化排名软件推荐
  • 我想开网站免费培训seo
  • css查询错误网站快速排名程序
  • 网站开发公司是干嘛的福州关键词排名软件