title: Firebase Auth Custom claims not propagating to client
body: <p>I have a user with UID 1 where the custom claims are set as,</p>
  
  <pre><code>frompos=true
  </code></pre>
  
  <p>I am setting new custom claims to this user from the ADMIN SDK for java the following way:</p>
  
  <pre><code>Map&lt;String,Object&gt; claims = new HashMap&lt;&gt;();
  
  claims.put("frompos",false);
  
  FirebaseAuth.getInstance().setCustomUserClaimsAsync("1", claims).get(10000,
                          TimeUnit.MILLISECONDS);
  </code></pre>
  
  <p>I print the claims on the server side to check if the claims are set:</p>
  
  <pre><code>UserRecord user = FirebaseAuth.getInstance().getUserAsync("1").get(10000,
                          TimeUnit.MILLISECONDS);
  
  LOG.debug("user new claims " + user.getCustomClaims());
  </code></pre>
  
  <p>The result as expected is that the claims get set:</p>
  
  <pre><code>user new claims {frompos=false}
  </code></pre>
  
  <p>Now on the android sdk side, I have the user already logged in so I am refreshing the ID token manually to propagate the claims as the docs say
  (<a href="https://firebase.google.com/docs/auth/admin/custom-claims" rel="nofollow noreferrer">https://firebase.google.com/docs/auth/admin/custom-claims</a>)</p>
  
  <pre><code>FirebaseAuth.getInstance().getCurrentUser().getIdToken(true).addOnCompleteListener(new OnCompleteListener&lt;GetTokenResult&gt;() {
           @Override
           public void onComplete(@NonNull Task&lt;GetTokenResult&gt; task) {
                      if(task.isSuccessful()){
                      Log.d("FragmentCreate","Success refreshing token "+(FirebaseAuth.getInstance().getCurrentUser()==null));
  
                      Log.d("FragmentCreate","New token "+task.getResult().getToken());
  
                          }
                      }
           }).addOnFailureListener(new OnFailureListener() {
                      @Override
                      public void onFailure(@NonNull Exception e) {
                          Log.d("FragmentCreate","Failure refreshing token "+(FirebaseAuth.getInstance().getCurrentUser()==null)+" "+e.toString());
                      }
           });
  </code></pre>
  
  <p>Now I use the printed Id Token printed here and verify it on server side and print the claims from it</p>
  
  <pre><code> FirebaseToken tokenTest = FirebaseAuth.getInstance(ahmedabadRepoApp).verifyIdTokenAsync(token).get(10000,TimeUnit.MILLISECONDS);
  
   LOG.debug("Token claims are "+tokenTest.getClaims());
  </code></pre>
  
  <p>But the claims printed here are:</p>
  
  <pre><code>{"aud":"ahmedabadrepo","auth_time":1514724115,"email_verified":false,"exp":1514730425,"iat":1514726825,"iss":"https://securetoken.google.com/ahmedabadrepo","sub":"1","frompos":true,"user_id":"1","firebase":{"identities":{},"sign_in_provider":"custom"}}
  </code></pre>
  
  <p>Thus the frompos value did not propagate to the client sdk even though I did refresh the Id token manually. </p>