所以这里是我的问题的快速解释 - 我目前的设置是使用ASP.NET核心身份的IdentityServer4实现,受其保护的API资源和作为客户端的Xamarin.Android应用程序.我目前的问题是,由于以下错误(来自API日志),客户端(Android)无法从API获取任何内容:
"持票人"未经过认证.失败消息:"IDX10205:颁发者验证失败.发行人:' http ://10.0.2.2:5000 '.不匹配:validationParameters.ValidIssuer:'null'或validationParameters.ValidIssuers:' http://127.0.0.1 : 5000 "".
基本上,因为我正在使用Android模拟器,为了在我的机器上调用localhost上的东西,我需要使用10.0.2.2 URL.然后问题弹出 - 身份服务器可以正常进行身份验证,我可以正常登录,我获得访问令牌,但之后我需要调用API.这就是错误发生的地方 - 它期望具有相同权限的发行者(127.0.0.1:5000)但接收10.0.2.2:5000,这是Android客户端的权限.
所以,我的问题是 - 有没有办法以某种方式指定10.0.2.2也是一个有效的发行者,或者我是否必须开始考虑部署API和Identity Server,以便我可以测试客户端.我真的很喜欢它,如果有办法在我的本地机器上运行整个解决方案,而不是必须为我想要尝试的每件小事进行部署.
任何帮助将非常感激.
api android android-emulator identityserver4 asp.net-core-2.0