本文整理汇总了Golang中github.com/keybase/go-jsonw.NewString函数的典型用法代码示例。如果您正苦于以下问题:Golang NewString函数的具体用法?Golang NewString怎么用?Golang NewString使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了NewString函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: SetLoggedIn
func (s *Session) SetLoggedIn(sessionID, csrfToken string, username NormalizedUsername, uid keybase1.UID, deviceID keybase1.DeviceID) error {
s.valid = true
s.uid = uid
s.username = &username
s.token = sessionID
if s.file == nil {
G.Log.Warning("s.file == nil")
if err := s.Load(); err != nil {
return err
}
}
if s.GetDictionary() == nil {
G.Log.Warning("s.GetDict() == nil")
}
s.GetDictionary().SetKey("session", jsonw.NewString(sessionID))
s.SetCsrf(csrfToken)
s.deviceID = deviceID
if s.file == nil {
return errors.New("no session file")
}
s.GetDictionary().SetKey("device_provisioned", jsonw.NewString(deviceID.String()))
return s.save()
}
示例2: ToServiceJSON
func (t WebServiceType) ToServiceJSON(un string) *jsonw.Wrapper {
h, p, _ := ParseWeb(un)
ret := jsonw.NewDictionary()
ret.SetKey("protocol", jsonw.NewString(p+":"))
ret.SetKey("hostname", jsonw.NewString(h))
return ret
}
示例3: condenseRecord
func condenseRecord(l *libkb.TrackChainLink) (*jsonw.Wrapper, error) {
uid, err := l.GetTrackedUID()
if err != nil {
return nil, err
}
trackedKeys, err := l.GetTrackedKeys()
if err != nil {
return nil, err
}
fpsDisplay := make([]string, len(trackedKeys))
for i, trackedKey := range trackedKeys {
fpsDisplay[i] = strings.ToUpper(trackedKey.Fingerprint.String())
}
un, err := l.GetTrackedUsername()
if err != nil {
return nil, err
}
rp := l.RemoteKeyProofs()
out := jsonw.NewDictionary()
out.SetKey("uid", libkb.UIDWrapper(uid))
out.SetKey("keys", jsonw.NewString(strings.Join(fpsDisplay, ", ")))
out.SetKey("ctime", jsonw.NewInt64(l.GetCTime().Unix()))
out.SetKey("username", jsonw.NewString(un))
out.SetKey("proofs", rp)
return out, nil
}
示例4: RevokeKeysProof
func (u *User) RevokeKeysProof(key GenericKey, kidsToRevoke []keybase1.KID, deviceToDisable keybase1.DeviceID) (*jsonw.Wrapper, error) {
ret, err := ProofMetadata{
Me: u,
LinkType: RevokeType,
SigningKey: key,
}.ToJSON(u.G())
if err != nil {
return nil, err
}
body := ret.AtKey("body")
revokeSection := jsonw.NewDictionary()
revokeSection.SetKey("kids", jsonw.NewWrapper(kidsToRevoke))
body.SetKey("revoke", revokeSection)
if deviceToDisable.Exists() {
device, err := u.GetDevice(deviceToDisable)
if err != nil {
return nil, err
}
deviceSection := jsonw.NewDictionary()
deviceSection.SetKey("id", jsonw.NewString(deviceToDisable.String()))
deviceSection.SetKey("type", jsonw.NewString(device.Type))
deviceSection.SetKey("status", jsonw.NewInt(DeviceStatusDefunct))
body.SetKey("device", deviceSection)
}
return ret, nil
}
示例5: showJSONResults
func (c *CmdSearch) showJSONResults(results []keybase1.UserSummary) error {
output := jsonw.NewArray(len(results))
for userIndex, user := range results {
userBlob := jsonw.NewDictionary()
userBlob.SetKey("username", jsonw.NewString(user.Username))
for _, social := range user.Proofs.Social {
userBlob.SetKey(social.ProofType, jsonw.NewString(social.ProofName))
}
if len(user.Proofs.Web) > 0 {
var webProofs []string
for _, webProof := range user.Proofs.Web {
for _, protocol := range webProof.Protocols {
webProofs = append(webProofs, libkb.MakeURI(protocol, webProof.Hostname))
}
}
websites := jsonw.NewArray(len(webProofs))
for i, wp := range webProofs {
websites.SetIndex(i, jsonw.NewString(wp))
}
userBlob.SetKey("websites", websites)
}
output.SetIndex(userIndex, userBlob)
}
GlobUI.Println(output.MarshalPretty())
return nil
}
示例6: verifyPleaseSign
func (k *KexProvisioner) verifyPleaseSign(jw *jsonw.Wrapper, newKID keybase1.KID) (err error) {
jw.AssertEqAtPath("body.key.kid", k.sigKey.GetKID().ToJsonw(), &err)
jw.AssertEqAtPath("body.key.uid", libkb.UIDWrapper(k.user.GetUID()), &err)
jw.AssertEqAtPath("body.key.eldest_kid", k.user.GetEldestKID().ToJsonw(), &err)
jw.AssertEqAtPath("body.key.username", jsonw.NewString(k.user.GetName()), &err)
jw.AssertEqAtPath("body.device.kid", newKID.ToJsonw(), &err)
jw.AssertEqAtPath("body.type", jsonw.NewString("sibkey"), &err)
return err
}
示例7: MarshalToJSON
func (sh SigHint) MarshalToJSON() *jsonw.Wrapper {
ret := jsonw.NewDictionary()
ret.SetKey("sig_id", jsonw.NewString(sh.sigID.ToString(true)))
ret.SetKey("remote_id", jsonw.NewString(sh.remoteID))
ret.SetKey("api_url", jsonw.NewString(sh.apiURL))
ret.SetKey("human_url", jsonw.NewString(sh.humanURL))
ret.SetKey("proof_text_check", jsonw.NewString(sh.checkText))
return ret
}
示例8: ToTrackingStatementSeqTail
func (u *User) ToTrackingStatementSeqTail() *jsonw.Wrapper {
mul := u.GetPublicChainTail()
if mul == nil {
return jsonw.NewNil()
}
ret := jsonw.NewDictionary()
ret.SetKey("sig_id", jsonw.NewString(mul.SigID.ToString(true)))
ret.SetKey("seqno", jsonw.NewInt(int(mul.Seqno)))
ret.SetKey("payload_hash", jsonw.NewString(mul.LinkID.String()))
return ret
}
示例9: CheckDataJSON
func (w *WebProofChainLink) CheckDataJSON() *jsonw.Wrapper {
ret := jsonw.NewDictionary()
if w.protocol == "dns" {
ret.SetKey("protocol", jsonw.NewString(w.protocol))
ret.SetKey("domain", jsonw.NewString(w.hostname))
} else {
ret.SetKey("protocol", jsonw.NewString(w.protocol+":"))
ret.SetKey("hostname", jsonw.NewString(w.hostname))
}
return ret
}
示例10: ToTrackingStatementKey
func (u *User) ToTrackingStatementKey(errp *error) *jsonw.Wrapper {
ret := jsonw.NewDictionary()
if !u.HasActiveKey() {
*errp = fmt.Errorf("User %s doesn't have an active key", u.GetName())
} else {
kid := u.GetEldestKID()
ret.SetKey("kid", jsonw.NewString(kid.String()))
ckf := u.GetComputedKeyFamily()
if fingerprint, exists := ckf.kf.kid2pgp[kid]; exists {
ret.SetKey("key_fingerprint", jsonw.NewString(fingerprint.String()))
}
}
return ret
}
示例11: SetCsrf
func (s *Session) SetCsrf(t string) {
s.csrf = t
if s.file == nil {
return
}
s.GetDictionary().SetKey("csrf", jsonw.NewString(t))
}
示例12: checkReverseSig
// checkReverseSig verifies that the reverse sig in jw is valid
// and matches jw.
func (e *Kex2Provisioner) checkReverseSig(jw *jsonw.Wrapper) error {
kid, err := jw.AtPath("body.sibkey.kid").GetString()
if err != nil {
return err
}
keypair, err := libkb.ImportKeypairFromKID(keybase1.KIDFromString(kid))
if err != nil {
return err
}
revsig, err := jw.AtPath("body.sibkey.reverse_sig").GetString()
if err != nil {
return err
}
// set reverse_sig to nil to verify it:
jw.SetValueAtPath("body.sibkey.reverse_sig", jsonw.NewNil())
msg, err := jw.Marshal()
if err != nil {
return err
}
_, err = keypair.VerifyString(revsig, msg)
if err != nil {
return err
}
// put reverse_sig back in
jw.SetValueAtPath("body.sibkey.reverse_sig", jsonw.NewString(revsig))
return nil
}
示例13: addDeviceSibkey
func (e *Kex2Provisionee) addDeviceSibkey(jw *jsonw.Wrapper) error {
if e.device.Description == nil {
e.G().Log.Debug("prompting for device name")
// TODO: get existing device names
arg := keybase1.PromptNewDeviceNameArg{}
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
}
示例14: setUserConfigWithLock
func (f *JSONConfigFile) setUserConfigWithLock(u *UserConfig, overwrite bool) error {
if u == nil {
f.G().Log.Debug("| SetUserConfig(nil)")
f.jw.DeleteKey("current_user")
f.userConfigWrapper.userConfig = nil
return f.flush()
}
parent := f.jw.AtKey("users")
un := u.GetUsername()
f.G().Log.Debug("| SetUserConfig(%s)", un)
if parent.IsNil() {
parent = jsonw.NewDictionary()
f.jw.SetKey("users", parent)
f.dirty = true
}
if parent.AtKey(un.String()).IsNil() || overwrite {
uWrapper, err := jsonw.NewObjectWrapper(*u)
if err != nil {
return err
}
parent.SetKey(un.String(), uWrapper)
f.userConfigWrapper.userConfig = u
f.dirty = true
}
if !f.getCurrentUser().Eq(un) {
f.jw.SetKey("current_user", jsonw.NewString(un.String()))
f.userConfigWrapper.userConfig = nil
f.dirty = true
}
return f.Write()
}
示例15: SetDeviceProvisioned
func (s *Session) SetDeviceProvisioned(devid keybase1.DeviceID) error {
s.G().Log.Debug("Local Session: setting provisioned device id: %s", devid)
s.deviceID = devid
if s.file == nil {
return errors.New("no session file")
}
s.GetDictionary().SetKey("device_provisioned", jsonw.NewString(devid.String()))
return s.save()
}