身份服务器3,是否可以使用api端点来获取访问令牌

时间:2017-07-28 09:26:23

标签: asp.net-web-api2 identity identityserver3

我们有一个api可以将身份验证卸载到身份服务器3的实现。当用户使用我们的应用程序时,他们将被定向到身份服务器进行身份验证,使用用户名和密码或AD

对于我们的功能测试,我们需要能够使用api进行身份验证,是否有办法通过REST端点对id服务器进行身份验证,而不是定向到网页和/或回调网址?

理想情况下,我们希望在端点上使用id服务器应用程序(使用用户名,密码,范围等),然后使用我们的访问令牌返回一个json正文。

这可能吗?

3 个答案:

答案 0 :(得分:0)

Identity Server 3不会这样做,主要是因为发送密码是个坏主意。 see also

答案 1 :(得分:0)

我认为问题是测试一个API,它在标题中需要一个标记,以及如何获取该标记来测试该API。如果我说得对,请参阅下文。

我使用Postman来测试我们的API。邮差有能力做到这一点。

按照以下步骤

  1. 发布man goto授权标签,在类型中选择Oauth2.0
  2. enter image description here

    2.点击获取新的访问令牌按钮并填写详细信息

    enter image description here

    正如你所说的,它的身份服务器3令牌名称是"你想要的任何名字" auth url是您的" https://servername/connect/authorize" AccessToken Url是" https:servername / connect / token" Clientid是你的客户 秘密是你的clientid的秘密 范围是您的范围 Granttype是授权码。

    然后点击"请求令牌"按钮将提示您输入用户名和密码。请务必添加" https://www.getpostman.com/oauth2/callback"在表clientredireturi下的数据库中。

    enter image description here

    在现有令牌下,您将看到您在令牌文本框中提供的名称。点击它,它会显示令牌。从下拉列表中选择添加标记到标题,然后单击使用标记按钮,它将添加到您尝试测试的结束点的标题中。

答案 2 :(得分:0)

我们找到了一种方法。为了解决这个问题,我们仅为具有客户端资源类型资源的测试环境创建了一个新客户端。这样可以在没有用户输入的情况下进行身份验证(使用我们自己的凭据而非第三方)

相关问题