如何将 JWT 与 Ballerina 一起使用

Und*_*Ice 4 wso2 jwt ballerina

我读过 JWT,我想我明白它是如何工作的,但是当谈到芭蕾舞女演员的例子时,我什么都不明白:

我如何设置我想与 JWT 和过期时间一起使用的算法?

如何使用自定义私钥?

我如何从这个例子中获取令牌,例如“ https://ballerina.io/learn/by-example/secured-service-with-jwt-auth ”?

可能是如何使用 CURL 获取令牌(用于测试目的)?

另外我想知道如何在不需要用户和密码的数据库的情况下使用 JWT..

我对安全和芭蕾舞演员也完全陌生。有人可以帮忙吗?

ldc*_*mal 6

Ballerina JWT 模块[1]提供以下功能。

  1. 发布 JWT

    您可以通过提供jwt:JwtIssuerConfig. 您可以配置用户名、发行者、受众、到期时间、签名算法、自定义声明和签名配置(密钥库配置)。请参考jwt:JwtIssuerConfig [2] 的API 文档。示例代码可以在[3] 中找到。

  2. 验证 JWT

    您可以通过提供jwt:JwtValidatorConfig. 您可以配置预期发行者、预期受众、时钟偏差、缓存配置和用于验证签名的配置(信任存储配置)。请参考jwt: JwtValidatorConfig [4] 的API 文档。示例代码可以在[3] 中找到。

  3. 使用 JWT 保护服务

    您可以使用 JWT 来保护和 HTTP 服务。Authorization入站 HTTP 请求的标头将根据提供的配置进行验证和身份验证。请参考jwt:InboundJwtAuthProvider [5] 的API 文档。示例代码可以在[6] 中找到。

  4. 使用 JWT 调用服务

    您可以使用 JWT 调用使用 JWT 进行身份验证的外部服务器。Authorization根据提供的配置,使用标头准备出站 HTTP 请求。请参考jwt:OutboundJwtAuthProvider [7] 的API 文档。示例代码可以在[8] 中找到。

问题的答案:

我如何设置我想与 JWT 和过期时间一起使用的算法?

您可以如上所述配置jwt:JwtIssuerConfig [2]

如何使用自定义私钥?

您可以使用自定义私钥配置[2]jwt:JwtKeyStoreConfig字段。jwt:JwtIssuerConfig

我如何从这个例子中获取令牌,例如“ https://ballerina.io/learn/by-example/secured-service-with-jwt-auth ”?可能是如何使用 CURL 获取令牌(用于测试目的)?

这是一个使用 JWT 保护的示例服务。用于调用此服务的令牌在示例底部提供。还提供了如何使用 CURL 调用此服务。

另外我想知道如何在不需要用户和密码的数据库的情况下使用 JWT..

以上所有示例,都不需要任何数据库或文件存储。所有配置都在代码本身中提供。如果有任何要求从数据库中检索数据,那也是可能的。

参考:

1 https://ballerina.io/learn/api-docs/ballerina/jwt/index.html

2 https://ballerina.io/learn/api-docs/ballerina/jwt/records/JwtIssuerConfig.html

3 https://ballerina.io/learn/by-example/jwt-issue-validate.html

4 https://ballerina.io/learn/api-docs/ballerina/jwt/records/JwtValidatorConfig.html

5 https://ballerina.io/learn/api-docs/ballerina/jwt/objects/InboundJwtAuthProvider.html

6 https://ballerina.io/learn/by-example/secured-service-with-jwt-auth.html

7 https://ballerina.io/learn/api-docs/ballerina/jwt/objects/OutboundJwtAuthProvider.html

8 https://ballerina.io/learn/by-example/secured-client-with-jwt-auth.html