Magento 2 REST API-モバイルデバイスアプリケーションでAPI認証ライフサイクルを管理する方法


9

Magento [2.2.4] Web APIではユーザー名パスワードを渡すと、特定の顧客のトークンが生成されます(これは1時間のみ有効です-Magento管理者から設定可能です)

http://magento.host/index.php/rest/V1/integration/customer/token?username=test.user@test.com&password=test@123

トークンを返します。

トークンを生成した後、そのトークンをヘッダーで渡します。

承認::ベアラー*トークン値*

http://magento.host/index.php/rest/V1/customers/me

これは顧客の詳細を返します。

上記で説明したケースは、私がPOSTMANでテストしたmagento2のwebAPIで正常に機能しています。

今の場合、

トークンの1時間ごとの再生成およびそのログイン後の1時間ごとの再生成は 、モバイルアプリケーションでは論理的ではありません。

Magentoがモバイルアプリケーションでユーザーログインデータと認証を管理する方法(サービス契約に従ってAPIが開発されている場合)

  • どのくらい私はできるようにすべきであるアクセストークンをして存在し、それはモバイルアプリケーションに有効期限が切れる前に?
    • モバイルアプリケーションで1時間ごとにユーザーを強制的に再認証したくありません。
    • モバイルアプリケーションのOAuth2 APIトークンのライフサイクルを適切に管理する方法。

アプリケーションとWebではトークンの有効期間が異なるため、アクセストークンの有効期間を変更することは論理的な解決策にはなりません。

ここに画像の説明を入力してください


ストア->設定->サービス-> OAuth->顧客トークンの有効期間(時間)-からトークンの有効期間を延長しようとしましたか?
マンタンデイブ

いいえ、顧客トークンのライフタイム(時間)の値を空白にしてチェックします。値が空の場合、機能は無効になります。うまくいくかもしれません。
Aditya Shah

Customer Token Lifetimeの値を空にすると、リクエストごとにトークンが再生成され、すべてのデータが期限切れになることはなく(すべてのリクエストデータ)、oauth_tokenに
Aditya Shah

接続しているストアのコードにアクセスできる場合、またはアプリのmagentoモジュールを記述できる場合、1つの解決策は、セッションが行われるのと同様に、顧客トークンが使用されるときに各リクエストでトークンの有効日を更新することです。その後、トークンの有効期間内にアプリがリクエストを実行するまで、顧客は再認証を強制されません。
Zefiryn

ただし、どのフラグに基づいて、顧客トークンが使用されていると見なします。
Aditya Shah

回答:


3

有効な顧客トークンを確認するには、Magentoが2つの基準を確認します

  1. トークンは取り消されていますか(ユーザーのログアウト時に発生します):取り消されたものは1としてoauth_tokenテーブルに保存されます
  2. トークンは実際にoauth_tokenテーブルに存在します

Magentoはcronを実行して、期限切れのトークンを(管理設定のライフタイムごとに)テーブルから削除します(vendor\magento\module-integration\Cron\CleanExpiredTokens.php

可能な解決策

  1. 管理者からトークンの有効期間を延長する
  2. 上記のcronをオーバーライドして、取り消されたトークン、つまりログアウトした顧客トークンのみを削除します

これがあなたの質問に答えることを願っています


ユーザーの役割について話していると思いますか?管理者のように...回答も受け入れてください
Vishwas Bhatnagar

いいえ、私はバックエンドのモバイルアプリケーションで使用されるM2認証について話しています。トークンの1時間ごとの再生成とその後のログイン後の1時間ごとは、モバイルアプリケーションにとって論理的ではないためです。認証は1回のみで、ユーザーがパスワードを変更したときに(そのようなアクティビティ)
Aditya Shah

上記の回答で私はその解決策を提案したと思います。同じ解決策を使用しており、問題なく機能しています
Vishwas Bhatnagar

1
ありがとう!!私はたくさん検索しましたが、あなたの解決策を除いて何の解決策も見つかりませんでした:)
Aditya Shah
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.