adriengras/pkce-php

一个简单的实用工具,用于在PHP中使用PKCE(代码交换证明密钥)。

v1.0.3 2023-08-25 14:40 UTC

This package is auto-updated.

Last update: 2024-09-25 16:46:43 UTC


README

GitHub GitHub workflows

一个简单的实用工具,用于在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文件以获取详细信息。