OpenIdConnect 行为 Visual Studio 与 Azure
OpenIdConnect Behaviour Visual Studio vs Azure
我有一个已部署到 Azure 应用服务的 asp.net 核心 5 网站。
在 Startup.ConfigureServices 中有以下内容:
services.AddRazorPages().AddMvcOptions(options =>
{
var policy = new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.Build();
options.Filters.Add(new AuthorizeFilter(policy));
}).AddMicrosoftIdentityUI();
Startup.Configure包括以下内容:
app.UseAuthentication();
app.UseAuthorization();
在 Azure 上的应用程序注册中,我在“身份验证”选项卡上选中了“ID 令牌”:
当我浏览到 Azure 中的已部署站点时,我被重定向到:
https://login.microsoftonline.com/xxx/oauth2/v2.0/authorize?response_type=id_token&redirect_uri=https://azapp-contactcentre-surveyadmin-dev-001.azurewebsites.net/.auth/login/aad/**callback**&client_id=xxx&scope=openid
profile email&response_mode=form_post&nonce=xxx
但是,如果我 运行 来自 Visual Studio 的同一站点,则重定向是:
https://login.microsoftonline.com/xxx/oauth2/v2.0/authorize?client_id=xxx&redirect_uri=https://localhost:44381/**signin-oidc**&response_type=id_token&scope=openid
profile&response_mode=form_post&nonce=637719649643589555.Y2U0YmY1MjQtZjVmNS00ZWQ0LTlkMzAtNWRkMzBmOTMwNmQ5NWUzNWJmNTItMTAzZC00ZTUwLTk0ODMtYjVlZjgzM2NhYWIx&client_info=1&x-client-brkrver=IDWeb.1.16.1.0&state=xxx
在这两种情况下我都可以登录并使用该站点,但我想了解为什么行为会有所不同?
您似乎正在使用 Azure 应用服务(又名 EasyAuth)上的身份验证功能。
重定向 URI (.auth/login/aad/callback) 看起来像它使用的那个。
如果您在代码中配置身份验证,最好在应用服务级别禁用它。
我有一个已部署到 Azure 应用服务的 asp.net 核心 5 网站。
在 Startup.ConfigureServices 中有以下内容:
services.AddRazorPages().AddMvcOptions(options =>
{
var policy = new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.Build();
options.Filters.Add(new AuthorizeFilter(policy));
}).AddMicrosoftIdentityUI();
Startup.Configure包括以下内容:
app.UseAuthentication();
app.UseAuthorization();
在 Azure 上的应用程序注册中,我在“身份验证”选项卡上选中了“ID 令牌”:
当我浏览到 Azure 中的已部署站点时,我被重定向到:
https://login.microsoftonline.com/xxx/oauth2/v2.0/authorize?response_type=id_token&redirect_uri=https://azapp-contactcentre-surveyadmin-dev-001.azurewebsites.net/.auth/login/aad/**callback**&client_id=xxx&scope=openid profile email&response_mode=form_post&nonce=xxx
但是,如果我 运行 来自 Visual Studio 的同一站点,则重定向是:
https://login.microsoftonline.com/xxx/oauth2/v2.0/authorize?client_id=xxx&redirect_uri=https://localhost:44381/**signin-oidc**&response_type=id_token&scope=openid profile&response_mode=form_post&nonce=637719649643589555.Y2U0YmY1MjQtZjVmNS00ZWQ0LTlkMzAtNWRkMzBmOTMwNmQ5NWUzNWJmNTItMTAzZC00ZTUwLTk0ODMtYjVlZjgzM2NhYWIx&client_info=1&x-client-brkrver=IDWeb.1.16.1.0&state=xxx
在这两种情况下我都可以登录并使用该站点,但我想了解为什么行为会有所不同?
您似乎正在使用 Azure 应用服务(又名 EasyAuth)上的身份验证功能。 重定向 URI (.auth/login/aad/callback) 看起来像它使用的那个。 如果您在代码中配置身份验证,最好在应用服务级别禁用它。