public void CantInstantiateWithEmptyClientSecret()
        {
            Exception exception =
                Assert.Throws <NexaasIDException>(() => NexaasID.Production("client id", string.Empty));

            Assert.Equal(exception.Message, Messages.EmptyClientSecret);
        }
Example #2
0
        public void ConfigureServices(IServiceCollection services)
        {
            //Retrive Nexaas ID application configuration
            var clientId     = Configuration.GetSection("NexaasIDConfig:ClientId").Value;
            var clientSecret = Configuration.GetSection("NexaasIDConfig:clientSecret").Value;
            var redirectUri  = Configuration.GetSection("NexaasIDConfig:RedirectUri").Value;

            //Setup Nexaas.ID.Client
            var nexaasId = Env.IsProduction()
                ? NexaasID.Production(clientId, clientSecret, redirectUri)
                : NexaasID.Sandbox(clientId, clientSecret, redirectUri);

            //Add Nexaas.ID.Client in DI container
            services.AddSingleton(nexaasId);

            services.Configure <CookiePolicyOptions>(options =>
            {
                options.CheckConsentNeeded    = context => true;
                options.MinimumSameSitePolicy = SameSiteMode.None;
            });

            //Configure cookie authentication
            services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
            .AddCookie(options =>
            {
                options.Cookie.Name    = "NexaasIdCookie";
                options.ExpireTimeSpan = TimeSpan.FromSeconds(7200);
                options.LoginPath      = "/auth";
            });

            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
        }
        public void CantInstantiateWithInvalidRedirectUril()
        {
            Exception exception =
                Assert.Throws <NexaasIDException>(() =>
                                                  NexaasID.Production("client id", "client secret", "invalid_uri"));

            Assert.Equal(exception.Message, Messages.InvalidRedirectUri);
        }
Example #4
0
        public async Task <IActionResult> ClientCredentials([FromServices] NexaasID nexaasId)
        {
            var tokenResponse = await nexaasId.GetClientAuthorizationToken("profile invite");

            ViewBag.AccessToken = tokenResponse?.Data.AccessToken;

            return(View());
        }
Example #5
0
        public async Task <IActionResult> ProfileInfo([FromServices] NexaasID nexaasId)
        {
            var accessToken = User.FindFirstValue("NexaasIDAccessToken");

            if (string.IsNullOrWhiteSpace(accessToken))
            {
                return(await Task.FromResult <IActionResult>(Redirect("~/auth")));
            }

            var profileResponse = await nexaasId.GetProfile(accessToken);

            if (profileResponse.StatusCode != HttpStatusCode.OK)
            {
                return(View());
            }

            profileResponse.Data.Emails = (await nexaasId.GetEmails(accessToken))?.Data;

            profileResponse.Data.ProfessionalInfo = (await nexaasId.GetProfessionalInfo(accessToken))?.Data;

            profileResponse.Data.Contacts = (await nexaasId.GetContacts(accessToken))?.Data;

            return(View(profileResponse.Data));
        }
 /// Inject NexaasID
 public AuthController(NexaasID nexaasId)
 {
     _nexaasId = nexaasId;
 }