Skip to content

Commit

Permalink
Further Google request validation fix (#256)
Browse files Browse the repository at this point in the history
* Master (#252)

* Fix for Zoom adapter throwing on no channel ID (#245)

* Adding RingCentral adapter (#215)

* Adding RingCentral adapter

* Updating documentation #wip

* Adding packaging details

* Addressing warnings

Co-authored-by: Gary Pretty <[email protected]>

* Adding sample RingCentral Adapter bot (#221)

* Adding RingCentral adapter

* Updating documentation #wip

* Adding packaging details

* Addressing warnings

* Adding RingCentral Adapter sample and updating documentation

* Fix up unit tests

* Adding RingCentral reference to main doc

* Fix up git ignore

Co-authored-by: Gary Pretty <[email protected]>

* Update README.md

* Update README.md

* Add GitHub link to profile (#223)

* Updated sample package references. Added ring central sample. (#224)

* Updated sample package references. Added ring central sample.

* Update dotnet pack yaml config

* Further update to dotnet pack yaml to fix no matching projects build pipeline error.

* Bump Microsoft.AspNetCore.All in /samples/Form Flow Sample (#225)

Bumps [Microsoft.AspNetCore.All](https://github.com/aspnet/Universe) from 2.1.1 to 2.1.4.
- [Release notes](https://github.com/aspnet/Universe/releases)
- [Changelog](https://github.com/aspnet/Universe/blob/master/docs/CrossRepoBreakingChanges.md)
- [Commits](https://github.com/aspnet/Universe/compare/2.1.1...2.1.4)

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump Microsoft.AspNetCore.All in /samples/Google Adapter Sample (#228)

Bumps [Microsoft.AspNetCore.All](https://github.com/aspnet/Universe) from 2.1.1 to 2.1.4.
- [Release notes](https://github.com/aspnet/Universe/releases)
- [Changelog](https://github.com/aspnet/Universe/blob/master/docs/CrossRepoBreakingChanges.md)
- [Commits](https://github.com/aspnet/Universe/compare/2.1.1...2.1.4)

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump Microsoft.AspNetCore.All in /samples/BestMatch Middleware Sample (#226)

Bumps [Microsoft.AspNetCore.All](https://github.com/aspnet/Universe) from 2.1.1 to 2.1.4.
- [Release notes](https://github.com/aspnet/Universe/releases)
- [Changelog](https://github.com/aspnet/Universe/blob/master/docs/CrossRepoBreakingChanges.md)
- [Commits](https://github.com/aspnet/Universe/compare/2.1.1...2.1.4)

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump Microsoft.AspNetCore.All in /samples/Alexa Adapter Sample (#227)

Bumps [Microsoft.AspNetCore.All](https://github.com/aspnet/Universe) from 2.1.1 to 2.1.4.
- [Release notes](https://github.com/aspnet/Universe/releases)
- [Changelog](https://github.com/aspnet/Universe/blob/master/docs/CrossRepoBreakingChanges.md)
- [Commits](https://github.com/aspnet/Universe/compare/2.1.1...2.1.4)

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Gary Pretty <[email protected]>

* Update adaptor to use current elastic 7.x (#233)

* Update adaptor to use current elastic 7.x

* Update ElasticsearchStorage.cs

* Ported the BestMatch Middleware Sample to MVC. (#200)

Co-authored-by: Gary Pretty <[email protected]>

* Refactor of Alexa adapter (#179)

* - Initial Alexa adapter refactor to adopt Alexa.Net
- Moved towards deprecating the AlexaHttpAdapter (kept for backwards compat)

* - Updated Directory Build Props to include StyleCop package
- Enable warnings as errors for Alexa project

* - Added attachment types for directives / cards etc.
- Updated content extension methods to use Alexa.NET and attachments model
- Updated some core adapter logic

* - Added support for Directives
- Updated logic to use attachments as opposed to TurnState
- Further adapter logic updates

* Update GitVersion tag for feature branches

* - Moved method for stylecop

* Update GitVersion to attempt to ensure package names are incremented correctly on each build.

* Updated package dependencies for Alexa adapter

* Updated Alexa Sample

* Update readme for preview package

* Amended middleware and adaper for skills support

* Updates following PR feedback

* Removed ContinueConversationAsync overload  not available until SDK 4.7. Will be re-added later for skills support.

* Add LaunchRequest -> ConversationUpdate logic to middleware as per @pavolum's idea.

* Added message activity concat and suggested actions conversion to google adapter

* Adding configurable flag which will inform the adapter if it should concat multiple text activities in one turn

* minor clean up

* removing google adapter changes, renaming functions, removing suggested action conversion

* Remove unused option

* - Some naming tweaks
- Added policy for handling multiple outgoing activities.
- Added ContinueConversationAsync method

* Move multiple activity policy enum out of options class

* Naming tweak for outgoing activity policy

* Update docs and add automatic end of session when no outgoing activities are sent

* Readme update

* Change default concat policy. Update readme.

* Changes following code review (#195)

* Move the activities list to within the turn context

* Update adapter to make activity processing method virtual and remove multiple activity policy. Improved concat logic.

* Fix speak concat bug

* Add first Alexa tests

* Update README.md

* Update Bot Builder NuGet references

* Updates to Alexa Adapter to pull out core package with request / activity transform logic, attachment types and context extension methods.

* Fix failing test

* Updates to move middleware into adapter. Rename helper to AlexaRequestMapper

* Further refinements of mapper

* Update AlexaRequestMapperOptions.cs

* Updates to mapper / options

* Add Alexa Auth Handler. (#204)

* Rename some methods on Alexa Mapper. Update NuGet packages to 4.8.

* Rename auth handler class name

* Removing old Alexa auth handler

* Fix test project dependencies

* Update Alexa Core project file

* Amend pipeline to try and resolve dotnet pack issue

* Remvoed and re-added Alexa projects to SLN

* Attempt to address issue with GitVersion env vars no longer shared across pipeline tasks

* Update pipeline

* Update Auth Handler (#205)

* Add Alexa Auth Handler.

* Fix crazyness in merge.

* again.

* Add Alexa Skill Id validation check.

* Tabs to spaces

* Add a couple tests.

* Separate skill id check.

* Set ExpectReplies and add more tests.

* Dont NRE when activities is null.

* Release/4.8.0 (#206)

* Google Adapter: Google Content Type not set to UTF-8
* Alexa Adapter: Add person to alexasystem to support Alexa voiceprint to know the ID of the speaker (#198) - Thanks @jamesemann 
* TwitterAdapter: Added unit tests (#197) - Thanks @matiasroldan6 @santgr11 
* DevOps: Azure DevOps Pipelines GitVersion issue
* Dependencies: Update to Bot Framework SDK 4.8

* Fix bug with not handling built in StopIntent

* Add virtual to auth methods (#209)

* Add Alexa Auth Handler.

* Fix crazyness in merge.

* again.

* Add Alexa Skill Id validation check.

* Tabs to spaces

* Add a couple tests.

* Separate skill id check.

* Set ExpectReplies and add more tests.

* Dont NRE when activities is null.

* Make methods virutal for mocking

* Add check for Request being null so we don't throw NRE on bad requests from Alexa.

Co-authored-by: Gary Pretty <[email protected]>

* Add fallback support for Alexa request types => EventActivity

* Add a simple markdown to plain text converter (#210)

* Add Alexa Auth Handler.

* Fix crazyness in merge.

* again.

* Add Alexa Skill Id validation check.

* Tabs to spaces

* Add a couple tests.

* Separate skill id check.

* Set ExpectReplies and add more tests.

* Dont NRE when activities is null.

* Make methods virutal for mocking

* Add check for Request being null so we don't throw NRE on bad requests from Alexa.

* Add simple markdown formatter

Co-authored-by: Gary Pretty <[email protected]>

* Update attachment implementation (#213)

* Update attachment implementation to align with BF SDK and work correctly with ABS.

* Added tests for new attachment implementation

* Moved text normalization logic earlier and amended markdown handling (#212)

* Moved logic for text normalization earlier in the pipeline into the MergeActivities method.

* Modified markdown renderer to use period instead of new line. Amended list rendering. Added tests. Changed default to markdown.

* Convert Alexa attachment types to their strong type if needed. (#214)

* Update utility naming to helpers (aligns with SDK / other adapters). (#216)

* Merge attachments in activities so they are available in the last message (#217)

* Merge attachments in activities so they are available in the last message.

* Fix attachments.

* Fix for attachment null property handling

* Update attachment tests

* Remove test for missing attachment properties. Attachments / directives have optional properties, so not all properties will always be present.

* Fix tests failing with equality of ref types

* Project file with additional NuGet dependency

Co-authored-by: Gary Pretty <[email protected]>

* Update Alexa sample to use latest preview package. Fix assembly name causing Azure deployment issue. Updated sample attachment config.

* Added the Alexa Adapter Sample to the Solution (#220)

The project was missing from the solution so I have now added it as a part of solution.

* Remove conversation type per Activity docs (#229)

* Update Alexa Sample

* Update README.md

* Update readme

* Attempt to resolve NuGet dependency between Alexa packages

* Update project file ref for local NuGet package

* Force alexa project to generate local package

* More...

* Update for nupack

* Fix pipelines pack command

Co-authored-by: Patrick Volum <[email protected]>
Co-authored-by: Nick Ericson <[email protected]>
Co-authored-by: Arafat Tehsin <[email protected]>

* Feature/adopt alexadotnet (#235)

* - Initial Alexa adapter refactor to adopt Alexa.Net
- Moved towards deprecating the AlexaHttpAdapter (kept for backwards compat)

* - Updated Directory Build Props to include StyleCop package
- Enable warnings as errors for Alexa project

* - Added attachment types for directives / cards etc.
- Updated content extension methods to use Alexa.NET and attachments model
- Updated some core adapter logic

* - Added support for Directives
- Updated logic to use attachments as opposed to TurnState
- Further adapter logic updates

* Update GitVersion tag for feature branches

* - Moved method for stylecop

* Update GitVersion to attempt to ensure package names are incremented correctly on each build.

* Updated package dependencies for Alexa adapter

* Updated Alexa Sample

* Update readme for preview package

* Amended middleware and adaper for skills support

* Updates following PR feedback

* Removed ContinueConversationAsync overload  not available until SDK 4.7. Will be re-added later for skills support.

* Add LaunchRequest -> ConversationUpdate logic to middleware as per @pavolum's idea.

* Added message activity concat and suggested actions conversion to google adapter

* Adding configurable flag which will inform the adapter if it should concat multiple text activities in one turn

* minor clean up

* removing google adapter changes, renaming functions, removing suggested action conversion

* Remove unused option

* - Some naming tweaks
- Added policy for handling multiple outgoing activities.
- Added ContinueConversationAsync method

* Move multiple activity policy enum out of options class

* Naming tweak for outgoing activity policy

* Update docs and add automatic end of session when no outgoing activities are sent

* Readme update

* Change default concat policy. Update readme.

* Changes following code review (#195)

* Move the activities list to within the turn context

* Update adapter to make activity processing method virtual and remove multiple activity policy. Improved concat logic.

* Fix speak concat bug

* Add first Alexa tests

* Update README.md

* Update Bot Builder NuGet references

* Updates to Alexa Adapter to pull out core package with request / activity transform logic, attachment types and context extension methods.

* Fix failing test

* Updates to move middleware into adapter. Rename helper to AlexaRequestMapper

* Further refinements of mapper

* Update AlexaRequestMapperOptions.cs

* Updates to mapper / options

* Add Alexa Auth Handler. (#204)

* Rename some methods on Alexa Mapper. Update NuGet packages to 4.8.

* Rename auth handler class name

* Removing old Alexa auth handler

* Fix test project dependencies

* Update Alexa Core project file

* Amend pipeline to try and resolve dotnet pack issue

* Remvoed and re-added Alexa projects to SLN

* Attempt to address issue with GitVersion env vars no longer shared across pipeline tasks

* Update pipeline

* Update Auth Handler (#205)

* Add Alexa Auth Handler.

* Fix crazyness in merge.

* again.

* Add Alexa Skill Id validation check.

* Tabs to spaces

* Add a couple tests.

* Separate skill id check.

* Set ExpectReplies and add more tests.

* Dont NRE when activities is null.

* Release/4.8.0 (#206)

* Google Adapter: Google Content Type not set to UTF-8
* Alexa Adapter: Add person to alexasystem to support Alexa voiceprint to know the ID of the speaker (#198) - Thanks @jamesemann 
* TwitterAdapter: Added unit tests (#197) - Thanks @matiasroldan6 @santgr11 
* DevOps: Azure DevOps Pipelines GitVersion issue
* Dependencies: Update to Bot Framework SDK 4.8

* Fix bug with not handling built in StopIntent

* Add virtual to auth methods (#209)

* Add Alexa Auth Handler.

* Fix crazyness in merge.

* again.

* Add Alexa Skill Id validation check.

* Tabs to spaces

* Add a couple tests.

* Separate skill id check.

* Set ExpectReplies and add more tests.

* Dont NRE when activities is null.

* Make methods virutal for mocking

* Add check for Request being null so we don't throw NRE on bad requests from Alexa.

Co-authored-by: Gary Pretty <[email protected]>

* Add fallback support for Alexa request types => EventActivity

* Add a simple markdown to plain text converter (#210)

* Add Alexa Auth Handler.

* Fix crazyness in merge.

* again.

* Add Alexa Skill Id validation check.

* Tabs to spaces

* Add a couple tests.

* Separate skill id check.

* Set ExpectReplies and add more tests.

* Dont NRE when activities is null.

* Make methods virutal for mocking

* Add check for Request being null so we don't throw NRE on bad requests from Alexa.

* Add simple markdown formatter

Co-authored-by: Gary Pretty <[email protected]>

* Update attachment implementation (#213)

* Update attachment implementation to align with BF SDK and work correctly with ABS.

* Added tests for new attachment implementation

* Moved text normalization logic earlier and amended markdown handling (#212)

* Moved logic for text normalization earlier in the pipeline into the MergeActivities method.

* Modified markdown renderer to use period instead of new line. Amended list rendering. Added tests. Changed default to markdown.

* Convert Alexa attachment types to their strong type if needed. (#214)

* Update utility naming to helpers (aligns with SDK / other adapters). (#216)

* Merge attachments in activities so they are available in the last message (#217)

* Merge attachments in activities so they are available in the last message.

* Fix attachments.

* Fix for attachment null property handling

* Update attachment tests

* Remove test for missing attachment properties. Attachments / directives have optional properties, so not all properties will always be present.

* Fix tests failing with equality of ref types

* Project file with additional NuGet dependency

Co-authored-by: Gary Pretty <[email protected]>

* Update Alexa sample to use latest preview package. Fix assembly name causing Azure deployment issue. Updated sample attachment config.

* Added the Alexa Adapter Sample to the Solution (#220)

The project was missing from the solution so I have now added it as a part of solution.

* Remove conversation type per Activity docs (#229)

* Update Alexa Sample

* Update README.md

* Update readme

* Attempt to resolve NuGet dependency between Alexa packages

* Update project file ref for local NuGet package

* Force alexa project to generate local package

* More...

* Update for nupack

* Fix pipelines pack command

* Convert other attachments to their strong type (#234)

Co-authored-by: Patrick Volum <[email protected]>
Co-authored-by: Nick Ericson <[email protected]>
Co-authored-by: Arafat Tehsin <[email protected]>
Co-authored-by: Nick Ericson <[email protected]>

* Update README.md

* Update README.md

* Update README.md

* Update README.md

Remove preview label for Alexa adapter

* Change Alexa md renderer to remove trailing periods. Added more tests. (#237)

* Change Alexa md renderer to remove trailing periods. Added more tests.

* Fix link and quote md rendering

Co-authored-by: Gary Pretty <[email protected]>

* Zoom Adapter (#240)

* Add Zoom adapter project

* Working Zoom adapter including message templates.

* Updated Zoom Readme and made some refactorings to solution

* Update README.md

* Update README.md

* Update README.md

* Zoom adapter request verification (#241)

* Add Zoom adapter project

* Working Zoom adapter including message templates.

* Updated Zoom Readme and made some refactorings to solution

* Fixed Zoom request verification

* Don't escape Text (#238)

* Update project URLs for packages

* Added the class attribute (#242)

..to remain consistent with other adapters.

* Update readmes for Alexa / Zoom to update NuGet instructions

* Update repo readme

* Update README.md

* Update README.md

* Added channel ID to outgoing Zoom activity mapping

Co-authored-by: Jamie D <[email protected]>
Co-authored-by: martinoss <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alex ln <[email protected]>
Co-authored-by: Arafat Tehsin <[email protected]>
Co-authored-by: Patrick Volum <[email protected]>
Co-authored-by: Nick Ericson <[email protected]>
Co-authored-by: Nick Ericson <[email protected]>

* Release 05/15/2020 (#250)

* Adding RingCentral adapter (#215)

* Adding RingCentral adapter

* Updating documentation #wip

* Adding packaging details

* Addressing warnings

Co-authored-by: Gary Pretty <[email protected]>

* Adding sample RingCentral Adapter bot (#221)

* Adding RingCentral adapter

* Updating documentation #wip

* Adding packaging details

* Addressing warnings

* Adding RingCentral Adapter sample and updating documentation

* Fix up unit tests

* Adding RingCentral reference to main doc

* Fix up git ignore

Co-authored-by: Gary Pretty <[email protected]>

* Update README.md

* Update README.md

* Add GitHub link to profile (#223)

* Updated sample package references. Added ring central sample. (#224)

* Updated sample package references. Added ring central sample.

* Update dotnet pack yaml config

* Further update to dotnet pack yaml to fix no matching projects build pipeline error.

* Bump Microsoft.AspNetCore.All in /samples/Form Flow Sample (#225)

Bumps [Microsoft.AspNetCore.All](https://github.com/aspnet/Universe) from 2.1.1 to 2.1.4.
- [Release notes](https://github.com/aspnet/Universe/releases)
- [Changelog](https://github.com/aspnet/Universe/blob/master/docs/CrossRepoBreakingChanges.md)
- [Commits](https://github.com/aspnet/Universe/compare/2.1.1...2.1.4)

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump Microsoft.AspNetCore.All in /samples/Google Adapter Sample (#228)

Bumps [Microsoft.AspNetCore.All](https://github.com/aspnet/Universe) from 2.1.1 to 2.1.4.
- [Release notes](https://github.com/aspnet/Universe/releases)
- [Changelog](https://github.com/aspnet/Universe/blob/master/docs/CrossRepoBreakingChanges.md)
- [Commits](https://github.com/aspnet/Universe/compare/2.1.1...2.1.4)

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump Microsoft.AspNetCore.All in /samples/BestMatch Middleware Sample (#226)

Bumps [Microsoft.AspNetCore.All](https://github.com/aspnet/Universe) from 2.1.1 to 2.1.4.
- [Release notes](https://github.com/aspnet/Universe/releases)
- [Changelog](https://github.com/aspnet/Universe/blob/master/docs/CrossRepoBreakingChanges.md)
- [Commits](https://github.com/aspnet/Universe/compare/2.1.1...2.1.4)

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump Microsoft.AspNetCore.All in /samples/Alexa Adapter Sample (#227)

Bumps [Microsoft.AspNetCore.All](https://github.com/aspnet/Universe) from 2.1.1 to 2.1.4.
- [Release notes](https://github.com/aspnet/Universe/releases)
- [Changelog](https://github.com/aspnet/Universe/blob/master/docs/CrossRepoBreakingChanges.md)
- [Commits](https://github.com/aspnet/Universe/compare/2.1.1...2.1.4)

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Gary Pretty <[email protected]>

* Update adaptor to use current elastic 7.x (#233)

* Update adaptor to use current elastic 7.x

* Update ElasticsearchStorage.cs

* Ported the BestMatch Middleware Sample to MVC. (#200)

Co-authored-by: Gary Pretty <[email protected]>

* Refactor of Alexa adapter (#179)

* - Initial Alexa adapter refactor to adopt Alexa.Net
- Moved towards deprecating the AlexaHttpAdapter (kept for backwards compat)

* - Updated Directory Build Props to include StyleCop package
- Enable warnings as errors for Alexa project

* - Added attachment types for directives / cards etc.
- Updated content extension methods to use Alexa.NET and attachments model
- Updated some core adapter logic

* - Added support for Directives
- Updated logic to use attachments as opposed to TurnState
- Further adapter logic updates

* Update GitVersion tag for feature branches

* - Moved method for stylecop

* Update GitVersion to attempt to ensure package names are incremented correctly on each build.

* Updated package dependencies for Alexa adapter

* Updated Alexa Sample

* Update readme for preview package

* Amended middleware and adaper for skills support

* Updates following PR feedback

* Removed ContinueConversationAsync overload  not available until SDK 4.7. Will be re-added later for skills support.

* Add LaunchRequest -> ConversationUpdate logic to middleware as per @pavolum's idea.

* Added message activity concat and suggested actions conversion to google adapter

* Adding configurable flag which will inform the adapter if it should concat multiple text activities in one turn

* minor clean up

* removing google adapter changes, renaming functions, removing suggested action conversion

* Remove unused option

* - Some naming tweaks
- Added policy for handling multiple outgoing activities.
- Added ContinueConversationAsync method

* Move multiple activity policy enum out of options class

* Naming tweak for outgoing activity policy

* Update docs and add automatic end of session when no outgoing activities are sent

* Readme update

* Change default concat policy. Update readme.

* Changes following code review (#195)

* Move the activities list to within the turn context

* Update adapter to make activity processing method virtual and remove multiple activity policy. Improved concat logic.

* Fix speak concat bug

* Add first Alexa tests

* Update README.md

* Update Bot Builder NuGet references

* Updates to Alexa Adapter to pull out core package with request / activity transform logic, attachment types and context extension methods.

* Fix failing test

* Updates to move middleware into adapter. Rename helper to AlexaRequestMapper

* Further refinements of mapper

* Update AlexaRequestMapperOptions.cs

* Updates to mapper / options

* Add Alexa Auth Handler. (#204)

* Rename some methods on Alexa Mapper. Update NuGet packages to 4.8.

* Rename auth handler class name

* Removing old Alexa auth handler

* Fix test project dependencies

* Update Alexa Core project file

* Amend pipeline to try and resolve dotnet pack issue

* Remvoed and re-added Alexa projects to SLN

* Attempt to address issue with GitVersion env vars no longer shared across pipeline tasks

* Update pipeline

* Update Auth Handler (#205)

* Add Alexa Auth Handler.

* Fix crazyness in merge.

* again.

* Add Alexa Skill Id validation check.

* Tabs to spaces

* Add a couple tests.

* Separate skill id check.

* Set ExpectReplies and add more tests.

* Dont NRE when activities is null.

* Release/4.8.0 (#206)

* Google Adapter: Google Content Type not set to UTF-8
* Alexa Adapter: Add person to alexasystem to support Alexa voiceprint to know the ID of the speaker (#198) - Thanks @jamesemann 
* TwitterAdapter: Added unit tests (#197) - Thanks @matiasroldan6 @santgr11 
* DevOps: Azure DevOps Pipelines GitVersion issue
* Dependencies: Update to Bot Framework SDK 4.8

* Fix bug with not handling built in StopIntent

* Add virtual to auth methods (#209)

* Add Alexa Auth Handler.

* Fix crazyness in merge.

* again.

* Add Alexa Skill Id validation check.

* Tabs to spaces

* Add a couple tests.

* Separate skill id check.

* Set ExpectReplies and add more tests.

* Dont NRE when activities is null.

* Make methods virutal for mocking

* Add check for Request being null so we don't throw NRE on bad requests from Alexa.

Co-authored-by: Gary Pretty <[email protected]>

* Add fallback support for Alexa request types => EventActivity

* Add a simple markdown to plain text converter (#210)

* Add Alexa Auth Handler.

* Fix crazyness in merge.

* again.

* Add Alexa Skill Id validation check.

* Tabs to spaces

* Add a couple tests.

* Separate skill id check.

* Set ExpectReplies and add more tests.

* Dont NRE when activities is null.

* Make methods virutal for mocking

* Add check for Request being null so we don't throw NRE on bad requests from Alexa.

* Add simple markdown formatter

Co-authored-by: Gary Pretty <[email protected]>

* Update attachment implementation (#213)

* Update attachment implementation to align with BF SDK and work correctly with ABS.

* Added tests for new attachment implementation

* Moved text normalization logic earlier and amended markdown handling (#212)

* Moved logic for text normalization earlier in the pipeline into the MergeActivities method.

* Modified markdown renderer to use period instead of new line. Amended list rendering. Added tests. Changed default to markdown.

* Convert Alexa attachment types to their strong type if needed. (#214)

* Update utility naming to helpers (aligns with SDK / other adapters). (#216)

* Merge attachments in activities so they are available in the last message (#217)

* Merge attachments in activities so they are available in the last message.

* Fix attachments.

* Fix for attachment null property handling

* Update attachment tests

* Remove test for missing attachment properties. Attachments / directives have optional properties, so not all properties will always be present.

* Fix tests failing with equality of ref types

* Project file with additional NuGet dependency

Co-authored-by: Gary Pretty <[email protected]>

* Update Alexa sample to use latest preview package. Fix assembly name causing Azure deployment issue. Updated sample attachment config.

* Added the Alexa Adapter Sample to the Solution (#220)

The project was missing from the solution so I have now added it as a part of solution.

* Remove conversation type per Activity docs (#229)

* Update Alexa Sample

* Update README.md

* Update readme

* Attempt to resolve NuGet dependency between Alexa packages

* Update project file ref for local NuGet package

* Force alexa project to generate local package

* More...

* Update for nupack

* Fix pipelines pack command

Co-authored-by: Patrick Volum <[email protected]>
Co-authored-by: Nick Ericson <[email protected]>
Co-authored-by: Arafat Tehsin <[email protected]>

* Feature/adopt alexadotnet (#235)

* - Initial Alexa adapter refactor to adopt Alexa.Net
- Moved towards deprecating the AlexaHttpAdapter (kept for backwards compat)

* - Updated Directory Build Props to include StyleCop package
- Enable warnings as errors for Alexa project

* - Added attachment types for directives / cards etc.
- Updated content extension methods to use Alexa.NET and attachments model
- Updated some core adapter logic

* - Added support for Directives
- Updated logic to use attachments as opposed to TurnState
- Further adapter logic updates

* Update GitVersion tag for feature branches

* - Moved method for stylecop

* Update GitVersion to attempt to ensure package names are incremented correctly on each build.

* Updated package dependencies for Alexa adapter

* Updated Alexa Sample

* Update readme for preview package

* Amended middleware and adaper for skills support

* Updates following PR feedback

* Removed ContinueConversationAsync overload  not available until SDK 4.7. Will be re-added later for skills support.

* Add LaunchRequest -> ConversationUpdate logic to middleware as per @pavolum's idea.

* Added message activity concat and suggested actions conversion to google adapter

* Adding configurable flag which will inform the adapter if it should concat multiple text activities in one turn

* minor clean up

* removing google adapter changes, renaming functions, removing suggested action conversion

* Remove unused option

* - Some naming tweaks
- Added policy for handling multiple outgoing activities.
- Added ContinueConversationAsync method

* Move multiple activity policy enum out of options class

* Naming tweak for outgoing activity policy

* Update docs and add automatic end of session when no outgoing activities are sent

* Readme update

* Change default concat policy. Update readme.

* Changes following code review (#195)

* Move the activities list to within the turn context

* Update adapter to make activity processing method virtual and remove multiple activity policy. Improved concat logic.

* Fix speak concat bug

* Add first Alexa tests

* Update README.md

* Update Bot Builder NuGet references

* Updates to Alexa Adapter to pull out core package with request / activity transform logic, attachment types and context extension methods.

* Fix failing test

* Updates to move middleware into adapter. Rename helper to AlexaRequestMapper

* Further refinements of mapper

* Update AlexaRequestMapperOptions.cs

* Updates to mapper / options

* Add Alexa Auth Handler. (#204)

* Rename some methods on Alexa Mapper. Update NuGet packages to 4.8.

* Rename auth handler class name

* Removing old Alexa auth handler

* Fix test project dependencies

* Update Alexa Core project file

* Amend pipeline to try and resolve dotnet pack issue

* Remvoed and re-added Alexa projects to SLN

* Attempt to address issue with GitVersion env vars no longer shared across pipeline tasks

* Update pipeline

* Update Auth Handler (#205)

* Add Alexa Auth Handler.

* Fix crazyness in merge.

* again.

* Add Alexa Skill Id validation check.

* Tabs to spaces

* Add a couple tests.

* Separate skill id check.

* Set ExpectReplies and add more tests.

* Dont NRE when activities is null.

* Release/4.8.0 (#206)

* Google Adapter: Google Content Type not set to UTF-8
* Alexa Adapter: Add person to alexasystem to support Alexa voiceprint to know the ID of the speaker (#198) - Thanks @jamesemann 
* TwitterAdapter: Added unit tests (#197) - Thanks @matiasroldan6 @santgr11 
* DevOps: Azure DevOps Pipelines GitVersion issue
* Dependencies: Update to Bot Framework SDK 4.8

* Fix bug with not handling built in StopIntent

* Add virtual to auth methods (#209)

* Add Alexa Auth Handler.

* Fix crazyness in merge.

* again.

* Add Alexa Skill Id validation check.

* Tabs to spaces

* Add a couple tests.

* Separate skill id check.

* Set ExpectReplies and add more tests.

* Dont NRE when activities is null.

* Make methods virutal for mocking

* Add check for Request being null so we don't throw NRE on bad requests from Alexa.

Co-authored-by: Gary Pretty <[email protected]>

* Add fallback support for Alexa request types => EventActivity

* Add a simple markdown to plain text converter (#210)

* Add Alexa Auth Handler.

* Fix crazyness in merge.

* again.

* Add Alexa Skill Id validation check.

* Tabs to spaces

* Add a couple tests.

* Separate skill id check.

* Set ExpectReplies and add more tests.

* Dont NRE when activities is null.

* Make methods virutal for mocking

* Add check for Request being null so we don't throw NRE on bad requests from Alexa.

* Add simple markdown formatter

Co-authored-by: Gary Pretty <[email protected]>

* Update attachment implementation (#213)

* Update attachment implementation to align with BF SDK and work correctly with ABS.

* Added tests for new attachment implementation

* Moved text normalization logic earlier and amended markdown handling (#212)

* Moved logic for text normalization earlier in the pipeline into the MergeActivities method.

* Modified markdown renderer to use period instead of new line. Amended list rendering. Added tests. Changed default to markdown.

* Convert Alexa attachment types to their strong type if needed. (#214)

* Update utility naming to helpers (aligns with SDK / other adapters). (#216)

* Merge attachments in activities so they are available in the last message (#217)

* Merge attachments in activities so they are available in the last message.

* Fix attachments.

* Fix for attachment null property handling

* Update attachment tests

* Remove test for missing attachment properties. Attachments / directives have optional properties, so not all properties will always be present.

* Fix tests failing with equality of ref types

* Project file with additional NuGet dependency

Co-authored-by: Gary Pretty <[email protected]>

* Update Alexa sample to use latest preview package. Fix assembly name causing Azure deployment issue. Updated sample attachment config.

* Added the Alexa Adapter Sample to the Solution (#220)

The project was missing from the solution so I have now added it as a part of solution.

* Remove conversation type per Activity docs (#229)

* Update Alexa Sample

* Update README.md

* Update readme

* Attempt to resolve NuGet dependency between Alexa packages

* Update project file ref for local NuGet package

* Force alexa project to generate local package

* More...

* Update for nupack

* Fix pipelines pack command

* Convert other attachments to their strong type (#234)

Co-authored-by: Patrick Volum <[email protected]>
Co-authored-by: Nick Ericson <[email protected]>
Co-authored-by: Arafat Tehsin <[email protected]>
Co-authored-by: Nick Ericson <[email protected]>

* Update README.md

* Update README.md

* Update README.md

* Update README.md

Remove preview label for Alexa adapter

* Change Alexa md renderer to remove trailing periods. Added more tests. (#237)

* Change Alexa md renderer to remove trailing periods. Added more tests.

* Fix link and quote md rendering

Co-authored-by: Gary Pretty <[email protected]>

* Zoom Adapter (#240)

* Add Zoom adapter project

* Working Zoom adapter including message templates.

* Updated Zoom Readme and made some refactorings to solution

* Update README.md

* Update README.md

* Update README.md

* Zoom adapter request verification (#241)

* Add Zoom adapter project

* Working Zoom adapter including message templates.

* Updated Zoom Readme and made some refactorings to solution

* Fixed Zoom request verification

* Don't escape Text (#238)

* Update project URLs for packages

* Added the class attribute (#242)

..to remain consistent with other adapters.

* Update readmes for Alexa / Zoom to update NuGet instructions

* Update repo readme

* Update README.md

* Update README.md

* Added channel ID to outgoing Zoom activity mapping

* convert to csharp (#246)

* Refactor of Google Adapter (#190)

* - Initial Alexa adapter refactor to adopt Alexa.Net
- Moved towards deprecating the AlexaHttpAdapter (kept for backwards compat)

* - Updated Directory Build Props to include StyleCop package
- Enable warnings as errors for Alexa project

* - Added attachment types for directives / cards etc.
- Updated content extension methods to use Alexa.NET and attachments model
- Updated some core adapter logic

* - Added support for Directives
- Updated logic to use attachments as opposed to TurnState
- Further adapter logic updates

* Update GitVersion tag for feature branches

* - Moved method for stylecop

* Update GitVersion to attempt to ensure package names are incremented correctly on each build.

* Updated package dependencies for Alexa adapter

* Updated Alexa Sample

* Update readme for preview package

* Amended middleware and adaper for skills support

* Updates following PR feedback

* Removed ContinueConversationAsync overload  not available until SDK 4.7. Will be re-added later for skills support.

* Add LaunchRequest -> ConversationUpdate logic to middleware as per @pavolum's idea.

* Added message activity concat and suggested actions conversion to google adapter

* Adding configurable flag which will inform the adapter if it should concat multiple text activities in one turn

* minor clean up

* removing google adapter changes, renaming functions, removing suggested action conversion

* Remove unused option

* - Some naming tweaks
- Added policy for handling multiple outgoing activities.
- Added ContinueConversationAsync method

* Move multiple activity policy enum out of options class

* Naming tweak for outgoing activity policy

* First iteration on Google refactor

* Refactor of Google Adapter

* Update samples for Alexa / Google

* Update Google Adapter Sample

* Update Google adapter to send conversation update activity when user initiates conversation without intent.

* Updated readme and sample to use latest preview

* Fix image links in readme.

* Another attempt to fix images

* Further image link fix

* Update README.md

* Update README.md

* Update README.md

* Image extension case fix

* Update README.md

* Updated response content type

* Update Startup.cs

* Update docs and add automatic end of session when no outgoing activities are sent

* Readme update

* Change default concat policy. Update readme.

* Changes following code review (#195)

* Move the activities list to within the turn context

* Update adapter to make activity processing method virtual and remove multiple activity policy. Improved concat logic.

* Update Google adapter with latest changes to mirror the Alexa adapter

* Fix speak concat bug

* Fix speak concat issue

* Add first Alexa tests

* Update README.md

* Update README.md

* Update Bot Builder NuGet references

* Updates to Alexa Adapter to pull out core package with request / activity transform logic, attachment types and context extension methods.

* Fix failing test

* Updates to move middleware into adapter. Rename helper to AlexaRequestMapper

* Further refinements of mapper

* Update AlexaRequestMapperOptions.cs

* Updates to mapper / options

* Add Alexa Auth Handler. (#204)

* Rename some methods on Alexa Mapper. Update NuGet packages to 4.8.

* Rename auth handler class name

* Removing old Alexa auth handler

* Fix test project dependencies

* Update Alexa Core project file

* Amend pipeline to try and resolve dotnet pack issue

* Remvoed and re-added Alexa projects to SLN

* Attempt to address issue with GitVersion env vars no longer shared across pipeline tasks

* Update pipeline

* Update Auth Handler (#205)

* Add Alexa Auth Handler.

* Fix crazyness in merge.

* again.

* Add Alexa Skill Id validation check.

* Tabs to spaces

* Add a couple tests.

* Separate skill id check.

* Set ExpectReplies and add more tests.

* Dont NRE when activities is null.

* Fix bug with not handling built in StopIntent

* Add virtual to auth methods (#209)

* Add Alexa Auth Handler.

* Fix crazyness in merge.

* again.

* Add Alexa Skill Id validation check.

* Tabs to spaces

* Add a couple tests.

* Separate skill id check.

* Set ExpectReplies and add more tests.

* Dont NRE when activities is null.

* Make methods virutal for mocking

* Add check for Request being null so we don't throw NRE on bad requests from Alexa.

Co-authored-by: Gary Pretty <[email protected]>

* Add fallback support for Alexa request types => EventActivity

* Add a simple markdown to plain text converter (#210)

* Add Alexa Auth Handler.

* Fix crazyness in merge.

* again.

* Add Alexa Skill Id validation check.

* Tabs to spaces

* Add a couple tests.

* Separate skill id check.

* Set ExpectReplies and add more tests.

* Dont NRE when activities is null.

* Make methods virutal for mocking

* Add check for Request being null so we don't throw NRE on bad requests from Alexa.

* Add simple markdown formatter

Co-authored-by: Gary Pretty <[email protected]>

* Update attachment implementation (#213)

* Update attachment implementation to align with BF SDK and work correctly with ABS.

* Added tests for new attachment implementation

* Moved text normalization logic earlier and amended markdown handling (#212)

* Moved logic for text normalization earlier in the pipeline into the MergeActivities method.

* Modified markdown renderer to use period instead of new line. Amended list rendering. Added tests. Changed default to markdown.

* Convert Alexa attachment types to their strong type if needed. (#214)

* Update utility naming to helpers (aligns with SDK / other adapters). (#216)

* Merge attachments in activities so they are available in the last message (#217)

* Merge attachments in activities so they are available in the last message.

* Fix attachments.

* Fix for attachment null property handling

* Update attachment tests

* Remove test for missing attachment properties. Attachments / directives have optional properties, so not all properties will always be present.

* Fix tests failing with equality of ref types

* Project file with additional NuGet dependency

Co-authored-by: Gary Pretty <[email protected]>

* Updated the media files (#218)

As Action SDK has been changed to Assistant SDK therefore I have updated them

* Fixed typo & added .json to package file (#219)

* Update Alexa sample to use latest preview package. Fix assembly name causing Azure deployment issue. Updated sample attachment config.

* WIP on Google sync with current Alexa approach

* Sync google with current alexa approach WIP

* Further project factoring

* Further refactoring. Split out conversations / dialogflow into separate request mappers.

* Update to Google adapter WIP - addressing anonymous user id and removing attachment processing temporarily.

* WIP

* Significant updates to include Google specific attachment types for system intents and cards

* Refactor RequestToActivity and add card / intent factories

* Align DialogFlow mapper with Conversation Webhook - derive both from new abstract base class.

* Implemented feedback following review

Co-authored-by: Patrick Volum <[email protected]>
Co-authored-by: Nick Ericson <[email protected]>
Co-authored-by: Arafat Tehsin <[email protected]>

* [AdaptiveDialogs] Add Rest actions (#232)

* Add Adaptive Rest action

* Add nuget  metadata

* Add Readme

* Fix readme

* Fix documentation

* Fix sln

* Fix merge sln

Co-authored-by: Sébastien BIAUDET <[email protected]>

* Add Infobip Adapter (#247)

* Add Infobip Adapter

* Updated readme to nuget vs myget.

* Update readme

* Switch to xunit

* autoformat all files.

* Sln file merge

Co-authored-by: Gary Pretty <[email protected]>

* Doc updates for Google Adapter (#249)

* - Initial Alexa adapter refactor to adopt Alexa.Net
- Moved towards deprecating the AlexaHttpAdapter (kept for backwards compat)

* - Updated Directory Build Props to include StyleCop package
- Enable warnings as errors for Alexa project

* - Added attachment types for directives / cards etc.
- Updated content extension methods to use Alexa.NET and attachments model
- Updated some core adapter logic

* - Added support for Directives
- Updated logic to use attachments as opposed to TurnState
- Further adapter logic updates

* Update GitVersion tag for feature branches

* - Moved method for stylecop

* Update GitVersion to attempt to ensure package names are incremented correctly on each build.

* Updated package dependencies for Alexa adapter

* Updated Alexa Sample

* Update readme for preview package

* Amended middleware and adaper for skills support

* Updates following PR feedback

* Removed ContinueConversationAsync overload  not available until SDK 4.7. Will be re-added later for skills support.

* Add LaunchRequest -> ConversationUpdate logic to middleware as per @pavolum's idea.

* Added message activity concat and suggested actions conversion to google adapter

* Adding configurable flag which will inform the adapter if it should concat multiple text activities in one turn

* minor clean up

* removing google adapter changes, renaming functions, removing suggested action conversion

* Remove unused option

* - Some naming tweaks
- Added policy for handling multiple outgoing activities.
- Added ContinueConversationAsync method

* Move multiple activity policy enum out of options class

* Naming tweak for outgoing activity policy

* First iteration on Google refactor

* Refactor of Google Adapter

* Update samples for Alexa / Google

* Update Google Adapter Sample

* Update Google adapter to send conversation update activity when user initiates conversation without intent.

* Updated readme and sample to use latest preview

* Fix image links in readme.

* Another attempt to fix images

* Further image link fix

* Update README.md

* Update README.md

* Update README.md

* Image extension case fix

* Update README.md

* Updated response content type

* Update Startup.cs

* Update docs and add automatic end of session when no outgoing activities are sent

* Readme update

* Change default concat policy. Update readme.

* Changes following code review (#195)

* Move the activities list to within the turn context

* Update adapter to make activity processing method virtual and remove multiple activity policy. Improved concat logic.

* Update Google adapter with latest changes to mirror the Alexa adapter

* Fix speak concat bug

* Fix speak concat issue

* Add first Alexa tests

* Update README.md

* Update README.md

* Update Bot Builder NuGet references

* Updates to Alexa Adapter to pull out core package with request / activity transform logic, attachment types and context extension methods.

* Fix failing test

* Updates to move middleware into adapter. Rename helper to AlexaRequestMapper

* Further refinements of mapper

* Update AlexaRequestMapperOptions.cs

* Updates to mapper / options

* Add Alexa Auth Handler. (#204)

* Rename some methods on Alexa Mapper. Update NuGet packages to 4.8.

* Rename auth handler class name

* Removing old Alexa auth handler

* Fix test project dependencies

* Update Alexa Core project file

* Amend pipeline to try and resolve dotnet pack issue

* Remvoed and re-added Alexa projects to SLN

* Attempt to address issue with GitVersion env vars no longer shared across pipeline tasks

* Update pipeline

* Update Auth Handler (#205)

* Add Alexa Auth Handler.

* Fix crazyness in merge.

* again.

* Add Alexa Skill Id validation check.

* Tabs to spaces

* Add a couple tests.

* Separate skill id check.

* Set ExpectReplies and add more tests.

* Dont NRE when activities is null.

* Fix bug with not handling built in StopIntent

* Add virtual to auth methods (#209)

* Add Alexa Auth Handler.

* Fix crazyness in merge.

* again.

* Add Alexa Skill Id validation check.

* Tabs to spaces

* Add a couple tests.

* Separate skill id check.

* Set ExpectReplies and add more tests.

* Dont NRE when activities is null.

* Make methods virutal for mocking

* Add check for Request being null so we don't throw NRE on bad requests from Alexa.

Co-authored-by: Gary Pretty <[email protected]>

* Add fallback support for Alexa request types => EventActivity

* Add a simple markdown to plain text converter (#210)

* Add Alexa Auth Handler.

* Fix crazyness in merge.

* again.

* Add Alexa Skill Id validation check.

* Tabs to spaces

* Add a couple tests.

* Separate skill id check.

* Set ExpectReplies and add more tests.

* Dont NRE when activities is null.

* Make methods virutal for mocking

* Add check for Request being null so we don't throw NRE on bad requests from Alexa.

* Add simple markdown formatter

Co-authored-by: Gary Pretty <[email protected]>

* Update attachment implementation (#213)

* Update attachment implementation to align with BF SDK and work correctly with ABS.

* Added tests for new attachment implementation

* Moved text normalization logic earlier and amended markdown handling (#212)

* Moved logic for text normalization earlier in the pipeline into the MergeActivities method.

* Modified markdown renderer to use period instead of new line. Amended list rendering. Added tests. Changed default to markdown.

* Convert Alexa attachment types to their strong type if needed. (#214)

* Update utility naming to helpers (aligns with SDK / other adapters). (#216)

* Merge attachments in activities so they are available in the last message (#217)

* Merge attachments in activities so they are available in the last message.

* Fix attachments.

* Fix for attachment null property handling

* Update attachment tests

* Remove test for missing attachment properties. Attachments / directives have optional properties, so not all properties will always be present.

* Fix tests failing with equality of ref types

* Project file with additional NuGet dependency

Co-authored-by: Gary Pretty <[email protected]>

* Updated the media files (#218)

As Action SDK has been changed to Assistant SDK therefore I have updated them

* Fixed typo & added .json to package file (#219)

* Update Alexa sample to use latest preview package. Fix assembly name causing Azure deployment issue. Updated sample attachment config.

* WIP on Google sync with current Alexa approach

* Sync google with current alexa approach WIP

* Further project factoring

* Further refactoring. Split out conversations / dialogflow into separate request mappers.

* Update to Google adapter WIP - addressing anonymous user id and removing attachment processing temporarily.

* WIP

* Significant updates to include Google specific attachment types for system intents and cards

* Refactor RequestToActivity and add card / intent factories

* Align DialogFlow mapper with Conversation Webhook - derive both from new abstract base class.

* Implemented feedback following review

* Updated Google Adapter Readme.

Co-authored-by: Patrick Volum <[email protected]>
Co-authored-by: Nick Ericson <[email protected]>
Co-authored-by: Arafat Tehsin <[email protected]>

* Update README.md

Co-authored-by: Jamie D <[email protected]>
Co-authored-by: martinoss <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alex ln <[email protected]>
Co-authored-by: Arafat Tehsin <[email protected]>
Co-authored-by: Patrick Volum <[email protected]>
Co-authored-by: Nick Ericson <[email protected]>
Co-authored-by: Nick Ericson <[email protected]>
Co-authored-by: Michael Richardson <[email protected]>
Co-authored-by: Sébastien BIAUDET <[email protected]>
Co-authored-by: Sébastien BIAUDET <[email protected]>

Co-authored-by: Jamie D <[email protected]>
Co-authored-by: martinoss <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alex ln <[email protected]>
Co-authored-by: Arafat Tehsin <[email protected]>
Co-authored-by: Patrick Volum <[email protected]>
Co-authored-by: Nick Ericson <[email protected]>
Co-authored-by: Nick Ericson <[email protected]>
Co-authored-by: Michael Richardson <[email protected]>
Co-authored-by: Sébastien BIAUDET <[email protected]>
Co-authored-by: Sébastien BIAUDET <[email protected]>

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Fixed a small typo

* Fix for Google validation which prevented a user from disabling checks (#253)

* Further google request validation fix (#255)

* Fix for Google validation which prevented a user from disabling checks

* Further fix for Google request validation

Co-authored-by: Jamie D <[email protected]>
Co-authored-by: martinoss <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alex ln <[email protected]>
Co-authored-by: Arafat Tehsin <[email protected]>
Co-authored-by: Patrick Volum <[email protected]>
Co-authored-by: Nick Ericson <[email protected]>
Co-authored-by: Nick Ericson <[email protected]>
Co-authored-by: Michael Richardson <[email protected]>
Co-authored-by: Sébastien BIAUDET <[email protected]>
Co-authored-by: Sébastien BIAUDET <[email protected]>
  • Loading branch information
12 people authored May 15, 2020
1 parent 990cb72 commit 5095a85
Show file tree
Hide file tree
Showing 10 changed files with 32 additions and 51 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ public Activity RequestToActivity(ConversationRequest request)
{
activity.Type = ActivityTypes.ConversationUpdate;
activity = SetGeneralActivityProperties(activity, request);
activity.MembersAdded = new List<ChannelAccount>() { new ChannelAccount() { Id = activity.From.Id } };
activity.MembersAdded = new List<ChannelAccount>() { new ChannelAccount() { Id = activity.From?.Id ?? "anonymous" } };
return activity;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ public Activity RequestToActivity(DialogFlowRequest request)
if (string.IsNullOrEmpty(queryText) || request.QueryResult.Intent.DisplayName.ToLowerInvariant() == "launch")
{
activity.Type = ActivityTypes.ConversationUpdate;
activity.MembersAdded = new List<ChannelAccount>() { new ChannelAccount() { Id = activity.From.Id } };
activity.MembersAdded = new List<ChannelAccount>() { new ChannelAccount() { Id = activity.From?.Id ?? "anonymous" } };
return activity;
}
activity.Type = ActivityTypes.Message;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,17 @@ public GoogleAuthorizationHandler(ILogger logger)
_logger = logger ?? throw new ArgumentNullException(nameof(logger));
}

public static bool ValidateActionProjectId(string authorizationHeader, string actionProjectId)
public static bool ValidateActionProjectId(string authorizationHeader, string authorizationValue)
{
if (authorizationHeader == authorizationValue)
{
return true;
}

var payload = new JwtBuilder().Decode(authorizationHeader);
var payloadJObj = JObject.Parse(payload);
var aud = (string)payloadJObj["aud"];
return aud.ToLowerInvariant() == actionProjectId.ToLowerInvariant();
return aud.ToLowerInvariant() == authorizationValue.ToLowerInvariant();
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ public Activity SetGeneralActivityProperties(Activity activity, ConversationRequ
activity.ServiceUrl = Options.ServiceUrl;
activity.Recipient = new ChannelAccount("", "action");
activity.Conversation = new ConversationAccount(false, id: $"{request.Conversation.ConversationId}");
activity.From = new ChannelAccount(request.GetUserIdFromUserStorage());
activity.From = null;//new ChannelAccount(request.GetUserIdFromUserStorage());
activity.Id = Guid.NewGuid().ToString();
activity.Timestamp = DateTime.UtcNow;
activity.Locale = request.User.Locale;
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ public class User

public DateTime LastSeen { get; set; }

public JObject UserStorage { get; set; }
public object UserStorage { get; set; }

public PackageEntitlement[] PackageEntitlements { get; set; }

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ namespace Bot.Builder.Community.Adapters.Google.Core.Model.Response
public class ConversationWebhookResponse
{
public string ConversationToken { get; set; }
public JObject UserStorage { get; set; }
public object UserStorage { get; set; }
public bool? ResetUserStorage { get; set; }
public bool ExpectUserResponse { get; set; }
public ExpectedInput[] ExpectedInputs { get; set; }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,6 @@ public class PayloadContent
public bool ExpectUserResponse { get; set; }
public RichResponse RichResponse { get; set; }
public DialogFlowSystemIntent SystemIntent { get; set; }
public JObject UserStorage { get; set; }
public object UserStorage { get; set; }
}
}
28 changes: 18 additions & 10 deletions libraries/Bot.Builder.Community.Adapters.Google/GoogleAdapter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -65,11 +65,11 @@ public async Task ProcessAsync(HttpRequest httpRequest, HttpResponse httpRespons
{
if (!GoogleAuthorizationHandler.ValidateActionProjectId(
httpRequest.Headers["Authorization"],
_options.ActionProjectId))
_options.WebhookType == GoogleWebhookType.Conversation ? _options.ActionProjectId : _options.DialogFlowAuthorizationHeader))
{
_logger.LogError("Failed to validate incoming request. Project ID in authentication header did not match project ID in GoogleAdapterOptions.");
throw new AuthenticationException(
"Failed to validate incoming request. Project ID in authentication header did not match project ID in AlexaAdapterOptions");
"Failed to validate incoming request. Project ID in authentication header did not match project ID in GoogleAdapterOptions");
}
}

Expand All @@ -86,21 +86,29 @@ public async Task ProcessAsync(HttpRequest httpRequest, HttpResponse httpRespons
{
var dialogFlowRequest = JsonConvert.DeserializeObject<DialogFlowRequest>(body);
var requestMapper = new DialogFlowRequestMapper(_requestMapperOptions, _logger);
dialogFlowRequest.OriginalDetectIntentRequest.Payload.EnsureUniqueUserIdInUserStorage();
//dialogFlowRequest.OriginalDetectIntentRequest.Payload.EnsureUniqueUserIdInUserStorage();
activity = requestMapper.RequestToActivity(dialogFlowRequest);
var context = await CreateContextAndRunPipelineAsync(bot, cancellationToken, activity);
var response = requestMapper.ActivityToResponse(ProcessOutgoingActivities(context.SentActivities), dialogFlowRequest);
responseJson = JsonConvert.SerializeObject(response, JsonSerializerSettings);
}
else
{
var conversationRequest = JsonConvert.DeserializeObject<ConversationRequest>(body);
var requestMapper = new ConversationRequestMapper(_requestMapperOptions, _logger);
conversationRequest.EnsureUniqueUserIdInUserStorage();
activity = requestMapper.RequestToActivity(conversationRequest);
var context = await CreateContextAndRunPipelineAsync(bot, cancellationToken, activity);
var response = requestMapper.ActivityToResponse(ProcessOutgoingActivities(context.SentActivities), conversationRequest);
responseJson = JsonConvert.SerializeObject(response, JsonSerializerSettings);
try
{
var conversationRequest = JsonConvert.DeserializeObject<ConversationRequest>(body);
var requestMapper = new ConversationRequestMapper(_requestMapperOptions, _logger);
//conversationRequest.EnsureUniqueUserIdInUserStorage();
activity = requestMapper.RequestToActivity(conversationRequest);
var context = await CreateContextAndRunPipelineAsync(bot, cancellationToken, activity);
var response = requestMapper.ActivityToResponse(ProcessOutgoingActivities(context.SentActivities), conversationRequest);
responseJson = JsonConvert.SerializeObject(response, JsonSerializerSettings);
}
catch (Exception e)
{
Console.WriteLine(e);
throw;
}
}

httpResponse.ContentType = "application/json;charset=utf-8";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,6 @@ public class GoogleAdapterOptions
public string ActionProjectId { get; set; }

public bool ValidateIncomingRequests { get; set; } = true;
public string DialogFlowAuthorizationHeader { get; set; }
}
}

0 comments on commit 5095a85

Please sign in to comment.