forked from TrueCloudLab/restic
Vendor dependencies for GCS
This commit is contained in:
parent
ba75a3884c
commit
8ca6a9a240
1228 changed files with 1769186 additions and 1 deletions
84
vendor/google.golang.org/appengine/user/user.go
generated
vendored
Normal file
84
vendor/google.golang.org/appengine/user/user.go
generated
vendored
Normal file
|
@ -0,0 +1,84 @@
|
|||
// Copyright 2011 Google Inc. All rights reserved.
|
||||
// Use of this source code is governed by the Apache 2.0
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
// Package user provides a client for App Engine's user authentication service.
|
||||
package user // import "google.golang.org/appengine/user"
|
||||
|
||||
import (
|
||||
"strings"
|
||||
|
||||
"github.com/golang/protobuf/proto"
|
||||
"golang.org/x/net/context"
|
||||
|
||||
"google.golang.org/appengine/internal"
|
||||
pb "google.golang.org/appengine/internal/user"
|
||||
)
|
||||
|
||||
// User represents a user of the application.
|
||||
type User struct {
|
||||
Email string
|
||||
AuthDomain string
|
||||
Admin bool
|
||||
|
||||
// ID is the unique permanent ID of the user.
|
||||
// It is populated if the Email is associated
|
||||
// with a Google account, or empty otherwise.
|
||||
ID string
|
||||
|
||||
// ClientID is the ID of the pre-registered client so its identity can be verified.
|
||||
// See https://developers.google.com/console/help/#generatingoauth2 for more information.
|
||||
ClientID string
|
||||
|
||||
FederatedIdentity string
|
||||
FederatedProvider string
|
||||
}
|
||||
|
||||
// String returns a displayable name for the user.
|
||||
func (u *User) String() string {
|
||||
if u.AuthDomain != "" && strings.HasSuffix(u.Email, "@"+u.AuthDomain) {
|
||||
return u.Email[:len(u.Email)-len("@"+u.AuthDomain)]
|
||||
}
|
||||
if u.FederatedIdentity != "" {
|
||||
return u.FederatedIdentity
|
||||
}
|
||||
return u.Email
|
||||
}
|
||||
|
||||
// LoginURL returns a URL that, when visited, prompts the user to sign in,
|
||||
// then redirects the user to the URL specified by dest.
|
||||
func LoginURL(c context.Context, dest string) (string, error) {
|
||||
return LoginURLFederated(c, dest, "")
|
||||
}
|
||||
|
||||
// LoginURLFederated is like LoginURL but accepts a user's OpenID identifier.
|
||||
func LoginURLFederated(c context.Context, dest, identity string) (string, error) {
|
||||
req := &pb.CreateLoginURLRequest{
|
||||
DestinationUrl: proto.String(dest),
|
||||
}
|
||||
if identity != "" {
|
||||
req.FederatedIdentity = proto.String(identity)
|
||||
}
|
||||
res := &pb.CreateLoginURLResponse{}
|
||||
if err := internal.Call(c, "user", "CreateLoginURL", req, res); err != nil {
|
||||
return "", err
|
||||
}
|
||||
return *res.LoginUrl, nil
|
||||
}
|
||||
|
||||
// LogoutURL returns a URL that, when visited, signs the user out,
|
||||
// then redirects the user to the URL specified by dest.
|
||||
func LogoutURL(c context.Context, dest string) (string, error) {
|
||||
req := &pb.CreateLogoutURLRequest{
|
||||
DestinationUrl: proto.String(dest),
|
||||
}
|
||||
res := &pb.CreateLogoutURLResponse{}
|
||||
if err := internal.Call(c, "user", "CreateLogoutURL", req, res); err != nil {
|
||||
return "", err
|
||||
}
|
||||
return *res.LogoutUrl, nil
|
||||
}
|
||||
|
||||
func init() {
|
||||
internal.RegisterErrorCodeMap("user", pb.UserServiceError_ErrorCode_name)
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue