小编Li *_*Xin的帖子

哪个定时 JSONWebSignature 序列化器替代其危险更好?pyjwt 或 authlib

目前,我正在使用itsdangerous生成定时 json Web 签名作为用户进行身份验证和重置密码等的令牌。以下是代码:

from itsdangerous import TimedJSONWebSignatureSerializer as Serializer

class SampleCode:
    def generate_confirmation_token(self, expiration=600):
        s = Serializer(current_app.config['SECRET_KEY'], expires_in=expiration)
        return s.dumps({'confirm': self.id}).decode('utf-8')

    def confirm(self, token):
        s = Serializer(current_app.config['SECRET_KEY'])
        try:
            data = s.loads(token.encode('utf-8'))
        except:
            return False
        if data.get('confirm') != self.id:
            return False
        self.confirmed = True
        db.session.add(self)
        return True
Run Code Online (Sandbox Code Playgroud)

由于TimedJSONWebSignatureSerializer弃用并删除,itsdangerous 2.1.0我认为我可能需要转向提供 JWT/JWS 接口的其他一些库。

这里我有两个候选人,哪一个更好:

flask pyjwt itsdangerous authlib

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

Stackoverflow声誉

我试图在我的项目中显示用户的Stack Overflow信誉.我有用户电子邮件.因此,使用用户电子邮件作为输入,我可以获得用户的Stack Overflow声誉吗?

现在我尝试使用Javascript SDK.使用Stack Overflow的身份验证方法.在这种情况下,用户必须登录到Stack Overflow,然后我获得了用户的Stack Overflow id和声誉.

  1. 我是否可以获得未经身份验证通过其emailid的用户的Stack Overflow声誉?
  2. 每当他在Stack Overflow中改变他的声誉时,我是否有选择在我的网站中自动更新他的Stack Overflow声誉值?

stackexchange-api

6
推荐指数
2
解决办法
1795
查看次数

我应该如何在SpringBoot中使用JpaRepository.findOne()?

我刚开始通过阅读Spring Boot in Action这本书开始学习Spring Boot ,我正在学习本书的例子,尝试自己运行它们但是我遇到了问题JpaRepository.findOne().

我已经全身心地去寻找可能的不匹配.但是,它只是不起作用.

该项目应该是一个简单的阅读清单.

这是代码:

读者@Entity:

package com.lixin.readinglist;

import org.springframework.data.annotation.Id;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.authority.SimpleGrantedAuthority;
import org.springframework.security.core.userdetails.UserDetails;

import javax.persistence.Entity;
import java.util.Collection;
import java.util.Collections;

/**
 * @author lixin
 */
@Entity
public class Reader implements UserDetails {

    private static final long serialVersionUID = 1L;

    @Id
    private String username;
    private String fullname;
    private String password;

    @Override
    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    } …
Run Code Online (Sandbox Code Playgroud)

java spring-data-jpa spring-boot

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

如何替换最近废除的宏“access_ok”第一个参数?

尝试将老式驱动程序从内核 2.6 合并到最新的内核 5.8。

并遇到以下错误:

macro "access_ok" passed 3 arguments, but takes just 2
Run Code Online (Sandbox Code Playgroud)

access_ok是一个定义在的宏asm/uaccess.h

这是代码片段:

#include <asm/uaccess.h>

if (_IOC_DIR(cmd) & _IOC_READ)
    err = !access_ok(VERIFY_WRITE, (void __user *)arg, _IOC_SIZE(cmd));
else if (_IOC_DIR(cmd) & _IOC_WRITE)
    err = !access_ok(VERIFY_READ, (void __user *)arg, _IOC_SIZE(cmd));
if (err) return -EFAULT;
Run Code Online (Sandbox Code Playgroud)

我做了一些谷歌搜索,但他们都告诉我切换到支持access_ok3 个参数的较低版本内核,显然这并没有解决我的问题。

所以我想知道我可以用哪个宏来替换access_ok

c linux linux-device-driver

5
推荐指数
2
解决办法
2587
查看次数