only for use on client
(tokenStr string)
| 371 | |
| 372 | // only for use on client |
| 373 | func ExtractUnverifiedSocketName(tokenStr string) (string, error) { |
| 374 | token, _, err := new(jwt.Parser).ParseUnverified(tokenStr, &wavejwt.WaveJwtClaims{}) |
| 375 | if err != nil { |
| 376 | return "", fmt.Errorf("error parsing token: %w", err) |
| 377 | } |
| 378 | claims, ok := token.Claims.(*wavejwt.WaveJwtClaims) |
| 379 | if !ok { |
| 380 | return "", fmt.Errorf("error getting claims from token") |
| 381 | } |
| 382 | sockName := claims.Sock |
| 383 | if sockName == "" { |
| 384 | return "", fmt.Errorf("sock claim is missing or invalid") |
| 385 | } |
| 386 | sockName = wavebase.ExpandHomeDirSafe(sockName) |
| 387 | return sockName, nil |
| 388 | } |
| 389 | |
| 390 | func getShell() string { |
| 391 | if runtime.GOOS == "darwin" { |
no test coverage detected