You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by gr...@apache.org on 2020/09/17 06:11:27 UTC
[ofbiz-plugins] branch trunk updated: Implemented: Added service
definition and implementation to generate JWT auth token(OFBIZ-11995)
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 <gi...@hotwaxsystems.com>
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;
+ }
+}