2017-02-23 57 views
0

我有一个API,我试图测试出来。他们发给我这个JavaScript,所以我试着在下面模仿它。现在知道如何做到这一点的邮递员这个javascript oauth调用可以在POSTMAN中表示吗? (或c#)

jQuery.ajax({ 
    dataType: 'json', 
    type: 'POST', 
    data: {grant_type: 'client_credentials'}, 
    url: 'http://192.168.240.6:9080/somecompany/auth/oauth/token', 
    beforeSend: function(xhr) { 
     var clientID = 'c39692d9-8998-497f-8ea2-7503be9fc8c1', 
      clientSecret = 'befb744f-37f5-491d-8d57-e8e5c1419f2e', 
      authKey = btoa(clientID + ':' + clientSecret); 
     xhr.setRequestHeader('Authorization', 'Basic ' + authKey); 
    } 

enter image description here

回答

1

这种特殊的屏幕邮差(基于OAuth的认证形式)将不会允许你通过“授权”头。代码片段中的请求代表oauth的client_credentials流程中的一个步骤(请参阅here),而截图中的邮递员表单是第一个(授权代码或含义代码)(请参阅here)。

如果您想正确复制示例中的内容,您必须在Postman中构建POST请求,手动添加示例中使用的标头和有效负载。

但是,除此之外,您仍然会错过javascript示例中由btoa函数生成的编码字符串。如果您的目的只是手动测试,您可以手动执行btoa(clientID + ':' + clientSecret)并将结果粘贴到邮递员头文件配置中。

ps:我强烈建议您阅读Oauth支持的不同授权流程。

+0

我想我不了解基本面。我认为第一部分是发布一个关键/秘密,然后取回一个令牌。我以为那是邮差上面的屏幕。你所说的只是忽略这个屏幕,只是使用eURL和标题中的一个条目(即加密密钥/秘密)在Postman中执行标准POST。我到目前为止是否正确? – punkouter

+0

最后我想从c#控制台应用程序调用它,所以我只需要将上面的JavaScript代码翻译成c#。我现在尝试一下... – punkouter

相关问题