当前位置: 首页>>代码示例>>Java>>正文


Java JWTAuth.generateToken方法代码示例

本文整理汇总了Java中io.vertx.ext.auth.jwt.JWTAuth.generateToken方法的典型用法代码示例。如果您正苦于以下问题:Java JWTAuth.generateToken方法的具体用法?Java JWTAuth.generateToken怎么用?Java JWTAuth.generateToken使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在io.vertx.ext.auth.jwt.JWTAuth的用法示例。


在下文中一共展示了JWTAuth.generateToken方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: example7

import io.vertx.ext.auth.jwt.JWTAuth; //导入方法依赖的package包/类
public void example7(Vertx vertx, String username, String password) {

    JWTAuthOptions config = new JWTAuthOptions()
      .setKeyStore(new KeyStoreOptions()
        .setPath("keystore.jceks")
        .setPassword("secret"));

    JWTAuth provider = JWTAuth.create(vertx, config);

    // on the verify endpoint once you verify the identity of the user by its username/password
    if ("paulo".equals(username) && "super_secret".equals(password)) {
      String token = provider.generateToken(new JsonObject().put("sub", "paulo"), new JWTOptions());
      // now for any request to protected resources you should pass this string in the HTTP header Authorization as:
      // Authorization: Bearer <token>
    }
  }
 
开发者ID:vert-x3,项目名称:vertx-auth,代码行数:17,代码来源:AuthJWTExamples.java

示例2: testAlgNone

import io.vertx.ext.auth.jwt.JWTAuth; //导入方法依赖的package包/类
@Test
public void testAlgNone() {

  JWTAuth authProvider = JWTAuth.create(vertx, new JWTAuthOptions());

  JsonObject payload = new JsonObject()
    .put("sub", "UserUnderTest")
    .put("aud", "OrganizationUnderTest")
    .put("iat", 1431695313)
    .put("exp", 1747055313)
    .put("roles", new JsonArray().add("admin").add("developer").add("user"))
    .put("permissions", new JsonArray().add("read").add("write").add("execute"));

  final String token = authProvider.generateToken(payload, new JWTOptions().setSubject("UserUnderTest").setAlgorithm("none"));
  assertNotNull(token);

  JsonObject authInfo = new JsonObject().put("jwt", token);

  authProvider.authenticate(authInfo, onSuccess(res -> {
    assertNotNull(res);
    testComplete();
  }));
  await();
}
 
开发者ID:vert-x3,项目名称:vertx-auth,代码行数:25,代码来源:JWTAuthProviderTest.java

示例3: doFilter

import io.vertx.ext.auth.jwt.JWTAuth; //导入方法依赖的package包/类
@Override
public void doFilter(ApiContext apiContext, Future<ApiContext> completeFuture) {
  JWTAuth provider = JWTAuth.create(vertx, jwtAuthOptions);
  Result result = apiContext.result();
  JsonObject body = result.responseObject();
  String jti = UUID.randomUUID().toString();
  Object userId = body.getValue(userKey);
  if (userId == null) {
    Log.create(Filter.LOGGER)
            .setEvent("jwt.build.ignore")
            .setMessage("Miss userId")
            .info();
    completeFuture.complete(apiContext);
    return;
  }
  JsonObject claims = new JsonObject()
          .put("jti", jti)
          .put(userKey, userId);
  claimKey.forEach(k -> {
    if (body.getValue(k) != null) {
      claims.put(k, body.getValue(k));
    }
  });
  String token = provider.generateToken(claims, jwtOptions);
  if (emptyingField) {
    body.clear().put("token", token);
  } else {
    body.put("token", token);
  }
  //保存JTI,后面使用
  apiContext.addVariable("jti", jti);
  apiContext.setResult(Result.createJsonObject(result.statusCode(), body,
                                               result.headers()));
  completeFuture.complete(apiContext);
}
 
开发者ID:edgar615,项目名称:direwolves,代码行数:36,代码来源:JwtBuildFilter.java

示例4: example52

import io.vertx.ext.auth.jwt.JWTAuth; //导入方法依赖的package包/类
public void example52(Vertx vertx) {

    JsonObject authConfig = new JsonObject().put("keyStore", new JsonObject()
      .put("type", "jceks")
      .put("path", "keystore.jceks")
      .put("password", "secret"));

    JWTAuth authProvider = JWTAuth.create(vertx, authConfig);

    authProvider.generateToken(new JsonObject().put("sub", "paulo").put("someKey", "some value"), new JWTOptions());
  }
 
开发者ID:vert-x3,项目名称:vertx-web,代码行数:12,代码来源:WebExamples.java


注:本文中的io.vertx.ext.auth.jwt.JWTAuth.generateToken方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。