您好,我有一个 Android 应用程序,可以打开设备证书并从中获取一些信息(APPCID)
handleCeritifcate(appid) {
OData.defaultHttpClient = sap.AuthProxy.generateODataHttpClient();
this.factory.connectionData = { DeviceType: "Android" };
this.factory.clientCert = new sap.AuthProxy.CertificateFromStore();
console.log("app clientcert:", this.factory.clientCert);
var sUrl = this.factory.baseUrl + "/odata/applications/latest/" + appid + "/Connections";
var request = {
headers: {},
certificateSource: this.factory.clientCert,
requestUri: sUrl,
data: this.factory.connectionData,
method: "POST"
};
OData.request(request, (result => {
// this.onSuccessForRegister(result);
console.log("certificate success:", result);
}), (error) => {
console.log("ceritficate error", error);
});
}
我想保存从 this.factory.clientCert 获得的值并保存到本地存储,以便我可以将其传递给另一个应用程序,我正在使用 inappbrowser postmessage 在站点之间传递数据 但是当我尝试保存 clientCert 时,它只保存其中的 JSON
{ SYSTEM : SOURCE }
没有 AuthProxy.CertificateFromStore
非常感谢您的帮助
您正在尝试将已声明的对象存储到本地存储中。
您可以尝试使用
JSON.stringify()
(MDN) 转换实例,然后保存。
localStorage.setItem(clientCert, JSON.stringify(this.factory.clientCert));
console.log(JSON.parse(localStorage.getItem("clientCert"));