本文整理汇总了Golang中github.com/keybase/client/go/libkb.NewLoadUserByNameArg函数的典型用法代码示例。如果您正苦于以下问题:Golang NewLoadUserByNameArg函数的具体用法?Golang NewLoadUserByNameArg怎么用?Golang NewLoadUserByNameArg使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了NewLoadUserByNameArg函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: CreateAndSignupFakeUser
func CreateAndSignupFakeUser(prefix string, g *libkb.GlobalContext) (*FakeUser, error) {
fu, err := NewFakeUser(prefix)
if err != nil {
return nil, err
}
arg := engine.SignupEngineRunArg{
Username: fu.Username,
Email: fu.Email,
InviteCode: testInviteCode,
Passphrase: fu.Passphrase,
DeviceName: "my device",
SkipGPG: true,
SkipMail: true,
}
ctx := &engine.Context{
LogUI: g.UI.GetLogUI(),
GPGUI: &gpgtestui{},
SecretUI: fu.NewSecretUI(),
LoginUI: &libkb.TestLoginUI{Username: fu.Username},
}
s := engine.NewSignupEngine(&arg, g)
if err := engine.RunEngine(s, ctx); err != nil {
return nil, err
}
fu.User, err = libkb.LoadUser(libkb.NewLoadUserByNameArg(g, fu.Username))
if err != nil {
return nil, err
}
return fu, nil
}
开发者ID:qbit,项目名称:client,代码行数:30,代码来源:kbtest.go
示例2: Run
func (e *ListTrackingEngine) Run(ctx *Context) (err error) {
var user *libkb.User
if len(e.arg.ForAssertion) > 0 {
user, err = libkb.LoadUser(libkb.NewLoadUserByNameArg(e.G(), e.arg.ForAssertion))
} else {
user, err = libkb.LoadMe(libkb.NewLoadUserArg(e.G()))
}
if err != nil {
return
}
var trackList TrackList
trackList = user.IDTable().GetTrackList()
trackList, err = filterRxx(trackList, e.arg.Filter)
if err != nil {
return
}
sort.Sort(trackList)
if e.arg.JSON {
err = e.runJSON(trackList, e.arg.Verbose)
} else {
err = e.runTable(trackList)
}
return
}
开发者ID:qbit,项目名称:client,代码行数:29,代码来源:list_tracking.go
示例3: runLoggedIn
func (e *PGPPullEngine) runLoggedIn(ctx *Context, summaries []keybase1.UserSummary) error {
// Loop over the list of all users we track.
for _, userSummary := range summaries {
// Compute the set of tracked pgp fingerprints. LoadUser will fetch key
// data from the server, and we will compare it against this.
trackedFingerprints := make(map[string]bool)
for _, pubKey := range userSummary.Proofs.PublicKeys {
if pubKey.PGPFingerprint != "" {
trackedFingerprints[pubKey.PGPFingerprint] = true
}
}
// Get user data from the server.
user, err := libkb.LoadUser(libkb.NewLoadUserByNameArg(e.G(), userSummary.Username))
if err != nil {
ctx.LogUI.Errorf("Failed to load user %s: %s", userSummary.Username, err)
continue
}
if err = e.exportKeysToGPG(ctx, user, trackedFingerprints); err != nil {
return err
}
}
return nil
}
开发者ID:Varjelus,项目名称:keybase-client,代码行数:26,代码来源:pgp_pull.go
示例4: assertUntracked
func assertUntracked(tc libkb.TestContext, username string) {
me, err := libkb.LoadMe(libkb.NewLoadUserArg(tc.G))
if err != nil {
tc.T.Fatal(err)
}
them, err := libkb.LoadUser(libkb.NewLoadUserByNameArg(tc.G, username))
if err != nil {
tc.T.Fatal(err)
}
s, err := me.TrackChainLinkFor(them.GetName(), them.GetUID())
if err != nil {
tc.T.Fatal(err)
}
if s != nil {
tc.T.Fatal("expected not to get a tracking statement; but got one")
}
s, err = libkb.LocalTrackChainLinkFor(me.GetUID(), them.GetUID(), tc.G)
if err != nil {
tc.T.Fatal(err)
}
if s != nil {
tc.T.Fatal("expected not to get a local tracking statement; but got one")
}
}
开发者ID:mark-adams,项目名称:client,代码行数:26,代码来源:untrack_test.go
示例5: loadThem
func (e *TrackToken) loadThem(username string) error {
them, err := libkb.LoadUser(libkb.NewLoadUserByNameArg(e.G(), username))
if err != nil {
return err
}
e.them = them
return nil
}
开发者ID:Varjelus,项目名称:keybase-client,代码行数:8,代码来源:track_token.go
示例6: loadUser
// loadUser will load the user by name specified in e.username.
func (e *LoginProvision) loadUser(ctx *Context) (*libkb.User, error) {
if len(e.username) == 0 {
return nil, libkb.NoUsernameError{}
}
e.G().Log.Debug("LoginProvision: loading user %s", e.username)
arg := libkb.NewLoadUserByNameArg(e.G(), e.username)
arg.PublicKeyOptional = true
return libkb.LoadUser(arg)
}
开发者ID:mark-adams,项目名称:client,代码行数:10,代码来源:login_provision.go
示例7: TestSelectEngine
func TestSelectEngine(t *testing.T) {
tc := SetupEngineTest(t, "select")
defer tc.Cleanup()
fu := NewFakeUserOrBust(t, "se")
if err := tc.GenerateGPGKeyring(fu.Email); err != nil {
t.Fatal(err)
}
arg := MakeTestSignupEngineRunArg(fu)
arg.SkipGPG = false
s := NewSignupEngine(&arg, tc.G)
testui := &gpgtestui{}
ctx := &Context{
LogUI: tc.G.UI.GetLogUI(),
GPGUI: testui,
SecretUI: fu.NewSecretUI(),
LoginUI: &libkb.TestLoginUI{Username: fu.Username},
}
if err := RunEngine(s, ctx); err != nil {
t.Fatal(err)
}
fuUser, err := libkb.LoadUser(libkb.NewLoadUserByNameArg(tc.G, fu.Username))
if err != nil {
tc.T.Fatal(err)
}
publicKeys := fuUser.GetActivePGPKeys(false)
if len(publicKeys) != 1 {
tc.T.Fatal("There should be one generated PGP key")
}
key := publicKeys[0]
fp := fmt.Sprintf("%s", key.GetFingerprint())
garg := GPGImportKeyArg{
Query: fp,
AllowMulti: true,
SkipImport: false,
OnlyImport: false,
}
gpg := NewGPGImportKeyEngine(&garg, tc.G)
err = RunEngine(gpg, ctx)
// The GPGImportKeyEngine converts a multi select on the same key into
// an update, so our test checks that the update code ran, by counting
// on the test version of the update key prompt.
if testui.keyChosenCount != 1 {
tc.T.Fatal("Selected the same key twice and no update happened")
}
if len(gpg.duplicatedFingerprints) != 1 {
tc.T.Fatal("Server didn't return an error while updating")
}
if !key.GetFingerprint().Eq(gpg.duplicatedFingerprints[0]) {
tc.T.Fatal("Our fingerprint ID wasn't returned as up to date")
}
return
}
开发者ID:mark-adams,项目名称:client,代码行数:57,代码来源:pgp_select_test.go
示例8: getCurrentBTCAddr
func getCurrentBTCAddr(tc libkb.TestContext, username string) string {
u, err := libkb.LoadUser(libkb.NewLoadUserByNameArg(tc.G, username))
if err != nil {
tc.T.Fatal(err)
}
cryptoLink := u.IDTable().ActiveCryptocurrency()
if cryptoLink == nil {
return ""
}
return cryptoLink.ToDisplayString()
}
开发者ID:paul-pearce,项目名称:client-beta,代码行数:11,代码来源:btc_test.go
示例9: LoadUserByName
func (h *UserHandler) LoadUserByName(_ context.Context, arg keybase1.LoadUserByNameArg) (user keybase1.User, err error) {
loadUserArg := libkb.NewLoadUserByNameArg(h.G(), arg.Username)
loadUserArg.PublicKeyOptional = true
u, err := libkb.LoadUser(loadUserArg)
if err != nil {
return
}
exportedUser := u.Export()
user = *exportedUser
return
}
开发者ID:qbit,项目名称:client,代码行数:11,代码来源:user.go
示例10: loadUser
// loadUser will prompt for username (if not provided) and load the user.
func (e *LoginProvision) loadUser(ctx *Context) (*libkb.User, error) {
if len(e.arg.Username) == 0 {
username, err := ctx.LoginUI.GetEmailOrUsername(context.TODO(), 0)
if err != nil {
return nil, err
}
e.arg.Username = username
}
arg := libkb.NewLoadUserByNameArg(e.G(), e.arg.Username)
arg.PublicKeyOptional = true
return libkb.LoadUser(arg)
}
开发者ID:moul,项目名称:client,代码行数:13,代码来源:login_provision.go
示例11: ensureUID
func (e *ListTrackersEngine) ensureUID() error {
if e.uid.Exists() {
return nil
}
if len(e.username) == 0 {
e.uid = e.G().GetMyUID()
return nil
}
user, err := libkb.LoadUser(libkb.NewLoadUserByNameArg(e.G(), e.username))
if err != nil {
return err
}
e.uid = user.GetUID()
return nil
}
开发者ID:paul-pearce,项目名称:client-beta,代码行数:15,代码来源:list_trackers.go
示例12: isTracking
func (p *pgpPair) isTracking(meContext libkb.TestContext, username string) bool {
me, err := libkb.LoadMe(libkb.NewLoadUserArg(meContext.G))
if err != nil {
p.t.Fatal(err)
}
them, err := libkb.LoadUser(libkb.NewLoadUserByNameArg(meContext.G, username))
if err != nil {
p.t.Fatal(err)
}
s, err := me.TrackChainLinkFor(them.GetName(), them.GetUID())
if err != nil {
p.t.Fatal(err)
}
return s != nil
}
开发者ID:jacobhaven,项目名称:client,代码行数:15,代码来源:pgp_test.go
示例13: Run
func (e *PGPPullEngine) Run(ctx *Context) error {
summaries, err := e.getTrackedUserSummaries(ctx)
if err != nil {
return err
}
gpgClient := libkb.NewGpgCLI(libkb.GpgCLIArg{
LogUI: ctx.LogUI,
})
err = gpgClient.Configure()
if err != nil {
return err
}
// Loop over the list of all users we track.
for _, userSummary := range summaries {
// Compute the set of tracked pgp fingerprints. LoadUser will fetch key
// data from the server, and we will compare it against this.
trackedFingerprints := make(map[string]bool)
for _, pubKey := range userSummary.Proofs.PublicKeys {
if pubKey.PGPFingerprint != "" {
trackedFingerprints[pubKey.PGPFingerprint] = true
}
}
// Get user data from the server.
user, err := libkb.LoadUser(libkb.NewLoadUserByNameArg(e.G(), userSummary.Username))
if err != nil {
ctx.LogUI.Errorf("Failed to load user %s: %s", userSummary.Username, err)
continue
}
for _, bundle := range user.GetActivePGPKeys(false) {
// Check each key against the tracked set.
if !trackedFingerprints[bundle.GetFingerprint().String()] {
ctx.LogUI.Warning("Keybase says that %s owns key %s, but you have not tracked this fingerprint before.", user.GetName(), bundle.GetFingerprint())
continue
}
err = gpgClient.ExportKey(*bundle)
if err != nil {
return err
}
ctx.LogUI.Info("Imported key for %s.", user.GetName())
}
}
return nil
}
开发者ID:paul-pearce,项目名称:client-beta,代码行数:48,代码来源:pgp_pull.go
示例14: loadUsers
// don't identify or track, just load the users
func (e *PGPKeyfinder) loadUsers(ctx *Context) {
if e.runerr != nil {
return
}
for _, u := range e.arg.Usernames {
arg := libkb.NewLoadUserByNameArg(e.G(), u)
user, err := libkb.LoadUser(arg)
if err != nil {
e.runerr = err
return
}
e.addUser(user, false)
}
}
开发者ID:mark-adams,项目名称:client,代码行数:17,代码来源:pgp_keyfinder.go
示例15: assertNotTracking
func assertNotTracking(tc libkb.TestContext, username string) {
me, err := libkb.LoadMe(libkb.NewLoadUserArg(tc.G))
if err != nil {
tc.T.Fatal(err)
}
them, err := libkb.LoadUser(libkb.NewLoadUserByNameArg(tc.G, username))
if err != nil {
tc.T.Fatal(err)
}
s, err := me.TrackChainLinkFor(them.GetName(), them.GetUID())
if err != nil {
tc.T.Fatal(err)
}
if s != nil {
tc.T.Errorf("a tracking statement exists for %s -> %s", me.GetName(), them.GetName())
}
}
开发者ID:polluks,项目名称:client,代码行数:17,代码来源:track_test.go
示例16: assertTracking
func assertTracking(tc libkb.TestContext, username string) {
me, err := libkb.LoadMe(libkb.NewLoadUserArg(tc.G))
if err != nil {
tc.T.Fatal(err)
}
them, err := libkb.LoadUser(libkb.NewLoadUserByNameArg(tc.G, username))
if err != nil {
tc.T.Fatal(err)
}
s, err := me.TrackChainLinkFor(them.GetName(), them.GetUID())
if err != nil {
tc.T.Fatal(err)
}
if s == nil {
tc.T.Fatal("expected a tracking statement; but didn't see one")
}
}
开发者ID:polluks,项目名称:client,代码行数:17,代码来源:track_test.go
示例17: getActiveDevicesAndKeys
func getActiveDevicesAndKeys(tc libkb.TestContext, u *FakeUser) ([]*libkb.Device, []libkb.GenericKey) {
arg := libkb.NewLoadUserByNameArg(tc.G, u.Username)
arg.PublicKeyOptional = true
user, err := libkb.LoadUser(arg)
if err != nil {
tc.T.Fatal(err)
}
sibkeys := user.GetComputedKeyFamily().GetAllActiveSibkeys()
subkeys := user.GetComputedKeyFamily().GetAllActiveSubkeys()
activeDevices := []*libkb.Device{}
for _, device := range user.GetComputedKeyFamily().GetAllDevices() {
if device.Status != nil && *device.Status == libkb.DeviceStatusActive {
activeDevices = append(activeDevices, device)
}
}
return activeDevices, append(sibkeys, subkeys...)
}
开发者ID:qbit,项目名称:client,代码行数:18,代码来源:revoke_test.go
示例18: Run
// Run starts the engine.
func (e *loginLoadUser) Run(ctx *Context) error {
username, err := e.findUsername(ctx)
if err != nil {
return err
}
e.G().Log.Debug("loginLoadUser: found username %q", username)
arg := libkb.NewLoadUserByNameArg(e.G(), username)
arg.PublicKeyOptional = true
user, err := libkb.LoadUser(arg)
if err != nil {
return err
}
e.user = user
e.G().Log.Debug("loginLoadUser: found user %s for username %q", e.user.GetUID(), username)
return nil
}
开发者ID:qbit,项目名称:client,代码行数:21,代码来源:login_load_user.go
示例19: addDeviceSibkey
func (e *Kex2Provisionee) addDeviceSibkey(jw *jsonw.Wrapper) error {
if e.device.Description == nil {
// need user to get existing device names
loadArg := libkb.NewLoadUserByNameArg(e.G(), e.username)
loadArg.LoginContext = e.ctx.LoginContext
user, err := libkb.LoadUser(loadArg)
if err != nil {
return err
}
existingDevices, err := user.DeviceNames()
if err != nil {
e.G().Log.Debug("proceeding despite error getting existing device names: %s", err)
}
e.G().Log.Debug("prompting for device name")
arg := keybase1.PromptNewDeviceNameArg{
ExistingDevices: existingDevices,
}
name, err := e.ctx.ProvisionUI.PromptNewDeviceName(context.TODO(), arg)
if err != nil {
return err
}
e.device.Description = &name
e.G().Log.Debug("got device name: %q", name)
}
s := libkb.DeviceStatusActive
e.device.Status = &s
e.device.Kid = e.eddsa.GetKID()
dw, err := e.device.Export(libkb.SibkeyType)
if err != nil {
return err
}
jw.SetValueAtPath("body.device", dw)
if err = jw.SetValueAtPath("body.sibkey.kid", jsonw.NewString(e.eddsa.GetKID().String())); err != nil {
return err
}
return nil
}
开发者ID:qbit,项目名称:client,代码行数:41,代码来源:kex2_provisionee.go
示例20: HandleDidCounterSign
// HandleDidCounterSign implements HandleDidCounterSign in
// kex2.Provisionee interface.
func (e *Kex2Provisionee) HandleDidCounterSign(sig []byte) (err error) {
e.G().Log.Debug("+ HandleDidCounterSign()")
defer func() { e.G().Log.Debug("- HandleDidCounterSign() -> %s", libkb.ErrToOk(err)) }()
e.G().Log.Debug("HandleDidCounterSign sig: %s", string(sig))
// load self user (to load merkle root)
_, err = libkb.LoadUser(libkb.NewLoadUserByNameArg(e.G(), e.username))
if err != nil {
return err
}
// decode sig
decSig, err := e.decodeSig(sig)
if err != nil {
return err
}
e.dh, err = libkb.GenerateNaclDHKeyPair()
if err != nil {
return err
}
// make a keyproof for the dh key, signed w/ e.eddsa
dhSig, dhSigID, err := e.dhKeyProof(e.dh, decSig.eldestKID, decSig.seqno, decSig.linkID)
if err != nil {
return err
}
// create the key args for eddsa, dh keys
eddsaArgs, err := makeKeyArgs(decSig.sigID, sig, libkb.SibkeyType, e.eddsa, decSig.eldestKID, decSig.signingKID)
if err != nil {
return err
}
dhArgs, err := makeKeyArgs(dhSigID, []byte(dhSig), libkb.SubkeyType, e.dh, decSig.eldestKID, e.eddsa.GetKID())
if err != nil {
return err
}
// logged in, so save the login state
err = e.saveLoginState()
if err != nil {
return err
}
// push the LKS server half
err = e.pushLKSServerHalf()
if err != nil {
return err
}
// save device and keys locally
err = e.localSave()
if err != nil {
return err
}
// post the key sigs to the api server
err = e.postSigs(eddsaArgs, dhArgs)
if err != nil {
return err
}
return err
}
开发者ID:paul-pearce,项目名称:client-beta,代码行数:67,代码来源:kex2_provisionee.go
注:本文中的github.com/keybase/client/go/libkb.NewLoadUserByNameArg函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论