Identity API
Identity API merkeziyetsiz kimlikleri yönetir. Kullanıcılar DID tabanlı meydan okumalarla kimlik doğrular, doğrulanabilir kimlik bilgilerini depolar, iddiaları seçici olarak paylaşır ve bağlı hesapları sürdürür.
Temel URL: https://identity.solidus.network/v1
Kimlik Doğrulama
Meydan Okuma İste
Belirli bir DID için bir meydan okuma isteyerek bir DID kimlik doğrulama akışı başlatın. Meydan okuma imzalanmalı ve bir Doğrulanabilir Sunum olarak döndürülmelidir.
POST /auth/challenge
Kimlik doğrulama: Yok
// Request body
{
"did": "did:solidus:testnet:7Hk3mRtQZvXp2nBw9Lj4K"
}// Response 200
{
"challengeId": "chl_3Vn9wLkDfT",
"challenge": {
"nonce": "a1b2c3d4e5f6789012345678",
"domain": "identity.solidus.network",
"expiresAt": "2026-05-07T14:35:00Z"
}
}Meydan Okumayı Doğrula
Kimlik doğrulamasını tamamlamak ve bir JWT almak için imzalanmış bir Doğrulanabilir Sunum gönderin.
POST /auth/verify
Kimlik doğrulama: Yok
// Request body
{
"challengeId": "chl_3Vn9wLkDfT",
"presentation": {
"@context": ["https://www.w3.org/2018/credentials/v1"],
"type": ["VerifiablePresentation"],
"holder": "did:solidus:testnet:7Hk3mRtQZvXp2nBw9Lj4K",
"proof": {
"type": "Ed25519Signature2020",
"created": "2026-05-07T14:30:00Z",
"challenge": "a1b2c3d4e5f6789012345678",
"domain": "identity.solidus.network",
"verificationMethod": "did:solidus:testnet:7Hk3mRtQZvXp2nBw9Lj4K#key-1",
"proofValue": "z3FXQjecWufY46...yUPgbT"
}
}
}// Response 200
{
"token": "eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9...",
"user": {
"id": "usr_7Hk3mRtQZv",
"did": "did:solidus:testnet:7Hk3mRtQZvXp2nBw9Lj4K",
"displayName": "John Doe",
"avatarUrl": null,
"createdAt": "2026-04-15T08:00:00Z"
}
}Geçerli Kullanıcıyı Al
Kimlik doğrulaması yapılmış kullanıcı profilini alın.
GET /auth/me
Kimlik doğrulama: JWT Bearer
// Response 200
{
"user": {
"id": "usr_7Hk3mRtQZv",
"did": "did:solidus:testnet:7Hk3mRtQZvXp2nBw9Lj4K",
"displayName": "John Doe",
"bio": "Web3 builder",
"avatarUrl": "https://identity.solidus.network/avatars/usr_7Hk3mRtQZv.jpg",
"linkedAccounts": ["google", "github"],
"credentialCount": 3,
"createdAt": "2026-04-15T08:00:00Z"
}
}OAuth ile Giriş
Kullanıcıları OAuth tabanlı giriş için Google veya GitHub’a yönlendirin. Yetkilendirmeden sonra kullanıcı, bir JWT ile birlikte geri çağırma (callback) URL’sine yönlendirilir.
GET /auth/google — Google OAuth’a yönlendirir
GET /auth/github — GitHub OAuth’a yönlendirir
Kimlik Bilgileri
Kimlik Bilgilerini Listele
Kullanıcının cüzdanında depolanan tüm doğrulanabilir kimlik bilgilerini alın.
GET /credentials
Kimlik doğrulama: JWT Bearer
// Response 200
{
"credentials": [
{
"id": "vc_3Kn8rTpXm2",
"type": ["VerifiableCredential", "KYCCredential"],
"issuer": "did:solidus:issuer_9Xm4pLk",
"issuerName": "Solidus Verify",
"issuanceDate": "2026-05-07T14:25:30Z",
"expirationDate": "2027-05-07T14:25:30Z",
"status": "active",
"claims": {
"level": 2,
"country": "US",
"verifiedAt": "2026-05-07T14:25:30Z"
}
},
{
"id": "vc_8Rn3mKpWxT",
"type": ["VerifiableCredential", "EmailCredential"],
"issuer": "did:solidus:issuer_9Xm4pLk",
"issuerName": "Solidus Identity",
"issuanceDate": "2026-04-20T10:00:00Z",
"expirationDate": "2027-04-20T10:00:00Z",
"status": "active",
"claims": {
"email": "[email protected]",
"verified": true
}
}
]
}Kimlik Bilgisini Al
Doğrulama durumuyla birlikte tek bir kimlik bilgisini alın.
GET /credentials/:vcId
Kimlik doğrulama: JWT Bearer
curl https://identity.solidus.network/v1/credentials/vc_3Kn8rTpXm2 \
-H "Authorization: Bearer eyJhbGciOiJFZERTQSIs..."// Response 200
{
"credential": {
"id": "vc_3Kn8rTpXm2",
"type": ["VerifiableCredential", "KYCCredential"],
"issuer": "did:solidus:issuer_9Xm4pLk",
"issuerName": "Solidus Verify",
"issuanceDate": "2026-05-07T14:25:30Z",
"expirationDate": "2027-05-07T14:25:30Z",
"status": "active",
"claims": {
"level": 2,
"country": "US",
"verifiedAt": "2026-05-07T14:25:30Z"
},
"proof": {
"type": "Ed25519Signature2020",
"created": "2026-05-07T14:25:30Z",
"verificationMethod": "did:solidus:issuer_9Xm4pLk#key-1",
"proofValue": "z4MXy7Lk9Rn3..."
},
"onChainAnchor": "0x8a3f...b7c2"
},
"verification": {
"valid": true,
"checks": ["signature", "expiration", "revocation", "onChainAnchor"],
"verifiedAt": "2026-05-07T14:30:00Z"
}
}Paylaşım
Kimlik bilgilerini veya belirli iddiaları üçüncü taraflarla paylaşın. Kullanıcılar paylaşım isteklerini onaylar veya reddeder ve erişimi istedikleri zaman iptal edebilir.
Paylaşım İsteklerini Listele
Üçüncü taraflardan gelen bekleyen kimlik bilgisi paylaşım isteklerini alın.
GET /sharing/requests
Kimlik doğrulama: JWT Bearer
// Response 200
{
"requests": [
{
"id": "req_5Wn2kLpMxR",
"requester": {
"did": "did:solidus:app_4Tn7mLkPxR",
"name": "DeFi Exchange",
"domain": "exchange.example.com"
},
"requestedCredentials": ["KYCCredential"],
"requestedClaims": ["level", "country"],
"purpose": "Regulatory compliance for trading",
"status": "pending",
"createdAt": "2026-05-07T15:00:00Z",
"expiresAt": "2026-05-08T15:00:00Z"
}
]
}Paylaşım İsteğine Yanıt Ver
Bir kimlik bilgisi paylaşım isteğini onaylayın veya reddedin.
POST /sharing/requests/:requestId/respond
Kimlik doğrulama: JWT Bearer
// Request body — approve with selective disclosure
{
"action": "approve",
"credentialId": "vc_3Kn8rTpXm2",
"sharedClaims": ["level", "country"]
}// Response 200
{
"share": {
"id": "shr_6Wn9pMkRxT",
"requestId": "req_5Wn2kLpMxR",
"credentialId": "vc_3Kn8rTpXm2",
"sharedClaims": ["level", "country"],
"requester": {
"did": "did:solidus:app_4Tn7mLkPxR",
"name": "DeFi Exchange"
},
"status": "active",
"createdAt": "2026-05-07T15:05:00Z"
}
}// Request body — deny
{
"action": "deny"
}// Response 200
{
"message": "Request denied"
}Aktif Paylaşımları Listele
Şu anda aktif olan tüm kimlik bilgisi paylaşımlarını görüntüleyin.
GET /sharing/active
Kimlik doğrulama: JWT Bearer
// Response 200
{
"shares": [
{
"id": "shr_6Wn9pMkRxT",
"credentialId": "vc_3Kn8rTpXm2",
"credentialType": "KYCCredential",
"sharedClaims": ["level", "country"],
"requester": {
"did": "did:solidus:app_4Tn7mLkPxR",
"name": "DeFi Exchange",
"domain": "exchange.example.com"
},
"status": "active",
"createdAt": "2026-05-07T15:05:00Z"
}
]
}Paylaşımı İptal Et
Daha önce onaylanmış bir kimlik bilgisi paylaşımını iptal edin.
DELETE /sharing/active/:shareId
Kimlik doğrulama: JWT Bearer
curl -X DELETE https://identity.solidus.network/v1/sharing/active/shr_6Wn9pMkRxT \
-H "Authorization: Bearer eyJhbGciOiJFZERTQSIs..."// Response 200
{
"message": "Share revoked"
}Gelen Kutusu
Gelen kutusu, düzenleyicilerden gelen kimlik bilgisi tekliflerini içerir. Kullanıcılar, kimlik bilgilerini cüzdanlarına eklemek için teklifleri kabul edebilir veya reddedebilir.
Kimlik Bilgisi Tekliflerini Listele
GET /inbox
Kimlik doğrulama: JWT Bearer
| Query Param | Type | Description |
|---|---|---|
status | string | Duruma göre filtrele: pending, accepted, declined, expired |
// Response 200
{
"offers": [
{
"id": "ofr_7Hk3mRtQZv",
"issuer": {
"did": "did:solidus:issuer_9Xm4pLk",
"name": "Solidus Verify"
},
"credentialType": "KYCCredential",
"preview": {
"level": 2,
"country": "US"
},
"status": "pending",
"createdAt": "2026-05-07T14:25:30Z",
"expiresAt": "2026-05-14T14:25:30Z"
}
]
}Teklifi Kabul Et
Bir kimlik bilgisi teklifini kabul edin ve cüzdanınıza ekleyin.
POST /inbox/:offerId/accept
Kimlik doğrulama: JWT Bearer
curl -X POST https://identity.solidus.network/v1/inbox/ofr_7Hk3mRtQZv/accept \
-H "Authorization: Bearer eyJhbGciOiJFZERTQSIs..."// Response 200
{
"credential": {
"id": "vc_3Kn8rTpXm2",
"type": ["VerifiableCredential", "KYCCredential"],
"issuer": "did:solidus:issuer_9Xm4pLk",
"status": "active",
"createdAt": "2026-05-07T14:30:00Z"
}
}Teklifi Reddet
Bir kimlik bilgisi teklifini reddedin.
POST /inbox/:offerId/decline
Kimlik doğrulama: JWT Bearer
curl -X POST https://identity.solidus.network/v1/inbox/ofr_7Hk3mRtQZv/decline \
-H "Authorization: Bearer eyJhbGciOiJFZERTQSIs..."// Response 200
{
"message": "Offer declined"
}Kullanıcılar
Bağlı Hesapları Listele
Kimlik doğrulaması yapılmış kullanıcıya bağlı OAuth hesaplarını alın.
GET /users/me/linked-accounts
Kimlik doğrulama: JWT Bearer
// Response 200
{
"accounts": [
{
"provider": "google",
"providerId": "118234567890",
"email": "[email protected]",
"name": "John Doe",
"avatarUrl": "https://lh3.googleusercontent.com/...",
"linkedAt": "2026-04-20T10:00:00Z"
},
{
"provider": "github",
"providerId": "12345678",
"email": "[email protected]",
"name": "johndoe",
"avatarUrl": "https://avatars.githubusercontent.com/u/12345678",
"linkedAt": "2026-04-22T14:00:00Z"
}
]
}Hesap Bağlantısını Kaldır
Bağlı bir OAuth hesabını kaldırın.
DELETE /users/me/linked-accounts/:provider
Kimlik doğrulama: JWT Bearer
curl -X DELETE https://identity.solidus.network/v1/users/me/linked-accounts/github \
-H "Authorization: Bearer eyJhbGciOiJFZERTQSIs..."// Response 200
{
"message": "Account unlinked"
}Herkese Açık Profili Al
DID’sine göre herhangi bir kullanıcının herkese açık profilini alın. Bu uç nokta herkese açıktır ve kimlik doğrulaması gerektirmez.
GET /users/:did
Kimlik doğrulama: Yok
curl https://identity.solidus.network/v1/users/did:solidus:testnet:7Hk3mRtQZvXp2nBw9Lj4K// Response 200
{
"user": {
"did": "did:solidus:testnet:7Hk3mRtQZvXp2nBw9Lj4K",
"displayName": "John Doe",
"bio": "Web3 builder",
"avatarUrl": "https://identity.solidus.network/avatars/usr_7Hk3mRtQZv.jpg",
"createdAt": "2026-04-15T08:00:00Z"
},
"credentials": [
{
"type": "KYCCredential",
"issuerName": "Solidus Verify",
"level": 2,
"issuedAt": "2026-05-07T14:25:30Z",
"status": "active"
}
]
}Yanıta yalnızca kullanıcının herkese açık olarak görünür işaretlediği kimlik bilgileri dahil edilir.