From 88994890bd34b3ebd62d64a029149db884154b66 Mon Sep 17 00:00:00 2001 From: Daniel Gerhardt <code@dgerhardt.net> Date: Fri, 6 Jul 2018 14:20:24 +0200 Subject: [PATCH] Use id instead of link to identify Facebook users The link property of Facebook Oauth profiles no longer has a consistent value across logins and will be completly removed in future versions of Facebook's Graph API. We generate a link in the old format from the id for backwards compatibility. --- src/main/java/de/thm/arsnova/entities/User.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/de/thm/arsnova/entities/User.java b/src/main/java/de/thm/arsnova/entities/User.java index ebfd16b67..a96aa9703 100644 --- a/src/main/java/de/thm/arsnova/entities/User.java +++ b/src/main/java/de/thm/arsnova/entities/User.java @@ -40,6 +40,8 @@ public class User implements Serializable { public static final String ANONYMOUS = "anonymous"; public static final String GUEST = "guest"; + public static final String FACEBOOK_LINK_PATTERN = "https://www.facebook.com/app_scoped_user_id/%s/"; + private static final long serialVersionUID = 1L; private String username; private String type; @@ -57,7 +59,8 @@ public class User implements Serializable { } public User(FacebookProfile profile) { - setUsername(profile.getProfileUrl().toString()); + /* A URL is built for backwards compatibility. */ + setUsername(String.format(FACEBOOK_LINK_PATTERN, profile.getId())); setType(User.FACEBOOK); } -- GitLab