Kon*_*ery 6 api android android-emulator identityserver4 asp.net-core-2.0
所以这里是我的问题的快速解释 - 我目前的设置是使用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,以便我可以测试客户端.我真的很喜欢它,如果有办法在我的本地机器上运行整个解决方案,而不是必须为我想要尝试的每件小事进行部署.
任何帮助将非常感激.
因此,我设法通过简单地运行它的 Web 部分来解决这个问题,以便它在我的本地网络上可见。我更详细地做了什么 - 在创建主机的 Program.cs 中,我使用该.UseUrls("http://*:5001")方法,然后使用dotnet run.
这样,您的应用程序就可以通过您的计算机的 IP 地址和您指定的端口在本地网络中访问。此外,为了使其正常工作,您必须在防火墙中定义新的出站规则,以允许流量通过您正在使用的端口。希望这对其他人也有帮助,事实证明这是获得我需要的工作的最简单方法,这是在与 IIS 进行了一段时间的斗争之后试图让它也在那里工作之后。
| 归档时间: |
|
| 查看次数: |
538 次 |
| 最近记录: |