Azure api 管理身份验证 link 到 Web api
Azure api management authentication link to web api
我们目前的API使用seesionID进行身份验证。我们计划使用 Azure API 管理来管理我们的网站 api。但是 Azure web api 管理有自己的身份验证。我们怎么 link 那两个在一起。我们的客户可以使用相同的登录信息。
关于 Azure 中的身份验证和身份的对话 API 管理可能会变得棘手,因为可能存在三个不同的身份,然后存在 运行 时间请求与管理请求的不同上下文。所以,为了确保我回答的是正确的问题,让我尝试定义一些术语。
三个身份:
- API提供者:这是创建了API管理实例的Azure用户。
- API 消费者:这是一个正在编写一些客户端软件来消费 API.
的开发人员
- 最终用户:API消费者编写的应用程序的用户,将是实际向[运行时间请求发起API.
我假设您是 API 提供者。我不确定您的客户是 API 消费者还是最终用户。
Azure API 管理为API 消费者 提供身份服务。消费者可以手动创建一个 username/password 帐户,也可以使用一些社交身份提供商来创建一个帐户。然后,他们可以获得 订阅密钥 ,这将允许 Azure API 管理将请求关联到 API 消费者。
我想您是在询问是否可以将我猜您用来识别最终用户的 sessionID 连接到用于识别 API 消费者的订阅密钥。如果这是正确的,那么答案是否定的(除了下面描述的场景),因为我们需要在任何策略 运行 确保我们 运行 正确之前识别 API 消费者密钥政策。
您可以更改我们的Api消费者订阅密钥。因此,如果您只有少量 customers/End 用户,您可以为每个最终用户创建一个 Api 消费者帐户。但是,如果 sessionID 是常量值,您只能将 sessionID 映射到 API 消费者订阅密钥。我假设基于名称,该值在每次登录时都会发生变化。
尽管 Azure API 管理 提供 API 消费者 的身份服务,但它 不为最终用户提供完整的身份管理.我们将其留给 Azure AD、Thinktecture Identity Server 和 Auth0 等外部合作伙伴。我假设您现有的系统已经在使用某种身份提供者来生成 sessionId。使用 Azure API 管理可以做的是 使用 API 管理网关 中的策略验证该 sessionId。为此,我们需要更多地了解 sessionId 的格式。
抱歉这么长 post 但这是一个令人困惑的话题,我想尽可能清楚。
我们目前的API使用seesionID进行身份验证。我们计划使用 Azure API 管理来管理我们的网站 api。但是 Azure web api 管理有自己的身份验证。我们怎么 link 那两个在一起。我们的客户可以使用相同的登录信息。
关于 Azure 中的身份验证和身份的对话 API 管理可能会变得棘手,因为可能存在三个不同的身份,然后存在 运行 时间请求与管理请求的不同上下文。所以,为了确保我回答的是正确的问题,让我尝试定义一些术语。
三个身份:
- API提供者:这是创建了API管理实例的Azure用户。
- API 消费者:这是一个正在编写一些客户端软件来消费 API. 的开发人员
- 最终用户:API消费者编写的应用程序的用户,将是实际向[运行时间请求发起API.
我假设您是 API 提供者。我不确定您的客户是 API 消费者还是最终用户。
Azure API 管理为API 消费者 提供身份服务。消费者可以手动创建一个 username/password 帐户,也可以使用一些社交身份提供商来创建一个帐户。然后,他们可以获得 订阅密钥 ,这将允许 Azure API 管理将请求关联到 API 消费者。
我想您是在询问是否可以将我猜您用来识别最终用户的 sessionID 连接到用于识别 API 消费者的订阅密钥。如果这是正确的,那么答案是否定的(除了下面描述的场景),因为我们需要在任何策略 运行 确保我们 运行 正确之前识别 API 消费者密钥政策。
您可以更改我们的Api消费者订阅密钥。因此,如果您只有少量 customers/End 用户,您可以为每个最终用户创建一个 Api 消费者帐户。但是,如果 sessionID 是常量值,您只能将 sessionID 映射到 API 消费者订阅密钥。我假设基于名称,该值在每次登录时都会发生变化。
尽管 Azure API 管理 提供 API 消费者 的身份服务,但它 不为最终用户提供完整的身份管理.我们将其留给 Azure AD、Thinktecture Identity Server 和 Auth0 等外部合作伙伴。我假设您现有的系统已经在使用某种身份提供者来生成 sessionId。使用 Azure API 管理可以做的是 使用 API 管理网关 中的策略验证该 sessionId。为此,我们需要更多地了解 sessionId 的格式。
抱歉这么长 post 但这是一个令人困惑的话题,我想尽可能清楚。