如何在 PHP 中为 OAuth 2 的 Client Id 和 Client Secret 生成唯一令牌?

Sur*_*esh 5 php oauth-2.0

我正在使用 PHP 开发 OAuth 服务器。目前正在使用 PHP 库http://bshaffer.github.io/oauth2-server-php-docs/。至此,一切都已经明朗了。只想知道如何在 PHP 中为 Client Id 和 Client Secret 创建唯一的令牌。

现在,我使用以下代码来创建客户端 ID 和客户端机密令牌。

$token = bin2hex(random_bytes($length));
Run Code Online (Sandbox Code Playgroud)

但是,有点混乱。是否,这是做这件事的正确方法吗?我还搜索了任何图书馆来做到这一点。但是,一个都没有。

小智 4

对于 PHP 5 >= 5.3.0、PHP 7

使用openssl_random_pseudo_bytes

$client_secret = bin2hex(openssl_random_pseudo_bytes(32));
Run Code Online (Sandbox Code Playgroud)

还有一篇关于 OAuth 2.0 Client SecretID 的文章Client ID 和 Secret

对于 PHP 7 使用 random_bytes

$client_secret = bin2hex(random_bytes(32));
Run Code Online (Sandbox Code Playgroud)