本文整理汇总了Golang中github.com/keybase/client/go/protocol.UID类的典型用法代码示例。如果您正苦于以下问题:Golang UID类的具体用法?Golang UID怎么用?Golang UID使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了UID类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: RunSyncer
func RunSyncer(s Syncer, uid keybase1.UID, loggedIn bool, sr SessionReader) (err error) {
if uid.IsNil() {
return NotFoundError{"No UID given to syncer"}
}
// unnecessary for secret syncer, but possibly useful for tracker syncer.
s.Lock()
defer s.Unlock()
s.G().Log.Debug("+ Syncer.Load(%s)", uid)
defer func() {
s.G().Log.Debug("- Syncer.Load(%s) -> %s", uid, ErrToOk(err))
}()
if err = s.loadFromStorage(uid); err != nil {
return
}
if s.needsLogin() && !loggedIn {
s.G().Log.Debug("| Won't sync with server since we're not logged in")
return
}
if err = s.syncFromServer(uid, sr); err != nil {
return
}
if err = s.store(uid); err != nil {
return
}
return
}
开发者ID:paul-pearce,项目名称:client-beta,代码行数:30,代码来源:syncer.go
示例2: getLocalUser
func (m localUserMap) getLocalUser(uid keybase1.UID) (LocalUser, error) {
user, ok := m[uid]
if !ok {
return LocalUser{}, NoSuchUserError{uid.String()}
}
return user, nil
}
开发者ID:gozes,项目名称:kbfs-beta,代码行数:7,代码来源:keybase_daemon_local.go
示例3: CheckUIDAgainstCasedUsername
// CheckUIDAgainstCasedUsername takes the input string, does not convert toLower,
// and then hashes it to recover a UID. This is a workaround for some
// users whose UIDs were computed incorrectly.
func CheckUIDAgainstCasedUsername(uid keybase1.UID, username string) (err error) {
u2 := UsernameToUIDPreserveCase(username)
if uid.NotEqual(u2) {
err = UIDMismatchError{fmt.Sprintf("%s != %s (via %s)", uid, u2, username)}
}
return
}
开发者ID:paul-pearce,项目名称:client-beta,代码行数:10,代码来源:uid.go
示例4: getUserCard
func getUserCard(g *libkb.GlobalContext, uid keybase1.UID, useSession bool) (ret *keybase1.UserCard, err error) {
defer g.Trace("getUserCard", func() error { return err })()
arg := libkb.APIArg{
Endpoint: "user/card",
NeedSession: useSession,
Contextified: libkb.NewContextified(g),
Args: libkb.HTTPArgs{"uid": libkb.S{Val: uid.String()}},
}
var card card
if err = g.API.GetDecode(arg, &card); err != nil {
g.Log.Warning("error getting user/card for %s: %s\n", uid, err)
return nil, err
}
g.Log.Debug("user card: %+v", card)
ret = &keybase1.UserCard{
Following: card.FollowSummary.Following,
Followers: card.FollowSummary.Followers,
Uid: uid,
FullName: card.Profile.FullName,
Location: card.Profile.Location,
Bio: card.Profile.Bio,
Website: card.Profile.Website,
Twitter: card.Profile.Twitter,
YouFollowThem: card.YouFollowThem,
TheyFollowYou: card.TheyFollowYou,
}
return ret, nil
}
开发者ID:mark-adams,项目名称:client,代码行数:33,代码来源:identify.go
示例5: LoadUserPlusKeys
func LoadUserPlusKeys(g *GlobalContext, uid keybase1.UID, cacheOK bool) (keybase1.UserPlusKeys, error) {
var up keybase1.UserPlusKeys
if uid.IsNil() {
return up, fmt.Errorf("Nil UID")
}
arg := NewLoadUserArg(g)
arg.UID = uid
arg.PublicKeyOptional = true
u, err := LoadUser(arg)
if err != nil {
return up, err
}
if u == nil {
return up, fmt.Errorf("Nil user, nil error from LoadUser")
}
// export user to UserPlusKeys
up.Uid = u.GetUID()
up.Username = u.GetNormalizedName().String()
if u.GetComputedKeyFamily() != nil {
up.DeviceKeys = u.GetComputedKeyFamily().ExportDeviceKeys()
}
return up, nil
}
开发者ID:mattcurrycom,项目名称:client,代码行数:26,代码来源:loaduser.go
示例6: identifySender
func (e *SaltpackSenderIdentify) identifySender(ctx *Context) (err error) {
defer e.G().Trace("SaltpackDecrypt::identifySender", func() error { return err })()
var lin bool
var uid keybase1.UID
if lin, uid, err = IsLoggedIn(e, ctx); err == nil && lin && uid.Equal(e.res.Uid) {
e.G().Log.Debug("| Sender is self")
e.res.SenderType = keybase1.SaltpackSenderType_SELF
return nil
}
iarg := keybase1.Identify2Arg{
Uid: e.res.Uid,
UseDelegateUI: !e.arg.interactive,
AlwaysBlock: e.arg.interactive,
ForceRemoteCheck: e.arg.forceRemoteCheck,
NoErrorOnTrackFailure: true,
Reason: e.arg.reason,
UserAssertion: e.arg.userAssertion,
}
eng := NewIdentify2WithUID(e.G(), &iarg)
if err = RunEngine(eng, ctx); err != nil {
return err
}
switch eng.getTrackType() {
case identify2NoTrack:
e.res.SenderType = keybase1.SaltpackSenderType_NOT_TRACKED
case identify2TrackOK:
e.res.SenderType = keybase1.SaltpackSenderType_TRACKING_OK
default:
e.res.SenderType = keybase1.SaltpackSenderType_TRACKING_BROKE
}
return nil
}
开发者ID:Varjelus,项目名称:keybase-client,代码行数:34,代码来源:saltpack_sender_identify.go
示例7: NewRekeyPermissionError
// NewRekeyPermissionError constructs a RekeyPermissionError for the given
// directory and user.
func NewRekeyPermissionError(ctx context.Context, config Config, dir *TlfHandle,
uid keybase1.UID) error {
dirname := dir.ToString(ctx, config)
if name, err2 := config.KBPKI().GetNormalizedUsername(ctx, uid); err2 == nil {
return RekeyPermissionError{string(name), dirname}
}
return RekeyPermissionError{uid.String(), dirname}
}
开发者ID:gozes,项目名称:kbfs-beta,代码行数:10,代码来源:errors.go
示例8: GetMyUID
func (g *GlobalContext) GetMyUID() keybase1.UID {
var uid keybase1.UID
g.LoginState().LocalSession(func(s *Session) {
uid = s.GetUID()
}, "G - GetMyUID - GetUID")
if uid.Exists() {
return uid
}
return g.Env.GetUID()
}
开发者ID:paul-pearce,项目名称:client-beta,代码行数:12,代码来源:globals.go
示例9: MatchUser
func (mul *MerkleUserLeaf) MatchUser(u *User, uid keybase1.UID, nun NormalizedUsername) (err error) {
if mul.username != u.GetName() {
err = MerkleClashError{fmt.Sprintf("vs loaded object: username %s != %s", mul.username, u.GetName())}
} else if mul.uid.NotEqual(u.GetUID()) {
err = MerkleClientError{fmt.Sprintf("vs loaded object: UID %s != %s", mul.uid, u.GetUID())}
} else if !nun.IsNil() && !NewNormalizedUsername(mul.username).Eq(nun) {
err = MerkleClashError{fmt.Sprintf("vs given arg: username %s != %s", mul.username, nun)}
} else if uid.NotEqual(mul.uid) {
err = MerkleClashError{fmt.Sprintf("vs given arg: UID %s != %s", uid, mul.uid)}
}
return
}
开发者ID:mattcurrycom,项目名称:client,代码行数:12,代码来源:merkle_client.go
示例10: MatchUser
func (mul *MerkleUserLeaf) MatchUser(u *User, uid keybase1.UID, un string) (err error) {
if mul.username != u.GetName() {
err = MerkleClashError{fmt.Sprintf("vs loaded object: username %s != %s", mul.username, u.GetName())}
} else if mul.uid.NotEqual(u.GetUID()) {
err = MerkleClientError{fmt.Sprintf("vs loaded object: UID %s != %s", mul.uid, u.GetUID())}
} else if len(un) > 0 && mul.username != un {
err = MerkleClashError{fmt.Sprintf("vs given arg: username %s != %s", mul.username, un)}
} else if uid.NotEqual(mul.uid) {
err = MerkleClashError{fmt.Sprintf("vs given arg: UID %s != %s", uid, mul.uid)}
}
return
}
开发者ID:paul-pearce,项目名称:client-beta,代码行数:12,代码来源:merkle_client.go
示例11: GetTLFCryptKeyServerHalfID
// GetTLFCryptKeyServerHalfID implements the Crypto interface for CryptoCommon.
func (c *CryptoCommon) GetTLFCryptKeyServerHalfID(
user keybase1.UID, deviceKID keybase1.KID,
serverHalf TLFCryptKeyServerHalf) (TLFCryptKeyServerHalfID, error) {
key := serverHalf.data[:]
data := append(user.ToBytes(), deviceKID.ToBytes()...)
hmac, err := DefaultHMAC(key, data)
if err != nil {
return TLFCryptKeyServerHalfID{}, err
}
return TLFCryptKeyServerHalfID{
ID: hmac,
}, nil
}
开发者ID:gozes,项目名称:kbfs-beta,代码行数:14,代码来源:crypto_common.go
示例12: lookupMerkleLeaf
func lookupMerkleLeaf(g *GlobalContext, uid keybase1.UID, local *User) (f *MerkleUserLeaf, err error) {
if uid.IsNil() {
err = fmt.Errorf("uid parameter for lookupMerkleLeaf empty")
return
}
q := NewHTTPArgs()
q.Add("uid", UIDArg(uid))
f, err = g.MerkleClient.LookupUser(q)
if err == nil && f == nil && local != nil {
err = fmt.Errorf("User not found in server Merkle tree")
}
return
}
开发者ID:mattcurrycom,项目名称:client,代码行数:14,代码来源:loaduser.go
示例13: NewUserConfig
func NewUserConfig(id keybase1.UID, name NormalizedUsername, salt []byte, dev keybase1.DeviceID) *UserConfig {
ret := &UserConfig{
ID: id.String(),
Name: name,
Salt: hex.EncodeToString(salt),
Device: nil,
importedID: id,
importedSalt: salt,
importedDeviceID: dev,
}
if dev.Exists() {
tmp := dev.String()
ret.Device = &tmp
}
return ret
}
开发者ID:paul-pearce,项目名称:client-beta,代码行数:16,代码来源:userconfig.go
示例14: LoadUserPlusKeys
func LoadUserPlusKeys(g *GlobalContext, uid keybase1.UID, cacheOK bool) (keybase1.UserPlusKeys, error) {
var up keybase1.UserPlusKeys
if uid.IsNil() {
return up, fmt.Errorf("Nil UID")
}
if cacheOK {
up, err := g.UserCache.Get(uid)
if err == nil {
return *up, nil
}
if err != nil {
// not going to bail on cache error, just log it:
if _, ok := err.(NotFoundError); !ok {
g.Log.Debug("UserCache Get error: %s", err)
}
}
}
arg := NewLoadUserArg(g)
arg.UID = uid
arg.PublicKeyOptional = true
u, err := LoadUser(arg)
if err != nil {
return up, err
}
if u == nil {
return up, fmt.Errorf("Nil user, nil error from LoadUser")
}
// export user to UserPlusKeys
up.Uid = u.GetUID()
up.Username = u.GetNormalizedName().String()
if u.GetComputedKeyFamily() != nil {
up.DeviceKeys = u.GetComputedKeyFamily().ExportDeviceKeys()
}
err = g.UserCache.Insert(&up)
if err != nil {
g.Log.Debug("UserCache Set error: %s", err)
}
return up, nil
}
开发者ID:polluks,项目名称:client,代码行数:44,代码来源:loaduser.go
示例15: GetUser
func (u *userKeyAPI) GetUser(ctx context.Context, uid keybase1.UID) (
un libkb.NormalizedUsername, sibkeys, subkeys []keybase1.KID, err error) {
u.log.Debug("+ GetUser")
defer func() {
u.log.Debug("- GetUser -> %v", err)
}()
var ukr userKeyRes
err = u.api.GetDecode(libkb.APIArg{
Endpoint: "user/keys",
Args: libkb.HTTPArgs{
"uid": libkb.S{Val: uid.String()},
},
}, &ukr)
if err != nil {
return "", nil, nil, err
}
un = libkb.NewNormalizedUsername(ukr.Username)
return un, ukr.PublicKeys.Sibkeys, ukr.PublicKeys.Subkeys, nil
}
开发者ID:Varjelus,项目名称:keybase-client,代码行数:19,代码来源:user_keys_api.go
示例16: LoadUserPlusKeys
func LoadUserPlusKeys(g *GlobalContext, uid keybase1.UID) (keybase1.UserPlusKeys, error) {
var up keybase1.UserPlusKeys
if uid.IsNil() {
return up, fmt.Errorf("Nil UID")
}
arg := NewLoadUserArg(g)
arg.UID = uid
arg.PublicKeyOptional = true
u, err := LoadUser(arg)
if err != nil {
return up, err
}
if u == nil {
return up, fmt.Errorf("Nil user, nil error from LoadUser")
}
return u.ExportToUserPlusKeys(keybase1.Time(0)), nil
}
开发者ID:keybase,项目名称:kbfs-beta,代码行数:19,代码来源:loaduser.go
示例17: auth
func (g *gregorHandler) auth(ctx context.Context, cli rpc.GenericClient) (err error) {
var token string
var uid keybase1.UID
// Check to see if we have been shutdown,
select {
case <-g.shutdownCh:
g.Debug("server is dead, not authenticating")
return errors.New("server is dead, not authenticating")
default:
// if we were going to block, then that means we are still alive
}
// Continue on and authenticate
aerr := g.G().LoginState().LocalSession(func(s *libkb.Session) {
token = s.GetToken()
uid = s.GetUID()
}, "gregor handler - login session")
if aerr != nil {
g.skipRetryConnect = true
return aerr
}
g.Debug("have session token")
g.Debug("authenticating")
ac := gregor1.AuthClient{Cli: cli}
auth, err := ac.AuthenticateSessionToken(ctx, gregor1.SessionToken(token))
if err != nil {
g.Debug("auth error: %s", err)
return err
}
g.Debug("auth result: %+v", auth)
if !bytes.Equal(auth.Uid, uid.ToBytes()) {
g.skipRetryConnect = true
return fmt.Errorf("auth result uid %x doesn't match session uid %q", auth.Uid, uid)
}
g.sessionID = auth.Sid
return nil
}
开发者ID:qbit,项目名称:client,代码行数:41,代码来源:gregor.go
示例18: TrackChainLinkFor
func (idt *IdentityTable) TrackChainLinkFor(username string, uid keybase1.UID) (*TrackChainLink, error) {
list, found := idt.tracks[username]
if !found {
return nil, nil
}
for i := len(list) - 1; i >= 0; i-- {
link := list[i]
if link.IsRevoked() {
// noop; continue on!
continue
}
uid2, err := link.GetTrackedUID()
if err != nil {
return nil, fmt.Errorf("Bad tracking statement for %s: %s", username, err)
}
if uid.NotEqual(uid2) {
return nil, fmt.Errorf("Bad UID in tracking statement for %s: %s != %s", username, uid, uid2)
}
return link, nil
}
return nil, nil
}
开发者ID:jacobhaven,项目名称:client,代码行数:22,代码来源:id_table.go
示例19: DbKeyUID
func DbKeyUID(t ObjType, uid keybase1.UID) DbKey {
return DbKey{Typ: t, Key: uid.String()}
}
开发者ID:mark-adams,项目名称:client,代码行数:3,代码来源:db.go
示例20: loadThem
func (e *UntrackEngine) loadThem() (them *libkb.User, remoteLink, localLink *libkb.TrackChainLink, err error) {
var rLink *libkb.TrackChainLink
trackMap := e.arg.Me.IDTable().GetTrackMap()
if links, ok := trackMap[e.arg.Username]; ok && (len(links) > 0) {
rLink = links[len(links)-1]
}
var uid keybase1.UID
uidTrusted := false
if rLink != nil {
if uid, err = rLink.GetTrackedUID(); err != nil {
return
}
uidTrusted = true
}
if uid.IsNil() {
res := libkb.ResolveUID(e.arg.Username)
if err = res.GetError(); err != nil {
return
}
// This is an untrusted uid.
uid = res.GetUID()
if uid.IsNil() {
err = libkb.NewUntrackError("Could not resolve uid for @%s", e.arg.Username)
return
}
}
lLink, err := libkb.LocalTrackChainLinkFor(e.arg.Me.GetUID(), uid, e.G())
if err != nil {
return
}
if rLink == nil && lLink == nil {
err = libkb.NewUntrackError("You are not tracking %s", e.arg.Username)
return
}
if !uidTrusted {
if lLink == nil {
err = libkb.NewUntrackError("Could not verify resolved uid for @%s", e.arg.Username)
return
}
var trackedUsername string
trackedUsername, err = lLink.GetTrackedUsername()
if err != nil {
return
}
if e.arg.Username != trackedUsername {
err = libkb.NewUntrackError("Username mismatch: expected @%s, got @%s", e.arg.Username, trackedUsername)
return
}
uidTrusted = true
}
them = libkb.NewUserThin(e.arg.Username, uid)
remoteLink = rLink
localLink = lLink
return
}
开发者ID:paul-pearce,项目名称:client-beta,代码行数:65,代码来源:untrack.go
注:本文中的github.com/keybase/client/go/protocol.UID类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论