From 8e10b7bbc8ae31acc8db5876ef3034d8ddb323e0 Mon Sep 17 00:00:00 2001 From: emtunhei <emtunhei@stud.ntnu.no> Date: Tue, 22 Feb 2022 11:18:35 +0100 Subject: [PATCH] Added authentication class --- .../java/com/application/Credentials.java | 5 ++ .../application/DataBase/Authentication.java | 44 ++++++++++++++++++ src/main/java/com/application/Main.java | 9 +++- .../sf-drying-optimization-1e234ad2b0f4.json | 12 +++++ .../application/DataBase/Authentication.class | Bin 0 -> 3333 bytes target/classes/com/application/Main.class | Bin 1515 -> 1731 bytes 6 files changed, 69 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/application/Credentials.java create mode 100644 src/main/java/com/application/DataBase/Authentication.java create mode 100644 target/classes/com.application/sf-drying-optimization-1e234ad2b0f4.json create mode 100644 target/classes/com/application/DataBase/Authentication.class diff --git a/src/main/java/com/application/Credentials.java b/src/main/java/com/application/Credentials.java new file mode 100644 index 0000000..7f1a1f6 --- /dev/null +++ b/src/main/java/com/application/Credentials.java @@ -0,0 +1,5 @@ +package com.application; + +public class Credentials { + String projectId = "MY_PROJECT_ID"; +} diff --git a/src/main/java/com/application/DataBase/Authentication.java b/src/main/java/com/application/DataBase/Authentication.java new file mode 100644 index 0000000..76edde3 --- /dev/null +++ b/src/main/java/com/application/DataBase/Authentication.java @@ -0,0 +1,44 @@ +package com.application.DataBase; + +import com.application.Credentials; +import com.google.auth.oauth2.GoogleCredentials; +import com.google.auth.oauth2.ServiceAccountCredentials; +import com.google.cloud.bigquery.BigQuery; +import com.google.cloud.bigquery.BigQueryOptions; +import com.google.cloud.bigquery.Dataset; + +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; + +public class Authentication{ + + public static void explicit() throws IOException { + // TODO(developer): Replace these variables before running the sample. + String projectId = String.valueOf(new Credentials()); + File credentialsPath = new File(".\\src\\main\\resources\\com.application\\sf-drying-optimization-1e234ad2b0f4.json"); + + // Load credentials from JSON key file. If you can't set the GOOGLE_APPLICATION_CREDENTIALS + // environment variable, you can explicitly load the credentials file to construct the + // credentials. + GoogleCredentials credentials; + try (FileInputStream serviceAccountStream = new FileInputStream(credentialsPath)) { + credentials = ServiceAccountCredentials.fromStream(serviceAccountStream); + } + + // Instantiate a client. + BigQuery bigquery = + BigQueryOptions.newBuilder() + .setCredentials(credentials) + .setProjectId(projectId) + .build() + .getService(); + + // Use the client. + System.out.println("Datasets:"); + for (Dataset dataset : bigquery.listDatasets().iterateAll()) { + System.out.printf("%s%n", dataset.getDatasetId().getDataset()); + } + } + +} diff --git a/src/main/java/com/application/Main.java b/src/main/java/com/application/Main.java index b0e9ece..c23bf11 100644 --- a/src/main/java/com/application/Main.java +++ b/src/main/java/com/application/Main.java @@ -1,17 +1,24 @@ package com.application; +import com.application.DataBase.Authentication; import javafx.application.Application; import javafx.fxml.FXMLLoader; import javafx.scene.Parent; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.stage.Stage; + +import java.io.IOException; +import java.nio.file.Paths; import java.util.Objects; +import static com.application.DataBase.Authentication.explicit; + public class Main extends Application { Button button; - public static void main(String[] args) { + public static void main(String[] args) throws IOException { //System.out.println("Hello world!"); + //Authentication test = explicit(); launch(args); } diff --git a/target/classes/com.application/sf-drying-optimization-1e234ad2b0f4.json b/target/classes/com.application/sf-drying-optimization-1e234ad2b0f4.json new file mode 100644 index 0000000..9444592 --- /dev/null +++ b/target/classes/com.application/sf-drying-optimization-1e234ad2b0f4.json @@ -0,0 +1,12 @@ +{ + "type": "service_account", + "project_id": "sf-drying-optimization", + "private_key_id": "1e234ad2b0f42caff46c54993f72e6ed7a6e47f5", + "private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC9uUivxQCvsUYW\nM2GCJaioM4/KdHIhkgbtGFKtYacQcvJaE1z9RsgTBThWAYXblkigptJ9pCOPIpFR\naqDGujua7+bEm37eQ8pEAPiiSHqNWaevzSjS9OZ8vLD+0AdDy17HuL1KjnR6vJi6\nBRfVfvu3DtzxJbsUutxTwjDTUIZqg6QLeRja0sfa5r1lbqJ6o/uK99fYi3cuW9XW\nbK5czMROw+lNeVU9S2B/5EfezeD+Qtt0hPL6IVdz5oCtbQY9Sj/C+N+tyjPYYXKG\neEZhfvVZOmilIyTupXH+5CJfezxYP6Weg0nD8a6Zt71FSces82PufCU/swiEgh9/\n9zv+anPrAgMBAAECggEAJxcI6eY+OPTeiu51NbqKoHVXOBB7/3y13p33Uu/e2x3D\n31lD/I9b48dcjyPrL44sUqVskySBixlFNbAxhiCS7V5mfrXHEwaGozJMCCvEzGDf\nkvJDagu5fZPnJ+k2xfoeAiqHHdhyGWPIV/N6sKtkM5hlX241uJSzlrJZGwDpYQJ5\na2s5YIw+wLZ90Ybj/V7mvZ0UFLDJV6JztIg1pxSC0CTA7Fz6oZdwIKytBGcYSved\n8tkVPufkL7LtYoNZFrzkgPrTBpm0Teq+XUpCazIySEcOBySbdlhdhMf66nawY1Tx\nRsRUxTtWuFrtDl3XIFOv8C1iAtDiPA4b4Yb8sTR2eQKBgQDuz7xvxYeZdzyFWZlI\nQRVvJAYWT2p2bhImSA9I097B8mWtQ/TY5qankwFcuP+nu3u2MKYRszPrIt5eoH73\nMFi2cqMHOVmsx8JALG4vWlkNNKier06JnuJjH6hh5nQBU+cFuhkHIVfbjBnCiSz8\nizIZxeFG88JfqZFVBR6OIpYyzQKBgQDLYRLQGseonf8Rdv5oRLAL49Q+NnimC2Mo\n7io+DqlhbTFWxE0M6DUZO9C+MesHHSCmw3ZgqT6ykQPxCKZ6ZLQzQzDRqNi+4vy7\n2+BFwKqvUIJtMP0cLNMBRpsjmYMXQqhHGFAHuDsRyyKu0YTUayEB4/MBBnoqnC48\nygBudP5xlwKBgQDQTBu1dhqHTkxYl8UuE66paUdx8EURFYL5JwNF5581lcL/9PU8\ntzoHkh6vDKHZYJtQV3CSobcYUiqZaO41l1LZmHYAmBJStU4GgXp+DRT9gr/M4WXk\nfdRC11scQVFP0yn/gcnQwVGLqtDRMKsvgA3sEwAizfztSc781GFJYnuVxQKBgQCC\npQoDuqA1FcFLA8hrTGxWRvUJPc6Ew13gZhWmpZ5y4kTGevUP7H5nhkASXVifyjs2\nROtfLnkDFhqVFDx09Qm4wFm05KTPAlrdhmHsDNbYJXyTDdwZ5EVrVWLFHJDUOVKF\n0P1f6B2x0W6nJBoSpfqfD0IDj5iclJUzIYPjcK4eYwKBgFfUiZhVj4cWPb1k2MJf\nXC0LBmFgqiW9w4rXfyEXtRSRbO4661TvVHw66SF09hwzz/+MW2R7HLi1IWZNyRF3\nXw39WtI8bmUsLTJbH6gshanmu8cSPLBt82WlRd6gS+SMxyZ65wY/kt9adfIolefm\nICsfIETnkHRpwF3RurchKfjk\n-----END PRIVATE KEY-----\n", + "client_email": "svc-students-sf-drying-opt@sf-drying-optimization.iam.gserviceaccount.com", + "client_id": "106308201919438112497", + "auth_uri": "https://accounts.google.com/o/oauth2/auth", + "token_uri": "https://oauth2.googleapis.com/token", + "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", + "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/svc-students-sf-drying-opt%40sf-drying-optimization.iam.gserviceaccount.com" +} diff --git a/target/classes/com/application/DataBase/Authentication.class b/target/classes/com/application/DataBase/Authentication.class new file mode 100644 index 0000000000000000000000000000000000000000..1c24a29d0486c9f6a5e96e7aab2e56836ed64a19 GIT binary patch literal 3333 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 literal 0 HcmV?d00001 diff --git a/target/classes/com/application/Main.class b/target/classes/com/application/Main.class index eb18a797bdc462372cca23ffe5d5f8827b0f3610..7d55c32207fc5bd82f4e0c84a73f2cd7f65254af 100644 GIT binary patch delta 817 zcmaFOeVDiY)W2Q(7#J8#7&5sS#2HMu7)%+=xERD3%()mW7%Vv$thgAg8Em*1Y#Hp> z8SJ?j92gwg8JyS|oY@>E9bf<fHisq%gNuQi!G(*#mB9@}xPu4}5a9_Tyx1AM*%^Eo z8Q79aOG@(d7#U=JvJ%TCR&8};DM>9ZVPw$sNzTvJPb?_N$xKcx$;{8wcS$TsbV@8v z)psl{$w<vBfr?u*GH|(8B&QaD6cw{G_)gYkY%^nL@MC1)3eGPrN=|jl%t>Wr;Pg$* z%+t$CEKB5JkYbQ#XYl7?2w({0VF+SSVrK~EVF+Oeo&1i`Ts4e`A)FzCogtEkA&McI zk%0%KM?WvML_ajhhn*pYhar|BZn77XuDldOJUc@I4?`kD5)VT%LkbT=Du_s9Natb5 zV33|Xjmd#4Ghg4+AMC!#r<i0C)rs^KBLhcj1<3E2C5#N(8pMaj<|j-W7^TG+#2FYE z7#SECBp4(a7#Nrt7(t$9U}TV)yq-m@UY3D@fekD#$RNkSz`z4$vogptC@?TEa55+| zC^0ZG$S^Q4xH2#@FoDE&FfjRO?O<Tu$iTqB!~imYkAazifkBLcg+ZKwgFympkQhWU zgEE5(0|NsK11p0ngBk-PgF2YU$e_W%$e_tkuLU)I83Q{53j+g#lh!r{79rMc3~W0X z*bgvp>|o$Lz`*6Zn}Iu0M}&b#gn@56gMgnl%Qgl<Z4m~(Z45%%A`Cp+7=*QTw=sxl zZ(|TeI7^9vgMooTl|hU_i$Rq^n?Z{~hry6Rm%)NTkHMBfpTUvAzy<79Er``nPctw$ pF=#XBFfcNRG3YSpGUzcdF{m=gGUziHFfha2Z^*#NU<3{UV*qHuld=E+ delta 610 zcmX@i`<grJ)W2Q(7#J8#7~;7Y#25^?7(^KixfqNXj5!!gxEM?s%(xiL87$ZtEV&r0 z7_8YDY}grW*&HSvU;qI&hb9Pvi-C*5j*G#b!2v`#f(R!N;S3^N*cn{e8Qdo3ADvvz z*doBlz~x$zoLW$lnV(n8&fq@zAEUH@B!d(Wg9n2mJA)?=gBOGMWJ4x%RUaM(Uj{#R z27exg0ER$D2A-_MvPAv7)Dr#BARl&yARdNbhLFj<Ou9;v4591{VLS}s3=upGkql8h z4ACGWh9Q=RA&x<ckwIkQ1Chxem^Arv67$ma;r4G{z`TL6UX($Mfq{XMfq_AsL4tvS zfti7kL6Sj=fssL)fq_Avfe|dns<oYgaU%l*0~3P`0|NsaSdg1RmVtqR2h3(=kYkW% zU|`^6P+(AmYBq*z-oe0x(9Ffa#K6G7&%nYUz#v<XWP%cdGT13945|!FVC$DLurshQ zFfcf2ZDU{-V%f&Px`To300a9D295&^oW8pmxFU5#7`R0kc(*g~`)RXmV-V05Vc^}y zAgC?Ez`cz@NLzOsgRu5C1`&kyN(>wf3=FaiVhl<Qstl3J3|b5-42BG<3>FM(47LpF z42}#MV2^1*tcH4wfx(GEjX|A(kwJ_>he3lulYxmrl|hz4i$R-#nL&qvfq{jAkwKS% KkwFg}O!@#=Mo`57 -- GitLab