在 IOS 网络视图中将令牌传递给 angular 应用程序
Passing token to angular app in IOS webview
我正在尝试弄清楚如何处理将令牌传递给网络视图中的 angular 网络应用程序 运行。
在 IOS 应用程序中,当用户单击按钮时,它会打开加载 angular 应用程序的网络视图。要使用数据填充 angular 应用程序,我们需要获取用户令牌。我想避免登录 screen/process,所以我尝试从 IOS 应用程序发送令牌。所有对 API 的请求都是使用此令牌完成的。目前 IOS 方正在 header 中发送令牌,我想知道如何使用 angular 捕获令牌并将其存储在某个地方,以便我可以进一步调用 API 使用令牌。
angular 应用程序 运行 在真正只传递请求的快速服务器上
var express = require('express'),
app = express();
app.use(express.static('www'));
// CORS (Cross-Origin Resource Sharing) headers to support Cross-site HTTP requests
app.all('*', function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "X-Requested-With");
console.log(req.header);
next();
});
app.set('port', process.env.PORT || 5000);
app.listen(app.get('port'), function () {
console.log('Express server listening on port ' + app.get('port'));
});
那么我可以使用 angular 获取令牌,还是应该使用 express 来获取令牌并以某种方式传递它?谢谢!
我建议从 webView
调用临时 javascript 函数
在您的 UIViewController 中实现 UIWebView 的委托方法 webViewDidFinishLoad:
并在其中调用 [webView stringByEvaluatingJavaScriptFromString:@"setToken('your_token')"];
如果您使用的是 Cordova 框架,则可以使用 cordova-broadcaster-plugin
我正在尝试弄清楚如何处理将令牌传递给网络视图中的 angular 网络应用程序 运行。 在 IOS 应用程序中,当用户单击按钮时,它会打开加载 angular 应用程序的网络视图。要使用数据填充 angular 应用程序,我们需要获取用户令牌。我想避免登录 screen/process,所以我尝试从 IOS 应用程序发送令牌。所有对 API 的请求都是使用此令牌完成的。目前 IOS 方正在 header 中发送令牌,我想知道如何使用 angular 捕获令牌并将其存储在某个地方,以便我可以进一步调用 API 使用令牌。 angular 应用程序 运行 在真正只传递请求的快速服务器上
var express = require('express'),
app = express();
app.use(express.static('www'));
// CORS (Cross-Origin Resource Sharing) headers to support Cross-site HTTP requests
app.all('*', function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "X-Requested-With");
console.log(req.header);
next();
});
app.set('port', process.env.PORT || 5000);
app.listen(app.get('port'), function () {
console.log('Express server listening on port ' + app.get('port'));
});
那么我可以使用 angular 获取令牌,还是应该使用 express 来获取令牌并以某种方式传递它?谢谢!
我建议从 webView
调用临时 javascript 函数在您的 UIViewController 中实现 UIWebView 的委托方法 webViewDidFinishLoad:
并在其中调用 [webView stringByEvaluatingJavaScriptFromString:@"setToken('your_token')"];
如果您使用的是 Cordova 框架,则可以使用 cordova-broadcaster-plugin