我有一个现有的API管理服务,已启用了REST API。 API管理服务默认带有开发者门户,人们可以在其中注册以使用我们的API,它看起来像这样。
您可以看到,您可以在这里注册,也可以登录。默认情况下,此API管理服务使用基本身份验证来使您前进。在查看了API管理服务的文档之后,我找不到能够帮助我进行复制的任何内容,因此可以使用API进行相同的/ register或/ login调用。
我的问题是,如何使用自己的Angular应用程序以简单的用户名/密码进行API调用,以允许用户注册和使用API管理服务登录?
请参见此处https://docs.microsoft.com/en-us/rest/api/apimanagement/2019-01-01/user/createorupdate,了解如何在API管理中创建新用户的API调用。
有两种解决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令牌呼叫任何端点,并通过这种方式进行身份验证。