Ejemplo n.º 1
0
        public async Task <string> CreateAuthorizeUrlAsync(Microsoft.Bot.Connector.IActivity activity)
        {
            var doc = await GetDiscoveryClient();

            var request = new RequestUrl(doc.AuthorizeEndpoint);
            var extra   = new Dictionary <string, string>
            {
                { OidcConstants.TokenRequest.ClientSecret, "secret" }
            };
            var authorizeUrl = request.CreateAuthorizeUrl(
                clientId: "Bot",
                responseType: OidcConstants.ResponseTypes.CodeIdToken,
                responseMode: OidcConstants.ResponseModes.FormPost,
                redirectUri: signinUrl,
                scope: "openid profile offline_access orders basket marketing locations",
                state: AuthData.Encode(activity.Recipient.Id, activity.ChannelId, activity.From.Id, activity.Conversation.Id, activity.ServiceUrl),
                nonce: CryptoRandom.CreateUniqueId(),
                extra: extra);

            return(authorizeUrl);
        }