zsgogo/otpless-auth-sdk

后端PHP SDK,用于解决idToken等问题。

v0.0.2 2023-12-01 09:14 UTC

This package is auto-updated.

Last update: 2024-09-30 01:46:48 UTC


README

A. OTPLessAuth 依赖

在您的项目安装以下依赖

composer require otpless/otpless-auth-sdk

您也可以在 https://packagist.org.cn/packages/otpless/otpless-auth-sdk 获取依赖的最新版本

B. OTPLessAuth 类

OtplessAuth 类提供了将 OTPLess 身份验证集成到您的PHP后端应用程序的方法。本文档解释了类的使用及其方法。

方法

1. decodeIdToken

此方法帮助解析由 OTPLess 签发的 idToken(JWT token),从该令牌返回用户详细信息。此方法还会验证令牌是否有效,令牌不应过期,并且仅由 otpless.com 签发

方法签名
decodeIdToken(id_token, client_id, client_secret, audience=None)

方法参数

返回

返回:对象名称:UserDetail

{'success': True, 'auth_time': 1697649943, 'phone_number': '+9193******', 'email': 'dev***@gmail.com', 'name': 'Devloper From OTP-less', 'country_code': '+91', 'national_phone_number': '9313******'}

2. verify code

此方法帮助解析由 OTPLess 返回的 code,从该代码返回用户详细信息。此方法还会验证代码是否有效,代码不应过期,并且仅由 otpless.com 签发

方法签名
verifyCode(code, client_id, client_secret)

方法参数

返回

返回:对象名称:UserDetail

{'success': True, 'auth_time': 1697649943, 'phone_number': '+9193******', 'email': 'dev***@gmail.com', 'name': 'Devloper From OTP-less', 'country_code': '+91', 'national_phone_number': '9313******'}

3. Verify Auth Token

此方法帮助解析由 OTPLess 签发的 token,从该令牌返回用户详细信息。此方法还会验证令牌是否有效,令牌不应过期,并且仅由 otpless.com 签发

方法签名
verifyToken(token, client_id, client_secret)

方法参数

返回

返回:对象名称:UserDetail

{'success': True, 'auth_time': 1697649943, 'phone_number': '+9193******', 'email': 'dev***@gmail.com', 'name': 'Devloper From OTP-less', 'country_code': '+91', 'national_phone_number': '9313******'}

4. 生成魔法链接

授权端点通过向用户提供的信息(如WhatsApp或电子邮件)发送一个 magic link 来启动身份验证过程。此链接用于验证用户的身份。当用户点击此链接时,他们将被重定向到指定的URI,并且重定向中包含授权代码。

方法签名
generateMagicLink(mobile_number, email, client_id, client_secret,redirect_uri,channel)

方法参数

返回

返回:对象名称:RquestIds

{"requestIds":[{"type":"MOBILE","value":"ac48690347c24c0b8b54270590392b2a"}],"success":true}

使用示例

require '../vendor/autoload.php';

use Otpless\OTPLessAuth; 

// Your ID token to decode
$token = 'your token here';

$clientId = 'your client id here';
$clientSecret = 'your client secret here';
// Initialize the library class
$auth = new OtplessAuth(); 


$auth->verifyToken($token,$clientId,$clientSecret);