Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2015 The LUCI Authors. All rights reserved. | 1 // Copyright 2015 The LUCI Authors. All rights reserved. |
| 2 // Use of this source code is governed under the Apache License, Version 2.0 | 2 // Use of this source code is governed under the Apache License, Version 2.0 |
| 3 // that can be found in the LICENSE file. | 3 // that can be found in the LICENSE file. |
| 4 | 4 |
| 5 package user | 5 package user |
| 6 | 6 |
| 7 // Interface provides access to the "appengine/users" API methods. | 7 import ( |
| 8 type Interface interface { | 8 » "golang.org/x/net/context" |
| 9 ) | |
| 10 | |
| 11 // RawInterface provides access to the "appengine/users" API methods. | |
| 12 type RawInterface interface { | |
| 9 Current() *User | 13 Current() *User |
| 10 CurrentOAuth(scopes ...string) (*User, error) | 14 CurrentOAuth(scopes ...string) (*User, error) |
| 11 | 15 |
| 12 IsAdmin() bool | 16 IsAdmin() bool |
| 13 | 17 |
| 14 LoginURL(dest string) (string, error) | 18 LoginURL(dest string) (string, error) |
| 15 LoginURLFederated(dest, identity string) (string, error) | 19 LoginURLFederated(dest, identity string) (string, error) |
| 16 LogoutURL(dest string) (string, error) | 20 LogoutURL(dest string) (string, error) |
| 17 | 21 |
| 18 OAuthConsumerKey() (string, error) | 22 OAuthConsumerKey() (string, error) |
| 19 | 23 |
| 20 // If this implementation supports it, this will return an instance of t he | 24 // If this implementation supports it, this will return an instance of t he |
| 21 // Testable object for this service, which will let you 'log in' virtual users | 25 // Testable object for this service, which will let you 'log in' virtual users |
| 22 // in your test cases. If the implementation doesn't support it, it will | 26 // in your test cases. If the implementation doesn't support it, it will |
| 23 // return nil. | 27 // return nil. |
| 24 » Testable() Testable | 28 » GetTestable() Testable |
| 25 } | 29 } |
| 30 | |
| 31 // Current returns the currently logged-in user, or nil if the user is not | |
| 32 // signed in. | |
|
dnj
2016/09/01 15:25:41
Comments! Basically copy/pasted from the real user
iannucci
2016/09/16 01:01:14
sgtm, we should probably do this in more places in
dnj
2016/09/16 05:44:43
Acknowledged.
| |
| 33 func Current(c context.Context) *User { | |
| 34 return Raw(c).Current() | |
| 35 } | |
| 36 | |
| 37 // CurrentOAuth returns the user associated with the OAuth consumer making this | |
| 38 // request. | |
| 39 // | |
| 40 // If the OAuth consumer did not make a valid OAuth request, or the scopes is | |
| 41 // non-empty and the current user does not have at least one of the scopes, this | |
| 42 // method will return an error. | |
| 43 func CurrentOAuth(c context.Context, scopes ...string) (*User, error) { | |
| 44 return Raw(c).CurrentOAuth(scopes...) | |
| 45 } | |
| 46 | |
| 47 // IsAdmin returns true if the current user is an administrator for this | |
| 48 // AppEngine project. | |
| 49 func IsAdmin(c context.Context) bool { | |
| 50 return Raw(c).IsAdmin() | |
| 51 } | |
| 52 | |
| 53 // LoginURL returns a URL that, when visited, prompts the user to sign in, then | |
| 54 // redirects the user to the URL specified by dest. | |
| 55 func LoginURL(c context.Context, dest string) (string, error) { | |
| 56 return Raw(c).LoginURL(dest) | |
| 57 } | |
| 58 | |
| 59 // LoginURLFederated is like LoginURL but accepts a user's OpenID identifier. | |
| 60 func LoginURLFederated(c context.Context, dest, identity string) (string, error) { | |
| 61 return Raw(c).LoginURLFederated(dest, identity) | |
| 62 } | |
| 63 | |
| 64 // LogoutURL returns a URL that, when visited, signs the user out, then redirect s | |
| 65 // the user to the URL specified by dest. | |
| 66 func LogoutURL(c context.Context, dest string) (string, error) { | |
| 67 return Raw(c).LogoutURL(dest) | |
| 68 } | |
| 69 | |
| 70 // OAuthConsumerKey returns the OAuth consumer key provided with the current | |
| 71 // request. | |
| 72 // | |
| 73 // This method will return an error if the OAuth request was invalid. | |
| 74 func OAuthConsumerKey(c context.Context) (string, error) { | |
| 75 return Raw(c).OAuthConsumerKey() | |
| 76 } | |
| 77 | |
| 78 // GetTestable returns a Testable for the current task queue service in c, or | |
| 79 // nil if it does not offer one. | |
| 80 // | |
| 81 // The Testable instance will let you 'log in' virtual users in your test cases. | |
| 82 func GetTestable(c context.Context) Testable { | |
| 83 return Raw(c).GetTestable() | |
| 84 } | |
| OLD | NEW |