【问题标题】:wso2 API manager for authorsation and authentication of a web applicationwso2 API 管理器,用于 Web 应用程序的授权和身份验证
【发布时间】:2016-12-18 06:00:18
【问题描述】:

我有一个 web 应用程序,其中前端层有一个基于角度的 UI。它有公共页面和其他私有页面,可供登录用户访问,它也取决于登录用户的角色 我的基于服务器的应用程序是一个基于 java 的 rest 服务 api。

我如何使用 wso2 来处理用户身份验证和基于角色的作者。我还想根据用户的角色增加一层 api 安全性。

有人可以解释 wso2 中最好的架构吗? 如果我使用 wso2 api manager ,我如何处理用户的登录以及如何将 api 访问与登录用户的角色相关联?

提前致谢

【问题讨论】:

  • 您是想根据角色来控制对页面的访问,还是想控制对页面中使用的api的访问?
  • 我需要两者。在 UI 中,我必须限制访问。同样在 API 层,我需要 API 安全性。

标签: wso2 wso2-am


【解决方案1】:

您可以使用 wso2 appmanager 来控制任何网络应用程序的访问[1]。应用管理器支持基于角色的访问控制以及基于 xacml 策略的访问控制。为了提供基于 api 级别角色的安全性,您可以在 wso2 api manager 中使用 scopes[2]

[1]https://docs.wso2.com/display/APPM120/Web+Application+Resource+Authorization

[2]https://docs.wso2.com/display/APPM120/Web+Application+Resource+Authorization

【讨论】:

  • 谢谢!我如何处理登录[用户登录/身份验证]?
  • 您可以通过 wso2appmanager 保护您的 webapp(登录),它将充当您实际 webapp 的代理并处理登录 docs.wso2.com/display/APPM120/…
  • ok.. 在这种情况下是否推荐客户凭证授权?在这种情况下,我必须使用哪些 oauth2 端点来进行身份验证/授权?
【解决方案2】:

让我建议另一种解决方案。我还没有用 APIM 试过这个。但由于 APIM 还安装了身份功能,这应该可以工作。

使用 OpenID Connect 登录。 See here 样品。此示例适用于 IS,但也适用于 APIM。像这样在 APIM 中只有端点 URL 不同。

Token: https://localhost:8243/token 
Revoke: https://localhost:8243/revoke 
Authorize: https://localhost:8243/authorize 

在那里,当用户登录时,您会得到一个包含用户声明的ID_token。您可以根据这些数据允许/拒绝页面查看。

在上述步骤中,您创建一个 SP 并生成一个客户端密钥对。您可以在 APIM 的应用程序中设置相同的密钥。 Read this

然后,正如我提到的here,您可以使用作用域按角色保护您的 API。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-12
    • 2012-09-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多