powerful-notebook-79556
10/02/2024, 1:48 PMbrief-egg-61061
10/02/2024, 1:48 PMbrief-egg-61061
10/02/2024, 1:49 PMtoSession
request with a JWT token in Go for a self-hosted Kratos, you can use the Ory Kratos Go SDK. Here is an example of how to do it: go package main import ( "context" "fmt" "os" client "<http://github.com/ory/kratos-client-go|github.com/ory/kratos-client-go>" ) func main() { configuration := client.NewConfiguration() configuration.Servers = []client.ServerConfiguration{ { URL: "<http://127.0.0.1:4433>", // Kratos Public API }, } apiClient := client.NewAPIClient(configuration) cookie := "ory_kratos_session=MTY0ODgyMTExN3xEdi1CQkFFQ180SUFBUkFCRUFBQVJfLUNBQUVHYzNSeWFXNW5EQThBRFhObGMzTnBiMjVmZEc5clpXNEdjM1J5YVc1bkRDSUFJRkZDVFVKbFNIcEJOalZyY0Vad1JEZ3dNMng1V0RsWlpEQlFXa3RoUjNJenzKCLhzCkox1OmvNJlKcqtWuNkSnPLrUgM6Ew2EMYksfg==" resp, r, err := apiClient.FrontendApi.ToSession(context.Background()).Cookie(cookie).Execute() if err != nil { fmt.Fprintf(os.Stderr, "Error when calling `FrontendApi.ToSession``: %v\n", err) fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r) } // response from `ToSession`: Session fmt.Fprintf(os.Stdout, "Traits %v\n", resp.Identity.Traits) }
In this example, the cookie
variable should contain your JWT token. The ToSession
method is called with the cookie
as a parameter. If the request is successful, the response will contain the session information. Please note that the URL in the configuration.Servers
should be the URL of your Kratos Public API. For more information, you can refer to the [Ory Kratos Go SDK documentation](https://www.ory.sh/docs/kratos/self-hosted/go).