本文整理汇总了Java中io.vertx.ext.auth.User类的典型用法代码示例。如果您正苦于以下问题:Java User类的具体用法?Java User怎么用?Java User使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
User类属于io.vertx.ext.auth包,在下文中一共展示了User类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: authenticate
import io.vertx.ext.auth.User; //导入依赖的package包/类
@Override
public void authenticate(JsonObject credentials, Handler<AsyncResult<User>> resultHandler) {
String token = credentials.getString("token");
httpClient.getAbs("https://graph.facebook.com:443/v2.4/me?access_token=" + token)
.handler(response ->
response.bodyHandler(buffer -> {
JsonObject json = new JsonObject(buffer.toString());
if (response.statusCode() != 200) {
String message = json.getJsonObject("error").getString("message");
resultHandler.handle(Future.failedFuture(message));
} else {
resultHandler.handle(Future.succeededFuture(
new MyUser(Long.parseLong(json.getString("id")),
json.getString("name"),
token)));
}
}))
.exceptionHandler(error ->
resultHandler.handle(Future.failedFuture(error.getMessage())))
.end();
}
开发者ID:cdelmas,项目名称:microservices-comparison,代码行数:23,代码来源:FacebookOauthTokenVerifier.java
示例2: getContextHandler
import io.vertx.ext.auth.User; //导入依赖的package包/类
private static Handler<RoutingContext> getContextHandler(ContextProvider instance) {
return context -> {
if (instance != null) {
Object provided = instance.provide(context.request());
if (provided instanceof User) {
context.setUser((User) provided);
}
if (provided instanceof Session) {
context.setSession((Session) provided);
}
if (provided != null) {
context.data().put(ContextProviderFactory.getContextKey(provided), provided);
}
}
context.next();
};
}
开发者ID:zandero,项目名称:rest.vertx,代码行数:24,代码来源:RestRouter.java
示例3: in
import io.vertx.ext.auth.User; //导入依赖的package包/类
public static void in(final IpcData data, final Envelop envelop) {
if (null != envelop) {
// User
final User user = envelop.user();
final JsonObject sendData = new JsonObject();
if (null != user) {
sendData.put("user", user.principal());
}
// Header
final MultiMap headers = envelop.headers();
if (null != headers) {
final JsonObject headerData = new JsonObject();
headers.forEach((entry) -> headerData.put(entry.getKey(), entry.getValue()));
sendData.put("header", headerData);
}
// Data
final Object content = envelop.data();
sendData.put("data", content);
sendData.put("config", data.getConfig());
// Data Prepared finished.
sendData.put("address", data.getAddress());
data.setData(sendData.toBuffer());
}
}
开发者ID:silentbalanceyh,项目名称:vertx-zero,代码行数:25,代码来源:DataEncap.java
示例4: authorise
import io.vertx.ext.auth.User; //导入依赖的package包/类
@Override
protected void authorise(User user, RoutingContext context) {
// System.out.println("authorise =>"+user.principal().toString());
((GateUser)user).isAuthorised(authMgr.authProvider,context.request().uri(), res -> {
if (res.succeeded()) {
if (res.result()) {
context.next();
} else {
context.fail(HttpStatus.Unauthorized);
}
} else {
context.fail(res.cause());
}
});
}
开发者ID:troopson,项目名称:etagate,代码行数:17,代码来源:GateAuthHandler.java
示例5: fail
import io.vertx.ext.auth.User; //导入依赖的package包/类
private void fail(Future<JsonObject> completeFuture, AsyncResult<User> ar) {
String errorMessage = ar.cause().getMessage();
if (errorMessage != null) {
if (errorMessage.startsWith("Expired JWT")) {
completeFuture.fail(SystemException.wrap(DefaultErrorCode.EXPIRE_TOKEN, ar.cause())
.set("details", errorMessage));
} else if (errorMessage.startsWith("Invalid JWT")) {
completeFuture.fail(SystemException.wrap(DefaultErrorCode.INVALID_TOKEN, ar.cause())
.set("details", errorMessage));
} else {
completeFuture.fail(SystemException.wrap(DefaultErrorCode.PERMISSION_DENIED, ar.cause())
.set("details", ar.cause().getMessage()));
}
} else {
completeFuture.fail(SystemException.wrap(DefaultErrorCode.PERMISSION_DENIED, ar.cause())
.set("details", ar.cause().getMessage()));
}
}
开发者ID:edgar615,项目名称:direwolves,代码行数:19,代码来源:AuthenticationFilter.java
示例6: extractAuthUserFromMessage
import io.vertx.ext.auth.User; //导入依赖的package包/类
public static User extractAuthUserFromMessage(Message<?> message) {
User user = null;
String serializedUser = message.headers().get(SwaggerRouter.AUTH_USER_HEADER_KEY);
if (serializedUser != null && !serializedUser.isEmpty()) {
Buffer buffer = Buffer.buffer(serializedUser);
UserHolder userHolder = new UserHolder();
userHolder.readFromBuffer(0, buffer);
user = userHolder.user;
if (user != null) {
String authProviderName = message.headers().get(SwaggerRouter.AUTH_PROVIDER_NAME_HEADER_KEY);
if (authProviderName != null) {
user.setAuthProvider(getAuthProviderFactory().getAuthProviderByName(authProviderName));
}
}
}
return user;
}
开发者ID:phiz71,项目名称:vertx-swagger,代码行数:18,代码来源:SwaggerRouter.java
示例7: shouldDelegateIsUserInRole
import io.vertx.ext.auth.User; //导入依赖的package包/类
@Test
public void shouldDelegateIsUserInRole() {
User user = mock(User.class);
doAnswer(invocation -> {
String role = invocation.getArgumentAt(0, String.class);
Handler<AsyncResult<Boolean>> handler = invocation.getArgumentAt(1, Handler.class);
handler.handle(Future.succeededFuture("USER".equals(role)));
return user;
}).when(user).isAuthorised(isA(String.class), isA(Handler.class));
when(user.principal())
.thenReturn(new JsonObject().put("username", "marco"))
.thenReturn(new JsonObject());
when(routingContext.user()).thenReturn(null).thenReturn(user);
assertThat(vaadinRequest.isUserInRole("USER")).isFalse();
assertThat(vaadinRequest.isUserInRole("ADMIN")).isFalse();
assertThat(vaadinRequest.isUserInRole("USER")).isTrue();
//assertThat(vaadinRequest.getUserPrincipal().getName()).isNull();
}
开发者ID:mcollovati,项目名称:vaadin-vertx-samples,代码行数:19,代码来源:VertxVaadinRequestUT.java
示例8: testBasicAuthFailsWrongCredentials
import io.vertx.ext.auth.User; //导入依赖的package包/类
@SuppressWarnings("unchecked")
@Test
public final void testBasicAuthFailsWrongCredentials(final TestContext context) {
final Async async = context.async();
final String encodedUserPass = Base64.getEncoder()
.encodeToString("[email protected]_TENANT:password123".getBytes(StandardCharsets.UTF_8));
doAnswer(invocation -> {
Handler<AsyncResult<User>> resultHandler = invocation.getArgumentAt(1, Handler.class);
resultHandler.handle(Future.failedFuture(new ClientErrorException(HttpURLConnection.HTTP_UNAUTHORIZED, "bad credentials")));
return null;
}).when(credentialsAuthProvider).authenticate(any(JsonObject.class), any(Handler.class));
vertx.createHttpClient().put(httpAdapter.getInsecurePort(), HOST, "/somenonexistingroute")
.putHeader("content-type", HttpUtils.CONTENT_TYPE_JSON)
.putHeader(AUTHORIZATION_HEADER, "Basic " + encodedUserPass).handler(response -> {
context.assertEquals(HttpURLConnection.HTTP_UNAUTHORIZED, response.statusCode());
response.bodyHandler(totalBuffer -> {
async.complete();
});
}).exceptionHandler(context::fail).end();
}
开发者ID:eclipse,项目名称:hono,代码行数:23,代码来源:VertxBasedHttpProtocolAdapterTest.java
示例9: testBasicAuthSuccess
import io.vertx.ext.auth.User; //导入依赖的package包/类
@SuppressWarnings("unchecked")
@Test
public final void testBasicAuthSuccess(final TestContext context) throws Exception {
final Async async = context.async();
final String encodedUserPass = Base64.getEncoder()
.encodeToString("[email protected]_TENANT:password123".getBytes(StandardCharsets.UTF_8));
doAnswer(invocation -> {
Handler<AsyncResult<User>> resultHandler = invocation.getArgumentAt(1, Handler.class);
resultHandler.handle(Future.succeededFuture(new Device("DEFAULT_TENANT", "device_1")));
return null;
}).when(credentialsAuthProvider).authenticate(any(JsonObject.class), any(Handler.class));
vertx.createHttpClient().get(httpAdapter.getInsecurePort(), HOST, "/somenonexistingroute")
.putHeader("content-type", HttpUtils.CONTENT_TYPE_JSON)
.putHeader(AUTHORIZATION_HEADER, "Basic " + encodedUserPass).handler(response -> {
context.assertEquals(HttpURLConnection.HTTP_NOT_FOUND, response.statusCode());
response.bodyHandler(totalBuffer -> {
async.complete();
});
}).exceptionHandler(context::fail).end();
}
开发者ID:eclipse,项目名称:hono,代码行数:23,代码来源:VertxBasedHttpProtocolAdapterTest.java
示例10: authenticate
import io.vertx.ext.auth.User; //导入依赖的package包/类
@Override
public final void authenticate(final JsonObject authInfo, final Handler<AsyncResult<User>> resultHandler) {
DeviceCredentials credentials = getCredentials(Objects.requireNonNull(authInfo));
if (credentials == null) {
resultHandler.handle(Future.failedFuture(new ClientErrorException(HttpURLConnection.HTTP_UNAUTHORIZED, "malformed credentials")));
} else {
authenticate(credentials, s -> {
if (s.succeeded()) {
resultHandler.handle(Future.succeededFuture(s.result()));
} else {
resultHandler.handle(Future.failedFuture(s.cause()));
}
});
}
}
开发者ID:eclipse,项目名称:hono,代码行数:17,代码来源:CredentialsApiAuthProvider.java
示例11: generateToken
import io.vertx.ext.auth.User; //导入依赖的package包/类
/**
* Authenticates the user and returns a JWToken if successful.
*
* @param username
* Username
* @param password
* Password
* @param resultHandler
* Handler to be invoked with the created JWToken
*/
public void generateToken(String username, String password, Handler<AsyncResult<String>> resultHandler) {
authenticate(username, password, rh -> {
if (rh.failed()) {
resultHandler.handle(Future.failedFuture(rh.cause()));
} else {
User user = rh.result().getUser();
String uuid = null;
if (user instanceof MeshAuthUser) {
uuid = ((MeshAuthUser) user).getUuid();
} else {
uuid = user.principal().getString("uuid");
}
JsonObject tokenData = new JsonObject().put(USERID_FIELD_NAME, uuid);
resultHandler.handle(Future.succeededFuture(jwtProvider.generateToken(tokenData,
new JWTOptions().setExpiresInSeconds(Mesh.mesh().getOptions().getAuthenticationOptions().getTokenExpirationTime()))));
}
});
}
开发者ID:gentics,项目名称:mesh,代码行数:29,代码来源:MeshAuthProvider.java
示例12: authenticate
import io.vertx.ext.auth.User; //导入依赖的package包/类
@Override
public void authenticate(JsonObject authInfo, Handler<AsyncResult<User>> resultHandler) {
String password = environment.getProperty(USERS_PREFIX_KEY + authInfo.getString("username"));
if (password != null) {
// Get password from incoming HTTP request
String presentedPassword = authInfo.getString("password");
if (password.equals(presentedPassword)) {
resultHandler.handle(
Future.succeededFuture(new io.gravitee.management.services.http.auth.User()));
return ;
}
}
resultHandler.handle(Future.failedFuture("Unauthorized user"));
}
开发者ID:gravitee-io,项目名称:gravitee-management-rest-api,代码行数:18,代码来源:BasicAuthProvider.java
示例13: authenticate
import io.vertx.ext.auth.User; //导入依赖的package包/类
@Override
public void authenticate(JsonObject authInfo, Handler<AsyncResult<User>> resultHandler) {
String password = environment.getProperty(USERS_PREFIX_KEY + authInfo.getString("username"));
if (password != null) {
// Get password from incoming HTTP request
String presentedPassword = authInfo.getString("password");
if (password.equals(presentedPassword)) {
resultHandler.handle(
Future.succeededFuture(new io.gravitee.gateway.services.http.auth.User()));
return ;
}
}
resultHandler.handle(Future.failedFuture("Unauthorized user"));
}
开发者ID:gravitee-io,项目名称:gravitee-gateway,代码行数:18,代码来源:BasicAuthProvider.java
示例14: handle
import io.vertx.ext.auth.User; //导入依赖的package包/类
@Override
public void handle(RoutingContext context) {
User user = context.user();
if (user != null) {
authorise(user, context);
return;
}
String apiToken;
try {
apiToken = parseApiToken(context.request());
} catch (BadRequestException bre) {
context.fail(bre);
return;
}
if (apiToken == null) {
context.fail(401);
return;
}
doAuth(context, apiToken);
}
开发者ID:aesteve,项目名称:nubes,代码行数:21,代码来源:CheckTokenHandler.java
示例15: writeToBuffer
import io.vertx.ext.auth.User; //导入依赖的package包/类
@Override
public void writeToBuffer(Buffer buffer) {
// try to get the user from the context otherwise fall back to any cached version
User user = context != null ? context.user() : this.user;
if (user != null && user instanceof ClusterSerializable) {
buffer.appendByte((byte)1);
String className = user.getClass().getCanonicalName();
if (className == null) {
throw new IllegalStateException("Cannot serialize " + user.getClass().getName());
}
byte[] bytes = className.getBytes(StandardCharsets.UTF_8);
buffer.appendInt(bytes.length);
buffer.appendBytes(bytes);
ClusterSerializable cs = (ClusterSerializable)user;
cs.writeToBuffer(buffer);
} else {
buffer.appendByte((byte)0);
}
}
开发者ID:vert-x3,项目名称:vertx-web,代码行数:20,代码来源:UserHolder.java
示例16: readFromBuffer
import io.vertx.ext.auth.User; //导入依赖的package包/类
@Override
public int readFromBuffer(int pos, Buffer buffer) {
byte b = buffer.getByte(pos++);
if (b == (byte)1) {
int len = buffer.getInt(pos);
pos += 4;
byte[] bytes = buffer.getBytes(pos, pos + len);
pos += len;
String className = new String(bytes, StandardCharsets.UTF_8);
try {
Class clazz = Utils.getClassLoader().loadClass(className);
ClusterSerializable obj = (ClusterSerializable) clazz.newInstance();
pos = obj.readFromBuffer(pos, buffer);
user = (User) obj;
} catch (Exception e) {
throw new VertxException(e);
}
} else {
user = null;
}
return pos;
}
开发者ID:vert-x3,项目名称:vertx-web,代码行数:23,代码来源:UserHolder.java
示例17: authenticate
import io.vertx.ext.auth.User; //导入依赖的package包/类
@Override
public void authenticate(JsonObject authInfo, Handler<AsyncResult<User>> resultHandler) {
vertx.executeBlocking(fut -> {
SubjectContext subjectContext = new DefaultSubjectContext();
Subject subject = securityManager.createSubject(subjectContext);
String username = authInfo.getString("username");
String password = authInfo.getString("password");
AuthenticationToken token = new UsernamePasswordToken(username, password);
try {
subject.login(token);
} catch (AuthenticationException e) {
throw new VertxException(e);
}
fut.complete(new ShiroUser(vertx, securityManager, subject, rolePrefix));
}, resultHandler);
}
开发者ID:vert-x3,项目名称:vertx-auth,代码行数:17,代码来源:ShiroAuthProviderImpl.java
示例18: example4
import io.vertx.ext.auth.User; //导入依赖的package包/类
public void example4(Vertx vertx) {
// Set the client credentials and the OAuth2 server
OAuth2ClientOptions credentials = new OAuth2ClientOptions()
.setClientID("<client-id>")
.setClientSecret("<client-secret>")
.setSite("https://api.oauth.com");
// Initialize the OAuth2 Library
OAuth2Auth oauth2 = OAuth2Auth.create(vertx, OAuth2FlowType.CLIENT, credentials);
JsonObject tokenConfig = new JsonObject();
// Callbacks
// Save the access token
oauth2.authenticate(tokenConfig, res -> {
if (res.failed()) {
System.err.println("Access Token Error: " + res.cause().getMessage());
} else {
// Get the access token object (the authorization code is given from the previous step).
User token = res.result();
}
});
}
开发者ID:vert-x3,项目名称:vertx-auth,代码行数:26,代码来源:AuthOAuth2Examples.java
示例19: getToken
import io.vertx.ext.auth.User; //导入依赖的package包/类
@Test
public void getToken() {
JsonObject jwt = new JsonObject()
.put("scope", "https://www.googleapis.com/auth/devstorage.readonly");
oauth2.authenticate(jwt, res -> {
if (res.failed()) {
fail(res.cause().getMessage());
} else {
User token = res.result();
assertNotNull(token);
assertNotNull(token.principal());
testComplete();
}
});
await();
}
开发者ID:vert-x3,项目名称:vertx-auth,代码行数:18,代码来源:OAuth2AuthJWTTest.java
示例20: example2
import io.vertx.ext.auth.User; //导入依赖的package包/类
public void example2(User user) {
user.isAuthorised("printers:printer1234", res -> {
if (res.succeeded()) {
boolean hasAuthority = res.result();
if (hasAuthority) {
System.out.println("User has the authority");
} else {
System.out.println("User does not have the authority");
}
} else {
res.cause().printStackTrace();
}
});
}
开发者ID:vert-x3,项目名称:vertx-auth,代码行数:19,代码来源:AuthCommonExamples.java
注:本文中的io.vertx.ext.auth.User类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论