isg / thinkific-sso
此包已被废弃,不再维护。未建议替代包。
一个简单的构建器,用于帮助创建thinkific的单点登录(SSO)URI。
1.2.1
2017-09-07 14:00 UTC
Requires
- php: >=5.5
- lcobucci/jwt: ^3.2
- roave/security-advisories: dev-master
Requires (Dev)
- phpunit/phpunit: ^4.8
This package is auto-updated.
Last update: 2020-07-20 17:09:15 UTC
README
https://isg.codebasehq.com/projects/other-associated-projects/repositories/thinkific-sso/tree/master
一个简单的构建器,用于帮助创建thinkific的单点登录(SSO)URI。
此包非官方,也不与thinkific服务相关联。
要求
- PHP 5.5+
- ext_openssl
使用
<?php
use Isg\ThinkificSSO\Builder;
$builder = new Builder(new \Lcobucci\JWT\Builder());
// Required fields.
$builder->setApiKey('1234567890'); // Your thinkific API key.
$builder->setSchool('myschool'); // e.g. myschool.thinkific.com
$builder->setId('12345678'); // A unique ID string for this request.
$builder->setEmail('fake@email.com'); // The user's email address.
$builder->setName('John', 'Smith'); // The user's first and last name.
// Optional fields.
$builder->setExternalId('my-external-id'); // An ID reference of the customer for your software.
$builder->setReturnUrl('https://mywebsite.com/training-return-url'); // Return URL on successful authentication.
// Optional fields, usable in the version 2 JWT endpoint only.
$builder->setBio('A pretty average guy.'); // A quick bio for the user.
$builder->setPhoneNumber('+441910000000'); // The user's contact number.
$builder->setCompany('John Smithson Ltd.'); // The company name the user works for.
$builder->setWebsite('https://john-smith.co.uk'); // The website associated with the user.
$builder->setTimezone('GMT'); // The timezone code of the user.
$builder->setErrorUrl('https://mywebsite.com/error-redirect-url'); // Error URL on authentication failure.
// Generate the single sign on URI.
$result = $builder->generateUri();
有关参数的更多信息,请参阅 http://help.thinkific.com/support/solutions/articles/221622-sso-v2-automatically-sign-in-from-your-own-website
SSO 错误处理(仅限v2)
当用户被重定向到您的错误页面时,您可以使用 Isg\ThinkificSSO\AuthResult
类来检查错误
<?php
$result = new \Isg\ThinkificSSO\AuthResult($_GET);
if ($result->hasError()) {
echo $result->getMessage();
error_log(sprintf('[%s] %s', $result->getOriginalErrorCode(), $result->getOriginalErrorMessage()));
}
// TODO
AuthResult
的测试Builder
的更完善的测试