当前位置: 首页 > 知识库问答 >
问题:

哪个ID用于验证用户请求?ID令牌或访问令牌-AWS Cognito

满勇军
2023-03-14

我试图实现一个单页应用程序,同时使用AWS Cognito作为IdP。我计划将一个节点服务器连接到MongoDB。基本上是平均堆栈。

我的申请结构:

我在用户池的应用客户端设置中选择了Implicit GrantOAuth Flows选项。

EmailOpenID用于允许的OAuth范围。

主页(登录/注册)--

理解:

使用文档中提到的解码技术,我想我应该能够验证access\u令牌是否有效,它是否属于我的用户池。

使用id\u令牌,我想我应该能够检索用户记录。

问题

如何限制具有有效令牌的API请求查看任何其他用户的详细信息?

审判:

  • API的设计方式应确保它不需要查询参数,并且只使用为每个API请求发送的令牌来检索相应的用户记录

需要澄清:

>

  • 对于每个API请求,我是否必须将id_tokenaccess_token从我的用户界面发送到API服务器,或者一个令牌就足够了?那应该是哪一个?

    我的API服务器是否必须为每个API调用连接到AWS Cognito,以检查令牌是否在其端也有效,或者使用该令牌从用户池获取属性


  • 共有1个答案

    鄂和璧
    2023-03-14

    简单回答:ID令牌。查看使用ID令牌文档。

    ID令牌是JSON Web令牌(JWT),其中包含关于身份验证用户[...]可以在应用程序中使用此标识信息。ID令牌还可用于针对资源服务器或服务器应用程序对用户进行身份验证。

    更详细的回答:如果您希望自己处理所有授权(即,您的后端使用ID令牌来决定允许给定用户访问哪些资源),则可以使用Congito ID池来执行授权。即,将您当前拥有的用户池凭据转换为AWS IAM凭据。通过在角色策略中使用当前用户的Cognito子ID,支持此操作的IAM角色可以是特定于用户的。

     类似资料:
    • 我目前正在尝试使用ADFS 2016认证angular 7应用程序(使用angular-oauth2-oidc)。到目前为止,它工作得很好。当我访问应用程序时,我被重定向到ADFS登录页面,在那里输入我的凭据并获得令牌。 现在,当应用程序调用web API时,它在请求头中发送访问令牌。ADFS返回的访问令牌如下所示: 问题是web API必须知道进行调用的用户的ID(因为在应用程序级别定义了一些权

    • 我必须用python中的app ID和app token使用或,在中我像下面一样使用,这是可行的 在python建议或,但我不知道如何我需要Authenitcate,我已经找到了几个链接,但基本的身份验证 基本身份验证: 使用urllib3进行身份验证 下面的链接只有令牌秘密和没有令牌ID 具有身份验证的python请求(访问令牌) 有人能帮我通过/验证应用id和应用令牌吗

    • 客户端通过使用按附录B“application/x-www-form-urlencoded”格式在HTTP请求实体正文中发送下列UTF-8字符编码的参数向令牌端点发起请求: grant_type 必需的。值必须设置为“client_credentials”。 scope 可选的。如3.3节所述的访问请求的范围。 客户端必须如3.2.1所述与授权服务器进行身份验证。 例如,客户端使用传输层安全发起如

    • 客户端通过使用按附录B“application/x-www-form-urlencoded”格式在HTTP请求实体正文中发送下列UTF-8字符编码的参数向令牌端点发起请求: grant_type 必需的。值必须设置为“password”。 username 必需的。资源所有者的用户名。 password 必需的。资源所有者的密码。 scope 可选的。如3.3节所述的访问请求的范围。 如果客户端类

    • 客户端通过使用按附录B“application/x-www-form-urlencoded”格式在HTTP请求实体正文中发送下列UTF-8字符编码的参数向令牌端点发起请求: grant_type 必需的。值必须被设置为“authorization_code”。 code 从授权服务器收到的授权码。 redirect_uri 必需的,若“redirect_uri”参数如4.1.1节所述包含在授权请求

    • 我想要一些关于如何在隐式授予流中使用ID令牌和访问令牌的澄清。我有一个使用msal.js for Angular包的Angular SPA和一个Web API。API不调用任何外部服务,如MSFT Graph。后端仅使用JWT中的角色声明来建立对API功能的RBAC授权。 这个文档写着:https://docs.microsoft.com/en-us/azure/active-directory/