Open inferiore opened 5 years ago
Hi @inferiore,
for this kind of issues, please refer to the official IdentityServer4 & ASP.NET Core docs.
However:
To register a new client, just add it to the list:
return new List<Client>
{
new Client
{
ClientId = "AngularSPA",
...
},
new Client
{
ClientId = "AngularSPA2",
...
}
};
To save on db, you have to change the InMemory (https://github.com/robisim74/AngularSPAWebAPI/blob/master/Startup.cs#L82-L84) to a Store:https://identityserver4.readthedocs.io/en/release/quickstarts/8_entity_framework.html
To get the current user in the controller you have multiple ways, like https://stackoverflow.com/questions/40135181/how-do-i-access-my-current-user-using-identityserver4 or you can pass the username
to it
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
Work fine!
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.
....... 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.