我们有一个api可以将身份验证卸载到身份服务器3的实现。当用户使用我们的应用程序时,他们将被定向到身份服务器进行身份验证,使用用户名和密码或AD
对于我们的功能测试,我们需要能够使用api进行身份验证,是否有办法通过REST端点对id服务器进行身份验证,而不是定向到网页和/或回调网址?
理想情况下,我们希望在端点上使用id服务器应用程序(使用用户名,密码,范围等),然后使用我们的访问令牌返回一个json正文。
这可能吗?
答案 0 :(得分:0)
Identity Server 3不会这样做,主要是因为发送密码是个坏主意。 see also
答案 1 :(得分:0)
我认为问题是测试一个API,它在标题中需要一个标记,以及如何获取该标记来测试该API。如果我说得对,请参阅下文。
我使用Postman来测试我们的API。邮差有能力做到这一点。
按照以下步骤
2.点击获取新的访问令牌按钮并填写详细信息
正如你所说的,它的身份服务器3令牌名称是"你想要的任何名字" auth url是您的" https://servername/connect/authorize" AccessToken Url是" https:servername / connect / token" Clientid是你的客户 秘密是你的clientid的秘密 范围是您的范围 Granttype是授权码。
然后点击"请求令牌"按钮将提示您输入用户名和密码。请务必添加" https://www.getpostman.com/oauth2/callback"在表clientredireturi下的数据库中。
在现有令牌下,您将看到您在令牌文本框中提供的名称。点击它,它会显示令牌。从下拉列表中选择添加标记到标题,然后单击使用标记按钮,它将添加到您尝试测试的结束点的标题中。
答案 2 :(得分:0)
我们找到了一种方法。为了解决这个问题,我们仅为具有客户端资源类型资源的测试环境创建了一个新客户端。这样可以在没有用户输入的情况下进行身份验证(使用我们自己的凭据而非第三方)