コンテンツにスキップ

ネクストエンジン API 開発者フォーラム: access_token取得について

ネクストエンジン API のネクストエンジンAPIについてに関する開発者フォーラムの質問と回答。クライアントアプリ・ストア連携・エンジン利用についてのQ&A。

投稿者: 匿名ユーザー 日時: 2017/09/12

カテゴリ: ネクストエンジンAPIについて

uidとstateを取得後、access_tokenを取得にいくと

「こちらからログインしてください」の画面情報がレスポンスされて

tokenを取得することができません。

このような場合は設定すべき項目の何が不足しているのか

お教えください。よろしくお願いいたします。


uidとstateをAPI取得後、アプリを起動したユーザーが未ログイン状態の場合ログイン画面が表示されます。

ログイン後のredirect_uri先のページでtokenを取得する流れになります。

詳細はAPIリファレンスをご覧ください。

https://developer.next-engine.com/api/param/uid_state

匿名ユーザー(質問者) — 2017/09/13

Section titled “匿名ユーザー(質問者) — 2017/09/13”

ご回答ありがとうございます。

uidとstateを取得する際に、ログインしております。

ただ、アプリで自動的にIDとパスワードをセット後

自動的に「ログイン」ボタンを押しています。

このような場合、未ログインとなるのでしょうか

tokenを取得するには、ネクストエンジンのログイン完了後になります。

取得のための処理の流れは以下の通りになります。

1.uid、stateを取得

2.未ログインの状態の場合、ネクストエンジンログイン画面表示 → 3へ

ログインされている場合はredirect_uri先のページに遷移 → 4へ 

3.ネクストエンジンログイン画面で認証 認証OKの場合 redirect_uri先のページに遷移 → 4へ

4.redirect_uri先のページでaccess_tokenを取得

access_tokenはuid、stateを取得後すぐに行うのではなく、redirect_uri先のgetパラメータでuid、stateを取得後、APIやSDKを利用してaccess_tokenを取得します。

匿名ユーザー(質問者) — 2017/09/16

Section titled “匿名ユーザー(質問者) — 2017/09/16”

たびたびの質問で申し訳ありません。

Webサーバがいないクラウド上のアプリから

IEを起動して、ログインし、

別のWEBサーバ(redirect_uri)上のphpで

uidとstatusを取得しています。その後、access_tokenを

取得しに行ってもログイン画面が出てきます。

ログイン画面がでるということは、何がいけないのでしょうか

よろしくお願いいたします。

匿名ユーザー(質問者) — 2017/09/18

Section titled “匿名ユーザー(質問者) — 2017/09/18”

302 Found Cache-Control: no-cache Content-Type: text/html・・・・・・・Location: https://base.next-engine.org/users/sign_in/

のエラーが戻ってきます。どのような原因が考えられますでしょうか?

uid・state取得APIでuid・state取得後アプリを起動したユーザがネクストエンジンにログインされていないとログイン画面が表示されます。

その場合はログイン画面でログイン後、redirect_uriのページでaccess_tokenを取得することができます。

以下の点について確認させてください。

・“Webサーバがいないクラウド上のアプリからIEを起動して、ログインし” というのはとは具体的にはどのようなログインを行なっているのでしょうか?

・ログイン画面が表示された後に表示されたログイン画面でログインした場合はredirect_uriのページでaccess_tokenを取得することは出来ますでしょうか?

匿名ユーザー(質問者) — 2017/09/19

Section titled “匿名ユーザー(質問者) — 2017/09/19”

ご回答ありがとうございます。

>Webサーバがいないクラウド上のアプリからIEを起動して、ログインし

は、当方のWindowsアプリから、IEを起動し、ログイン画面

https://base.next-engine.org/users/sign_in)へナビゲートすると

ネクストエンジン様のログイン画面が表示されます。

この画面にIDとパスワードをセットし、「ログイン」ボタンを押下させると

redirecr_uriで指定した、当方のWEBサーバ(アプリサーバとは別サーバです)に

uidとstateが返却されます。

これを用いてaccess_tokenをWinアプリから取得しに行くのですが

毎回ログイン画面情報が戻ってきます。

access_tokenを取得しにいっているので、画面上にログイン画面が

表示されるのではなく、レスポンスとしてログイン画面情報が戻ってきておりますので、

ここで、ログインすることはできないです。

何かわかることがあればお教えください。

uidとstateですがstateは有効期限(5分)があり、永続的に使用することは出来ません。

ネクストエンジンログイン後、Winアプリからではなくredirecr_uriで指定したWEBサーバ上でuid・state取得後、直ぐにaccess_tokenを取得するようにしてください。

その後は取得したaccess_tokenを利用してWinアプリ上からAPIを実行する流れになるかと思います。

なお、access_token、refresh_tokenにも有効期限(access_token:1日、refresh_token:3日)があります。

各APIのレスポンス値に最新のaccess_token、refresh_tokenが返却されるので、それを常に保持することにより永続的に使用することが可能となります。