diff --git a/WebServices/authenticator/.gitignore b/WebServices/authenticator/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..ba5cb5cca8766c8b2403d25de25b1c880c5ef64a --- /dev/null +++ b/WebServices/authenticator/.gitignore @@ -0,0 +1,26 @@ +HELP.md +/target/ +!.mvn/wrapper/maven-wrapper.jar + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +/build/ diff --git a/WebServices/authenticator/.mvn/wrapper/maven-wrapper.jar b/WebServices/authenticator/.mvn/wrapper/maven-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..c1dd12f17644411d6e840bd5a10c6ecda0175f18 Binary files /dev/null and b/WebServices/authenticator/.mvn/wrapper/maven-wrapper.jar differ diff --git a/WebServices/authenticator/.mvn/wrapper/maven-wrapper.properties b/WebServices/authenticator/.mvn/wrapper/maven-wrapper.properties new file mode 100644 index 0000000000000000000000000000000000000000..b7cb93e7050f42ff587aefbc40cc038ad4fa3271 --- /dev/null +++ b/WebServices/authenticator/.mvn/wrapper/maven-wrapper.properties @@ -0,0 +1,2 @@ +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.4/apache-maven-3.8.4-bin.zip +wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar diff --git a/WebServices/authenticator/Dockerfile b/WebServices/authenticator/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..c67f2ab856e8b1995fa16de97808c16e9703f072 --- /dev/null +++ b/WebServices/authenticator/Dockerfile @@ -0,0 +1,3 @@ +FROM openjdk:11 +COPY target/authenticator.jar authenticator.jar +ENTRYPOINT ["java","-jar","authenticator.jar"] \ No newline at end of file diff --git a/WebServices/authenticator/mvnw b/WebServices/authenticator/mvnw new file mode 100644 index 0000000000000000000000000000000000000000..8a8fb2282df5b8f7263470a5a2dc0e196f35f35f --- /dev/null +++ b/WebServices/authenticator/mvnw @@ -0,0 +1,316 @@ +#!/bin/sh +# ---------------------------------------------------------------------------- +# 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 +# +# https://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. +# ---------------------------------------------------------------------------- + +# ---------------------------------------------------------------------------- +# Maven Start Up Batch script +# +# Required ENV vars: +# ------------------ +# JAVA_HOME - location of a JDK home dir +# +# Optional ENV vars +# ----------------- +# M2_HOME - location of maven2's installed home dir +# MAVEN_OPTS - parameters passed to the Java VM when running Maven +# e.g. to debug Maven itself, use +# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +# MAVEN_SKIP_RC - flag to disable loading of mavenrc files +# ---------------------------------------------------------------------------- + +if [ -z "$MAVEN_SKIP_RC" ] ; then + + if [ -f /usr/local/etc/mavenrc ] ; then + . /usr/local/etc/mavenrc + fi + + if [ -f /etc/mavenrc ] ; then + . /etc/mavenrc + fi + + if [ -f "$HOME/.mavenrc" ] ; then + . "$HOME/.mavenrc" + fi + +fi + +# OS specific support. $var _must_ be set to either true or false. +cygwin=false; +darwin=false; +mingw=false +case "`uname`" in + CYGWIN*) cygwin=true ;; + MINGW*) mingw=true;; + Darwin*) darwin=true + # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home + # See https://developer.apple.com/library/mac/qa/qa1170/_index.html + if [ -z "$JAVA_HOME" ]; then + if [ -x "/usr/libexec/java_home" ]; then + export JAVA_HOME="`/usr/libexec/java_home`" + else + export JAVA_HOME="/Library/Java/Home" + fi + fi + ;; +esac + +if [ -z "$JAVA_HOME" ] ; then + if [ -r /etc/gentoo-release ] ; then + JAVA_HOME=`java-config --jre-home` + fi +fi + +if [ -z "$M2_HOME" ] ; then + ## resolve links - $0 may be a link to maven's home + PRG="$0" + + # need this for relative symlinks + while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG="`dirname "$PRG"`/$link" + fi + done + + saveddir=`pwd` + + M2_HOME=`dirname "$PRG"`/.. + + # make it fully qualified + M2_HOME=`cd "$M2_HOME" && pwd` + + cd "$saveddir" + # echo Using m2 at $M2_HOME +fi + +# For Cygwin, ensure paths are in UNIX format before anything is touched +if $cygwin ; then + [ -n "$M2_HOME" ] && + M2_HOME=`cygpath --unix "$M2_HOME"` + [ -n "$JAVA_HOME" ] && + JAVA_HOME=`cygpath --unix "$JAVA_HOME"` + [ -n "$CLASSPATH" ] && + CLASSPATH=`cygpath --path --unix "$CLASSPATH"` +fi + +# For Mingw, ensure paths are in UNIX format before anything is touched +if $mingw ; then + [ -n "$M2_HOME" ] && + M2_HOME="`(cd "$M2_HOME"; pwd)`" + [ -n "$JAVA_HOME" ] && + JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" +fi + +if [ -z "$JAVA_HOME" ]; then + javaExecutable="`which javac`" + if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then + # readlink(1) is not available as standard on Solaris 10. + readLink=`which readlink` + if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then + if $darwin ; then + javaHome="`dirname \"$javaExecutable\"`" + javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" + else + javaExecutable="`readlink -f \"$javaExecutable\"`" + fi + javaHome="`dirname \"$javaExecutable\"`" + javaHome=`expr "$javaHome" : '\(.*\)/bin'` + JAVA_HOME="$javaHome" + export JAVA_HOME + fi + fi +fi + +if [ -z "$JAVACMD" ] ; then + if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + else + JAVACMD="`\\unset -f command; \\command -v java`" + fi +fi + +if [ ! -x "$JAVACMD" ] ; then + echo "Error: JAVA_HOME is not defined correctly." >&2 + echo " We cannot execute $JAVACMD" >&2 + exit 1 +fi + +if [ -z "$JAVA_HOME" ] ; then + echo "Warning: JAVA_HOME environment variable is not set." +fi + +CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher + +# traverses directory structure from process work directory to filesystem root +# first directory with .mvn subdirectory is considered project base directory +find_maven_basedir() { + + if [ -z "$1" ] + then + echo "Path not specified to find_maven_basedir" + return 1 + fi + + basedir="$1" + wdir="$1" + while [ "$wdir" != '/' ] ; do + if [ -d "$wdir"/.mvn ] ; then + basedir=$wdir + break + fi + # workaround for JBEAP-8937 (on Solaris 10/Sparc) + if [ -d "${wdir}" ]; then + wdir=`cd "$wdir/.."; pwd` + fi + # end of workaround + done + echo "${basedir}" +} + +# concatenates all lines of a file +concat_lines() { + if [ -f "$1" ]; then + echo "$(tr -s '\n' ' ' < "$1")" + fi +} + +BASE_DIR=`find_maven_basedir "$(pwd)"` +if [ -z "$BASE_DIR" ]; then + exit 1; +fi + +########################################################################################## +# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +# This allows using the maven wrapper in projects that prohibit checking in binary data. +########################################################################################## +if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found .mvn/wrapper/maven-wrapper.jar" + fi +else + if [ "$MVNW_VERBOSE" = true ]; then + echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." + fi + if [ -n "$MVNW_REPOURL" ]; then + jarUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + else + jarUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + fi + while IFS="=" read key value; do + case "$key" in (wrapperUrl) jarUrl="$value"; break ;; + esac + done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties" + if [ "$MVNW_VERBOSE" = true ]; then + echo "Downloading from: $jarUrl" + fi + wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" + if $cygwin; then + wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"` + fi + + if command -v wget > /dev/null; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found wget ... using wget" + fi + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + wget "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" + else + wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" + fi + elif command -v curl > /dev/null; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found curl ... using curl" + fi + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + curl -o "$wrapperJarPath" "$jarUrl" -f + else + curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f + fi + + else + if [ "$MVNW_VERBOSE" = true ]; then + echo "Falling back to using Java to download" + fi + javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" + # For Cygwin, switch paths to Windows format before running javac + if $cygwin; then + javaClass=`cygpath --path --windows "$javaClass"` + fi + if [ -e "$javaClass" ]; then + if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then + if [ "$MVNW_VERBOSE" = true ]; then + echo " - Compiling MavenWrapperDownloader.java ..." + fi + # Compiling the Java class + ("$JAVA_HOME/bin/javac" "$javaClass") + fi + if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then + # Running the downloader + if [ "$MVNW_VERBOSE" = true ]; then + echo " - Running MavenWrapperDownloader.java ..." + fi + ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR") + fi + fi + fi +fi +########################################################################################## +# End of extension +########################################################################################## + +export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} +if [ "$MVNW_VERBOSE" = true ]; then + echo $MAVEN_PROJECTBASEDIR +fi +MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" + +# For Cygwin, switch paths to Windows format before running java +if $cygwin; then + [ -n "$M2_HOME" ] && + M2_HOME=`cygpath --path --windows "$M2_HOME"` + [ -n "$JAVA_HOME" ] && + JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` + [ -n "$CLASSPATH" ] && + CLASSPATH=`cygpath --path --windows "$CLASSPATH"` + [ -n "$MAVEN_PROJECTBASEDIR" ] && + MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` +fi + +# Provide a "standardized" way to retrieve the CLI args that will +# work with both Windows and non-Windows executions. +MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@" +export MAVEN_CMD_LINE_ARGS + +WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +exec "$JAVACMD" \ + $MAVEN_OPTS \ + $MAVEN_DEBUG_OPTS \ + -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ + "-Dmaven.home=${M2_HOME}" \ + "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ + ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/WebServices/authenticator/mvnw.cmd b/WebServices/authenticator/mvnw.cmd new file mode 100644 index 0000000000000000000000000000000000000000..1d8ab018eaf11d9b3a4a90e7818ace373dfbb380 --- /dev/null +++ b/WebServices/authenticator/mvnw.cmd @@ -0,0 +1,188 @@ +@REM ---------------------------------------------------------------------------- +@REM Licensed to the Apache Software Foundation (ASF) under one +@REM or more contributor license agreements. See the NOTICE file +@REM distributed with this work for additional information +@REM regarding copyright ownership. The ASF licenses this file +@REM to you under the Apache License, Version 2.0 (the +@REM "License"); you may not use this file except in compliance +@REM with the License. You may obtain a copy of the License at +@REM +@REM https://www.apache.org/licenses/LICENSE-2.0 +@REM +@REM Unless required by applicable law or agreed to in writing, +@REM software distributed under the License is distributed on an +@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +@REM KIND, either express or implied. See the License for the +@REM specific language governing permissions and limitations +@REM under the License. +@REM ---------------------------------------------------------------------------- + +@REM ---------------------------------------------------------------------------- +@REM Maven Start Up Batch script +@REM +@REM Required ENV vars: +@REM JAVA_HOME - location of a JDK home dir +@REM +@REM Optional ENV vars +@REM M2_HOME - location of maven2's installed home dir +@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands +@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending +@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven +@REM e.g. to debug Maven itself, use +@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files +@REM ---------------------------------------------------------------------------- + +@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' +@echo off +@REM set title of command window +title %0 +@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' +@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% + +@REM set %HOME% to equivalent of $HOME +if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") + +@REM Execute a user defined script before this one +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre +@REM check for pre script, once with legacy .bat ending and once with .cmd ending +if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %* +if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %* +:skipRcPre + +@setlocal + +set ERROR_CODE=0 + +@REM To isolate internal variables from possible post scripts, we use another setlocal +@setlocal + +@REM ==== START VALIDATION ==== +if not "%JAVA_HOME%" == "" goto OkJHome + +echo. +echo Error: JAVA_HOME not found in your environment. >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +:OkJHome +if exist "%JAVA_HOME%\bin\java.exe" goto init + +echo. +echo Error: JAVA_HOME is set to an invalid directory. >&2 +echo JAVA_HOME = "%JAVA_HOME%" >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +@REM ==== END VALIDATION ==== + +:init + +@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". +@REM Fallback to current working directory if not found. + +set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% +IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir + +set EXEC_DIR=%CD% +set WDIR=%EXEC_DIR% +:findBaseDir +IF EXIST "%WDIR%"\.mvn goto baseDirFound +cd .. +IF "%WDIR%"=="%CD%" goto baseDirNotFound +set WDIR=%CD% +goto findBaseDir + +:baseDirFound +set MAVEN_PROJECTBASEDIR=%WDIR% +cd "%EXEC_DIR%" +goto endDetectBaseDir + +:baseDirNotFound +set MAVEN_PROJECTBASEDIR=%EXEC_DIR% +cd "%EXEC_DIR%" + +:endDetectBaseDir + +IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig + +@setlocal EnableExtensions EnableDelayedExpansion +for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a +@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% + +:endReadAdditionalConfig + +SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" +set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" +set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + +FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( + IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B +) + +@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +@REM This allows using the maven wrapper in projects that prohibit checking in binary data. +if exist %WRAPPER_JAR% ( + if "%MVNW_VERBOSE%" == "true" ( + echo Found %WRAPPER_JAR% + ) +) else ( + if not "%MVNW_REPOURL%" == "" ( + SET DOWNLOAD_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + ) + if "%MVNW_VERBOSE%" == "true" ( + echo Couldn't find %WRAPPER_JAR%, downloading it ... + echo Downloading from: %DOWNLOAD_URL% + ) + + powershell -Command "&{"^ + "$webclient = new-object System.Net.WebClient;"^ + "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ + "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ + "}"^ + "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^ + "}" + if "%MVNW_VERBOSE%" == "true" ( + echo Finished downloading %WRAPPER_JAR% + ) +) +@REM End of extension + +@REM Provide a "standardized" way to retrieve the CLI args that will +@REM work with both Windows and non-Windows executions. +set MAVEN_CMD_LINE_ARGS=%* + +%MAVEN_JAVA_EXE% ^ + %JVM_CONFIG_MAVEN_PROPS% ^ + %MAVEN_OPTS% ^ + %MAVEN_DEBUG_OPTS% ^ + -classpath %WRAPPER_JAR% ^ + "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^ + %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* +if ERRORLEVEL 1 goto error +goto end + +:error +set ERROR_CODE=1 + +:end +@endlocal & set ERROR_CODE=%ERROR_CODE% + +if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost +@REM check for post script, once with legacy .bat ending and once with .cmd ending +if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat" +if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd" +:skipRcPost + +@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' +if "%MAVEN_BATCH_PAUSE%"=="on" pause + +if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE% + +cmd /C exit /B %ERROR_CODE% diff --git a/WebServices/authenticator/pom.xml b/WebServices/authenticator/pom.xml new file mode 100644 index 0000000000000000000000000000000000000000..255f5f4900e55f89aec2d8309e8d152bab55a82c --- /dev/null +++ b/WebServices/authenticator/pom.xml @@ -0,0 +1,43 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>br.ufrn.imd</groupId> + <artifactId>dim0614</artifactId> + <version>1.0-SNAPSHOT</version> + <relativePath>../pom.xml</relativePath> <!-- lookup parent from repository --> + </parent> + + <artifactId>authenticator</artifactId> + <version>0.0.1-SNAPSHOT</version> + <name>authenticator</name> + <description>authenticator service</description> + + <properties> + <java.version>11</java.version> + </properties> + + <build> + <finalName>authenticator</finalName> + <plugins> + <plugin> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-maven-plugin</artifactId> + <configuration> + <executable>true</executable> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + <version>3.8.0</version> + <configuration> + <source>11</source> + <target>11</target> + </configuration> + </plugin> + </plugins> + </build> + +</project> diff --git a/WebServices/authenticator/src/main/java/br/ufrn/imd/authenticator/AuthenticatorApplication.java b/WebServices/authenticator/src/main/java/br/ufrn/imd/authenticator/AuthenticatorApplication.java new file mode 100644 index 0000000000000000000000000000000000000000..6586d0527916a0836469e7cbcd47a184d5efe8c9 --- /dev/null +++ b/WebServices/authenticator/src/main/java/br/ufrn/imd/authenticator/AuthenticatorApplication.java @@ -0,0 +1,13 @@ +package br.ufrn.imd.authenticator; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class AuthenticatorApplication { + + public static void main(String[] args) { + SpringApplication.run(AuthenticatorApplication.class, args); + } + +} diff --git a/WebServices/authenticator/src/main/java/br/ufrn/imd/authenticator/controller/AuthenticatorController.java b/WebServices/authenticator/src/main/java/br/ufrn/imd/authenticator/controller/AuthenticatorController.java new file mode 100644 index 0000000000000000000000000000000000000000..93492674ceab6ab2ab385045447d6e8c5767f7c0 --- /dev/null +++ b/WebServices/authenticator/src/main/java/br/ufrn/imd/authenticator/controller/AuthenticatorController.java @@ -0,0 +1,23 @@ +package br.ufrn.imd.authenticator.controller; + +import br.ufrn.imd.authenticator.domain.Client; +import br.ufrn.imd.authenticator.service.AuthenticatorService; +import br.ufrn.imd.authenticator.utils.message.CredentialsMessage; +import lombok.RequiredArgsConstructor; +import org.springframework.http.HttpStatus; +import org.springframework.web.bind.annotation.*; + +import javax.security.auth.message.AuthException; + +@RequiredArgsConstructor +@RestController +@RequestMapping("auth") +public class AuthenticatorController { + private final AuthenticatorService service; + + @PostMapping("/login") + @ResponseStatus(HttpStatus.OK) + public Client authenticate(@RequestBody CredentialsMessage credentials) throws AuthException { + return service.authenticate(credentials.getNumber(), credentials.getPassword()); + } +} diff --git a/WebServices/authenticator/src/main/java/br/ufrn/imd/authenticator/domain/Account.java b/WebServices/authenticator/src/main/java/br/ufrn/imd/authenticator/domain/Account.java new file mode 100644 index 0000000000000000000000000000000000000000..89dfce19f57d0541b2941cc8db5a4b81f2a0e00c --- /dev/null +++ b/WebServices/authenticator/src/main/java/br/ufrn/imd/authenticator/domain/Account.java @@ -0,0 +1,26 @@ +package br.ufrn.imd.authenticator.domain; + +import lombok.*; + +import javax.persistence.*; +import java.io.Serializable; + +@Data +@Entity +@AllArgsConstructor +@NoArgsConstructor +public class Account implements Serializable { + + private static final long serialVersionUID = 2L; + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Integer id; + + @Column(unique = true) + private String number; + + private Double balance; + + private String password; +} diff --git a/WebServices/authenticator/src/main/java/br/ufrn/imd/authenticator/domain/Client.java b/WebServices/authenticator/src/main/java/br/ufrn/imd/authenticator/domain/Client.java new file mode 100644 index 0000000000000000000000000000000000000000..cc4843fd3cb96fdbb3ca07ab044cb0e9fc6d21a2 --- /dev/null +++ b/WebServices/authenticator/src/main/java/br/ufrn/imd/authenticator/domain/Client.java @@ -0,0 +1,29 @@ +package br.ufrn.imd.authenticator.domain; + +import lombok.*; + +import javax.persistence.*; +import java.io.Serializable; + +@Data +@Entity +@AllArgsConstructor +@NoArgsConstructor +public class Client implements Serializable { + + private static final long serialVersionUID = 1L; + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Integer id; + + private String name; + + @OneToOne(cascade = CascadeType.ALL) + @JoinColumn(name = "account_id") + private Account account; + + public Client(Integer id) { + this.id = id; + } +} diff --git a/WebServices/authenticator/src/main/java/br/ufrn/imd/authenticator/repository/ClientRepository.java b/WebServices/authenticator/src/main/java/br/ufrn/imd/authenticator/repository/ClientRepository.java new file mode 100644 index 0000000000000000000000000000000000000000..5e9b5b9a8907e198495a409bd255ab7490fc7a5f --- /dev/null +++ b/WebServices/authenticator/src/main/java/br/ufrn/imd/authenticator/repository/ClientRepository.java @@ -0,0 +1,16 @@ +package br.ufrn.imd.authenticator.repository; + +import br.ufrn.imd.authenticator.domain.Client; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Query; +import org.springframework.stereotype.Repository; + +import java.util.Optional; + +@Repository +public interface ClientRepository extends JpaRepository<Client, Integer> { + + @Query(value = "SELECT c from Client c where c.account.number = ?1") + Optional<Client> findByAccountNumber(String number); + +} diff --git a/WebServices/authenticator/src/main/java/br/ufrn/imd/authenticator/service/AuthenticatorService.java b/WebServices/authenticator/src/main/java/br/ufrn/imd/authenticator/service/AuthenticatorService.java new file mode 100644 index 0000000000000000000000000000000000000000..e5e13364ed678efeee54dbe159ce01b58a88f69b --- /dev/null +++ b/WebServices/authenticator/src/main/java/br/ufrn/imd/authenticator/service/AuthenticatorService.java @@ -0,0 +1,30 @@ +package br.ufrn.imd.authenticator.service; + +import br.ufrn.imd.authenticator.domain.Client; +import br.ufrn.imd.authenticator.repository.ClientRepository; +import lombok.RequiredArgsConstructor; +import lombok.extern.java.Log; +import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; +import org.springframework.stereotype.Service; + +import javax.security.auth.message.AuthException; + +@Log +@RequiredArgsConstructor +@Service +public class AuthenticatorService { + private final ClientRepository clientRepository; + + public Client authenticate(String accountNumber, String password) throws AuthException { + Client client = clientRepository.findByAccountNumber(accountNumber) + .orElseThrow(() -> new RuntimeException( + String.format("Customer not found with account number %s", accountNumber))); + + if(!new BCryptPasswordEncoder().matches(password, client.getAccount().getPassword())) { + throw new AuthException("Bad credentials"); + } + + log.info(client.getName() + " logged in (account number: " + client.getAccount().getNumber() + ")"); + return client; + } +} diff --git a/WebServices/authenticator/src/main/java/br/ufrn/imd/authenticator/utils/DummyData.java b/WebServices/authenticator/src/main/java/br/ufrn/imd/authenticator/utils/DummyData.java new file mode 100644 index 0000000000000000000000000000000000000000..f4fdab4e8000f289f2f9235b19ad9f018c803ba5 --- /dev/null +++ b/WebServices/authenticator/src/main/java/br/ufrn/imd/authenticator/utils/DummyData.java @@ -0,0 +1,29 @@ +package br.ufrn.imd.authenticator.utils; + +import br.ufrn.imd.authenticator.domain.Account; +import br.ufrn.imd.authenticator.domain.Client; +import br.ufrn.imd.authenticator.repository.ClientRepository; +import lombok.RequiredArgsConstructor; +import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; +import org.springframework.stereotype.Component; + +import javax.annotation.PostConstruct; + +@RequiredArgsConstructor +@Component +public class DummyData { + private final ClientRepository clientRepository; + + @PostConstruct + public void insert() { + if(clientRepository.findAll().isEmpty()) { + Client client1 = new Client(null, "Fernando", new Account(null, "123", 3000d, + new BCryptPasswordEncoder().encode("s#nh4"))); + clientRepository.save(client1); + + Client client2 = new Client(null, "Maria", new Account(null, "321", 3000d, + new BCryptPasswordEncoder().encode("s#nh4"))); + clientRepository.save(client2); + } + } +} diff --git a/WebServices/authenticator/src/main/java/br/ufrn/imd/authenticator/utils/message/CredentialsMessage.java b/WebServices/authenticator/src/main/java/br/ufrn/imd/authenticator/utils/message/CredentialsMessage.java new file mode 100644 index 0000000000000000000000000000000000000000..5853ed2abacfd77d77f9094736617f61c3b426ce --- /dev/null +++ b/WebServices/authenticator/src/main/java/br/ufrn/imd/authenticator/utils/message/CredentialsMessage.java @@ -0,0 +1,15 @@ +package br.ufrn.imd.authenticator.utils.message; + +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.io.Serializable; + +@Data +@AllArgsConstructor +public class CredentialsMessage implements Serializable { + private static final long serialVersionUID = 2L; + + private String number; + private String password; +} diff --git a/WebServices/authenticator/src/main/resources/application.yml b/WebServices/authenticator/src/main/resources/application.yml new file mode 100644 index 0000000000000000000000000000000000000000..b80dfd6f86c3a741a5cbd3653f3deef6e24538a9 --- /dev/null +++ b/WebServices/authenticator/src/main/resources/application.yml @@ -0,0 +1,25 @@ +server: + port: 8087 +eureka: + instance: + prefer-ip-address: true + client: + service-url: + defaultZone: http://registry:8081/eureka/ + fetch-registry: true + register-with-eureka: true + +spring: + application: + name: authenticator + datasource: + url: jdbc:postgresql://postgresServ:5432/postgres + username: postgres + password: postgres + jpa: + show-sql: false + database-platform: org.hibernate.dialect.PostgreSQL9Dialect + hibernate: + ddl-auto: update + jmx: + enabled: false \ No newline at end of file diff --git a/WebServices/authenticator/src/test/java/br/ufrn/imd/authenticator/AuthenticatorApplicationTests.java b/WebServices/authenticator/src/test/java/br/ufrn/imd/authenticator/AuthenticatorApplicationTests.java new file mode 100644 index 0000000000000000000000000000000000000000..fa71124c467ca33b6a744ff47614cd1eae01b9af --- /dev/null +++ b/WebServices/authenticator/src/test/java/br/ufrn/imd/authenticator/AuthenticatorApplicationTests.java @@ -0,0 +1,16 @@ +package br.ufrn.imd.authenticator; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +@RunWith(SpringRunner.class) +@SpringBootTest +class AuthenticatorApplicationTests { + + @Test + void contextLoads() { + } + +} diff --git a/WebServices/balance/src/main/java/br/ufrn/imd/balance/domain/Account.java b/WebServices/balance/src/main/java/br/ufrn/imd/balance/domain/Account.java index 9a4c89d19e4d91ccfcce4e25767e79f42647ea21..7c88d61e743d37152cfbaf2923e4e481891a5113 100644 --- a/WebServices/balance/src/main/java/br/ufrn/imd/balance/domain/Account.java +++ b/WebServices/balance/src/main/java/br/ufrn/imd/balance/domain/Account.java @@ -21,4 +21,6 @@ public class Account implements Serializable { private String number; private Double balance; + + private String password; } diff --git a/WebServices/balance/src/main/java/br/ufrn/imd/balance/domain/Client.java b/WebServices/balance/src/main/java/br/ufrn/imd/balance/domain/Client.java index 248036d4876b0f079fb0d785a532692d19081eff..c6ddcb0615c190ce29ab9419d2043ac70cdee50e 100644 --- a/WebServices/balance/src/main/java/br/ufrn/imd/balance/domain/Client.java +++ b/WebServices/balance/src/main/java/br/ufrn/imd/balance/domain/Client.java @@ -19,7 +19,7 @@ public class Client implements Serializable { private String name; - @OneToOne + @OneToOne(cascade = CascadeType.ALL) @JoinColumn(name = "account_id") private Account account; diff --git a/WebServices/balance/target/classes/br/ufrn/imd/balance/domain/Account.class b/WebServices/balance/target/classes/br/ufrn/imd/balance/domain/Account.class index 2b55e51f6b6cb27eb64b7d1984b2351495b28ed0..7a7de1665a1dfef9805b0d6a5027bbc5799f5025 100644 Binary files a/WebServices/balance/target/classes/br/ufrn/imd/balance/domain/Account.class and b/WebServices/balance/target/classes/br/ufrn/imd/balance/domain/Account.class differ diff --git a/WebServices/balance/target/classes/br/ufrn/imd/balance/domain/Client.class b/WebServices/balance/target/classes/br/ufrn/imd/balance/domain/Client.class index 90a6707e3f499160872ab44c63148ed1b5bbb569..63619d95b4b2833fc5ba0e309c04faf5a96fbcfb 100644 Binary files a/WebServices/balance/target/classes/br/ufrn/imd/balance/domain/Client.class and b/WebServices/balance/target/classes/br/ufrn/imd/balance/domain/Client.class differ diff --git a/WebServices/balance/target/maven-archiver/pom.properties b/WebServices/balance/target/maven-archiver/pom.properties index 88dc348660793f2cf4e9a89eaa2b23f4f164ed77..9c45c41d2c312d08c4537905879c7e190686aedc 100644 --- a/WebServices/balance/target/maven-archiver/pom.properties +++ b/WebServices/balance/target/maven-archiver/pom.properties @@ -1,4 +1,4 @@ -#Created by Apache Maven 3.6.3 +#Created by Apache Maven 3.8.4 groupId=br.ufrn.imd artifactId=balance version=0.0.1-SNAPSHOT diff --git a/WebServices/balance/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/WebServices/balance/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst index 506c68ae2d864152b041236900c6ce54215eb100..91cc13fb4a4e7beab1f0d137f24342fcaeca127b 100644 --- a/WebServices/balance/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +++ b/WebServices/balance/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -1,6 +1,6 @@ -br/ufrn/imd/balance/domain/Account.class -br/ufrn/imd/balance/controller/BalanceController.class -br/ufrn/imd/balance/repository/ClientRepository.class -br/ufrn/imd/balance/domain/Client.class -br/ufrn/imd/balance/BalanceApplication.class -br/ufrn/imd/balance/service/BalanceService.class +br\ufrn\imd\balance\BalanceApplication.class +br\ufrn\imd\balance\controller\BalanceController.class +br\ufrn\imd\balance\domain\Account.class +br\ufrn\imd\balance\domain\Client.class +br\ufrn\imd\balance\repository\ClientRepository.class +br\ufrn\imd\balance\service\BalanceService.class diff --git a/WebServices/balance/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/WebServices/balance/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst index 71603feacfc5af437722f6f95968d415d90b72cd..0f689c38a32a18d60c63d4a2cbd2de8863b19d36 100644 --- a/WebServices/balance/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +++ b/WebServices/balance/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -1,6 +1,6 @@ -/home/ff/code/IMD-AULAS/dim0614/WebServices/balance/src/main/java/br/ufrn/imd/balance/BalanceApplication.java -/home/ff/code/IMD-AULAS/dim0614/WebServices/balance/src/main/java/br/ufrn/imd/balance/controller/BalanceController.java -/home/ff/code/IMD-AULAS/dim0614/WebServices/balance/src/main/java/br/ufrn/imd/balance/domain/Client.java -/home/ff/code/IMD-AULAS/dim0614/WebServices/balance/src/main/java/br/ufrn/imd/balance/service/BalanceService.java -/home/ff/code/IMD-AULAS/dim0614/WebServices/balance/src/main/java/br/ufrn/imd/balance/repository/ClientRepository.java -/home/ff/code/IMD-AULAS/dim0614/WebServices/balance/src/main/java/br/ufrn/imd/balance/domain/Account.java +C:\Users\maria\Documents\Projetos\dim0614\WebServices\balance\src\main\java\br\ufrn\imd\balance\repository\ClientRepository.java +C:\Users\maria\Documents\Projetos\dim0614\WebServices\balance\src\main\java\br\ufrn\imd\balance\controller\BalanceController.java +C:\Users\maria\Documents\Projetos\dim0614\WebServices\balance\src\main\java\br\ufrn\imd\balance\BalanceApplication.java +C:\Users\maria\Documents\Projetos\dim0614\WebServices\balance\src\main\java\br\ufrn\imd\balance\service\BalanceService.java +C:\Users\maria\Documents\Projetos\dim0614\WebServices\balance\src\main\java\br\ufrn\imd\balance\domain\Account.java +C:\Users\maria\Documents\Projetos\dim0614\WebServices\balance\src\main\java\br\ufrn\imd\balance\domain\Client.java diff --git a/WebServices/balance/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/WebServices/balance/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst index acc938601d964f4ae34f8d7176eb35a1150158b3..3a5345ad0769a7ebacaabdd4abc78f4ee36396a5 100644 --- a/WebServices/balance/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst +++ b/WebServices/balance/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst @@ -1 +1 @@ -br/ufrn/imd/withdrawal/CourseApplicationTests.class +br\ufrn\imd\withdrawal\CourseApplicationTests.class diff --git a/WebServices/balance/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/WebServices/balance/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst index 87bcf060125a69d1781ca28070517cb2a584fb19..62020966d6bf88c17ef9d9e53124898e1e9dc931 100644 --- a/WebServices/balance/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst +++ b/WebServices/balance/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst @@ -1 +1 @@ -/home/ff/code/IMD-AULAS/dim0614/WebServices/balance/src/test/java/br/ufrn/imd/withdrawal/CourseApplicationTests.java +C:\Users\maria\Documents\Projetos\dim0614\WebServices\balance\src\test\java\br\ufrn\imd\withdrawal\CourseApplicationTests.java diff --git a/WebServices/client/src/main/java/br/ufrn/imd/client/domain/Account.java b/WebServices/client/src/main/java/br/ufrn/imd/client/domain/Account.java index 4b919281c0d8acb49e9b0180dd7291c543aa25ec..6be2d49a8c008fe8e4d41cc2416e69b849de7058 100644 --- a/WebServices/client/src/main/java/br/ufrn/imd/client/domain/Account.java +++ b/WebServices/client/src/main/java/br/ufrn/imd/client/domain/Account.java @@ -23,4 +23,6 @@ public class Account implements Serializable { private String number; private Double balance; + + private String password; } diff --git a/WebServices/client/src/main/java/br/ufrn/imd/client/domain/Client.java b/WebServices/client/src/main/java/br/ufrn/imd/client/domain/Client.java index 955b1fa22823da763558f2882501c1c2933b5dac..22a8981968c9ab542b8fddb5642c3bd8f0e51b38 100644 --- a/WebServices/client/src/main/java/br/ufrn/imd/client/domain/Client.java +++ b/WebServices/client/src/main/java/br/ufrn/imd/client/domain/Client.java @@ -21,7 +21,7 @@ public class Client implements Serializable { private String name; - @OneToOne + @OneToOne(cascade = CascadeType.ALL) @JoinColumn(name = "account_id") private Account account; diff --git a/WebServices/client/src/main/java/br/ufrn/imd/client/utils/MachineState.java b/WebServices/client/src/main/java/br/ufrn/imd/client/utils/MachineState.java index e65c0ec43c87f019e9a7b15750ed944bd2d1da37..ada170d45d80e77b64f547a995e195bbbdc5ee7f 100644 --- a/WebServices/client/src/main/java/br/ufrn/imd/client/utils/MachineState.java +++ b/WebServices/client/src/main/java/br/ufrn/imd/client/utils/MachineState.java @@ -161,7 +161,7 @@ public class MachineState { System.out.println(">>> Please enter with the value that you want transfer"); String v = sc.nextLine(); - Account account = new Account(null, accountNumber, null); + Account account = new Account(null, accountNumber, null, null); TransferMessage transferMessage = new TransferMessage(this.client, account, Double.parseDouble(v)); ResponseEntity<Account> response = restTemplate.postForEntity(HOST_TRANSFER_SERVICE, transferMessage, Account.class); diff --git a/WebServices/deposit/src/main/java/br/ufrn/imd/deposit/domain/Account.java b/WebServices/deposit/src/main/java/br/ufrn/imd/deposit/domain/Account.java index 78adadad85d2476ec4dd9186a48083834caa9d70..9bd8d2440ed686189b4a38081e3738d86961dd51 100644 --- a/WebServices/deposit/src/main/java/br/ufrn/imd/deposit/domain/Account.java +++ b/WebServices/deposit/src/main/java/br/ufrn/imd/deposit/domain/Account.java @@ -21,4 +21,6 @@ public class Account implements Serializable { private String number; private Double balance; + + private String password; } diff --git a/WebServices/deposit/src/main/java/br/ufrn/imd/deposit/domain/Client.java b/WebServices/deposit/src/main/java/br/ufrn/imd/deposit/domain/Client.java index 47881bb5c08164eb4a4c2eb4784652f6dde90abf..fea289f41a982476a3d9c07a2701883d2f0e23a4 100644 --- a/WebServices/deposit/src/main/java/br/ufrn/imd/deposit/domain/Client.java +++ b/WebServices/deposit/src/main/java/br/ufrn/imd/deposit/domain/Client.java @@ -19,7 +19,7 @@ public class Client implements Serializable { private String name; - @OneToOne + @OneToOne(cascade = CascadeType.ALL) @JoinColumn(name = "account_id") private Account account; diff --git a/WebServices/deposit/target/maven-archiver/pom.properties b/WebServices/deposit/target/maven-archiver/pom.properties index 0bb7375a00321fe76231deb38ef09fff953c721f..0bc277fa9d32e3056d794aaf0f4eab5b8d609390 100644 --- a/WebServices/deposit/target/maven-archiver/pom.properties +++ b/WebServices/deposit/target/maven-archiver/pom.properties @@ -1,4 +1,4 @@ -#Created by Apache Maven 3.6.3 +#Created by Apache Maven 3.8.4 groupId=br.ufrn.imd artifactId=deposit version=0.0.1-SNAPSHOT diff --git a/WebServices/deposit/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/WebServices/deposit/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst index d4f4dfd13da7c6030cc2c98a044e666f20d1d1b2..3874cffd6ccf32aa0b920ab83481dc9e2f34a9c8 100644 --- a/WebServices/deposit/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +++ b/WebServices/deposit/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -1,6 +1,6 @@ -br/ufrn/imd/deposit/controller/DepositController.class -br/ufrn/imd/deposit/domain/Account.class -br/ufrn/imd/deposit/DepositApplication.class -br/ufrn/imd/deposit/service/DepositService.class -br/ufrn/imd/deposit/repository/ClientRepository.class -br/ufrn/imd/deposit/domain/Client.class +br\ufrn\imd\deposit\DepositApplication.class +br\ufrn\imd\deposit\domain\Client.class +br\ufrn\imd\deposit\repository\ClientRepository.class +br\ufrn\imd\deposit\service\DepositService.class +br\ufrn\imd\deposit\controller\DepositController.class +br\ufrn\imd\deposit\domain\Account.class diff --git a/WebServices/deposit/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/WebServices/deposit/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst index 839b90fa4f967877e90f21f3dd28866a23b8a39d..ac0e43ae425d8307be71f3864cf0c615b72c20fb 100644 --- a/WebServices/deposit/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +++ b/WebServices/deposit/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -1,6 +1,6 @@ -/home/ff/code/IMD-AULAS/dim0614/WebServices/deposit/src/main/java/br/ufrn/imd/deposit/domain/Client.java -/home/ff/code/IMD-AULAS/dim0614/WebServices/deposit/src/main/java/br/ufrn/imd/deposit/DepositApplication.java -/home/ff/code/IMD-AULAS/dim0614/WebServices/deposit/src/main/java/br/ufrn/imd/deposit/repository/ClientRepository.java -/home/ff/code/IMD-AULAS/dim0614/WebServices/deposit/src/main/java/br/ufrn/imd/deposit/service/DepositService.java -/home/ff/code/IMD-AULAS/dim0614/WebServices/deposit/src/main/java/br/ufrn/imd/deposit/domain/Account.java -/home/ff/code/IMD-AULAS/dim0614/WebServices/deposit/src/main/java/br/ufrn/imd/deposit/controller/DepositController.java +C:\Users\maria\Documents\Projetos\dim0614\WebServices\deposit\src\main\java\br\ufrn\imd\deposit\domain\Client.java +C:\Users\maria\Documents\Projetos\dim0614\WebServices\deposit\src\main\java\br\ufrn\imd\deposit\controller\DepositController.java +C:\Users\maria\Documents\Projetos\dim0614\WebServices\deposit\src\main\java\br\ufrn\imd\deposit\domain\Account.java +C:\Users\maria\Documents\Projetos\dim0614\WebServices\deposit\src\main\java\br\ufrn\imd\deposit\repository\ClientRepository.java +C:\Users\maria\Documents\Projetos\dim0614\WebServices\deposit\src\main\java\br\ufrn\imd\deposit\DepositApplication.java +C:\Users\maria\Documents\Projetos\dim0614\WebServices\deposit\src\main\java\br\ufrn\imd\deposit\service\DepositService.java diff --git a/WebServices/deposit/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/WebServices/deposit/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst index acc938601d964f4ae34f8d7176eb35a1150158b3..3a5345ad0769a7ebacaabdd4abc78f4ee36396a5 100644 --- a/WebServices/deposit/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst +++ b/WebServices/deposit/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst @@ -1 +1 @@ -br/ufrn/imd/withdrawal/CourseApplicationTests.class +br\ufrn\imd\withdrawal\CourseApplicationTests.class diff --git a/WebServices/deposit/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/WebServices/deposit/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst index 34faa201a9bcf064e4b4dc9c30f9df34e4b7ca9f..9ed5032d7443921f5703a4746380a7805d383002 100644 --- a/WebServices/deposit/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst +++ b/WebServices/deposit/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst @@ -1 +1 @@ -/home/ff/code/IMD-AULAS/dim0614/WebServices/deposit/src/test/java/br/ufrn/imd/withdrawal/CourseApplicationTests.java +C:\Users\maria\Documents\Projetos\dim0614\WebServices\deposit\src\test\java\br\ufrn\imd\withdrawal\CourseApplicationTests.java diff --git a/WebServices/docker-compose.yml b/WebServices/docker-compose.yml index 93f96fa12f216eb6f0d8fffd229cf0084ea110ef..d10186cd3123f4ef8b90da263f88c44eac8867c4 100644 --- a/WebServices/docker-compose.yml +++ b/WebServices/docker-compose.yml @@ -94,6 +94,20 @@ services: - gateway + authenticator: + container_name: authenticator-server + build: + context: authenticator + dockerfile: ./Dockerfile + ports: + - 8087:8087 + networks: + - sigsmartcampus2-network + depends_on: + - postgresServ + - gateway + + networks: sigsmartcampus2-network: diff --git a/WebServices/pom.xml b/WebServices/pom.xml index bc46f03576eceff96138bfb8a466beea6ba6938d..c2fd4dd22da95538e1c68ac2cdf1398462d6f8fc 100644 --- a/WebServices/pom.xml +++ b/WebServices/pom.xml @@ -22,6 +22,7 @@ <module>transfer</module> <module>deposit</module> <module>client</module> + <module>authenticator</module> </modules> <properties> <spring-cloud.version>Greenwich.RELEASE</spring-cloud.version> diff --git a/WebServices/transfer/src/main/java/br/ufrn/imd/transfer/controller/TransferController.java b/WebServices/transfer/src/main/java/br/ufrn/imd/transfer/controller/TransferController.java index 2d8606eb940c23ee8daaa3d64a5e7f838784806f..097d7c9684179846ea564b36c126449cf117aa22 100644 --- a/WebServices/transfer/src/main/java/br/ufrn/imd/transfer/controller/TransferController.java +++ b/WebServices/transfer/src/main/java/br/ufrn/imd/transfer/controller/TransferController.java @@ -19,6 +19,6 @@ public class TransferController { @ResponseStatus(HttpStatus.OK) public Client transfer(@PathVariable Integer id, @RequestParam(name = "value") Double value, @RequestParam(name = "toAccount") String toAccountNumber) { - return service.transfer(value, new Client(id), new Account(null, toAccountNumber, null)); + return service.transfer(value, new Client(id), new Account(null, toAccountNumber, null, null)); } } diff --git a/WebServices/transfer/src/main/java/br/ufrn/imd/transfer/domain/Account.java b/WebServices/transfer/src/main/java/br/ufrn/imd/transfer/domain/Account.java index c2b757baf9005f40b69774040033180cba2c23a1..56196c5dfe07f6dd27fb08f2fa4b70e76c175073 100644 --- a/WebServices/transfer/src/main/java/br/ufrn/imd/transfer/domain/Account.java +++ b/WebServices/transfer/src/main/java/br/ufrn/imd/transfer/domain/Account.java @@ -21,4 +21,6 @@ public class Account implements Serializable { private String number; private Double balance; + + private String password; } diff --git a/WebServices/transfer/src/main/java/br/ufrn/imd/transfer/domain/Client.java b/WebServices/transfer/src/main/java/br/ufrn/imd/transfer/domain/Client.java index a4ede228c625037b24ae7a21e9199752783146f3..21af242865da3952f3ca8da5b283fc8fd9164315 100644 --- a/WebServices/transfer/src/main/java/br/ufrn/imd/transfer/domain/Client.java +++ b/WebServices/transfer/src/main/java/br/ufrn/imd/transfer/domain/Client.java @@ -19,7 +19,7 @@ public class Client implements Serializable { private String name; - @OneToOne + @OneToOne(cascade = CascadeType.ALL) @JoinColumn(name = "account_id") private Account account; diff --git a/WebServices/transfer/target/maven-archiver/pom.properties b/WebServices/transfer/target/maven-archiver/pom.properties index 42f84053c1dc69e4939ac3990595b951f3d860ba..40e39ac6c141c3a9570e5c28983b998ab8e843ae 100644 --- a/WebServices/transfer/target/maven-archiver/pom.properties +++ b/WebServices/transfer/target/maven-archiver/pom.properties @@ -1,4 +1,4 @@ -#Created by Apache Maven 3.6.3 +#Created by Apache Maven 3.8.4 groupId=br.ufrn.imd artifactId=transfer version=0.0.1-SNAPSHOT diff --git a/WebServices/transfer/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/WebServices/transfer/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst index b4c8e86b5178a39ef7cecd4ad710df4ee60f2d70..73a0ccf74d20d1c880891409cf59bd82a3c8f36c 100644 --- a/WebServices/transfer/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +++ b/WebServices/transfer/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -1,6 +1,6 @@ -br/ufrn/imd/transfer/repository/ClientRepository.class -br/ufrn/imd/transfer/controller/TransferController.class -br/ufrn/imd/transfer/domain/Client.class -br/ufrn/imd/transfer/domain/Account.class -br/ufrn/imd/transfer/TransferApplication.class -br/ufrn/imd/transfer/service/TransferService.class +br\ufrn\imd\transfer\domain\Account.class +br\ufrn\imd\transfer\TransferApplication.class +br\ufrn\imd\transfer\service\TransferService.class +br\ufrn\imd\transfer\controller\TransferController.class +br\ufrn\imd\transfer\domain\Client.class +br\ufrn\imd\transfer\repository\ClientRepository.class diff --git a/WebServices/transfer/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/WebServices/transfer/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst index 0fe3447416bab0e28fa2ae5965a4809d85c94f58..2a4e6d7faa424f6a7400b1afa21fb30adef02a4a 100644 --- a/WebServices/transfer/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +++ b/WebServices/transfer/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -1,6 +1,6 @@ -/home/ff/code/IMD-AULAS/dim0614/WebServices/transfer/src/main/java/br/ufrn/imd/transfer/domain/Client.java -/home/ff/code/IMD-AULAS/dim0614/WebServices/transfer/src/main/java/br/ufrn/imd/transfer/controller/TransferController.java -/home/ff/code/IMD-AULAS/dim0614/WebServices/transfer/src/main/java/br/ufrn/imd/transfer/domain/Account.java -/home/ff/code/IMD-AULAS/dim0614/WebServices/transfer/src/main/java/br/ufrn/imd/transfer/service/TransferService.java -/home/ff/code/IMD-AULAS/dim0614/WebServices/transfer/src/main/java/br/ufrn/imd/transfer/repository/ClientRepository.java -/home/ff/code/IMD-AULAS/dim0614/WebServices/transfer/src/main/java/br/ufrn/imd/transfer/TransferApplication.java +C:\Users\maria\Documents\Projetos\dim0614\WebServices\transfer\src\main\java\br\ufrn\imd\transfer\repository\ClientRepository.java +C:\Users\maria\Documents\Projetos\dim0614\WebServices\transfer\src\main\java\br\ufrn\imd\transfer\controller\TransferController.java +C:\Users\maria\Documents\Projetos\dim0614\WebServices\transfer\src\main\java\br\ufrn\imd\transfer\domain\Client.java +C:\Users\maria\Documents\Projetos\dim0614\WebServices\transfer\src\main\java\br\ufrn\imd\transfer\service\TransferService.java +C:\Users\maria\Documents\Projetos\dim0614\WebServices\transfer\src\main\java\br\ufrn\imd\transfer\domain\Account.java +C:\Users\maria\Documents\Projetos\dim0614\WebServices\transfer\src\main\java\br\ufrn\imd\transfer\TransferApplication.java diff --git a/WebServices/transfer/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/WebServices/transfer/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst index acc938601d964f4ae34f8d7176eb35a1150158b3..3a5345ad0769a7ebacaabdd4abc78f4ee36396a5 100644 --- a/WebServices/transfer/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst +++ b/WebServices/transfer/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst @@ -1 +1 @@ -br/ufrn/imd/withdrawal/CourseApplicationTests.class +br\ufrn\imd\withdrawal\CourseApplicationTests.class diff --git a/WebServices/transfer/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/WebServices/transfer/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst index 75e2baf99c1ed5d03ae52cf25f02216141298557..53b7d27bca88aa20406b0ef108af0a6eabf9c8d0 100644 --- a/WebServices/transfer/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst +++ b/WebServices/transfer/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst @@ -1 +1 @@ -/home/ff/code/IMD-AULAS/dim0614/WebServices/transfer/src/test/java/br/ufrn/imd/withdrawal/CourseApplicationTests.java +C:\Users\maria\Documents\Projetos\dim0614\WebServices\transfer\src\test\java\br\ufrn\imd\withdrawal\CourseApplicationTests.java diff --git a/WebServices/withdrawal/src/main/java/br/ufrn/imd/withdrawal/domain/Account.java b/WebServices/withdrawal/src/main/java/br/ufrn/imd/withdrawal/domain/Account.java index 1431f514e9214024bf976c2c626888c946299b40..5dc148a4f8604bfcdf64ca00a3e77868dabf7970 100644 --- a/WebServices/withdrawal/src/main/java/br/ufrn/imd/withdrawal/domain/Account.java +++ b/WebServices/withdrawal/src/main/java/br/ufrn/imd/withdrawal/domain/Account.java @@ -21,4 +21,6 @@ public class Account implements Serializable { private String number; private Double balance; + + private String password; } diff --git a/WebServices/withdrawal/src/main/java/br/ufrn/imd/withdrawal/domain/Client.java b/WebServices/withdrawal/src/main/java/br/ufrn/imd/withdrawal/domain/Client.java index b1de654f1ce2d58cd723816305f725f69a7487d4..15df30b4413fab7e4dc7b3588d79bf4cbfb8563b 100644 --- a/WebServices/withdrawal/src/main/java/br/ufrn/imd/withdrawal/domain/Client.java +++ b/WebServices/withdrawal/src/main/java/br/ufrn/imd/withdrawal/domain/Client.java @@ -19,7 +19,7 @@ public class Client implements Serializable { private String name; - @OneToOne + @OneToOne(cascade = CascadeType.ALL) @JoinColumn(name = "account_id") private Account account; diff --git a/WebServices/withdrawal/target/classes/br/ufrn/imd/withdrawal/domain/Account.class b/WebServices/withdrawal/target/classes/br/ufrn/imd/withdrawal/domain/Account.class index cd1485167173b8cf19436b0f2f4d8ba628df9355..6c11f0e5d29c3870ff0027e55ee6890adcc560fb 100644 Binary files a/WebServices/withdrawal/target/classes/br/ufrn/imd/withdrawal/domain/Account.class and b/WebServices/withdrawal/target/classes/br/ufrn/imd/withdrawal/domain/Account.class differ diff --git a/WebServices/withdrawal/target/classes/br/ufrn/imd/withdrawal/domain/Client.class b/WebServices/withdrawal/target/classes/br/ufrn/imd/withdrawal/domain/Client.class index 2a57f8225f579e5c8fc4daacd06e0c932404d77b..d0f30c239c03971ba491deee2bbfb58dcf0a8f4a 100644 Binary files a/WebServices/withdrawal/target/classes/br/ufrn/imd/withdrawal/domain/Client.class and b/WebServices/withdrawal/target/classes/br/ufrn/imd/withdrawal/domain/Client.class differ diff --git a/WebServices/withdrawal/target/maven-archiver/pom.properties b/WebServices/withdrawal/target/maven-archiver/pom.properties index 6b1d262b91d00e937d7615c1678176063a59f878..91e3e62c8c101e08d504dc1aa799ce4adce805b1 100644 --- a/WebServices/withdrawal/target/maven-archiver/pom.properties +++ b/WebServices/withdrawal/target/maven-archiver/pom.properties @@ -1,4 +1,4 @@ -#Created by Apache Maven 3.6.3 +#Created by Apache Maven 3.8.4 groupId=br.ufrn.imd artifactId=withdrawal version=0.0.1-SNAPSHOT diff --git a/WebServices/withdrawal/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/WebServices/withdrawal/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst index 3d142b7ac0201d3fc412947f5e5860d4c02ab8a0..28229e8b7730aed9abc5090e0519d0499f82d0f8 100644 --- a/WebServices/withdrawal/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +++ b/WebServices/withdrawal/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -1,6 +1,6 @@ -br/ufrn/imd/withdrawal/domain/Account.class -br/ufrn/imd/withdrawal/domain/Client.class -br/ufrn/imd/withdrawal/controller/WithdrawalController.class -br/ufrn/imd/withdrawal/service/WithdrawalService.class -br/ufrn/imd/withdrawal/repository/ClientRepository.class -br/ufrn/imd/withdrawal/WithdrawalApplication.class +br\ufrn\imd\withdrawal\domain\Account.class +br\ufrn\imd\withdrawal\domain\Client.class +br\ufrn\imd\withdrawal\WithdrawalApplication.class +br\ufrn\imd\withdrawal\service\WithdrawalService.class +br\ufrn\imd\withdrawal\controller\WithdrawalController.class +br\ufrn\imd\withdrawal\repository\ClientRepository.class diff --git a/WebServices/withdrawal/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/WebServices/withdrawal/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst index 048a3abf5fd905e9833597d2e2909f28a8e51462..f0c96b287a0d63b4884344c085d5de5c789575e3 100644 --- a/WebServices/withdrawal/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +++ b/WebServices/withdrawal/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -1,6 +1,6 @@ -/home/ff/code/IMD-AULAS/dim0614/WebServices/withdrawal/src/main/java/br/ufrn/imd/withdrawal/domain/Client.java -/home/ff/code/IMD-AULAS/dim0614/WebServices/withdrawal/src/main/java/br/ufrn/imd/withdrawal/controller/WithdrawalController.java -/home/ff/code/IMD-AULAS/dim0614/WebServices/withdrawal/src/main/java/br/ufrn/imd/withdrawal/repository/ClientRepository.java -/home/ff/code/IMD-AULAS/dim0614/WebServices/withdrawal/src/main/java/br/ufrn/imd/withdrawal/domain/Account.java -/home/ff/code/IMD-AULAS/dim0614/WebServices/withdrawal/src/main/java/br/ufrn/imd/withdrawal/service/WithdrawalService.java -/home/ff/code/IMD-AULAS/dim0614/WebServices/withdrawal/src/main/java/br/ufrn/imd/withdrawal/WithdrawalApplication.java +C:\Users\maria\Documents\Projetos\dim0614\WebServices\withdrawal\src\main\java\br\ufrn\imd\withdrawal\domain\Account.java +C:\Users\maria\Documents\Projetos\dim0614\WebServices\withdrawal\src\main\java\br\ufrn\imd\withdrawal\domain\Client.java +C:\Users\maria\Documents\Projetos\dim0614\WebServices\withdrawal\src\main\java\br\ufrn\imd\withdrawal\WithdrawalApplication.java +C:\Users\maria\Documents\Projetos\dim0614\WebServices\withdrawal\src\main\java\br\ufrn\imd\withdrawal\repository\ClientRepository.java +C:\Users\maria\Documents\Projetos\dim0614\WebServices\withdrawal\src\main\java\br\ufrn\imd\withdrawal\controller\WithdrawalController.java +C:\Users\maria\Documents\Projetos\dim0614\WebServices\withdrawal\src\main\java\br\ufrn\imd\withdrawal\service\WithdrawalService.java diff --git a/WebServices/withdrawal/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/WebServices/withdrawal/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst index acc938601d964f4ae34f8d7176eb35a1150158b3..3a5345ad0769a7ebacaabdd4abc78f4ee36396a5 100644 --- a/WebServices/withdrawal/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst +++ b/WebServices/withdrawal/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst @@ -1 +1 @@ -br/ufrn/imd/withdrawal/CourseApplicationTests.class +br\ufrn\imd\withdrawal\CourseApplicationTests.class diff --git a/WebServices/withdrawal/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/WebServices/withdrawal/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst index 51bcfa04f4f55e7baa21a3e417df2931654a5a5a..bb62f833d933e8ccda5183988e551c989fbbad0a 100644 --- a/WebServices/withdrawal/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst +++ b/WebServices/withdrawal/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst @@ -1 +1 @@ -/home/ff/code/IMD-AULAS/dim0614/WebServices/withdrawal/src/test/java/br/ufrn/imd/withdrawal/CourseApplicationTests.java +C:\Users\maria\Documents\Projetos\dim0614\WebServices\withdrawal\src\test\java\br\ufrn\imd\withdrawal\CourseApplicationTests.java