[英]WSO2 API Manager and WSO2 key manager: user roles are not validated
[英]WSO2 API Manager - Authenticate user from API client
我正在开发一组通过 WSO2 API 管理器公开为 REST 的微服务。
现在,我想在 Angular 前端调用这些服务。 处理用户身份验证和授权的最佳方法是什么?
我发现它可以通过OAuth2用户密码授权来进行描述这里?
当用户登录时,用户凭据将被发送到特定的 WSO2 APIM 端点 (/token),它会验证、生成令牌,并且此令牌将在标头中发送以供后续调用使用。
这是处理这种情况的最佳方法吗?
提前致谢,
如您的问题所述, https://apim.docs.wso2.com/en/next/learn/api-security/oauth2/grant-types/password-grant/此方法仅在您拥有资源所有者的用户名时才有效和密码。
举个例子,假设您已经发布了 API 并在 WSO2 商店中创建了一个用户(资源所有者)。 此用户使用应用程序订阅 API。 该应用程序将有一个客户端 ID 和密钥,用于生成 OAuth2.0 令牌。 此令牌将用于调用 API。
现在在您的 angular 项目中,一种方法是对 base64(clientid:clientsecret) 进行硬编码并调用令牌 API 以生成 OAuth2.0 不记名令牌。 使用生成的令牌调用 WSO2 上的 API。 为了保护您的 API 免受攻击,请使用基于 IP 的速率限制
现在采取另一种情况,如果您希望用户首先进行身份验证,则使用密码授予类型(使用实际用户的用户名和密码)为该用户生成JWT token
,并使用该 JWT 生成OAuth2.0 Bearer token
,该OAuth2.0 Bearer token
将是用于调用 API。
第二种情况需要执行的步骤:
第二种方法是使用 WSO2 作为网关的用户对服务认证和授权的理想方法,而第一种方法主要侧重于服务到服务的认证和授权
希望这能回答你的问题
参考链接: https : //medium.com/wso2-learning/how-to-protect-your-apis-with-self-contained-access-token-jwt-using-wso2-api-manager-and-wso2-75673d8a4686
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.