mirror of
				https://github.com/superseriousbusiness/gotosocial.git
				synced 2025-11-03 19:42:25 -06:00 
			
		
		
		
	
		
			
	
	
		
			37 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
		
		
			
		
	
	
			37 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| 
								 | 
							
								package oauth2
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								import "context"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								type (
							 | 
						||
| 
								 | 
							
									// ClientStore the client information storage interface
							 | 
						||
| 
								 | 
							
									ClientStore interface {
							 | 
						||
| 
								 | 
							
										GetByID(ctx context.Context, id string) (ClientInfo, error)
							 | 
						||
| 
								 | 
							
										Set(ctx context.Context, id string, cli ClientInfo) error
							 | 
						||
| 
								 | 
							
										Delete(ctx context.Context, id string) error
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									// TokenStore the token information storage interface
							 | 
						||
| 
								 | 
							
									TokenStore interface {
							 | 
						||
| 
								 | 
							
										// create and store the new token information
							 | 
						||
| 
								 | 
							
										Create(ctx context.Context, info TokenInfo) error
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										// delete the authorization code
							 | 
						||
| 
								 | 
							
										RemoveByCode(ctx context.Context, code string) error
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										// use the access token to delete the token information
							 | 
						||
| 
								 | 
							
										RemoveByAccess(ctx context.Context, access string) error
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										// use the refresh token to delete the token information
							 | 
						||
| 
								 | 
							
										RemoveByRefresh(ctx context.Context, refresh string) error
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										// use the authorization code for token information data
							 | 
						||
| 
								 | 
							
										GetByCode(ctx context.Context, code string) (TokenInfo, error)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										// use the access token for token information data
							 | 
						||
| 
								 | 
							
										GetByAccess(ctx context.Context, access string) (TokenInfo, error)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										// use the refresh token for token information data
							 | 
						||
| 
								 | 
							
										GetByRefresh(ctx context.Context, refresh string) (TokenInfo, error)
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								)
							 |