Skip to content

Commit 3cb7137

Browse files
authored
Merge pull request #349 from onewelcome/release/7.9.0
Release/7.9.0
2 parents d46f731 + 0c5a988 commit 3cb7137

File tree

12 files changed

+170
-17
lines changed

12 files changed

+170
-17
lines changed

app/build.gradle

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ allprojects {
2929
Before the release please change the url below to: https://repo.onewelcome.com/artifactory/onegini-sdk
3030
Please change it back to https://repo.onewelcome.com/artifactory/public after the release
3131
*/
32-
url "https://repo.onewelcome.com/artifactory/onegini-sdk"
32+
url "https://repo.onewelcome.com/artifactory/public"
3333
credentials {
3434
username artifactory_user
3535
password artifactory_password
@@ -54,7 +54,7 @@ android {
5454
targetSdk 34
5555
compileSdk 34
5656
versionCode 25
57-
versionName "7.8.0"
57+
versionName "7.9.0"
5858
multiDexEnabled true
5959
}
6060
buildTypes {
@@ -74,22 +74,22 @@ android {
7474

7575
dependencies {
7676
// Onegini SDK
77-
api('com.onegini.mobile.sdk.android:onegini-sdk:12.0.0@aar') {
77+
api('com.onegini.mobile.sdk.android:onegini-sdk:12.1.0@aar') {
7878
transitive = true
7979
}
8080
// Rest Client
81-
implementation 'com.squareup.retrofit2:adapter-rxjava3:2.9.0'
81+
implementation 'com.squareup.retrofit2:adapter-rxjava3:2.11.0'
8282

8383
// Google Support libraries for UI
84-
implementation 'com.google.android.material:material:1.10.0'
84+
implementation 'com.google.android.material:material:1.12.0'
8585
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
8686

8787
// QR code reader
8888
implementation 'com.google.android.gms:play-services-vision:20.1.3'
8989
// Google Play Services availability check
90-
implementation 'com.google.android.gms:play-services-base:18.2.0'
90+
implementation 'com.google.android.gms:play-services-base:18.5.0'
9191
//Firebase Cloud Messaging (FCM)
92-
implementation 'com.google.firebase:firebase-messaging:23.3.1'
92+
implementation 'com.google.firebase:firebase-messaging:24.0.0'
9393
// Support for multidex
9494
implementation 'androidx.multidex:multidex:2.0.1'
9595
// DI for views

app/src/main/AndroidManifest.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,10 @@
112112
android:name=".view.activity.DevicesListActivity"
113113
android:parentActivityName=".view.activity.DashboardActivity"
114114
android:screenOrientation="portrait" />
115+
<activity
116+
android:name=".view.activity.IdTokenActivity"
117+
android:parentActivityName=".view.activity.DashboardActivity"
118+
android:screenOrientation="portrait" />
115119
<activity
116120
android:name=".view.activity.PendingPushMessagesActivity"
117121
android:parentActivityName=".view.activity.DashboardActivity"

app/src/main/java/com/onegini/mobile/exampleapp/Constants.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
package com.onegini.mobile.exampleapp;
1818

1919
public interface Constants {
20-
String[] DEFAULT_SCOPES = { "read" };
20+
String[] DEFAULT_SCOPES = { "read", "openid", "profile", "phone", "email" };
2121
String NEW_LINE = "\n";
2222
String FCM_SENDER_ID = "586427927998";
2323
String EXTRA_COMMAND = "command";

app/src/main/java/com/onegini/mobile/exampleapp/OneginiConfigModel.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,14 @@ public class OneginiConfigModel implements OneginiClientConfigModel {
1010
private final String appIdentifier = "ExampleApp";
1111
private final String appPlatform = "android";
1212
private final String redirectionUri = "oneginiexample://loginsuccess";
13-
private final String appVersion = "7.8.0";
13+
private final String appVersion = "7.9.0";
1414
private final String baseURL = "https://mobile-security-proxy.onegini.com";
1515
private final String resourceBaseURL = "https://mobile-security-proxy.onegini.com/resources/";
16-
private final String keystoreHash = "2d55da375ab93ac43a12006da2e1e6dacb6afca1a5bb328294b841db08cef29d";
16+
private final String keystoreHash = "03eca317c8d8f6987bebce7fe3da579706b011c2b06f774c0dedc926a0be502c";
1717
private final int maxPinFailures = 3;
18-
private final String serverPublicKey = "BA8E93F554BBBBC5ADAECB450C376FC9548A981652523B6359EEF38361553668";
18+
private final String serverPublicKey = "8CBADF4C45B158A24C2CF1E14041C942BE2D39B7D317E07C9CB544F401DAE172";
1919
private final String serverType = "access";
20-
private final String serverVersion = "1.40.2";
20+
private final String serverVersion = "1.49.0";
2121

2222
public String getAppIdentifier() {
2323
return appIdentifier;

app/src/main/java/com/onegini/mobile/exampleapp/view/activity/DashboardActivity.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,12 @@ public void startDevicesActivity() {
183183
startActivity(new Intent(this, DevicesListActivity.class));
184184
}
185185

186+
@SuppressWarnings("unused")
187+
@OnClick(R.id.button_id_token)
188+
public void startIdTokenActivity() {
189+
startActivity(new Intent(this, IdTokenActivity.class));
190+
}
191+
186192
@SuppressWarnings("unused")
187193
@OnClick(R.id.button_settings)
188194
public void startSettingsActivity() {
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
package com.onegini.mobile.exampleapp.view.activity;
2+
3+
import android.os.Bundle;
4+
import android.util.Base64;
5+
import android.widget.TextView;
6+
import androidx.appcompat.app.ActionBar;
7+
import androidx.appcompat.app.AppCompatActivity;
8+
import androidx.appcompat.widget.Toolbar;
9+
import butterknife.BindView;
10+
import butterknife.ButterKnife;
11+
import com.google.gson.GsonBuilder;
12+
import com.google.gson.JsonParser;
13+
import com.onegini.mobile.exampleapp.OneginiSDK;
14+
import com.onegini.mobile.exampleapp.R;
15+
16+
import java.nio.charset.StandardCharsets;
17+
18+
public class IdTokenActivity extends AppCompatActivity {
19+
20+
@SuppressWarnings({ "unused", "WeakerAccess" })
21+
@BindView(R.id.toolbar)
22+
Toolbar toolbar;
23+
24+
@SuppressWarnings({ "unused", "WeakerAccess" })
25+
@BindView(R.id.text_id_token)
26+
TextView idTokenTextView;
27+
28+
@Override
29+
protected void onCreate(Bundle savedInstanceState) {
30+
super.onCreate(savedInstanceState);
31+
setContentView(R.layout.activity_id_token);
32+
ButterKnife.bind(this);
33+
setupActionBar();
34+
showIdToken();
35+
}
36+
37+
private void setupActionBar() {
38+
setSupportActionBar(toolbar);
39+
40+
final ActionBar actionBar = getSupportActionBar();
41+
if (actionBar != null) {
42+
actionBar.setDisplayHomeAsUpEnabled(true);
43+
actionBar.setLogo(R.mipmap.ic_launcher);
44+
actionBar.setDisplayUseLogoEnabled(true);
45+
actionBar.setDisplayShowTitleEnabled(false);
46+
}
47+
}
48+
49+
private void showIdToken() {
50+
final String idToken = OneginiSDK.getOneginiClient(this).getUserClient().getIdToken();
51+
final String content;
52+
if (idToken != null) {
53+
content = getFormattedUserInfo(idToken);
54+
} else {
55+
content = getString(R.string.id_token_null_description);
56+
}
57+
idTokenTextView.setText(content);
58+
}
59+
60+
private String getFormattedUserInfo(final String idToken) {
61+
final String jwtPayload = idToken.split("\\.")[1];
62+
final String decodedJson = new String(Base64.decode(jwtPayload, Base64.DEFAULT), StandardCharsets.UTF_8);
63+
return new GsonBuilder()
64+
.setPrettyPrinting()
65+
.create()
66+
.toJson(new JsonParser().parse(decodedJson));
67+
}
68+
}

app/src/main/res/layout/activity_dashboard.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,11 @@
7676
android:text="@string/btn_your_devices"
7777
android:layout_marginTop="32dp" />
7878

79+
<Button
80+
android:id="@+id/button_id_token"
81+
style="@style/ButtonStyle"
82+
android:text="@string/btn_id_token" />
83+
7984
<Button
8085
android:id="@+id/button_auth_with_otp"
8186
style="@style/ButtonStyle"
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
<?xml version="1.0" encoding="utf-8"?><!--
2+
Copyright (c) 2016-2018 Onegini B.V.
3+
4+
Licensed under the Apache License, Version 2.0 (the "License");
5+
you may not use this file except in compliance with the License.
6+
You may obtain a copy of the License at
7+
8+
http://www.apache.org/licenses/LICENSE-2.0
9+
10+
Unless required by applicable law or agreed to in writing, software
11+
distributed under the License is distributed on an "AS IS" BASIS,
12+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
See the License for the specific language governing permissions and
14+
limitations under the License.
15+
-->
16+
17+
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
18+
xmlns:app="http://schemas.android.com/apk/res-auto"
19+
android:layout_height="match_parent"
20+
android:layout_width="match_parent"
21+
android:background="@color/background_for_activity_with_card_views"
22+
android:orientation="vertical">
23+
24+
<androidx.appcompat.widget.Toolbar
25+
android:id="@+id/toolbar"
26+
android:layout_width="match_parent"
27+
android:layout_height="?attr/actionBarSize"
28+
android:background="?attr/colorPrimary"
29+
app:contentInsetLeft="0dp"
30+
app:contentInsetStart="0dp"
31+
android:elevation="4dp"
32+
android:theme="@style/ThemeOverlay.AppCompat.ActionBar"
33+
app:popupTheme="@style/ThemeOverlay.AppCompat.Light">
34+
35+
<TextView
36+
android:layout_width="wrap_content"
37+
android:layout_height="wrap_content"
38+
style="@style/TextAppearance.AppCompat.Widget.ActionBar.Title"
39+
android:text="@string/id_token_title"
40+
android:textColor="@color/white"
41+
android:layout_gravity="center"
42+
android:id="@+id/toolbar_title" />
43+
44+
</androidx.appcompat.widget.Toolbar>
45+
46+
<androidx.cardview.widget.CardView
47+
android:id="@+id/card_view"
48+
android:layout_margin="@dimen/activity_margin"
49+
android:layout_width="match_parent"
50+
android:layout_height="wrap_content"
51+
app:cardCornerRadius="4dp">
52+
53+
<LinearLayout
54+
android:layout_width="match_parent"
55+
android:layout_margin="@dimen/activity_margin"
56+
android:layout_height="wrap_content"
57+
android:orientation="vertical">
58+
59+
<TextView
60+
android:layout_width="match_parent"
61+
android:layout_height="wrap_content"
62+
android:id="@+id/text_id_token"
63+
android:layout_margin="16dp" />
64+
</LinearLayout>
65+
</androidx.cardview.widget.CardView>
66+
67+
</LinearLayout>

app/src/main/res/raw/keystore.bks

0 Bytes
Binary file not shown.

app/src/main/res/values/strings.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
<string name="btn_logout_label">Logout</string>
3333
<string name="btn_deregister_user_label">Deregister user</string>
3434
<string name="btn_your_devices">Your devices</string>
35+
<string name="btn_id_token">ID Token</string>
3536
<string name="confirm">Confirm</string>
3637
<string name="confirm_with_fingerprint">Confirm with fingerprint</string>
3738
<string name="scan_fingerprint">Touch sensor</string>
@@ -107,4 +108,6 @@
107108
<string name="biometric_authentication_subtitle">Authenticate using biometrics</string>
108109
<string name="biometric_authentication_cancel">Cancel</string>
109110
<string name="confirm_with_biometrics">Confirm with biometrics</string>
111+
<string name="id_token_title">ID Token</string>
112+
<string name="id_token_null_description">There\'s no ID token. Please make sure to use openid scope during registration.</string>
110113
</resources>

0 commit comments

Comments
 (0)