首页 文章

使用WSO2 API Manager进行身份验证

提问于
浏览
1

我们有一个包含三层的系统,包括API服务器(后端),客户端网站和最终用户 . 现在,身份验证发生在API服务器上,有两种情况 . 在一种情况下,客户端网站直接使用从基于用户/通过的服务获取的令牌(客户端令牌)调用API,在另一种情况下,除了最终用户使用客户端网站登录到API服务器,但在API服务器上进行了身份验证客户网站以外的内容 . 客户端站点获取另一个名为Auth Token的令牌(用于最终用户呼叫),然后通过发送两个提到的令牌来调用最终用户请求的API . 通过使用客户端和身份验证令牌,API服务器会检查客户端和最终用户是否分别登录 . 实体及其关系如图所示in here

我想使用API Manager作为API Server和Client Site之间的网关,并使用它来管理身份验证过程 . 如何使用WSO2 API Manger实现此方案?感谢您的答复!

2 回答

  • 0

    扩展以前的答案..

    如果后端位于API管理器(建议)后面,则API管理员可以将客户端/用户/应用程序信息作为JWT令牌传递给后端 . 确实,这是使用API Manager的一个很好的用例

    编辑:根据评论扩展答案

    在用户登录客户端网站的一种情况下,它会传递用户并传递给API服务器 . 因此,API服务器检查U&P的有效性

    实际上,使用默认OAuth(代码或密码配置文件)将起作用 .

    并创建一个Auth令牌,同时为用户创建一个会话 .

    几乎不错 . 返回令牌,API Manager中没有用户会话 . 所有授权均基于提供的令牌 .

    会话,是否客户网站和最终用户登录 . 检查过程由两个令牌执行

    不 . APIM不会检查任何会话 . 它仅检查OAuth(承载)令牌 .

    并且在另一种情况下,客户端网站直接调用API而没有来自最终用户的任何请求 . 在此方案中,auth令牌不存在

    网站(让我们称之为应用程序)可以使用自己的凭据进行身份验证(所谓的client_credentials配置文件) . 它可能会收到自己的OAuth应用程序令牌 .

  • 0

    APIM支持相同的功能 . 您可以简单地从后端删除身份验证登录(或替换为简单登录)并使用APIM身份验证 .

    APIM使用OAuth2 . 为满足您的要求,您可以使用不同的授权类型 . 对于客户端网站,您可以使用客户端凭据授予类型,对于最终用户,您可以使用其他授权类型,如密码或授权代码 .

    欲了解更多详情:

    https://docs.wso2.com/display/AM210/Quick+Start+Guide https://docs.wso2.com/display/AM210/Token+API

相关问题