Changeset 89eb129


Ignore:
Timestamp:
10/28/25 10:44:31 (11 months ago)
Author:
GitHub <noreply@…>
Branches:
master
Children:
2e5e3a8, c72ed3b
Parents:
0b16523 (diff), c155364 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
git-author:
Boris Gjorgjievski <69085722+imbrsk@…> (10/28/25 10:44:31)
git-committer:
GitHub <noreply@…> (10/28/25 10:44:31)
Message:

Merge pull request #3 from stefansaveski/feature/refresh-token

Feature/refresh token

Location:
iknow-api
Files:
17 added
2 deleted
4 edited

Legend:

Unmodified
Added
Removed
  • iknow-api/Program.cs

    r0b16523 r89eb129  
     1using System.Text;
     2using iknow_api.Data;
     3using iknow_api.Repositories;
     4using iknow_api.Services;
     5using Microsoft.AspNetCore.Authentication.JwtBearer;
     6using Microsoft.EntityFrameworkCore;
     7using Microsoft.IdentityModel.Tokens;
     8
    19var builder = WebApplication.CreateBuilder(args);
     10builder.Services.AddAuthentication(options =>
     11{
     12    options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
     13    options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
     14})
     15.AddJwtBearer(options =>
     16{
     17    options.RequireHttpsMetadata = false; // only for development
     18    options.SaveToken = true;
     19    options.TokenValidationParameters = new TokenValidationParameters
     20    {
     21        ValidateIssuer = true,
     22        ValidIssuer = "iknow-api",
    223
     24        ValidateAudience = true,
     25        ValidAudience = "iknow-api",
     26
     27        ValidateLifetime = true,
     28
     29        ValidateIssuerSigningKey = true,
     30        IssuerSigningKey = new SymmetricSecurityKey(
     31            Encoding.UTF8.GetBytes(builder.Configuration["Jwt:Key"]))
     32    };
     33});
    334// Add services to the container.
    4 
    535builder.Services.AddControllers();
    6 // Learn more about configuring OpenAPI at https://aka.ms/aspnet/openapi
    736builder.Services.AddOpenApi();
    837
     38// Register DbContext
     39builder.Services.AddDbContext<AppDbContext>(options =>
     40    options.UseNpgsql(builder.Configuration.GetConnectionString("DefaultConnection")));
     41
     42// Register your services
     43builder.Services.AddScoped<IAuthService, AuthService>();
     44builder.Services.AddScoped<IRefreshTokenService, RefreshTokenService>();
     45builder.Services.AddScoped<IUserRepository, UserRepository>();
     46builder.Services.AddScoped<IRefreshTokenRepository, RefreshTokenRepository>();
     47builder.Services.AddAuthorization();
    948var app = builder.Build();
    1049
     
    1655
    1756app.UseHttpsRedirection();
    18 
     57app.UseAuthentication(); // <-- must come BEFORE UseAuthorization
    1958app.UseAuthorization();
    20 
    2159app.MapControllers();
    2260
  • iknow-api/appsettings.Development.json

    r0b16523 r89eb129  
    55      "Microsoft.AspNetCore": "Warning"
    66    }
    7   }
     7  },
     8    "ConnectionStrings": {
     9        "DefaultConnection": "Host=localhost;Port=5432;Database=myappdb;Username=myuser;Password=kodrum2025"
     10    }
    811}
  • iknow-api/appsettings.json

    r0b16523 r89eb129  
    66    }
    77  },
    8   "AllowedHosts": "*"
     8  "ConnectionStrings": {
     9    "DefaultConnection": "Host=localhost;Port=55432;Database=myappdb;Username=postgres;Password=newpassword"
     10  },
     11  "Jwt": {
     12    "Key": "YourSecretKeyHereMustBeAtLeast32CharactersLongForHS256Algorithm"
     13  }
    914}
  • iknow-api/iknow-api.csproj

    r0b16523 r89eb129  
    99
    1010  <ItemGroup>
     11    <PackageReference Include="BCrypt.Net-Next" Version="4.0.3" />
     12    <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="9.0.10" />
    1113    <PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="9.0.9" />
     14    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="9.0.10">
     15      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
     16      <PrivateAssets>all</PrivateAssets>
     17    </PackageReference>
     18    <PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="9.0.4" />
     19    <PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="8.14.0" />
    1220  </ItemGroup>
    1321
Note: See TracChangeset for help on using the changeset viewer.