【发布时间】:2020-09-27 10:26:23
【问题描述】:
我一直在编写使用 Auth0 进行身份验证的集成测试。为了实现这一点,测试使用客户端密钥和密钥以及client_credentials 授权类型来测试我的 API,但 API 本身通常通过 password 授权类型处理经过身份验证的用户。
虽然我现在已经实现了通过之前调用中存储的 ID 提取用户详细信息的逻辑,但是因为我使用客户端而不是实际用户进行测试,所以在尝试获取该用户的详细信息。当我有一个标准用户时,这绝对可以正常工作,例如auth0|abcdefgh 通过带有回调的前端手动进行身份验证时。但是,当我从自动化测试中获得用户 ID 时,我有一个客户端 ID abcdefg@clients,然后我无法从中获取任何详细信息,例如“名字”。
是否可以在我的集成测试中以编程方式使用实际用户登录,或者使 Auth0 在使用从我的客户端凭据生成的 ID 时操纵属性。例如。声明名字是该客户端的测试等。到目前为止,客户端凭据运行良好,但现在我实际上尝试获取有关用户的更多详细信息,它已经撤消了!
【问题讨论】:
-
您需要确定客户端凭据流是否映射用户详细信息?您可以确定客户端凭据流是否包含详细信息。您可以通过以下方式解码:jwt.io。如果不是,如果不是,则需要设计扩展。
标签: c# asp.net-core auth0