2017-06-09 1 views
2

Stamperyの設定作業中です。私はこのAPI.JSファイルで文字列APIキーをどこに設定するのか把握できません。ドキュメントでは、これを行う方法がわからないAPIキーとしてSTAMPERY_TOKENを設定するように指示しています。どんな助けもありがとう。Stampery API.JSファイルでAPIキーを設定する方法

Stamperyのリンクはhttps://github.com/stampery/officeです。

'use strict'; 

const express = require('express'); 
const router = express.Router(); 
const bodyParser = require('body-parser') 
const Stampery = require('stampery'); 

const development = process.env.NODE_ENV !== 'production'; 
const stamperyToken = process.env.STAMPERY_TOKEN; 

var proofsDict = {} 

if (!stamperyToken) { 
    console.error('Environment variable STAMPERY_TOKEN must be set before running!'); 
    process.exit(-1); 
} 

//var stampery = new Stampery(process.env.STAMPERY_TOKEN, development ? 'beta' : false); 
// For now, always use production Stampery API due to not making it work against beta. 
var stampery = new Stampery(process.env.STAMPERY_TOKEN); 

router.use(bodyParser.json()); 

router.post('/stamp', function (req, res) { 
    var hash = req.body.hash; 

    // Throw error 400 if no hash 
    if (!hash) 
    return res.status(400).send({error: 'No Hash Specified'}); 

    // Transform hash to upper case (Stampery backend preferes them this way) 
    hash = hash.toUpperCase() 

    // Throw error 422 if hash is malformed 
    var re = /^[A-F0-9]{64}$/; 
    if (!(re.test(hash))) 
    return res.status(422).send({error: 'Malformed Hash'}); 

    stampery.stamp(hash, function(err, receipt) { 
    if (err) 
     res.status(503).send({error: err}); 
    else 
     res.send({result: receipt.id, error: null}); 
    }); 

}); 

router.get('/proofs/:hash', function (req, res) { 
    var hash = req.params.hash; 

    stampery.getByHash(hash, function(err, receipts) { 
    if (err) 
     res.status(503).send({error: err}); 
    else 
     if (receipts.length > 0) 
     res.send({result: receipts[0], error: null}); 
     else 
     res.status(200).send({error: 'Oops! This email has not yet been attested by any blockchain.'}); 
    }); 

}); 

module.exports = router; 

私はAzureのウェブサイトで以下を追加しました。これで十分ですか: enter image description here

+0

これはどのオペレーティングシステムで実行していますか? 'STAMPERY_TOKEN'は環境変数です。設定方法はOSによって異なります。 – mpen

+0

私はAzureで実行しています。しかし、ローカルテストはWindows上にあります。 –

答えて

1

サーバを起動する前に、環境設定可能なSTAMPERY_TOKENを設定する必要があります。

あなたは、たとえば次のようにこれを行うことができ

(Windowsの場合)set STAMPERY_TOKEN=your-token&& node app.js

+0

編集した質問に追加した画像を見て、十分であるかどうか確認してください。アプリケーションはAzureでホストされています。 –

+0

こんにちは@KjTada、Azure [docs](https://docs.microsoft.com/en-us/azure/app-service-web/web-sites-configure)のアプリ設定についてはこれで十分でしょう。これを設定した後に作業しますか? –

1

(Ubuntuの場合)環境にこれを追加する2通りの方法があります。

  1. bashrcファイルに追加します。同様に:

    輸出STAMPERY_TOKEN = "YOUR-TOKEN"

  2. は、サーバーを実行する前に、これらのparamsを渡します。同様に:

    STAMPERY_TOKEN = YOUR-TOKENノードserver.js

あなたがで得ることができます。この変数にアクセスするには:

はconsole.log(process.envを["STAMPERY_TOKEN"]);

関連する問題