WSO2 API 管理器 - 从 API 客户端验证用户
WSO2 API Manager - Authenticate user from API client
我正在开发一组通过 WSO2 API 管理器公开为 REST 的微服务。
现在,我想在 Angular 前端调用这些服务。处理用户身份验证和授权的最佳方式是什么?
我发现可以按照所述通过 OAuth2 密码授予来完成 here?
当用户登录时,用户凭据将被发送到特定的 WSO2 APIM 端点 (/token),它会验证、生成令牌,此令牌将在 header 中发送以供后续使用来电。
这是处理这种情况的最佳方法吗?
提前致谢,
如您的问题所述,https://apim.docs.wso2.com/en/next/learn/api-security/oauth2/grant-types/password-grant/
此方法只有在您拥有 资源所有者的 用户名和密码时才有效。
举个例子,假设您已经发布了 APIs 并在 WSO2 商店中创建了一个用户(资源所有者)。此用户使用该应用程序订阅了 API。该应用程序将具有客户端 ID 和密码,用于生成 OAuth2.0 令牌。此令牌将用于调用 APIs.
现在在您的 angular 项目中,一种方法是 硬编码 base64(clientid:clientsecret) 并调用令牌 API 来生成 OAuth2 .0 不记名令牌。使用生成的令牌调用 WSO2 上的 APIs。为保护您的 API 免受攻击,请使用基于 IP
的 速率限制
现在考虑另一种情况,如果您希望用户先进行身份验证,然后使用密码授予类型(使用实际用户的用户名和密码)为该用户生成 JWT token
,并使用该 JWT 生成OAuth2.0 Bearer token
将用于调用 APIs.
第二种情况执行的步骤:
- 在注册期间(来自Angular),在 WSO2 身份服务器中内部载入用户。 (同样有一个WSO2 API)
- 注册后,通过验证用户名和密码从身份服务器生成 JWT 令牌。 (同样,WSO2 API 在那里)
- 现在使用此 JWT 令牌,从 WSO2 APIM
生成 OAuth2.0 令牌
- 使用此令牌调用 APIs
第二种方法是使用WSO2作为网关进行用户到服务认证和授权的理想方法,而第一种方法主要侧重于服务到服务的认证和授权
希望这能回答您的问题
我正在开发一组通过 WSO2 API 管理器公开为 REST 的微服务。
现在,我想在 Angular 前端调用这些服务。处理用户身份验证和授权的最佳方式是什么?
我发现可以按照所述通过 OAuth2 密码授予来完成 here?
当用户登录时,用户凭据将被发送到特定的 WSO2 APIM 端点 (/token),它会验证、生成令牌,此令牌将在 header 中发送以供后续使用来电。
这是处理这种情况的最佳方法吗?
提前致谢,
如您的问题所述,https://apim.docs.wso2.com/en/next/learn/api-security/oauth2/grant-types/password-grant/ 此方法只有在您拥有 资源所有者的 用户名和密码时才有效。
举个例子,假设您已经发布了 APIs 并在 WSO2 商店中创建了一个用户(资源所有者)。此用户使用该应用程序订阅了 API。该应用程序将具有客户端 ID 和密码,用于生成 OAuth2.0 令牌。此令牌将用于调用 APIs.
现在在您的 angular 项目中,一种方法是 硬编码 base64(clientid:clientsecret) 并调用令牌 API 来生成 OAuth2 .0 不记名令牌。使用生成的令牌调用 WSO2 上的 APIs。为保护您的 API 免受攻击,请使用基于 IP
的 速率限制现在考虑另一种情况,如果您希望用户先进行身份验证,然后使用密码授予类型(使用实际用户的用户名和密码)为该用户生成 JWT token
,并使用该 JWT 生成OAuth2.0 Bearer token
将用于调用 APIs.
第二种情况执行的步骤:
- 在注册期间(来自Angular),在 WSO2 身份服务器中内部载入用户。 (同样有一个WSO2 API)
- 注册后,通过验证用户名和密码从身份服务器生成 JWT 令牌。 (同样,WSO2 API 在那里)
- 现在使用此 JWT 令牌,从 WSO2 APIM 生成 OAuth2.0 令牌
- 使用此令牌调用 APIs
第二种方法是使用WSO2作为网关进行用户到服务认证和授权的理想方法,而第一种方法主要侧重于服务到服务的认证和授权
希望这能回答您的问题