quickstarts/tutorials/secretstore/node/app.js

45 lines
1.5 KiB
JavaScript

//
// Copyright 2021 The Dapr Authors
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// http://www.apache.org/licenses/LICENSE-2.0
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
const express = require('express');
const bodyParser = require('body-parser');
require('isomorphic-fetch');
require('base-64')
require('node-fetch')
const app = express();
app.use(bodyParser.json());
const daprPort = process.env.DAPR_HTTP_PORT || 3500;
const secretStoreName = process.env.SECRET_STORE;
const secretName = 'mysecret'
const secretsUrl = `http://localhost:${daprPort}/v1.0/secrets`;
const port = 3000;
app.get('/getsecret', (_req, res) => {
const url = `${secretsUrl}/${secretStoreName}/${secretName}?metadata.namespace=default`
console.log("Fetching URL: %s", url)
fetch(url)
.then(res => res.json())
.then(json => {
let secretBuffer = Buffer.from(json["mysecret"])
let encodedSecret = secretBuffer.toString('base64')
console.log("Base64 encoded secret is: %s", encodedSecret)
return res.send(encodedSecret)
})
});
app.listen(port, () => console.log(`Node App listening on port ${port}!`));