小编Zan*_*der的帖子

如何在 go-gin 框架中验证 API 密钥?

所以我目前有一个函数,它将接受一个字符串APIKey来对照我的 MongoDB 集合进行检查。如果未找到任何内容(未经过身份验证),则返回 false - 如果找到用户,则返回 true。然而,我的问题是我不确定如何将其与 Gin POST 路由集成。这是我的代码:


import (
    "context"
    "fmt"
    "log"
    "os"

    "github.com/gin-gonic/gin"
    _ "github.com/joho/godotenv/autoload"
    "go.mongodb.org/mongo-driver/bson"
    "go.mongodb.org/mongo-driver/bson/primitive"
    "go.mongodb.org/mongo-driver/mongo"
    "go.mongodb.org/mongo-driver/mongo/options"
)

type User struct {
    Name   string
    APIKey string
}

func validateAPIKey(users *mongo.Collection, APIKey string) bool {
    var user User

    filter := bson.D{primitive.E{Key: "APIKey", Value: APIKey}}
    if err := users.FindOne(context.TODO(), filter).Decode(&user); err != nil {
        fmt.Printf("Found 0 results for API Key: %s\n", APIKey)
        return false
    }

    fmt.Printf("Found: %s\n", user.Name)
    return true
}

func handleUpload(c *gin.Context) …
Run Code Online (Sandbox Code Playgroud)

go go-gin

2
推荐指数
1
解决办法
3276
查看次数

如何使用 Python 处理 POST 请求?

我正在尝试设置一个可以侦听和处理 POST 请求的小型 Python 3.8 脚本。我想监听来自 Trello 的 POST,然后记录数据。我读过的每个视频或指南都展示了如何处理来自 HTML 表单的 POST 请求。

特雷洛示例:

{
   "action": {
      "id":"51f9424bcd6e040f3c002412",
      "idMemberCreator":"4fc78a59a885233f4b349bd9",
      "data": {
         "board": {
            "name":"Trello Development",
            "id":"4d5ea62fd76aa1136000000c"
         },
         "card": {
            "idShort":1458,
            "name":"Webhooks",
            "id":"51a79e72dbb7e23c7c003778"
         },
         "voted":true
      },
      "type":"voteOnCard",
      "date":"2013-07-31T16:58:51.949Z",
      "memberCreator": {
         "id":"4fc78a59a885233f4b349bd9",
         "avatarHash":"2da34d23b5f1ac1a20e2a01157bfa9fe",
         "fullName":"Doug Patti",
         "initials":"DP",
         "username":"doug"
      }
   },
   "model": {
      "id":"4d5ea62fd76aa1136000000c",
      "name":"Trello Development",
      "desc":"Trello board used by the Trello team to track work on Trello.  How meta!\n\nThe development of the Trello API is being tracked at https://trello.com/api\n\nThe development of Trello Mobile …
Run Code Online (Sandbox Code Playgroud)

python http-post request python-3.x python-3.8

1
推荐指数
1
解决办法
1万
查看次数

标签 统计

go ×1

go-gin ×1

http-post ×1

python ×1

python-3.8 ×1

python-3.x ×1

request ×1