我们有一个多租户Angular JS单页面应用程序。应用程序的路由使用客户标识符作为URL的一部分 - 例如#/home/<KEY>
或#/search/<KEY>/<search term>
。从理论上讲,服务的第一页可以是任何类型。每个页面使用客户密钥和从URL中获取的其他值来调用API以获取页面的数据。到目前为止一切都很好。
我们有一些参数 - 徽标,版权声明,默认语言(国际化) - 可以使用也使用客户KEY的单独API调用加载。这些参数需要作为部分中的字符串提供,以推动国际化,甚至可能在控制器中。
问题是在哪里调用API来获取这些参数以及如何设置它们/使其可用于应用程序的其余部分。我在这个一般领域看了很多问题,但找不到具体的建议。我们应该在app.js中使用配置吗?从index.html调用另一个脚本?
欣赏人们的建议。
答案 0 :(得分:0)
正确的位置是在身份验证后立即进行API调用,以获取各种客户特定的配置数据,如徽标,语言的客户设置,然后将它们放入浏览器的会话存储中。
我根据此处提供的文档使用Microsoft ADAL js完成了一个实现。 https://github.com/AzureAD/azure-activedirectory-library-for-js/blob/dev/README.md
您可以在登录成功事件处理程序中执行此Api调用,或在角度中执行类似的操作。
实施例:
$scope.$on("adal:loginSuccess", function () {
$scope.testMessage = "loginSuccess";
});
HTH