public async Task <IActionResult> IssueCredentials(CredentialOfferModel model)
        {
            var context = await _agentContextProvider.GetContextAsync();

            var issuer = await _provisionService.GetProvisioningAsync(context.Wallet);

            var connection = await _connectionService.GetAsync(context, model.ConnectionId);

            var values = JsonConvert.DeserializeObject <List <CredentialPreviewAttribute> >(model.CredentialAttributes);

            foreach (CredentialPreviewAttribute attr in values)
            {
                attr.MimeType = CredentialMimeTypes.ApplicationJsonMimeType;
            }

            var(offer, _) = await _credentialService.CreateOfferAsync(context, new OfferConfiguration
            {
                CredentialDefinitionId = model.CredentialDefinitionId,
                IssuerDid = issuer.IssuerDid,
                CredentialAttributeValues = values
            });

            await _messageService.SendAsync(context.Wallet, offer, connection);

            return(RedirectToAction("Index"));
        }
Example #2
0
        public async Task <IActionResult> OnGet()
        {
            string connectionId = User.GetConnectionId();

            if (connectionId == null)
            {
                return(RedirectToPage("./Connect", new { returnUrl = Url.Page("./ConnectionOffer") }));
            }

            Offer = await _passportService.IssueEmailCredentialAsync(connectionId, "*****@*****.**");

            return(Page());
        }
Example #3
0
        public async Task <IActionResult> OnGet()
        {
            string connectionId = User.GetConnectionId();

            if (connectionId == null)
            {
                return(RedirectToPage("./Connect", new { returnUrl = Url.Page("./RevocableOffer") }));
            }

            Offer = await _passportService.IssueRoleCredential(connectionId, "guest");

            return(Page());
        }
 public async Task OnGet()
 {
     Credential = await _credService.IssueEmailCredentialAsync(connectionId : null, "*****@*****.**");
 }