2016-05-25 1 views
0

クライアントIOSアプリケーション内でParse-Server環境変数を検証できるかどうか、私は疑問に思っていました。Parse Serverが使用している環境キーをクライアントアプリケーション内で検証できますか?

バックエンドシステムにまだ不快な人は、テスト中にクライアント側からバックエンドのParse-Serverが実際に正しい環境キーを使用していることを検証できると便利です。

+0

Parseを使用してもよろしいですか?来年はオフラインになります。 –

+0

いいえ、私はまもなくParseを放棄します。 mLabでオリジナルのマイグレーション済みデータベースを引き続き使用できるように、この問題を解決したかっただけです。 – digitalR

答えて

0

appId、clientKey、masterKeyなどのパーズサーバーを設定するためのキーをテストする場合は、検証クラウドコードを実装できます。

appIdを使用した後(またはclientKeyを設定した場合)は、この関数を呼び出すことができます。そうしないと、エラーが発生します。 client-sdkではMasterKeyを使用できません。それでもテストしたい場合は、クライアント上でmasterKeyを使って残りのAPIを実装することができます。しかし、masterKeyはクライアント側に表示されるべきではありません。ユーザがこれを引き起こすのを避けるべきです。誰かがあなたのmasterKeyを取得するかもしれません。

Parse.Cloud.define("verify", function(request, response) { 
    if(request.master==true){ 
     response.success(true); 
    }else{ 
     response.error(new Error('MasterKey not matched')); 
    } 
}); 

あなたが望むようにそれを確認し、OBJ globalConfigを実装することにより

を編集しました。

ここにサンプルがあります。

globalConfig.js

var globalConfig = {}; 

globalConfig.verify = function(key) { 
    return globalConfig.keys.testKey==key; 
} 

module.exports = globalConfig; 

(部分)

var globalConfig = require('./globalConfig.js'); 
var initObj = { 
    databaseURI: databaseUri || 'mongodb://localhost:27017/dev', 
    cloud: process.env.CLOUD_CODE_MAIN || __dirname + '/cloud/main.js', 
    appId: process.env.APP_ID || 'myAppId', 
    masterKey: process.env.MASTER_KEY || '', //Add your master key here. Keep it secret! 
    serverURL: process.env.SERVER_URL || 'http://localhost:1337/parse', // Don't forget to change to https if needed 
    liveQuery: { 
    classNames: ["Posts", "Comments"] // List of classes to support for query subscriptions 
    }, 
    testKey: "this is test" 
} 
var api = new ParseServer(initObj); 
globalConfig.keys = initObj; 

、その後、あなたはあなたの鍵

クラウドのコード例を確認するためにglobalConfig.verifyを()を使用することができますindex.js

var globalConfig = require('../globalConfig.js'); 
Parse.Cloud.define('verify', function(req, res) { 
    res.success(globalConfig.verify(req.params.testKey)); 
}); 

またはエクスプレスポストを使用することができます

app.post('/test', function(req, res) { 
    //verify and response 
}) 
+0

私はPFFileタイプを持つクエリのコレクションに問題がありますので、fileKeyの値をチェックしたいと思います。内部サーバーエラーで失敗します。だから、正しく設定していると思うので、fileKeyを除外したい。あなたが提案した方法は興味深いようです。しかし、どのように実装するか分からない。私は、少なくともパースサーバのどのオブジェクトが環境キーを保持しているかを知る必要があると思われます。 – digitalR

+0

parse-server-exampleと同様に、どのようにparse-serverを設定しますか? – ChunTingLin

+0

はい。私は当初、ハウツーページの1つでAWSへの展開ボタンを使用しました。次に、parse-server-example、編集したindex.js、package.jsonをクローン化しました。それから、私は新しいzipをアップロードし、それをparse-server-exampleインスタンスにデプロイしました。 – digitalR

関連する問題