if err != nil {
return arvados.APIClientAuthorization{}, err
}
- return arvados.APIClientAuthorization{APIToken: target.Query().Get("api_token")}, err
+ token := target.Query().Get("api_token")
+ return ctrl.RailsProxy.APIClientAuthorizationCurrent(auth.NewContext(ctx, auth.NewCredentials(token)), arvados.GetOptions{})
}
echo >&2 "Testing authentication success"
resp="$(curl -s --include -d username=foo -d password=secret "http://${ctrlhostport}/arvados/v1/users/authenticate" | tee $debug)"
check_contains "${resp}" "HTTP/1.1 200"
-check_contains "${resp}" '{"api_token":"v2/zzzzz-gj3su-'
+check_contains "${resp}" '"api_token":"'
+check_contains "${resp}" '"scopes":["all"]'
+check_contains "${resp}" '"uuid":"zzzzz-gj3su-'
cleanup
Password: p,
})
c.Check(err, check.IsNil)
- c.Check(resp.APIToken, check.Matches, `v2/zzzzz-gj3su-.*/.*`)
+ c.Check(resp.APIToken, check.Not(check.Equals), "")
+ c.Check(resp.UUID, check.Matches, `zzzzz-gj3su-.*`)
+ c.Check(resp.Scopes, check.DeepEquals, []string{"all"})
authinfo := getCallbackAuthInfo(c, s.railsSpy)
c.Check(authinfo.Email, check.Equals, u+"@"+s.cluster.Login.PAMDefaultEmailDomain)