zsgogo / otpless-auth-sdk
后端PHP SDK,用于解决idToken等问题。
v0.0.2
2023-12-01 09:14 UTC
Requires
- firebase/php-jwt: ^5.0
- guzzlehttp/guzzle: ^7.0
- phpseclib/phpseclib: ^3.0
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);