我有一个启用了REST API的现有API管理服务。 API管理服务默认带有开发者门户,人们可以在其中注册以使用我们的API,它看起来像这样。
如您所见,您可以在这里注册,也可以登录。默认情况下,此API管理服务使用基本身份验证来使您前进。在查看了API管理服务的文档之后,我找不到任何可以帮助我进行复制的内容,因此我可以使用API进行相同的/ register或/ login调用。
我的问题是,如何使用自己的Angular应用程序以简单的用户名/密码进行API调用,以允许用户注册和使用API管理服务登录?
答案 0 :(得分:1)
有关在API管理中创建新用户的API调用,请参见此处https://docs.microsoft.com/en-us/rest/api/apimanagement/2019-01-01/user/createorupdate。
有两种方法可以解决APIM管理API。默认且最常用的方式是通过ARM(https://management.azure.com),这种方式只允许您使用ARM身份验证,并且在获得任何操作的访问权限之前,将通过常规的RBAC检查。
如果您要针对开发门户本身如何使用APIM管理API,则需要遵循以下指导:https://docs.microsoft.com/en-us/rest/api/apimanagement/apimanagementrest/azure-api-management-rest-api-authentication。一方面,这使您可以直接创建SAS令牌并调用管理API(请注意,基本URL中的主机名是不同的),但是更有趣的是,一旦启用此API,也可以匿名调用它。当然,只有通过开发者门户公开给匿名用户的数据才能通过这种方式获得。
更有趣的是,它打开了对此类管理API进行基本身份验证的可能性。匿名用户可以根据用户的电子邮件和密码使用Basic auth令牌呼叫任何端点,并以此方式进行身份验证。