Azure广告验证的动态端口

时间:2018-01-02 13:55:37

标签: authentication azure-active-directory azure-service-fabric asp.net-core-2.0

我正在Azure Service Fabric中开发ASP.Net Core 2.0应用程序。此应用程序使用Azure广告验证。此身份验证需要Azure门户中的已注册回复URL。但是,服务结构会根据可用端口为我的应用程序分配端口。如何使用动态分配的端口实现这种身份验证方式,而无需注册超过100个不同的回复URL?当前通过使用Service Fabric反向代理解析端口。

在我的初创公司中,我已在ConfigureServices中输入了我的Azure广告配置:“

services.AddAzureAd(options =>
{
     Configuration.Bind("AzureAd", options);
})

我的appsettings包含:

{
  "AzureAd": {
    "Instance": "https://login.microsoftonline.com/",
    "Domain": "mydomain.com",
    "TenantId": "AD tenant id (GUID)",
    "ClientId": "registered app id (GUID)",
    "CallbackPath": "/signin-oidc"
  },
  ...
}

1 个答案:

答案 0 :(得分:0)

对于它的价值,这是我的建议。

使用SF反向代理网址作为ReplyUrl
对于给定的应用程序注册,您无需在ReplyUrls部分中注册每个可能的私有地址以及端口。当您通过SF反向代理与服务进行通信时,请将其地址作为回复URL。

调整代码以构建正确的redirect_uri
您需要进行更改以确保redirect_uri指向您的反向代理而不是本地IP。确切的代码取决于很多因素,包括你机器上安装的asp.net核心版本,但这里是我正在研究的原型.net core 2.1.4 -

ionViewWillLeave(){
        let backDrop: any = document.getElementsByTagName('ion-picker-cmp');
        if(backDrop.length > 0){
            for(let i = 0; i< backDrop.length; i++){
                backDrop[i].style.display = 'none';
            }
        }
      }