Authentication with Google

I saw that you checked for null in controller. Making return type as Optional<T> would make it clear to the user of the API that the method can return null. 

https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html