public void CantInstantiateWithEmptyClientSecret() { Exception exception = Assert.Throws <NexaasIDException>(() => NexaasID.Production("client id", string.Empty)); Assert.Equal(exception.Message, Messages.EmptyClientSecret); }
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); }
public async Task <IActionResult> ClientCredentials([FromServices] NexaasID nexaasId) { var tokenResponse = await nexaasId.GetClientAuthorizationToken("profile invite"); ViewBag.AccessToken = tokenResponse?.Data.AccessToken; return(View()); }
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; }