Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

IApplicationBuilder does not contain a definition for UseIdentity

I'm following an example to configure AspNet Core Identity on AspNet Core 3.0

Here's the code for StartUp.cs file

using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Identity;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Users_WEB_APP.Models;

namespace Users_WEB_APP
{
    public class Startup
    {
        public IConfiguration Configuration { get; }
        public Startup(IConfiguration configuration)
        {
            Configuration = configuration;
        }

        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddDbContext<AppIdentityDbContext>(options => options.UseSqlServer(Configuration["Data:ASPNET_IDENTITY:ConnectionString"]));
            services.AddIdentity<AppUser, IdentityRole>()
                .AddEntityFrameworkStores<AppIdentityDbContext>();
            services.AddMvc(options => options.EnableEndpointRouting = false);
        }

        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            app.UseStatusCodePages();
            app.UseDeveloperExceptionPage();
            app.UseStaticFiles();
            app.UseIdentity();
            app.UseMvcWithDefaultRoute();
        }
    }
}

But at line app.UseIdentity(); I'm getting the error

'IApplicationBuilder' does not contain a definition for 'UseIdentity', and no accessible extension method 'UseIdentity' accepting a first argument of type 'IApplicationBuilder' could be found (are you messing a using directive or an assembly reference?)

What is it that I'm doing Wrong?

like image 547
Overlord Avatar asked Dec 29 '19 09:12

Overlord


1 Answers

Documentation says that as of ASP.NET Core 2.2, UseIdentity is now obsolete and that UseAuthentication should be used instead

This method is obsolete and will be removed in a future version. The recommended alternative is UseAuthentication(IApplicationBuilder)

https://learn.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.builder.builderextensions.useidentity?view=aspnetcore-2.2

like image 165
Nkosi Avatar answered Nov 15 '22 06:11

Nkosi