douwen4125 2016-08-17 07:27
浏览 106

可汗学院重定向默认URL GO lang

I want to access khan academy services, which requires authenticate such as OAuth consumer. Authentication working fine I have used following oauth library.

Steps

  • Get request token

  • Now I have a request_token. I need to have it approved by the user.

https://www.khanacademy.org/api/auth2/authorize?oauth_token=t6492705587593216

Khan academy documentation says

When the user clicks the "Accept" button, they will be redirected to callback url specified by oauth_callback (or /api/auth/default_callback if a custom callback url is not provided)

https://www.khanacademy.org/api/auth/default_callback?oauth_token_secret=NmZ5nFEttE8gwnnz&oauth_verifier=gyM9xcZVtg&oauth_token=t6492705587593216

Here is my GO Code

const (
    CONSUMER_KEY  = "XXXXX"
    CONSUMER_SECRET = "XXXXXXXX"
)

func GetRequestToken(r *http.Request,unitAttemptID int64)(string,error){
    c := oauth.NewConsumer(
        CONSUMER_KEY,
        CONSUMER_SECRET,
        oauth.ServiceProvider{
            RequestTokenUrl:   "https://www.khanacademy.org/api/auth2/request_token",
            AuthorizeTokenUrl: "https://www.khanacademy.org/api/auth2/authorize",
            AccessTokenUrl:    "https://www.khanacademy.org/api/auth2/access_token",
            ExerciseUrl:      "https://www.khanacademy.org/api/v1/user/exercises",
        })
    callback := "http://127.0.0.1/example/index.php/khan/authorizeRequestToken"
    requestToken, u, err := c.GetRequestTokenAndUrl(callback)
    if err != nil {
        fmt.Println("err is  - ",err)
        return "",err
    }
    fmt.Println("requestToken ",requestToken)
    return u,nil
 }

Problem

It always redirect me on custom default URL. I want to redirect my own callback url.

  • 写回答

1条回答 默认 最新

  • dongliao2241 2016-08-21 16:50
    关注

    I've faced a similar situation, fixed by providing the callback as a URL query.

    https://www.khanacademy.org/api/auth2/request_token?oauth_callback=yourcallbackurl
    
    评论

报告相同问题?

悬赏问题

  • ¥17 pro*C预编译“闪回查询”报错SCN不能识别
  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向