2017-05-02 11 views
3

認証のためにAuth0 AuthenticationApiを使用しています。アカウントコントローラで、user_metadataを取得する必要がありますが、欠落しています。 user_metadataをフェッチするための代替手段はありますか?auth0のuserInfoにuser_metadataがありません

AuthenticationApiClient client = new AuthenticationApiClient(new Uri($"https://{_auth0Options.Domain}/")); 

       var authenticateResponse = await client.GetTokenAsync(new ResourceOwnerTokenRequest 
       { 
        ClientId = _auth0Options.ClientId, 
        ClientSecret = _auth0Options.ClientSecret, 
        Scope = "openid", 
        Realm = _auth0Options.Connection, 
        Username = vm.EmailAddress, 
        Password = vm.Password 
       }); 
       var user = await client.GetUserInfoAsync(authenticateResponse.AccessToken); 
       if (user.UserMetadata != null) 
       { 
     // Giving error...any alternative to access the userMetaData ? 
       } 

答えて

0

はい、私が今見ている限り、レガシーコールはまだ機能しています。しかし、私はまだ非旧式のソリューションを持っていません:(

using (var client = GetClient()) 
     { 
      var jObject = new JObject(new JProperty("id_token", id_token)); 


      var response = await client.PostAsJsonAsync("tokeninfo", jObject); 

      if (response.IsSuccessStatusCode) 
      { 
       var userProfileJson = JObject.Parse(await response.Content.ReadAsStringAsync()); 
       retVal.user_id = userProfileJson.Value<string>("user_id"); 
       retVal.email = userProfileJson.Value<string>("email"); 
       retVal.user_name = userProfileJson.Value<string>("nickname"); 
       if (userProfileJson.Value<string>("created_at") != null) 
       { 
        retVal.created_at = userProfileJson.Value<DateTime>("created_at"); 
       } 
       var exists = userProfileJson.TryGetValue("user_metadata", out JToken meta); 
関連する問題