# Microsoft.AspNet.Identity.Core

**Kind:** Service

**Source:** `Pams/Logic/Pams.Business/Pams.Business.csproj` (line 1)

**Part of:** [Pams](subsystem-pams)

NuGet package dependency

`Microsoft.AspNet.Identity.Core` is a NuGet dependency referenced by `Pams.Business.csproj`. It contains the ASP.NET Identity types used by server-side authentication and user-management code, such as user managers, claims identities, and password validation contracts.

## Diagram

```mermaid
flowchart LR
  Client[Browser JavaScript] -->|POST credentials| AuthEndpoint[Application authentication endpoint]
  AuthEndpoint -->|calls| UserManager[ASP.NET Identity UserManager]
  UserManager -->|uses| IdentityCore[Microsoft.AspNet.Identity.Core]
  UserManager -->|reads and updates| UserStore[Configured user store]
```

## Usage

```ts
async function signIn(userName: string, password: string) {
  const response = await fetch("/api/auth/login", {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      userName,
      password,
    }),
  });

  if (!response.ok) {
    throw new Error("Authentication failed.");
  }

  return response.json();
}
```

## AI Coding Instructions

- Treat this package as a server-side ASP.NET Identity dependency; browser code should call application authentication endpoints instead of referencing it directly.
- Keep identity operations behind the application's authentication and user-management services rather than creating `UserManager` instances in unrelated business code.
- Verify that package changes remain compatible with the configured user store, authentication middleware, and existing identity models.
- Preserve the legacy project package reference format in `Pams.Business.csproj` unless the project migration updates related dependencies together.

## Used by

4 references from 4 files. Each is a place in this repository where the symbol is actually used — go read one rather than trusting an example.

### Injected or called by (4)

- `Pams.API` — `Pams/API/Pams.API/Pams.API.csproj`:1
- `Pams.Core` — `Pams/Core/Pams.Core/Pams.Core.csproj`:1
- `Pams.Security` — `Pams/Core/Pams.Security/Pams.Security.csproj`:1
- `Pams.Business` — `Pams/Logic/Pams.Business/Pams.Business.csproj`:1
