問題タブ [laravel-passport]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angularjs - パスポート経由で AngularJS および Laravel アプリ用のトークンベース認証 (oauth2) を作成する方法
laravel のデフォルト登録 (auth) を使用する Web アプリを作成しました。Taylor チュートリアルのパスポート oauth2 クライアント アクセス トークンをテストしました。私のWebアプリはUIにangular jsを使用し、バックエンドにlaravelを使用しているため、ユーザー作成リクエストがangularから送信されたときにユーザーを作成し、グローバルアクセストークンを作成してangularへの応答でそれを提供する必要があります。リクエストの認証に使用します。
実際には、Web アプリに oauth2 認証を実装したいと考えていますが、これまでに多くのことを検索しましたが、有用なステップバイステップのチュートリアルが見つかりませんでした。
誰でも私を助けることができますか?
参考までに、パスポートを有効にしてlaravel 5.3を使用し、フロントエンドにangular js 1.5を使用しています。
php - Laravel 5.3 パーソナルアクセストークン 500
Passport を使用してカスタム API をセットアップしようとしています (まあ、私はすでに途中で、認証を構築する必要があるだけです)。Passport ダッシュボード (/home ルート) から個人用アクセス トークンを作成しようとすると、「エラーが発生しました!」というメッセージが表示されます。エラー。
これは私の Vue コンポーネント (PersonalAccessTokens.vue) から来ており、私のコンソールは個人アクセス トークンを保存するための Post ルートで 500 内部サーバー エラーをログに記録しています...
\Laravel\Passport\Http\Controllers\PersonalAccessTokenController@store が担当するメソッドですが、Passport に関する Laracasts のビデオを正確に従ったため、異常なものを見つけることができないようです。
他の誰かがこの問題を経験していますか?
ティア!
laravel-5.3 - laravelパスポートのカスタムパスワード列
Laravel の Passport パッケージを使用して、別のパスワード列を認証するにはどうすればよいですか。
別の「ユーザー名」列から認証したい場合は、次のコードで実行できます。
列として Id を取ります。別の「パスワード」列を使用したい場合はどうすればよいですか。「uid_token」などの別の名前を持つテーブル内の列。
php - ファーストパーティアプリ向け Laravel Passport
Laravel Passport を使用して API を使用できるようにしたいと考えています。ファースト パーティのアプリ (Web アプリとモバイル アプリ) のみがそれを使用するようにします。
Web やモバイル アプリで API にアクセスするために、ユーザーをログに記録したくありません。
auth_client
ミドルウェアの下にいくつかのルートを配置し、助成金access_token
で取得した an を渡します。client_credentials
私が下に置いた他のルートと、助成金auth:api
で得たトークンを渡します。password
auth_client
これに関する問題は、Web アプリからルートを使用できないことです。
API をサード パーティから保護しながら、Web アプリとモバイル アプリで API を使用できる方法が必要です。
php - laravelパスポートの取り消しとプルーンイベントリスナーは何もしていません
この 2 つのイベント リスナーを my に追加しました。EventServiceProvider
そして、私の AuthServiceProvider には次のものがあります。
パスポートに他のすべてのユーザーアクセストークンを取り消してから、それらが取り消された場合は剪定したいと思います。しかし、何も起こっていません。ポストマンにアクセストークンをリクエストするたびに、データベースにいくつかのアクセストークンがある間に新しいアクセストークンが表示されます。
api - Passport Password Grant トークンの更新
この質問に記載されている手順を実行します。
APIのルートからすべてが正常に機能し、新しいユーザーを登録したり、データを読み取ったりできます.
次に、このコマンドを AuthServiceProvider に追加します
Passport::tokensExpireIn(Carbon::now()->addMinute(2)); Passport::refreshTokensExpireIn(Carbon::now()->addDays(1));
URL {{url}}/oauth/tokenの郵便配達員にログインします
Body: application/x-www-form-urlencoded
{
grant_type : 'password'
client_id : {{ユーザーが登録されている電子メール}}
client_secret : {{モバイル アプリからクライアント シークレットを生成}}
username : {{email withユーザーが登録されている}}
password : {{ユーザーが入力したパスワード}}
scope : ''
}
応答は成功しました
{
"token_type": "Bearer"
"expires_in": 120
"access_token": {{access_token}}
"refresh_token": {{refresh_token}}
}
{{url}}/oauth/tokenに送信するトークンの有効期間を 1 日に更新しようとしています
ref => https://laravel.com/docs/5.3/passport#refreshing-tokens
郵便配達員で私は送ります
ヘッダー:
Authorization : Bearer {{the access_token}}
Body: application/x-www-form-urlencoded
{
client_secret : {{モバイル アプリからクライアント シークレットを生成する}}
grant_type : refresh_token
refresh_token : {{refresh_token}}
client_id : {{ユーザーが登録されている電子メール}}
スコープ: ''
}
予想される応答:
{
"access_token": {{new access_token}}
"token_type": 'Bearer'
"expires_in": 86400
"refresh_token": {{new access_token}}
}
しかし、それは期待どおりに機能しません。
{
"access_token": {{new access_token}}
"token_type": 'Bearer'
"expires_in": 120
"refresh_token": {{new access_token}}
}
laravel - Laravel Passport API 複数のミドルウェア
1 つのルートに複数のミドルウェアを含めることさえ可能ですか。現在、auth:web でデフォルト設定されている auth のミドルウェアを使用して、Web アプリで ajax リクエストを作成しています。
また、API アクセス トークン (laravel パスポートを使用) を持つモバイル アプリで、同じルートにアクセスできるようにユーザーを認証することも必要です。そのためには、ミドルウェアで「auth:api」を指定するだけです。
唯一の問題は、複数のミドルウェアを指定できないことです。「auth:api」または「auth:web」のいずれかを使用できますが、両方を使用することはできません。各 ajax リクエストに対して 1 つは Web アプリ用、もう 1 つは API リクエスト用の 2 つのルートを持つことができると思いますが、1 つのルートだけを使用できれば、はるかに優れています。
試してみましたが、うまくいきません。誰もこれを行う方法を知っていますか? それは可能ですか
laravel - Laravel/Passport - セキュリティ ホールですか?
に関して:
- https://laravel.com/docs/5.3/passport#using-your-api-with-javascript
- https://github.com/laravel/passport/blob/1.0/src/ApiTokenCookieFactory.php
Access-Control-Allow-Origin を次のように仮定しましょう: *
したがって、次のシナリオがあります。laravel_token を自分の Cookie に設定し、csrfToken をフロントエンド フレームワークに提供することを許可されています。
既に提供されているcsrfTokenを使用して新しいlaravel_tokenを簡単に作成できず、それをCookieに入れて、別のユーザーとして承認されているバックエンドに送信できない理由を教えてください?
今後、Cookie を変更して、ハイジャックされた JWT を別のユーザーで使用すると、そのユーザーとしてログに記録されませんか?