0

firebaseのauth(token, new Firebase.AuthListener())関数を使用して認証とデータへのアクセスを行ったところ、認証が完了するまでに長い時間 (5 分以上) かかる場合がありました。しかし、この状況は数か月前には起こりませんでした。

https://developer.nest.com/documentation/cloud/firebase-client-librariesからダウンロードした Firebase ライブラリなので、私の firebase ライブラリのバージョンは 1.1.1 です。このような状況になった人はいますか?

authWithCustomToken (...) を使用してauth (...) を置き換えようとしましたが、機能しません。この関数をネストでの認証に使用するにはどうすればよいですか?

そして、ファイアベースがSSLをプロトコルに追加したことがわかりましたが、上記の状況を引き起こしたのはその理由ですか?


https://www.firebase.com/blog/2012-07-27-firebase-now-supports-ssl.htmlから firebase.js をダウンロードしましたが、このファイルを使用して * を作成する方法がわかりません.crt または *.cer ファイル、誰か助けてくれませんか?

/******************************* アップデート ***************** ********************/

以下は、次のようなサンプル コードです。

access_token http リクエスト経由でネストからすでに取得していますが、

String Access_Token_URL = "https://api.home.nest.com/oauth2/access_token";
URL u = new URL(Access_Token_URL);
HttpURLConnection conn = (HttpURLConnection) u.openConnection();
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setRequestMethod("POST");

String cmd = "code="+pincode+"&client_id=" + Client_ID + "&client_secret="+ Client_secret +"&grant_type=authorization_code";
DataOutputStream wr = new DataOutputStream(conn.getOutputStream());

wr.writeBytes(cmd); 
wr.flush();
wr.close(); // flush and close                  

BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));

String line;
while ((line = reader.readLine()) != null){
      //do something
}
reader.close();
JSONObject stock_data = new JSONObject(line);
access_token = stock_data.getString("access_token");   //access_token="c.W6o3HEpUe3a..........";

auth() 関数で access_token を使用し、

String DataBase_URL = "https://developer-api.nest.com";
Firebase myDataBase = new Firebase(DataBase_URL);
myDataBase.auth(access_token, new Firebase.AuthListener(){

    @Override
    public void onAuthError(FirebaseError arg0) {
        // TODO Auto-generated method stub
        Log.i(TAG, "AuthErro: " + arg0.getMessage());
        //to do something...
    }

    @Override
    public void onAuthRevoked(FirebaseError arg0) {
        // TODO Auto-generated method stub
        Log.i(TAG, "AuthRevoked: " + arg0.getMessage());
        //to do something...
    }

    @Override
    public void onAuthSuccess(Object arg0) {
        // TODO Auto-generated method stub
        Log.i(TAG, "AuthSuccess " + arg0.toString());
        //to do something...
    }
});

AuthSuccessメッセージを取得するのに 5 分以上かかりますが、動作は正しいですか? そうでない場合、コードをどのように変更すればよいですか?

4

0 に答える 0