Node.js 制作一个带有js/firebase后端节点的xamarin表单应用程序(ios和android),却不知道如何将客户端连接到后端
总结 我正在为我的Xamarin forms应用程序创建一个node js后端,并使用firebase数据库存储数据。目前,我可以使用node js将字符串保存到firebase数据库,也可以使用c#直接从客户端代码保存信息,但为了更安全,我决定在node js上运行firebase代码。我不知道如何将Xamarin表单代码安全地连接到节点js。(使用加密)。我有下面的当前节点js代码Node.js 制作一个带有js/firebase后端节点的xamarin表单应用程序(ios和android),却不知道如何将客户端连接到后端,node.js,firebase,xamarin.forms,frontend,backend,Node.js,Firebase,Xamarin.forms,Frontend,Backend,总结 我正在为我的Xamarin forms应用程序创建一个node js后端,并使用firebase数据库存储数据。目前,我可以使用node js将字符串保存到firebase数据库,也可以使用c#直接从客户端代码保存信息,但为了更安全,我决定在node js上运行firebase代码。我不知道如何将Xamarin表单代码安全地连接到节点js。(使用加密)。我有下面的当前节点js代码 var admin = require('firebase-admin'); admin.initial
var admin = require('firebase-admin');
admin.initializeApp({
credential: admin.credential.applicationDefault(),
databaseURL: 'https://myfirebase.firebaseio.com/'
});
let db = admin.firestore();
let docRef = db.collection('users').doc('alovelace');
let setAda = docRef.set({
first: 'Ada',
last: 'Lovelace',
born: 1815
});
所以我的问题是如何让我的Xamarin表单客户端代码发送字符串,并用此代码保存它们。在未来,我将使用访问令牌,但目前还没有
我当前的c#代码没有附加到数据库,但我仍将添加(注册页面并将使用firebase身份验证)
Kula
{
//了解有关使自定义代码在Xamarin.Forms预览器中可见的更多信息
//参观https://aka.ms/xamarinforms-previewer
[设计时间可见(错误)]
公共部分类主页:ContentPage
{
//设置变量
字符串电子邮件;
字符串密码;
输入电子邮件;
输入密码;
公共主页()
{
初始化组件();
//参考mainpage.xamal
RinputEmail=this.FindByName(“Remail”);
RinputPassword=this.FindByName(“Rpassword”);
}
异步私有void GTLogin_已单击(对象发送方,事件参数e)
{
//导航到登录页面
等待Navigation.PushAsync(新登录());
}
已单击私有无效注册表用户(对象发送方,事件参数e)
{
//将用户输入设置为字符串
email=(RinputEmail.Text).ToString();
密码=(RinputPassword.Text).ToString();
}
}
}使用HttpClient向后端发出请求。使用https进行安全通信您是否有关于如何在node js中检索它的示例代码。我是否也使用本地服务器作为Url链接?有人能把那个url粘贴到那个浏览器里(当我部署的时候)并看到用户的私人信息吗?此外,http只是sha-256密钥的另一种形式,我对加密一无所知@jason可能有成百上千个将HttpClient与节点服务器结合使用的现有示例。您还应该研究节点服务器的现有身份验证机制
namespace Kula
{
// Learn more about making custom code visible in the Xamarin.Forms previewer
// by visiting https://aka.ms/xamarinforms-previewer
[DesignTimeVisible(false)]
public partial class MainPage : ContentPage
{
// set variables
string email;
string password;
Entry RinputEmail;
Entry RinputPassword;
public MainPage()
{
InitializeComponent();
// reference mainpage.xamal
RinputEmail = this.FindByName<Entry>("Remail");
RinputPassword = this.FindByName<Entry>("Rpassword");
}
async private void GTLogin_Clicked(object sender, EventArgs e)
{
//navigate to Login page
await Navigation.PushAsync (new Login());
}
private void registerUser_Clicked(object sender, EventArgs e)
{
//set users input to strings
email = (RinputEmail.Text).ToString();
password = (RinputPassword.Text).ToString();
}
}