为了账号安全,请及时绑定邮箱和手机立即绑定

接口/结构“没有实现 X,错误的类型或方法,不知道为什么我会收到这个错误

接口/结构“没有实现 X,错误的类型或方法,不知道为什么我会收到这个错误

Go
慕妹3146593 2021-11-01 15:04:54
Golang 新手,我知道接口有点像合约,保证某些东西会以某种方式运行,这很酷,如果我制作它的本地副本,我基本上可以重写它的运行方式(根据我的理解,如有不对请指正)这是我到目前为止所拥有的package registerimport (    "log"    "net/http"    "github.com/yohcop/openid-go")var nonceStore = &openid.SimpleNonceStore{    Store: make(map[string][]*openid.Nonce)}var discoveryCache = &SimpleDiscoveryCache{}type DiscoveredInfo interface {    OpEndpoint() string    OPLocalID() string    ClaimedID() string}type SimpleDiscoveredInfo struct {    opEndpoint, opLocalID, claimedID string}type SimpleDiscoveryCache map[string]DiscoveredInfofunc (s *SimpleDiscoveryCache) Put(id string, info DiscoveredInfo) {    db := common.ConnectDB()    rows, err := db.Query("INSERT INTO discovery_cache SET id=?, opendpoint=?, oplocalid=?, claimedid=?",        id, info.OpEndpoint(), info.OPLocalID(), info.ClaimedID())    if err != nil {        panic("Error: " + err.Error())    }    log.Println(rows)}func (s *SimpleDiscoveryCache) Get(id string) DiscoveredInfo {    db := common.ConnectDB()    rows, err := db.Query("SELECT FROM discovery_cache WHERE id=?", id)    if err != nil {        panic("Error: " + err.Error())    }    log.Println(rows)    var opEndpoint, opLocalID, claimedID string    for rows.Next() {        err := rows.Scan(&opEndpoint, &opLocalID, &claimedID)        if err != nil {            panic("Help!")        }    }    return &SimpleDiscoveredInfo{        opEndpoint, opLocalID, claimedID,    }}func DiscoverHandler(w http.ResponseWriter, r *http.Request) {    url, err := openid.RedirectURL("http://steamcommunity.com/openid", "http://localhost:1337/login/return", "http://localhost")    if err != nil {        http.Error(w, "Failed to login", 500)    }    http.Redirect(w, r, url, 303)}基本上我正在尝试制作自己的,DiscoveryCache以便它使用数据库而不是内存进行存储(按照位于此处的 Go-OpenID 包的指示:https : //github.com/yohcop/openid-go我试图重新创建的部分位于:https : //github.com/yohcop/openid-go/blob/master/discovery_cache.go
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 170 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信