adriengras / pkce-php
一个简单的实用工具,用于在PHP中使用PKCE(代码交换证明密钥)。
v1.0.3
2023-08-25 14:40 UTC
Requires
- php: >=7.4
Requires (Dev)
- symfony/test-pack: ^1.1
README
一个简单的实用工具,用于在PHP中使用PKCE(代码交换证明密钥)。
这个小工具旨在帮助使用PHP中的Oauth2和PKCE的人。它提供了一种简单的方法来生成代码验证者、代码挑战,以及使用代码挑战验证代码验证者。
摘要
特性
- 生成代码验证者
- 从给定的代码验证者生成代码挑战
- 生成一对代码验证者和代码挑战
- 使用代码挑战验证代码验证者
注意:所有代码均符合RFC 7636。
安装
使用composer
composer require adriengras/pkce-php
使用方法
// import with composer autoloader use AdrienGras\PKCE\PKCE; // ... // generate a code verifier $verifier = PKCEUtils::generateCodeVerifier(); // generate a code challenge from the code verifier $challenge = PKCEUtils::generateCodeChallenge($verifier); // you can also use the plain text challenge method for testing purpose // WARNING: this method is not secure and should not be used in production $challenge = PKCEUtils::generateCodeChallenge($verifier, PKCEUtils::CODE_CHALLENGE_METHOD_PLAIN); // alternatively, generate a pair of code verifier and code challenge $pair = PKCEUtils::generateCodePair(); $verifier = $pair['code_verifier']; $challenge = $pair['code_challenge']; // or with destructuring [$verifier, $challenge] = PKCEUtils::generateCodePair(); // validate a code verifier with a code challenge $isValid = PKCEUtils::validate($verifier, $challenge);
注意:您还可以将测试用例套件作为一个如何使用此工具的完整示例。您可以在tests文件夹中找到它。
许可证
本项目采用MIT许可证 - 请参阅LICENSE文件以获取详细信息。