The simplest, fastest way to integrate your app with an OAuth API
module.exports = defineComponent({
props: {
pizzly: {
type: "app",
app: "pizzly",
}
},
async run({steps, $}) {
const fetch = require('node-fetch')
const { host, secretKey } = this.pizzly.$auth
const authentication = 'Basic ' + Buffer.from(secretKey + ':').toString('base64')
// Make a test API request to Pizzly. Should return a success message
return await (await fetch(`https://${host}/api/`, { headers: { "Authorization": authentication } })).json()
},
})
With the Firebase Admin SDK API, you can build a variety of different
applications and tools. For example, you could build a tool to manage your
Firebase project's users, or a tool to monitor your Firebase project's data
usage. You could also build an app that helps you manage your Firebase
project's settings, or an app that helps you troubleshoot your Firebase
project's data.
import admin from "firebase-admin"
export default defineComponent({
props: {
firebase_admin_sdk: {
type: "app",
app: "firebase_admin_sdk",
},
},
async run({ steps, $ }) {
// Enter values for the following parameters below this code step,
// These get passed to the initializeApp method below.
const {
projectId,
clientEmail,
privateKey,
region = "firebaseio.com",
} = this.firebase_admin_sdk.$auth
// Before passing the privateKey to the initializeApp constructor,
// we have to replace newline characters with literal newlines
const formattedPrivateKey = privateKey.replace(/\\n/g, "\n")
// See https://firebase.google.com/docs/reference/admin/node/admin.credential.html#cert
if (!admin.apps.length) {
admin.initializeApp({
credential: admin.credential.cert({
projectId,
clientEmail,
privateKey: formattedPrivateKey,
}),
databaseURL: `https://${projectId}-default-rtdb.${region}/`,
})
}
},
})