使用 WSO2 API 管理器进行身份验证
Authentication with WSO2 API Manager
我们有一个三层系统,包括 API 服务器(后端)、客户端网站和最终用户。现在,身份验证发生在 API 服务器上,这在两种情况下完成。在一种情况下,客户端网站直接使用从基于 user/pass 的服务中获取的令牌(客户端令牌)调用 API,在另一种情况下,除了最终用户登录 API 服务器外,还使用客户端网站,但身份验证发生在客户端网站以外的 API 服务器上。客户端站点获得另一个名为 Auth Token 的令牌(用于最终用户调用),然后通过发送两个提到的令牌来调用最终用户请求的 API。通过使用客户端和身份验证令牌,API 服务器检查客户端和最终用户是否分别登录。说明了实体及其关系 in here
我想使用 API 管理器作为 API 服务器和客户端站点之间的网关,并使用它管理身份验证过程。
我如何使用 WSO2 API Manger 实现这个场景?
感谢您的回复!
APIM 支持相同的功能。您可以简单地从后端摆脱身份验证登录(或替换为简单的登录)并使用 APIM 身份验证。
APIM 使用 OAuth2。为了满足您的要求,您可以使用不同的赠款类型。对于客户端网站,您可以使用客户端凭据授权类型,对于最终用户,您可以使用其他授权类型,例如密码或授权码。
有关详细信息,请阅读:
https://docs.wso2.com/display/AM210/Quick+Start+Guide
https://docs.wso2.com/display/AM210/Token+API
扩展之前的答案..
如果后端在 API 管理器后面(建议),API 管理器可以将 client/user/application 信息作为 JWT 令牌传递给后端。所以确实,这是使用 API Manager
的一个很好的用例
编辑:根据评论扩展答案
in one scenario when a user login to client website, it pass the user
& pass to API server. therefore, API server checks the validity of U&P
的确,使用默认的 OAuth(代码或密码配置文件)就可以了。
and creates a Auth token as well creates a session for user.
差不多好了。返回令牌,API 管理器中没有用户会话。所有授权都基于提供的令牌。
of session, that whether Client web site and end user
are logged in or not. the checking process performed by two tokens
没有。 APIM 不检查任何会话。它仅检查 OAuth(不记名)令牌。
and in another scenario client web site call API directly without any
request from end user.in this scenario auth token is not exist
网站(我们称之为应用程序)可以使用自己的凭据(所谓的 client_credentials 配置文件)进行身份验证。它可能会收到自己的 OAuth 应用程序令牌。
我们有一个三层系统,包括 API 服务器(后端)、客户端网站和最终用户。现在,身份验证发生在 API 服务器上,这在两种情况下完成。在一种情况下,客户端网站直接使用从基于 user/pass 的服务中获取的令牌(客户端令牌)调用 API,在另一种情况下,除了最终用户登录 API 服务器外,还使用客户端网站,但身份验证发生在客户端网站以外的 API 服务器上。客户端站点获得另一个名为 Auth Token 的令牌(用于最终用户调用),然后通过发送两个提到的令牌来调用最终用户请求的 API。通过使用客户端和身份验证令牌,API 服务器检查客户端和最终用户是否分别登录。说明了实体及其关系 in here
我想使用 API 管理器作为 API 服务器和客户端站点之间的网关,并使用它管理身份验证过程。 我如何使用 WSO2 API Manger 实现这个场景? 感谢您的回复!
APIM 支持相同的功能。您可以简单地从后端摆脱身份验证登录(或替换为简单的登录)并使用 APIM 身份验证。
APIM 使用 OAuth2。为了满足您的要求,您可以使用不同的赠款类型。对于客户端网站,您可以使用客户端凭据授权类型,对于最终用户,您可以使用其他授权类型,例如密码或授权码。
有关详细信息,请阅读:
https://docs.wso2.com/display/AM210/Quick+Start+Guide https://docs.wso2.com/display/AM210/Token+API
扩展之前的答案..
如果后端在 API 管理器后面(建议),API 管理器可以将 client/user/application 信息作为 JWT 令牌传递给后端。所以确实,这是使用 API Manager
的一个很好的用例编辑:根据评论扩展答案
in one scenario when a user login to client website, it pass the user & pass to API server. therefore, API server checks the validity of U&P
的确,使用默认的 OAuth(代码或密码配置文件)就可以了。
and creates a Auth token as well creates a session for user.
差不多好了。返回令牌,API 管理器中没有用户会话。所有授权都基于提供的令牌。
of session, that whether Client web site and end user are logged in or not. the checking process performed by two tokens
没有。 APIM 不检查任何会话。它仅检查 OAuth(不记名)令牌。
and in another scenario client web site call API directly without any request from end user.in this scenario auth token is not exist
网站(我们称之为应用程序)可以使用自己的凭据(所谓的 client_credentials 配置文件)进行身份验证。它可能会收到自己的 OAuth 应用程序令牌。