# SignedRequest

Canvas provides a SignedRequest object that has methods you can use to work with signed requests.

| Method                  | Signature                                                                                           | Description                                                                                                                                                    |
| ----------------------- | --------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `verifyAndDecode`       | `public static CanvasRequest verifyAndDecode(String input, String secret) throws SecurityException` | Used to verify and decode a signed request; returns a [CanvasRequest](/docs/platform/canvas-framework/guide/canvas-request-object.md) Java object.             |
| `verifyAndDecodeAsJson` | `public static String verifyAndDecodeAsJson(String input, String secret) throws SecurityException`  | Used to verify and decode a signed request; returns the [CanvasRequest](/docs/platform/canvas-framework/guide/canvas-request-object.md) data in a JSON string. |

**See Also**

- [CanvasRequest](/docs/platform/canvas-framework/guide/canvas-request-object.md)
- [Verifying and Decoding a Signed Request](/docs/platform/canvas-framework/guide/canvas-app-unsigning-code-example.md)
- [Requesting a Signed Request](/docs/platform/canvas-framework/guide/canvas-app-refresh-signed-request.md)
