robisim74 / AngularSPAWebAPI

Angular Single Page Application with an ASP.NET Core Web API that uses token authentication
MIT License
231 stars 59 forks source link

Multiples IdentityServer4.Models.Client #33

Open inferiore opened 5 years ago

inferiore commented 5 years ago

Hello yor example is very good and clear. i see that you register manually and in memory the client called AngularSPA, in Config.cs file. ....... // Clients credentials. return new List { // http://docs.identityserver.io/en/release/reference/client.html. new Client { ClientId = "AngularSPA", AllowedGrantTypes = GrantTypes.ResourceOwnerPassword, // Resource Owner Password Credential grant. AllowAccessTokensViaBrowser = true, RequireClientSecret = false, // This client does not need a secret to request tokens from the token endpoint.

                AccessTokenLifetime = 900, // Lifetime of access token in seconds.

                AllowedScopes = {
                    IdentityServerConstants.StandardScopes.OpenId, // For UserInfo endpoint.
                    IdentityServerConstants.StandardScopes.Profile,
                    "roles",
                    "WebAPI"
                },
                AllowOfflineAccess = true, // For refresh token.
                RefreshTokenUsage = TokenUsage.OneTimeOnly,
                AbsoluteRefreshTokenLifetime = 7200,
                SlidingRefreshTokenLifetime = 900,
                RefreshTokenExpiration = TokenExpiration.Sliding
            }
        };

....... if i need to register other client and then save in database? other question is is how get a current user in a controller? Thank so much.

robisim74 commented 5 years ago

Hi @inferiore,

for this kind of issues, please refer to the official IdentityServer4 & ASP.NET Core docs.

However:

On the first point, I have to discourage you from using the ROPC grant, which should only be used in legacy or secure applications, for example with the client hosted on the same server as in this project.

With multiple clients you should use an implicit flow. This is an excellent project: https://github.com/damienbod/AspNet5IdentityServerAngularImplicitFlow

Greetings

inferiore commented 5 years ago

Work fine!