IdentityServer4具有aspnet身份和javascript客户端

时间:2017-07-14 15:38:42

标签: asp.net-identity single-sign-on identityserver4 oidc-client-js

我正在尝试实现IdentityServer4。所有客户端都将是javascript app(在反应中)。我的问题是:

1.-我们将拥有自定义用户数据库,因此我尝试使用Aspnet身份实现de IS4,如第6个示例。但是,由于我的客户端是基于Javascript的,我必须使用de implicit flow,并且在示例中(因为它是使用MVC客户端完成的)是在考虑HybridAndClientCredentials的情况下完成的。此外,MVC登录应用程序似乎不包括同意步骤。我结合AspnetIdentity示例实现了javascript客户端示例。起初它给了我错误:IdentityServer4.Validation.ScopeValidator:错误:无效范围:api2,(api2是客户端将调用的Api),但api2包含在客户端定义中:

 new Client
            {
                ClientId = "js2",
                ClientName = "JavaScript Client 2",
                AllowedGrantTypes = GrantTypes.Implicit,
                AllowAccessTokensViaBrowser = true,
                RequireConsent = true,
                RedirectUris =           { "http://jstwo:5004/callback.html" },
                PostLogoutRedirectUris = { "http://jstwo:5004/index.html" },
                AllowedCorsOrigins =     { "http://jstwo:5004" },

                AllowedScopes =
                {
                    IdentityServerConstants.StandardScopes.OpenId,
                    IdentityServerConstants.StandardScopes.Profile,
                    "api2"
                },
                AllowOfflineAccess = true
            }

为了尝试继续,我从客户端调用中删除了该范围,并且它有效。我登录但是由于同意步骤丢失,客户端崩溃了。

Error image

所以,我觉得我有点迷失在这里。我应该找到一种方法来跳过conset步骤吗? (这会很好,因为我们不希望这一步,所有用户都是内部的。)

2.-我们还需要在数据库中保留所有结构,例如样本8_EntityFrameworkStorage。我可以将这种方式与AspIdentity结合使用吗?

参考的样本:https://github.com/IdentityServer/IdentityServer4.Samples

非常感谢您阅读。

0 个答案:

没有答案