反应客户端代码-使用请求保证在标题中发送用户名和密码
var password = values.password;
var email = values.email;
request
.head(
"https://us-central1-simplineet-754e8.cloudfunctions.net/CreateUserauth"
)
.set('Content-Type','application/x-www-form-urlencoded')
.auth(email,password,false)
.query(dataobj)
.then(res => {
console.log(res);
if (res.statusCode === 200) {
console.log("statusText",res.body);
} else {
console.log("statusText",res.statusText);
}
})
.catch(err => {});
后端-Google Cloud功能可以处理来自客户端的基本身份验证请求
const express = require('express');
const app = express();
const cors = require('cors');
app.use(cors({origin: true}));
exports.CreateUserauth = functions.https.onRequest((request,response) => {
var corsFn = cors();
corsFn(request,response,function () {
// Request Header
response.setHeader('access-Control-Allow-Methods','GET,POST,OPTIONS,PUT,PATCH,DELETE');
response.setHeader('access-Control-Allow-Headers','X-Requested-With,content-type');
response.setHeader('access-Control-Allow-Credentials',true);
response.setHeader('access-control-allow-origin','*');
var auth = require('basic-auth') // basic-auth NPM package to extract username and password from header
var user = auth(request)
var email = user.name; // Getting username from Auth
var password = user.pass; // Getting password from Auth
var username = request.query.username;
response.send('Hello from Firebase!'); // Not getting this response in Client
});
});
响应进入客户端:
Response {req: Request,xhr: XMLHttpRequest,text: null,statusText: "",statusCode: 200, …}