C# 无法创建asp.net标识表

C# 无法创建asp.net标识表,c#,.net,asp.net-web-api,asp.net-identity,owin,C#,.net,Asp.net Web Api,Asp.net Identity,Owin,我将WebAPI2.2模板与OWIN和Identity框架一起使用。我故意将我的DeafultConnection设置为一个坏的IP地址,但在通过并获取承载令牌和创建声明时,我没有收到任何错误 我可以杀死w3wp.exe,重新启动它,我的令牌仍然有效。那么,它在哪里持续 我正在我的GrantResourceOwnerCredentials()方法中手动验证测试用户 public class ApplicationDbContext : IdentityDbContext<Applicati

我将WebAPI2.2模板与OWIN和Identity框架一起使用。我故意将我的DeafultConnection设置为一个坏的IP地址,但在通过并获取承载令牌和创建声明时,我没有收到任何错误

我可以杀死w3wp.exe,重新启动它,我的令牌仍然有效。那么,它在哪里持续

我正在我的GrantResourceOwnerCredentials()方法中手动验证测试用户

public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
    public ApplicationDbContext() : base("DefaultConnection", throwIfV1Schema: false)
    {
    }

    public static ApplicationDbContext Create()
    {
        return new ApplicationDbContext();
    }
}
public类ApplicationDbContext:IdentityDbContext
{
public ApplicationDbContext():base(“DefaultConnection”,throwifvv1schema:false)
{
}
公共静态应用程序上下文创建()
{
返回新的ApplicationDbContext();
}
}
我可以杀死w3wp.exe,重新启动它,我的令牌仍然有效。那么,它在哪里持续

OAuth令牌根本不会持久化,在默认的Owin OAuth2实现中,它们在设计上是无状态的。每个令牌都包含由服务器加密的为用户发布的声明,因此只有服务器才能解密和验证它


如果您在不点击数据库的情况下验证您的用户(我假设这是您在
GrantResourceOwnerCredential
方法中手动说的意思),那么当然
DbContext
永远不会被实例化。

表是在您首次注册用户时创建的谢谢您这非常有意义!那么,如果我自己进行用户验证,还可以在哪里使用IdentityDbContext?添加标识框架似乎是一种浪费。如果不使用ASP.NET标识管理用户(用户创建、验证等),则可以将其删除。默认模板使用它,但是如果你完全替换了默认的用户管理,那么你就不需要它了。作为跟进,我删除了所有的身份信息,它工作得很好。