This is an automated email from the ASF dual-hosted git repository.
grv pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ofbiz-plugins.git The following commit(s) were added to refs/heads/trunk by this push: new 7a92f06 Implemented: Added service definition and implementation to generate JWT auth token(OFBIZ-11995) 7a92f06 is described below commit 7a92f0640adfcac68f7da99c7848048e3262d119 Author: Girish Vasmatkar <[hidden email]> AuthorDate: Thu Sep 17 11:41:07 2020 +0530 Implemented: Added service definition and implementation to generate JWT auth token(OFBIZ-11995) --- ofbiz-rest-impl/servicedef/services.xml | 12 +++--- .../apache/ofbiz/ws/rs/services/RestServices.java | 50 ++++++++++++++++++++++ 2 files changed, 57 insertions(+), 5 deletions(-) diff --git a/ofbiz-rest-impl/servicedef/services.xml b/ofbiz-rest-impl/servicedef/services.xml index 3e5f419..cdef6d7 100644 --- a/ofbiz-rest-impl/servicedef/services.xml +++ b/ofbiz-rest-impl/servicedef/services.xml @@ -24,10 +24,12 @@ under the License. <vendor></vendor> <version>1.0</version> - <service name="noSyntaxError" engine="interface"> - <description> - Dummy service to prevent empty files and syntax error - Remove when the 1st real service will be added here - </description> + <service name="generateAuthTokenService" engine="java" require-new-transaction="true" max-retry="3" + location="org.apache.ofbiz.ws.rs.services.RestServices" invoke="generateAuthToken"> + <description>Generates Authorization Token for the userLogin</description> + <attribute name="access_token" type="String" mode="OUT" optional="false"/> + <attribute name="expires_in" type="String" mode="OUT" optional="false"/> + <attribute name="token_type" type="String" mode="OUT" optional="false"/> </service> -</services> \ No newline at end of file +</services> diff --git a/ofbiz-rest-impl/src/main/java/org/apache/ofbiz/ws/rs/services/RestServices.java b/ofbiz-rest-impl/src/main/java/org/apache/ofbiz/ws/rs/services/RestServices.java new file mode 100644 index 0000000..cb06c90 --- /dev/null +++ b/ofbiz-rest-impl/src/main/java/org/apache/ofbiz/ws/rs/services/RestServices.java @@ -0,0 +1,50 @@ +/******************************************************************************* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + *******************************************************************************/ +package org.apache.ofbiz.ws.rs.services; + +import java.util.Map; + +import org.apache.ofbiz.base.util.Debug; +import org.apache.ofbiz.base.util.UtilMisc; +import org.apache.ofbiz.entity.Delegator; +import org.apache.ofbiz.entity.GenericValue; +import org.apache.ofbiz.entity.util.EntityUtilProperties; +import org.apache.ofbiz.service.DispatchContext; +import org.apache.ofbiz.service.ServiceUtil; +import org.apache.ofbiz.webapp.control.JWTManager; + +public final class RestServices { + + private static final String MODULE = RestServices.class.getName(); + + private RestServices() { } + + public static Map<String, Object> generateAuthToken(DispatchContext ctx, Map<String, Object> context) { + Delegator delegator = ctx.getDelegator(); + GenericValue userLogin = (GenericValue) context.get("userLogin"); + String userLoginStr = userLogin.getString("userLoginId"); + Debug.logInfo("Generating auth token for userLogin: " + userLoginStr, MODULE); + String jwtToken = JWTManager.createJwt(delegator, UtilMisc.toMap("userLoginId", userLoginStr)); + Map<String, Object> success = ServiceUtil.returnSuccess(); + success.put("access_token", jwtToken); + success.put("expires_in", EntityUtilProperties.getPropertyValue("security", "security.jwt.token.expireTime", "1800", delegator)); + success.put("token_type", "Bearer"); + return success; + } +} |
Free forum by Nabble | Edit this page |