我已经为我的ASP.Net MVC客户端成功配置了Identityserver4,一切正常。 现在我正在寻找开发Android应用客户端。 MVC客户端和Android客户端使用相同的Identity Server进行身份验证和授权。 所以对于Android客户端我正在寻找"AppAuth-Android" GitHub库。但我无法找到任何样本或帮助将该库与IdentityServer4一起使用。我已经阅读了" AppAuth-Android"的文档。图书馆,它说
通常,AppAuth可以与支持本机应用程序的任何授权服务器(AS)一起使用。
所以我的问题是1)如何配置我的Identity Server以使用Android应用程序 2)如何在" AppAuth-Android"的帮助下验证我的Android应用程序。
非常感谢任何帮助。
有人可以为" AppAuth-Android"?
创建一个标签答案 0 :(得分:1)
基本上,您可以对identityserver4使用以下设置
new Client
{
ClientId = "client.android",
RequireClientSecret = false,
ClientName = "Android app client",
AllowedGrantTypes = GrantTypes.Code,
RequirePkce = true,
RequireConsent = false,
RedirectUris = { "net.openid.appauthdemo://oauth2redirect" },
AllowedScopes =
{
IdentityServerConstants.StandardScopes.OpenId,
IdentityServerConstants.StandardScopes.Profile,
IdentityServerConstants.StandardScopes.Email,
IdentityServerConstants.StandardScopes.Phone,
"api1"
},
AllowOfflineAccess = true
}
无论如何,您可以参考https://github.com/IdentityServer/IdentityServer4/issues/479了解有关此问题的详细信息。
答案 1 :(得分:1)
服务器端的数据应该与Android应用程序中使用的数据相同。
将客户端添加到服务器端
new Client
{
ClientId = "myClientId",
ClientName = "myClientName",
AllowedGrantTypes = GrantTypes.CodeAndClientCredentials,
RequireConsent = false,
ClientSecrets =
{
new Secret("myClientSecret".Sha256())
},
RedirectUris = { "myRedirectUri://callback" },
AllowedScopes =
{
IdentityServerConstants.StandardScopes.OpenId,
IdentityServerConstants.StandardScopes.Profile,
IdentityServerConstants.StandardScopes.Email,
IdentityServerConstants.StandardScopes.Phone,
},
AllowOfflineAccess = true
}
在Android应用中,您应该拥有相同的clientId
,clientSecret
,redirectUri
..
我使用AppAuth-android库制作了一个示例,您只需编辑gradle.properties
中的数据,然后检查here