Making changes per feedback

pull/405/head
Darius Kazemi 4 years ago
parent 0aafd0c368
commit b262fa144c
  1. 28
      oauth_generic.go

@ -16,10 +16,10 @@ type genericOauthClient struct {
InspectLocation string
CallbackLocation string
Scope string
MapUserID string
MapUsername string
MapDisplayName string
MapEmail string
MapUserID string
MapUsername string
MapDisplayName string
MapEmail string
HttpClient HttpClient
}
@ -110,27 +110,17 @@ func (c genericOauthClient) inspectOauthAccessToken(ctx context.Context, accessT
// since we don't know what the JSON from the server will look like, we create a
// generic interface and then map manually to values set in the config
var genericInterface interface{}
var genericInterface map[string]interface{}
if err := limitedJsonUnmarshal(resp.Body, infoRequestMaxLen, &genericInterface); err != nil {
return nil, err
}
m := genericInterface.(map[string]interface{})
// map each relevant field in inspectResponse to the mapped field from the config
var inspectResponse InspectResponse
if (m[c.MapUserID] != nil) {
inspectResponse.UserID = m[c.MapUserID].(string)
}
if (m[c.MapUsername] != nil) {
inspectResponse.Username = m[c.MapUsername].(string)
}
if (m[c.MapDisplayName] != nil) {
inspectResponse.DisplayName = m[c.MapDisplayName].(string)
}
if (m[c.MapEmail] != nil) {
inspectResponse.Email = m[c.MapEmail].(string)
}
inspectResponse.UserID, _ = genericInterface[c.MapUserID].(string)
inspectResponse.Username, _ = genericInterface[c.MapUsername].(string)
inspectResponse.DisplayName, _ = genericInterface[c.MapDisplayName].(string)
inspectResponse.Email, _ = genericInterface[c.MapEmail].(string)
return &inspectResponse, nil
}

Loading…
Cancel
Save