我使用ASP.NET Core成功設置IdentityServer4。如何配置IdentityServerAuthenticationOptions.Authority以使用通配符
作爲默認的配置我有這樣的:
IdentityServerAuthenticationOptions options = new IdentityServerAuthenticationOptions()
{
Authority = "http://localhost:5000",
ScopeName = "scope",
ScopeSecret = "ScopeSecret",
AutomaticAuthenticate = true,
AutomaticChallenge = true,
RequireHttpsMetadata = false,
};
現在,使用這個guide我配置爲從配置文件中讀取,所以他們可以在生產的任何數字。
例如,如果我將API設置爲在http://*:5000
上運行,則客戶端可以通過服務IP地址(如http://192.168.1.100:5000
)連接到它。
一旦客戶端獲取承載令牌,並嘗試使用它,一個Internal Server Error
occures與此異常:
Unable to obtain configuration from:
'http://*:5000/.well-known/openid-configuration'.
---> System.IO.IOException: IDX10804: Unable to retrieve document from: 'http://*:5000/.well-known/openid-configuration'.
---> System.UriFormatException: Invalid URI: The hostname could not be parsed.
什麼是配置IdS4擁有動態權限正確的方法是什麼?
更新
看來問題是發行人,對此有什麼想法?
Microsoft.IdentityModel.Tokens.SecurityTokenInvalidIssuerException:
IDX10205: Issuer validation failed. Issuer: 'http://192.168.1.100:5000'. Did not match: validationParameters.ValidIssuer: 'http://localhost:5000' or validationParameters.ValidIssuers: 'null'.
at Microsoft.IdentityModel.Tokens.Validators.ValidateIssuer(String issuer, SecurityToken securityToken, TokenValidationParameters validationParameters)