我在Azure中上传了一个App Service,已经有了可用的API ( JWT令牌系统)。这一切都很好,可以使用<mywebapp>.azurewebsites.net (Web Service URL)作为前端网站,使用<mywebapp>.azurewebsites.net/<api-route>进行应用程序接口访问。
然后我读到了API管理服务,所以我在那里注册了我的web应用程序。现在我可以使用门户来测试我的API了,它甚至有自己的令牌系统,但是我的JWT令牌系统仍然有效,所以现在我需要做两种授权方法才能使用这个API?我还有一个新的域名:<mywebapp>.azure-api.net/<api-route> (Gateway URL),它现在造成了混乱。
我的问题是,就像我在app Service示例中所做的那样,可以只使用相同的web应用程序作为前端和API吗?还是创建一个单独的web应用程序在API管理服务中使用(并使用默认令牌系统)更好?
我使用Razor创建了我的前端,使用的教程是:https://docs.microsoft.com/en-us/aspnet/core/tutorials/razor-pages/?view=aspnetcore-5.0
然后,我使用以下教程在它上面添加了API:https://docs.microsoft.com/en-us/aspnet/core/tutorials/first-web-api?view=aspnetcore-5.0&tabs=visual-studio
发布于 2021-07-20 17:28:38
对于您的场景,由于您只有一个API,您可以直接从Web App调用API端点,并完全摆脱APIM。我在这里看不到APIM的需要。
如果您有多个API,并且希望将所有API抽象到一个URL下,以便前端Web层不必记住多个API URL,则APIM会有所帮助。
例如,如果您有3个不同的API URL,那么您可以将所有内容抽象到一个APIM URL下,如下所示-
apimurl.azure-api.net
-- api1url.azurewebsites.net/hr
-- api2url.azurewebsites.net/finance
-- api3url.azurewebsites.net/payroll然后你的Web就可以调用apimurl.azure-api.net/hr或apimurl.azure-api.net/finance了
对于您的案例,让它变得简单,并使用App Service URL。如果你想测试你的API,只需要使用Swagger UI。
https://stackoverflow.com/questions/68451172
复制相似问题