目前我正在使用 Angular 进行一个有趣的项目。我的公司主要为 Microsoft Business Central 开发,并希望我在 Business Central 组件中嵌入一个 Angular 应用程序。
我认为 Business Central 开发人员的目标群体很小,但我认为在将 Angular 应用程序嵌入另一个应用程序(如 wordpress 等)时,您会遇到同样的问题。
因此,我创建了一个ng new
项目(带有路由)并使用 Azure B2C 作为身份提供者实现了身份验证(使用浏览器弹出窗口输入您的凭据)。我创建了一个组件来测试路由(/home)。
当使用ng serve
登录流程运行应用程序时,我已通过身份验证。但是在构建项目并将其嵌入到 Business Central Extension 之后,我可以单击导航菜单将路由切换到“/”和“/home”,但我的身份验证不起作用。
这是完全有道理的,因为我的应用程序后面没有正确的 URL,因为它是嵌入的。所以重定向 URL 是未知的。我也不知道,因为window.location.origin
提到我在https://businesscentral.dynamics.com和 Angular 在“/home”或“/”上有它的活动路线。
因此,我无法从业务中心外部调用某些资源或点击由 Angular 路由注册的 URL ...
如果确实有,我有哪些选择可以使身份验证正常工作?对于身份验证,我使用“angular-oauth2-oidc”和 PXCE 的授权代码流。