-
Notifications
You must be signed in to change notification settings - Fork 16
Open
Description
Bug Description
The Clerk Ruby SDK is not properly deserializing the verification object from email addresses, even when emails are verified in the Clerk dashboard.
Expected vs Actual Behavior
Expected:
email = user.email_addresses.first
email.verification.status # Should return "verified"
Actual:
email = user.email_addresses.first
email.verification # Returns nil
email.verification&.status # Returns nil
Versions Affected
clerk-sdk-ruby
v4.2.1clerk-sdk-ruby
v4.1.0clerk-sdk-ruby
v4.0.1
Reproduction Steps
- Install any version of
clerk-sdk-ruby
- Set up Clerk with a verified email address
- Run this code:
require 'clerk'
Clerk.configure { |config| config.secret_key = ENV['CLERK_SECRET_KEY'] }
client = Clerk::SDK.new
user = client.users.get_user('user_id_with_verified_email')
email = user.email_addresses.first
puts "Email: #{email.email_address}"
puts "Verification object: #{email.verification.inspect}"
puts "Verification status: #{email.verification&.status}"
- Expected: Should show verification data
- Actual: Shows
nil
for verification object
Important Note
Direct API calls work correctly and return verification data:
curl -H "Authorization: Bearer $CLERK_SECRET_KEY" \
"https://api.clerk.com/v1/users/user_id" | jq '.email_addresses[0].verification'
This returns proper verification object with status, but the SDK doesn't deserialize it correctly.
Impact
- Cannot properly verify email status in applications
- Forces developers to use direct API calls as workarounds
- Affects security and user experience
Environment
- Ruby 3.2.2, Rails 8.0.1
- Production Clerk instance
- Email verified in Clerk dashboard
Metadata
Metadata
Assignees
Labels
No labels