小编chi*_*s0v的帖子

检查Swift中的奇数和偶数(iOS)

我有一个类型为Int的数字数组.我想循环遍历数字列表以获得Swift编程语言(iOS8)中的奇数和偶数.模数(%)运算符在此处不适用于被除数(/)运算符.我不知道怎么计算呢?

提前致谢.

ios swift

44
推荐指数
4
解决办法
5万
查看次数

从身份服务器登录页面启动授权代码流的正确方法是什么?

我正在尝试使用 ASP.NET Core 和 IdentityServer4 实现 SPA React 客户端的授权代码流。

有两种情况:

1)用户打开SPA应用程序,我们检查他是否有访问令牌,如果没有,我们生成像这样的url

/connect/authorize?
client_id=*client_id*&
redirect_uri=*redirect_uri*&
response_type=code&
response_mode=fragment&
state=*some_state*&
nonce=*some_nonce*&
code_challenge=*code_challenge*&
code_challenge_method=S256&
scope=openid profile email
Run Code Online (Sandbox Code Playgroud)

这样授权代码流程就开始了。这工作得非常清楚,在所有往返之后,用户带着代码返回 SPA 应用程序,然后发送令牌请求(包括代码和 code_verifier),然后接收它,并带着幸福的灵魂继续使用我们伟大的应用程序。

2)用户直接打开登录页面,这就是我陷入困境的地方。/connect/authorizeIdentityServer 上下文对此用户、代码挑战等一无所知,因为我们在正常流程中进入此页面之前没有发出请求。下一步是什么?

我可以/connect/authorize直接在登录页面中生成链接,然后进行丑陋的重定向,然后返回登录页面(老实说我不想这样做),但是我的 SPA 应用程序如何知道我在这里生成的 code_verifier 是什么?当然,我可以将其存储在一些共享的跨域 cookie 中,但我相信这里应该有更好的方法。

另一个解决方案是我可以将用户从登录页面重定向到我的应用程序,它会识别出该用户未经授权,然后我们开始场景 #1。我认为这也不是我的首选方法。

如果用户直接打开我的身份服务器页面,我该怎么办?使用授权代码流是否可以实现这一点,或者我应该考虑将其他一些流与此流结合起来?

由于 OAuth 2.0 规范的新建议,我不想使用隐式流。

authentication oauth-2.0 single-page-application reactjs identityserver4

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

如何从 Asp.Net Identity 表中删除鉴别器列

我重命名了标准身份表:

    public class User : IdentityUser
    {
        //...
        public string Name { get; set; }
        public string Surname { get; set; }
        public DateTime? RegisteredDate { get; set; }
        public DateTime? LastLoginDate { get; set; }
        //...
    }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
        base.OnModelCreating(modelBuilder);
        modelBuilder.Entity<IdentityUser>().ToTable("Users");
        modelBuilder.Entity<User>().ToTable("Users");
        modelBuilder.Entity<IdentityRole>().ToTable("Roles");
        modelBuilder.Entity<Role>().ToTable("Roles");
        modelBuilder.Entity<IdentityUserRole>().ToTable("UserRoles");
        modelBuilder.Entity<IdentityUserLogin>().ToTable("UserLogins");
        modelBuilder.Entity<IdentityUserClaim>().ToTable("UserClaims");
    }
Run Code Online (Sandbox Code Playgroud)

并得到这个:

错误一

我需要做什么才能modelBuilder删除此专栏?

c# sql asp.net-mvc entity-framework asp.net-identity

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