我正在开发一个快速入门,用于使用asp.net核心Web应用程序对用户进行身份验证。我已使用VS订阅创建了一个新的Azure AD,并根据此quickstart guide添加了我的应用程序。
然后我已更改代码中的appsettings.json
,以按照指定的方式在该快速入门中下载。
基本上,这是快速入门中唯一需要更改的项目,我从vscode运行应用程序并获得以下信息:
是否可以查看Web应用程序在请求中作为reply urls
发送的内容?我是否缺少其他可能不在快速入门中的设置?
如评论中所述, redirect_uri 的查询字符串属性的值为redirect_uri=http%3A%2F%2Flocalhost%3A3110%2Fsignin-oidc
或 http://localhost:3110/signin-oidc
。
我在launchsettings.json
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:3110/",
"sslPort": 44321
}
},
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"webApp": {
"commandName": "Project",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
},
"applicationUrl": "http://localhost:3110/"
}
}
如果我将profiles
对象中的值更改为快速入门中指示的值,则它会在继续处理浏览器中的“不安全”警告后起作用,但是为什么快速入门说明中没有呢? >
答案 0 :(得分:0)
检查提供给登录端点的redirect_uri
参数很重要。它需要与门户中已注册的内容完全匹配。
常见问题包括:-
答案 1 :(得分:0)
我认为这是因为您正在使用dotnet run
命令运行应用。
使用dotnet run
启动应用程序时,将使用带有"commandName": "Project"
的第一个配置文件。值commandName
指定要启动的Web服务器。因此,将使用applicationUrl
的{{1}}(服务器URL)。
如果使用vs运行应用程序,请确认正在使用的配置文件。