使用 PHPunit 进行签名验证测试

发布于 2024-11-02 08:33:21 字数 235 浏览 0 评论 0原文

我正在使用 Oauth 协议并根据 Oauth 标准开发身份验证系统,一旦您向服务器发送身份验证请求,作为响应,您将获得一组 oauth 参数,包括签名、时间戳、随机数等。现在我的问题是,如何做我编写 PHPUnit 测试用例来验证预期参数是否到位(请注意,参数可以出现在标头、正文或查询字符串中)。参数验证后,我还需要使用我的签名计算方法来验证我收到的响应签名。

我陷入了如何模拟响应以验证参数然后签名的困境。

提前致谢。

I am developing authentication system using Oauth protocol and as per the Oauth standard, Once you send an authentication request to your server, In response you get some set of oauth parameters including signature, timestamp, nonce, etc. Now my question is, How do I write PHPUnit testcases to validate if expected parameters are in place (please note that parameters can come in headers or in body or in querystring). After parameter validation, I also need to validate signature I received in response using my signature calculation method.

I am stuck at how do I mock response to validate parameters and then signature.

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

許願樹丅啲祈禱 2024-11-09 08:33:21

据我了解,您想为您的客户端编写一个单元测试,看看它是否正确解析来自 oauth 服务器的响应消息。

所以你需要“模拟”服务器。 (或者更确切地说是从服务器获取值的方法)。

您可以创建一些假的“响应”xml 文件并将它们传递给与读取响应相关的类。

因此,您的 Response 类具有 ->getHeaders、->getQueryString 和 ->getBody (我只是在这里做出假设),并且您需要模拟这些方法来测试您的“解析”逻辑。

我希望我收到了你的问题。如果不让我知道,也许可以举个例子? :)

From what i understood you want to write a unit test for your client to see if it correctly parses the response messages from the oauth server.

So you'd need to "mock" the server. (Or rather the method that fetches the values from the server).

You could create some fake "reponse" xml files and pass them to the class that is concerned with reading the response.

So you have your Response class that has a ->getHeaders, ->getQueryString and ->getBody (I just make assumptions here) and you need to mock those methods out to test your "parsing" logic.

I hope i got your question. If not let me know and maybe show an example? :)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文