目前,我正在使用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 接口的其他一些库。
这里我有两个候选人,哪一个更好:
我试图在我的项目中显示用户的Stack Overflow信誉.我有用户电子邮件.因此,使用用户电子邮件作为输入,我可以获得用户的Stack Overflow声誉吗?
现在我尝试使用Javascript SDK.使用Stack Overflow的身份验证方法.在这种情况下,用户必须登录到Stack Overflow,然后我获得了用户的Stack Overflow id和声誉.
我刚开始通过阅读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) 尝试将老式驱动程序从内核 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?