在后端 Web 进行 nativescript 身份验证 api
nativescript authenticating at backend web api
我是移动开发新手。我的项目是使用 asp.net 构建的。对于身份验证,我正在使用 build it UserManager & User.Identity.
我有一堆现有的网站 api,我希望通过移动应用程序使用它们。
我知道,我可以在身份验证后将秘密哈希传递给网络 api,但这将涉及大量代码重构。
我想知道是否有其他方法可以使用 nativescript 和 asp.net 处理身份验证和授权。
你知道关于这个主题的任何有用资源吗?
非常感谢您的帮助!
这在很大程度上取决于您的 API 结构,但我会推荐这样的东西:
首先你需要使用 Nativescript Http 模块。获取 HTTP GET 调用 returned header 的实现可能如下所示:
http.request({ url: "https://httpbin.org/get", method: "GET" }).then(function (response) {
//// Argument (response) is HttpResponse!
//for (var header in response.headers) {
// console.log(header + ":" + response.headers[header]);
//}
}, function (e) {
//// Argument (e) is Error!
});
因此您的后端可能 return 一个 JSON Web 令牌作为 header。在这种情况下,在成功回调时,您可能希望将令牌存储在应用程序持久内存中。我会使用 Application Settings 模块,它看起来像:
var appSettings = require("application-settings");
appSettings.setString("storedToken", tokenValue);
然后在你API调用一个新令牌之前你可以检查是否有一个存储值:
var tokenValue = appSettings.getString("storedToken");
if (tokenValue === undefined {
//do API call
}
然后使用您的令牌,您需要进行 API 调用,例如这个 POST 并将令牌添加为 header:
http.request({
url: "https://httpbin.org/post",
method: "POST",
headers: { "Content-Type": "application/json", "Auth": tokenValue },
content: JSON.stringify({ MyVariableOne: "ValueOne", MyVariableTwo: "ValueTwo" })
}).then(function (response) {
// result = response.content.toJSON();
// console.log(result);
}, function (e) {
// console.log("Error occurred " + e);
});
您的后端需要检查 Auth
header 并验证 JWT 以决定是接受还是拒绝调用。
或者,有一些不错的插件用于各种 Backends-as-a-Service,例如Azure 和 Firebase
我是移动开发新手。我的项目是使用 asp.net 构建的。对于身份验证,我正在使用 build it UserManager & User.Identity.
我有一堆现有的网站 api,我希望通过移动应用程序使用它们。 我知道,我可以在身份验证后将秘密哈希传递给网络 api,但这将涉及大量代码重构。
我想知道是否有其他方法可以使用 nativescript 和 asp.net 处理身份验证和授权。
你知道关于这个主题的任何有用资源吗?
非常感谢您的帮助!
这在很大程度上取决于您的 API 结构,但我会推荐这样的东西:
首先你需要使用 Nativescript Http 模块。获取 HTTP GET 调用 returned header 的实现可能如下所示:
http.request({ url: "https://httpbin.org/get", method: "GET" }).then(function (response) {
//// Argument (response) is HttpResponse!
//for (var header in response.headers) {
// console.log(header + ":" + response.headers[header]);
//}
}, function (e) {
//// Argument (e) is Error!
});
因此您的后端可能 return 一个 JSON Web 令牌作为 header。在这种情况下,在成功回调时,您可能希望将令牌存储在应用程序持久内存中。我会使用 Application Settings 模块,它看起来像:
var appSettings = require("application-settings");
appSettings.setString("storedToken", tokenValue);
然后在你API调用一个新令牌之前你可以检查是否有一个存储值:
var tokenValue = appSettings.getString("storedToken");
if (tokenValue === undefined {
//do API call
}
然后使用您的令牌,您需要进行 API 调用,例如这个 POST 并将令牌添加为 header:
http.request({
url: "https://httpbin.org/post",
method: "POST",
headers: { "Content-Type": "application/json", "Auth": tokenValue },
content: JSON.stringify({ MyVariableOne: "ValueOne", MyVariableTwo: "ValueTwo" })
}).then(function (response) {
// result = response.content.toJSON();
// console.log(result);
}, function (e) {
// console.log("Error occurred " + e);
});
您的后端需要检查 Auth
header 并验证 JWT 以决定是接受还是拒绝调用。
或者,有一些不错的插件用于各种 Backends-as-a-Service,例如Azure 和 Firebase