{"id":22740592,"url":"https://github.com/larvatecn/laravel-passport-miniprogram","last_synced_at":"2025-07-03T18:09:03.267Z","repository":{"id":57012526,"uuid":"362344121","full_name":"larvatecn/laravel-passport-miniprogram","owner":"larvatecn","description":"Mini Program Extension for Laravel.","archived":false,"fork":false,"pushed_at":"2022-01-14T06:01:30.000Z","size":46,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-03-30T03:42:00.728Z","etag":null,"topics":["laravel"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/larvatecn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-04-28T05:05:54.000Z","updated_at":"2022-01-03T13:09:27.000Z","dependencies_parsed_at":"2022-08-21T13:40:50.537Z","dependency_job_id":null,"html_url":"https://github.com/larvatecn/laravel-passport-miniprogram","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/larvatecn/laravel-passport-miniprogram","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/larvatecn%2Flaravel-passport-miniprogram","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/larvatecn%2Flaravel-passport-miniprogram/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/larvatecn%2Flaravel-passport-miniprogram/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/larvatecn%2Flaravel-passport-miniprogram/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/larvatecn","download_url":"https://codeload.github.com/larvatecn/laravel-passport-miniprogram/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/larvatecn%2Flaravel-passport-miniprogram/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261582708,"owners_count":23180635,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["laravel"],"created_at":"2024-12-10T23:09:28.434Z","updated_at":"2025-06-24T00:32:21.896Z","avatar_url":"https://github.com/larvatecn.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# laravel-passport-miniprogram\r\n\r\n扩展Laravel Passport,支持小程序登录；\r\n\r\n## 环境需求\r\n\r\n- PHP \u003e= 7.3\r\n\r\n## Installation\r\n\r\n```bash\r\ncomposer require larva/laravel-passport-miniprogram -vv\r\n```\r\n\r\n## 使用\r\n\r\n在你的User模型类实现 `findAndValidateForPassportMiniProgram` 方法接收小程序提交的登录信息。\r\n\r\n## 原理说明\r\n\r\n验证用户登录，使用的是小程序内部的 auth.code2Session 获取到的 session_key 作为验证，服务器验证 session_key 和 openid ,则认为提交的 user_info 参数是可信的。\r\n将会执行后续过程。你需要自行实现 findAndValidateForPassportMiniProgram 方法自己实现验证 session_key 的代码。 \r\n\r\n## Usage\r\n\r\n### Step 1 - Setting up the User model\r\n\r\nOn your `User` model and then add method `findAndValidateForPassportMiniProgram`.\r\n`findAndValidateForPassportMiniProgram` \r\n\r\n\r\n```php\r\nnamespace App;\r\n\r\nclass User extends Authenticatable {\r\n    \r\n    use HasApiTokens, Notifiable;\r\n\r\n    /**\r\n    * Find user using social provider's user\r\n    * \r\n    * @param \\Illuminate\\Http\\Request $request\r\n    *\r\n    * @return User|null|void\r\n    */\r\n    public static function findAndValidateForPassportMiniProgram($request) {\r\n        \r\n    }\r\n}\r\n```\r\n\r\n| id  | provider | social_id      | user_id | created_at        | updated_at        |\r\n|-----|----------|----------------|---------|-------------------|-------------------|\r\n| 1   | facebook | XXXXXXXXXXXXXX | 1       | XX-XX-XX XX:XX:XX | XX-XX-XX XX:XX:XX |\r\n| 2   | github   | XXXXXXXXXXXXXX | 2       | XX-XX-XX XX:XX:XX | XX-XX-XX XX:XX:XX |\r\n| 3   | google   | XXXXXXXXXXXXXX | 3       | XX-XX-XX XX:XX:XX | XX-XX-XX XX:XX:XX |\r\n\r\n**That's all folks**","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flarvatecn%2Flaravel-passport-miniprogram","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flarvatecn%2Flaravel-passport-miniprogram","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flarvatecn%2Flaravel-passport-miniprogram/lists"}