自社で使用するAPIアプリ(バッチ)を並行稼働させたいため、 複数ユーザーでそれぞれにaccess_tokenを取得しようとしています。
アプリで「/users/sign_in/」を呼び出すのですが、 最初のユーザーがログインして以降は呼び出してもログイン画面が表示されないため、 目的を果たすことができずにいます。
複数ユーザーで同じアプリに対してそれぞれ別のaccess_tokenを取得するのは そもそも無理なのでしょうか。
別ユーザーであれば、同じアプリでもaccess_tokenは別になります。 「/users/sign_in/」で取得するuid,stateはアプリを起動したユーザーのuid,stateになる為、access_tokenはアプリを起動したユーザー用になります。
以下確認させてください。 >最初のユーザーがログインして以降は呼び出してもログイン画面が表示されない →具体的にどのような操作でアプリを起動されているのでしょうか?
ご回答ありがとうございます。
アプリはユーザー一覧とログイン用ボタンを表示したWEB画面からスタートするのですが、 JAVAで開発しているため、SDKの公開ソースを参考にさせていただいています。
ボタンを押す度に「new NeApiClient(・・・)」でインスタンスを生成し、 「neLogin()」を実行しています。 「/users/sign_in/」の入力パラメータにはログインIDが無いので、 どうやってユーザーを判断するのか疑問ではあったのですが・・・。
ネクストエンジン本体のログイン情報でユーザーを識別します。 「/users/sign_in/」実行後ネクストエンジンにログインされていない端末の場合、ネクストエンジンのログイン画面が表示されます。
>ネクストエンジンにログインされていない端末の場合、ネクストエンジンのログイン画面が表示されます。 → 複数ユーザー分のaccess_tokenを取得するためには 別々の端末から異なるユーザーIDでログインしなければならないということですね。
では、そのようにして取得した複数ユーザー分のaccess_tokenを並行稼働のバッチで使用する場合ですが、 1台のPC上で動いても問題ないのでしょうか。
>複数ユーザー分のaccess_tokenを取得するためには >別々の端末から異なるユーザーIDでログインしなければならないということですね。
→はい、その通りです。または、同じ端末で取得する場合は一旦ログアウトして別ユーザーでログインする必要があります。
>では、そのようにして取得した複数ユーザー分のaccess_tokenを並行稼働のバッチで使用する場合ですが、 >1台のPC上で動いても問題ないのでしょうか。
→バッチプログラムを稼働するPCは1台でも問題ないです。
>同じ端末で取得する場合は一旦ログアウトして別ユーザーでログインする必要があります。 → この「ログアウト」とは、ネクストエンジンのログアウトでしょうか? APIでログアウトはできますか?
「ログアウト」とはネクストエンジンのログアウトになります。 APIでログアウトすることは出来ません。
access_tokenの取得はバッチの本番稼働前に実施し、 その後は周期的にAPIでリフレッシュする計画ですので、 最初の取得時は一旦ログアウトする手順にしようと思います。
ご教示ありがとうございました。
RE:同じアプリを使用する複数ユーザーにそれぞれaccess_tokenを割り振る方法
別ユーザーであれば、同じアプリでもaccess_tokenは別になります。
「/users/sign_in/」で取得するuid,stateはアプリを起動したユーザーのuid,stateになる為、access_tokenはアプリを起動したユーザー用になります。
以下確認させてください。
>最初のユーザーがログインして以降は呼び出してもログイン画面が表示されない
→具体的にどのような操作でアプリを起動されているのでしょうか?
ご回答ありがとうございます。
ご回答ありがとうございます。
アプリはユーザー一覧とログイン用ボタンを表示したWEB画面からスタートするのですが、
JAVAで開発しているため、SDKの公開ソースを参考にさせていただいています。
ボタンを押す度に「new NeApiClient(・・・)」でインスタンスを生成し、
「neLogin()」を実行しています。
「/users/sign_in/」の入力パラメータにはログインIDが無いので、
どうやってユーザーを判断するのか疑問ではあったのですが・・・。
RE:ご回答ありがとうございます。
ネクストエンジン本体のログイン情報でユーザーを識別します。
「/users/sign_in/」実行後ネクストエンジンにログインされていない端末の場合、ネクストエンジンのログイン画面が表示されます。
RE:ご回答ありがとうございます。
>ネクストエンジンにログインされていない端末の場合、ネクストエンジンのログイン画面が表示されます。
→
複数ユーザー分のaccess_tokenを取得するためには
別々の端末から異なるユーザーIDでログインしなければならないということですね。
では、そのようにして取得した複数ユーザー分のaccess_tokenを並行稼働のバッチで使用する場合ですが、
1台のPC上で動いても問題ないのでしょうか。
RE:ご回答ありがとうございます。
>複数ユーザー分のaccess_tokenを取得するためには
>別々の端末から異なるユーザーIDでログインしなければならないということですね。
→はい、その通りです。または、同じ端末で取得する場合は一旦ログアウトして別ユーザーでログインする必要があります。
>では、そのようにして取得した複数ユーザー分のaccess_tokenを並行稼働のバッチで使用する場合ですが、
>1台のPC上で動いても問題ないのでしょうか。
→バッチプログラムを稼働するPCは1台でも問題ないです。
RE:ご回答ありがとうございます。
>同じ端末で取得する場合は一旦ログアウトして別ユーザーでログインする必要があります。
→
この「ログアウト」とは、ネクストエンジンのログアウトでしょうか?
APIでログアウトはできますか?
RE:ご回答ありがとうございます。
「ログアウト」とはネクストエンジンのログアウトになります。
APIでログアウトすることは出来ません。
RE:ご回答ありがとうございます。
access_tokenの取得はバッチの本番稼働前に実施し、
その後は周期的にAPIでリフレッシュする計画ですので、
最初の取得時は一旦ログアウトする手順にしようと思います。
ご教示ありがとうございました。