在 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