{"id":23270464,"url":"https://github.com/umanari145/laravel_pgsql","last_synced_at":"2026-05-12T07:41:46.082Z","repository":{"id":49060833,"uuid":"241603393","full_name":"umanari145/laravel_pgsql","owner":"umanari145","description":null,"archived":false,"fork":false,"pushed_at":"2023-05-08T02:00:38.000Z","size":294,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-12T15:19:15.080Z","etag":null,"topics":["authentication","dependency-injection","jwt","laravel"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/umanari145.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-02-19T11:20:43.000Z","updated_at":"2022-03-13T01:23:38.000Z","dependencies_parsed_at":"2024-12-19T18:51:54.158Z","dependency_job_id":"d863ef50-5cbc-447b-9ece-4921e645358b","html_url":"https://github.com/umanari145/laravel_pgsql","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/umanari145%2Flaravel_pgsql","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/umanari145%2Flaravel_pgsql/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/umanari145%2Flaravel_pgsql/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/umanari145%2Flaravel_pgsql/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/umanari145","download_url":"https://codeload.github.com/umanari145/laravel_pgsql/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247463808,"owners_count":20942940,"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":["authentication","dependency-injection","jwt","laravel"],"created_at":"2024-12-19T18:51:44.474Z","updated_at":"2026-05-12T07:41:41.062Z","avatar_url":"https://github.com/umanari145.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"#laravel_pgsqlのサンプル\n\n## postgres基礎\n\n###  ログイン\n```\npsql -U postgres(ユーザー) -d postgres(データベース)\n\n\\l            DB一覧\n\\c DB名       DB選択(use DB)\n\\d            テーブル一覧\n\\d table名    テーブル定義\n\\du           MySQLでいうユーザー一覧\n\\x            select文の結果を縦列で表示。(select文ごとにつけるのではなく、一度入れるとずっと継続。切る場合はもう一度¥x)\n\\q            終了\n```\n\n```\npg_dump -Ft -U データベース名 \u003e データベース圧縮ファイル(tar.gz)\npg_restore -c - postgres -d postgres \u003c データベース圧縮ファイル(tar.gz)\n```\n\n### 認証ロジックの作成\n\n認証に関わる自動のルーティングやControllerを自動作成\n```\nphp artisan make:auth\n```\nその後、下記コマンドでルーティングを確認できる。\n```\nphp artisan route;list\n```\n\n#### token認証\nusersにapi_tokenテーブル追加後\n(uml/normaltoken.pu参照)\n```\ncurl -H 'Accept: application/json'  \\\n-H 'Authorization:Bearer 保存されたトークン' \\\n(URL) \n\n\nhttp://localhost:8080/api/user?api_token=トークンの文字列\n\n````\n\n### DIに関する考察\n参考URL \nhttps://qiita.com/harunbu/items/079ea728d2c9cf4f44d5\nhttps://www.geekfeed.co.jp/geekblog/laravel-service-providers\n\nLaravel本体に実際にServiceを組み込むファイル\nApp\\Providers\\DiceServiceProvider.php\n\nProviderの設定\nApp\\config\\app.php\n\n実際に窓口になるinterface\nApp\\RollableDice\n\n実体となるClass(内部の記述)\nApp\\Dice\nApp\\LoadDice\n\n\n## faker ダミーデータ作成\n\n```\nphp artisan db:seed\n```\n\n## jwt認証に関して\n\nhttps://blog.proglearn.com/2020/04/21/%E3%80%902020%E5%B9%B44%E6%9C%88-%E6%99%82%E7%82%B9%E3%80%91laravel%E3%81%A7jwt%E8%AA%8D%E8%A8%BC%EF%BC%81-jwt-auth-%E5%B0%8E%E5%85%A5%E6%89%8B%E9%A0%86/\n\n\nhttps://qiita.com/aminevsky/items/9f45e0ffb5b14c3b5b50#jwt%E8%AA%8D%E8%A8%BC\n\n```\n#ライブラリインストール\ncomposer require tymon/jwt-auth\n\n#プロバイダ作成\nphp artisan vendor:publish --provider=\"Tymon\\JWTAuth\\Providers\\LaravelServiceProvider\"\n\n#秘密鍵生成\nphp artisan jwt:secret\n\n#.envに下記のような文字列が測れる\nJWT_SECRET＝XXXXXXXXXXXXXXXXXXX\n\n#jwt認証用のコントローラー\nJwtAuthController.php\n\numl/jwt.pu参照 *正確なプログラムは異なるが基本的な考え方は同一\n\n\n#access_token取得\ncurl -X POST 'http://localhost:8080/api/auth/login' \\\n-H 'accept: application/json'  \\\n-H 'content-type: application/json'  \\\n-d ' {\n  \"email\": \"DBに入っているユーザーのemail\",\n  \"password\": \"testtest\"\n}'\n\n#下記のようなレスポンスが帰って来ればOK\n{\"access_token\":\"XXXXXXXXXXXXXXXXXXX\",\"token_type\":\"bearer\",\"expires_in\":3600}\n#失敗時\n{\"error\":\"Unauthorized\"}\n\n#api_tokenをBearer XXXXの中に入れる\ncurl -X POST 'http://localhost:8080/api/auth/me' \\\n-H 'accept: application/json'  \\\n-H 'content-type: application/json'  \\\n-H 'Authorization: Bearer XXXX'\n\n#下記のようにユーザー情報が帰って来ればOK!\n\n{\n  \"id\":1,\n  \"name\":\"XXXXXXXX\",\n  \"email\":\"XXXXXXX\",\n  \"created_at\":\"2020-12-31 07:45:53\",\n  \"updated_at\":\"2020-12-31 07:45:53\",\n  \"api_token\":null\n}\n\n#NGの場合、下記のようなメッセージが\n{\"message\":\"Unauthenticated.\"}\n\n````\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fumanari145%2Flaravel_pgsql","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fumanari145%2Flaravel_pgsql","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fumanari145%2Flaravel_pgsql/lists"}