我有一个MVC应用程序,它使用本地AD对用户进行身份验证,并获取其角色以获取应用程序的设置权限。现在我有了新的要求,我将使用外部AD来验证用户而不是本地用户。因此,我的应用程序会将用户重定向到客户端的登录页面,用户将输入将在其AD上验证的用户名和密码,然后使用令牌重定向回我的应用程序。我需要获取此令牌并再次发布到客户端点以获取JWT令牌。
问题是我找不到类似的东西的好例子。我正在尝试使用Open Id:
app.UseOpenIdConnectAuthentication(new
OpenIdConnectAuthenticationOptions {
ClientId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
Authority = "https://xx.xxxxxxxxx.xxx/adfs/oauth2/authorize",
RedirectUri = "http://localhost:27100/token",
ResponseType = "code",
Scope = "openid email",
Resource = "xxxxxxxx",
UseTokenLifetime = false,
SignInAsAuthenticationType = "Cookies",
});
但我收到以下错误:
无法创建以从以下位置获取配置: “https://xx.xxxxxxxxx.xxx/adfs/oauth2/authorize/.well-known/openid-configuration
如果我在本地浏览器上打开完整网址,我可以看到客户AD的登录页面。我不确定OpenIdAuthentication是否适用于这种情况,我正在尝试这个,因为它具有我需要设置的所有属性。有没有其他方法可以实现这一目标?
答案 0 :(得分:1)
您是否尝试代表身份验证? 请参阅https://technet.microsoft.com/en-us/windows-server-docs/identity/ad-fs/development/ad-fs-on-behalf-of-authentication-in-windows-server-2016
对于使用AD FS的OpenID Connect,请参阅https://technet.microsoft.com/en-us/windows-server-docs/identity/ad-fs/development/enabling-openid-connect-with-ad-fs-2016
答案 1 :(得分:0)
while nameSave <=0 or nameSave >99:
while True:
try:
nameSave = float(input("Enter % Savings (Between 1-99%): "))
break
except:
print("Needs to be a number ")
端点应该解析为:
您可能只需将pod outdated
属性更新为其中一个值(取决于STS的运行位置):