3

这是我第一次使用 Epicor 的 Prophet 21。在使用用户帐户进行身份验证后,我很难弄清楚如何在 HTTP 请求标头中传递令牌。

https://localhost:4443/api/security/token/?username= {USERNAME}&password={PASSWORD}

返回令牌,但我不确定请求标头应该设置为什么。我尝试过 Token、AccessToken 和一堆其他组合,但我总是收到这条消息:

<TokenError xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
    <Description>Token Validation Exception Occured</Description>
    <Error>invalid_request</Error>
    <Uri/>
</TokenError>

这是我正在尝试的示例:

https://localhost:4443/api/inventory/v2/parts/

标题

Token = token eoWffZR0PlReRLwHopOTNSoBccwj96VSkjGYX2QnGdLjqY10mREmjwh4GDXqpf7HBBHrFImN3T4RtHEPjBK+VQ5EniquqnBbOAvlzf+5amV3rKDB67w5XbyoOzD2YSiFOULoRRY2Iaxe7pAy5JaWQ==

Token = eoWffZR0PlReRLwHopOTNSoBccwj96VSkjGYX2QnGdLjqY10mREmjwh4GDXqpf7HBBHrFImN3T4RtHEPjBK+VQ5EniquqnBbOAvlzf+5amV3rKDB67w5XbyoOzD2YSiFOULoRRY2Iaxe7pAy5JaWQ==

我不会包含更多示例,但我尝试了各种组合。我还查看了非常没用的 SDK 文档。例如,这里是 JavaScript 代码示例,但它包含文档中没有的函数,所以我看不到它是如何构建请求的。

<script type="text/javascript">
     var gToken;

     function getTokenUI(){
         var userName = $('#name').val();
         var passWord = $('#password').val();
         var jsonToken = getToken(userName, passWord)
         gToken = jsonToken.AccessToken
         $('#return ul').append('<li>' + gToken + '</li>');
     }   

     function getOppUI() {
         var oppID = $('#oppid').val();
         var xhr = ajaxRequest("GET", OppResourceURL(oppID), null, "json", gToken);
         $('#restreturn ul').append('<li>' + xhr.responseText + '</li>');

         var jsonObj = $.parseJSON(xhr.responseText);

         $.each(jsonObj, function(key, val) {
             $('body').append('<div>' + key + ": " + val + '</div>');
         });
     }
 </script>

我基本上是在寻找一些关于构建标题的帮助,以便我可以发送令牌。我想使用 Laravel PHP 框架来做到这一点。

提前感谢您的时间和帮助。

4

1 回答 1

6

所以事实证明,这种身份验证是非常标准的,我只是被文档中的 Token 引用吓到了。

设置 Authorization = Bearer {token} 有效。

于 2017-09-01T17:40:30.413 回答